Richard Caunt

Richard Caunt

Software Developer

© 2020

BigBox3D Firmware Tweaks

Shipping of the amazing Kickstarter funded BigBox3D printer is now in full flow after some z-axis issues were resolved by the team.

A few people have started asking questions about tweaks to the firmware now that they have their printers up and running. I thought I would document some of the tweaks that I have made in the hope that it may help some others.

Note: This post assumes that you are comfortable with flashing your printer with a new firmware.

LCD Beep

The beep produced by the RepRapDiscount controller when controlling the printer was ridiculously loud for the home environment. I have configured mine as follows:



This sets the buzzer to play at a particular frequency for 2 milliseconds. The result is a very short ‘blip’ instead of a long beep.

LCD Knob

Thomas Sanladerer has previously given some LCD tweaks as part of his YouTube 3D printing guides ( The first of these allow for better selection of parameters using the LCD control knob and are set in Configuration.h:



The second configuration is in pins_RUMBA.h and reverses the direction of menu selection using the LCD control knob (changes from clockwise = down to clockwise = up for example).


#define BTN_EN1 11

#define BTN_EN2 12


#define BTN_EN1 12

#define BTN_EN2 11


The BigBox3D firmware comes pre-configured with default PID values for the components involved. However, PID tuning should be carried out for the real parts, installation and environment the printer is in. I won’t go into details but the M303 command can be used for this. The PID can be saved/configured with g-code but ultimately should be configured in firmware. Initially I found that my hotend would overshoot.

The following PID settings are for the hotends (the same for both if dual):

#define DEFAULT_Kp 21.01

#define DEFAULT_Ki 1.31

#define DEFAULT_Kd 84.18

The heated bed (if you have one) is not configured to use PID by default, this should firstly be enabled with the following change:


The following are then the PID settings to change for the heated bed:

#define DEFAULT_bedKp 195.12

#define DEFAULT_bedKi 36.76

#define DEFAULT_bedKd 258.95

Z-Axis Size

Greg has stated in the G+ community that the z-height can indeed be increased from 280mm to 300mm using the following setting:

#define Z_MAX_POS 300

Every little helps!

Extruder (Hotend) Offset

If you have a dual machine then before you start dual printing you will want to configure the offsets between the hotends. This can either be done in firmware or g-code. I prefer g-code in my Simplify3D start script so that I can adjust it if needs be. If you wish to set it in firmware then use the following settings:

#define EXTRUDER_OFFSET_X {0.0, 34.00}

#define EXTRUDER_OFFSET_Y {0.0, 0.00}

Ideally there would be no y-offset and about 34mm x-offset as above.

Machine Name

When turning on your printer it will state the machine name on the LCD. You may wish to give your printer a nickname using the following setting:

#define CUSTOM_MACHINE_NAME "BigBox Dual"

Preheat Temperatures

Under the prepare menu on the LCD controller there are options to preheat the printer for printing. To configure the temperatures that the printer is heated to set the change the following:





Z-Axis Feedrate (Speed)

By default the z-axis is limited in firmware to 3 mm/sec. This can be upped to 6 mm/sec as follows:

#define DEFAULT_MAX_FEEDRATE {150, 150, 6, 25}