USE THIS FIRMWARE AT YOUR OWN PERIL
Make sure to watch this and this and this.
If you're having issues updating your E3 RRF V1.1 firmware, try reformatting your SD card.
If you're seeing unexpected behavior, please try resetting the Configuration to defaults.
- Creality Ender 3 Pro
- BigTreeTech E3 RRF v1.1
- ANTCLABS BLTouch SMART 3.1 with the Creality metal mounting bracket
- Micro Swiss All Metal Hotend
- Micro Swiss MK8 Plated Wear Resistant Nozzle
- TriangleLab Dual Drive Extruder Mini BMG
- Ender 3 EZ Vent Remix (via Shapeways)
- FlexPlate PEI Print Surface
- Polycarbonate V Wheels
- TR8x2 Z-axis leadscrew
- Generic Translucent White PTFE ID2.0 Tubing
CRITICAL: The BLTouch bed levelling sensor should be connected to the PROBE
(and SERVO
) headers,
and triple check the actual pinouts before powering on the board.
CRITICAL: The BLTouch trigger pins need to be connected to the Z-STOP
header.
INFO: The precompiled firmware.bin presumes the use of Creality's official metal mounting bracket, resulting in sensor-to-nozzle offsets of roughly -43mm, -5mm, -2mm (X, Y, Z).
INFO: High Speed mode is enabled, therefore a BLTouch SMART 3.0 or higher may be required, and compatibility with clone sensors may be reduced.
INFO: During print relative Babystepping is now regular absolute Z-Offset, which should making dialing in the Z-Offset much easier.
TIP: The precompiled firmware.bin was tested using a genuine BLTouch SMART 3.1, if you are getting inconsistent behavior, try adjusting the magnet inside the BLTouch using the hexnut located in device's top center. Turning the hexnut 90 degrees clockwise fixed it for me.
CRITICAL: The main tested firmware build is now configured for a Mini BMG extruder, which required reversing of the extruder direction and with E-axis Microstepping has been increased to 32 (resulting in 280 steps/mm)
CRITICAL: X/Y-axis Microstepping has been increased to 32 (resulting in 160 steps/mm).
CRITICAL: Z-axis leadscrew has been upgraded to TR8x2 and Z-axis Microstepping has been decreased to 8 (resulting in 800 steps/mm).
CRITICAL: Extended Y-axis range (12mm beyond bed) is used to increase automated bed levelling coverage, and compatibility with third party hot-end shrouds may be reduced.
WARNING: Z_MAX_POS
has been limited to 240.
The status screen update rate has been increased to make it slightly more responsive.
The status screen flow rate deadzone has been increased, so it's more difficult to accidentally trigger flow rate changes from the status screen.
Linear Advance is enabled and active by default.
S-Curve acceleration is disabled.
Junction deviation has been reverted to traditional Jerk.
Supports remaining times, if enabled in your slicer software
(M73
G-code).
Nozzle Park is builtin
(you can use G27 P2
in your print end G-code).
Load/Unload Filament is builtin.
(M702
G-code).
Advanced Pause Feature is builtin, but is as of yet untested.
(M600
G-code).
Filament Runout Sensor is builtin, but is as of yet untested and disabled by default
(M412 S1
G-code).
Power Loss Recovery is builtin, but is as of yet untested and disabled by default
(M413 S1
G-code).
Maximum hot-end temperature has been limited to 250C for increased safety.
Maximum heated-bed temperature has been limited to 100C for increased safety.
The heated-bed check interval has been lowered to 1000ms for a more consistent bed temperature.
Maximum filename length has been increased.
Hotend is listed as E0 (as opposed to E1) to match Marlin source configuration files.
PID tuning initiated via the menu does 9 cycles as opposed to merely 5, so it will take longer.
The included ESP3D build is intentionally minimal, it only supports serial-over-TCP (somewhat erroneously called Telnet) and does not connect to WiFi by default.
It can be activated via WiFi Tools (in the Configuration menu),
- SSID:
Ender-3
- Pass:
31415926
(first eight digits of Pi)
After flashing the appropriate compiled firmware.bin, if desired, you should (re-)calibrate your extruder (E-steps) first.
Then run Hotend PID tuning.
Next do a bed level corners, using a ~200gsm (~0.25mm) thick piece of paper.
Finally, attempt a trivial print, lowering the Z-Offset until you get good bed adhesion, in my particular case I ended up somewhere around -2.00mm (this is somewhat affected by nozzle wear).
- Select 'Ender-3 BLTouch' from the Configuration Wizard in PrusaSlicer 2.3+
- Change Max print height: 240
- Change Supports remaining times: ENABLE
- Change Pause Print G-code to: M125 P1
The build script has been tested on Xubuntu 20.04 LTS, some examples:
sudo apt-get install git python3-venv
bash btt_e3_rrf_marlin_build.sh
bash btt_e3_rrf_esp3d_build.sh