HC32 for December
DECEMBER 2024
Version: 2.1.3f-12-HC32
Continually updating with Marlin bugfix-2.1.x
⬂ List of recent updates ⬃
What's new in this release
⍟ Firmware Selector ⍟
Tip
You can use the Firmware Selector to help choose which file to download.
How to install the firmware
To update the firmware, choose the file ending in .bin and place it in your SD card:
(You may need to rename the file if reinstalling or if it doesn't flash the first time)- For an Aquila board, put it inside a folder named "firmware"
- For a Creality board, put it in the root folder of the drive
Or unless otherwise specified
please flash the new DWIN_SET now!
This is a universal firmware that has been optimized and enhanced for both the Voxelab Aquila and Creality Ender-3 V2/S1.
This is based on MriscoC's Professional Firmware for the Creality Ender-3 V2/S1. This particular build release is for the LCD color displays of Voxelab Aquila or similar variant. However, firmware for Aquila C2 monochrome LCD (128x64) are available. If you are using a Creality brand screen you can try the -TJC version. If you are not using HC32 chip, use the Aquila build here.
**Recent Updates**
EDITABLE_HOMING_FEEDRATE
is now available in most, if not all, builds- Voxelab Aquila S3/X3 and use _IND - Induction Probe
- Aquila C2 w/ monochrome 12864 LCD is supported having standard UI
- BTT SKR Mini E3 V3 / V2 / V3.0.1 finally supported for ProUI - (4.3" Stock Aquila/Ender-3V2 Color LCD)
- If you have a TFT or other display, you can request firmware *.bin files to be made, or compile your own
- BIQU MicroProbe V2.0 is now supported with _BMP prefix
- Creality Spider Speedy Ceramic Hotend will be supported in *NEXT* Release with _SPDY5 prefix
- Creality E3 Free-runs + Ender-3 S1 | F1/F4 board support (See Ender-3V2 build)
Important
🚩To use this version, you must✶ update the DWIN_SET to the LCD screen. New ICON's have been added, and others were remastered.
- Choose a DWIN_SET from the "display assets" folder
- Copy it to the root of an SD card
- Remove the name in ( ) from the folder
e.g. "DWIN_SET (Original)" => "DWIN_SET" - Open the back of the LCD, insert the card📲
- Turn on power, wait until the screen goes Blue🔵 to Red🔴
- Turn off, remove card⤵. Good to go!✅
✶ Technically you don't have to reflash the new DWIN_SET, but some ICON's will be missing if you do not.
Warning
🚧Please be aware of the following:
Everything so far seems to work correctly as it should, except for when an SD card is inserted. For some reason, if you may receive an "SD Card Init Fail" when first starting, just reinsert the card (it may take few times) or reboot. So printing may not always be possible using a card unless you use USB serial interface to upload the file (through a slicer or something like Pronterface).
More testing is needed, but it is fine for now.
While using _BLT or _MM versions, if you encounter the bed Mesh not saving...
This workaround resolves the issue without having to redo the mesh again.
- Build Mesh (first time)
- Save Mesh
- After any time you Power Off and Power On -->
3a. Go to Control/Advanced Settings/Load Settings
-OR-
3b. Load this into your Start Gcode
G28 ; Home M501 ; Load settings M420 S1 ; Pull your mesh bed level ;(Remaining Gcode / Start Print)>>>
If you experience this issue as it starts printing --> Mesh leveling data is drawing over the printing screen
Go to Slicer Gcode Scripts
Note
⍰ The follow may apply to you if the mainboard chip supports 256KB max
Note ➀: Due to lack of flash memory space in the Aquila's GD32/N32|F103RCT6, some features had to be disabled in the ProUI of UBL and BLT versions, including, but not limited to:
- Configuration.h -----------------------------
HOST_KEEPALIVE_FEATURE
- Sends a busy status message to the host
PREHEAT_2_LABEL
- 'ABS'
PREHEAT_3_LABEL
- 'Warmup'
G26_MESH_VALIDATION
- G26
NOZZLE_CLEAN_FEATURE
- G12 P<#> S<#> T<#>
HAS_LOCKSCREEN
- Simple lockscreen
ACTIVATE_MESH_ITEM
- Active Mesh Leveling menu option
- Configuration_adv.h -----------------------------
POWER_LOSS_RECOVERY
- Continue Print after Power-Loss
M114_DETAIL
- Use 'M114' for details to check planner calculations
CANCEL_OBJECTS
- Use 'M486' to allow Marlin to skip objects
AUTO_REPORT_POSITION
- M154 S<seconds>
EXTENDED_CAPABILITIES_REPORT
> - 'M115' outputs Firmware Capabilities (enabled features)
REALTIME_REPORTING_COMMANDS
- Report position and state of the machine
M115_GEOMETRY_REPORT
Note ➁: The latest releases are promoting UBL versions over ABL (BLT - BL Touch), but ABL/BLT versions will be available. MPC autotune is available for the hot-end as a replacement to PID autotune.
📚Versions
- These are the configurations offered:
Bed Leveling Options
- [ _Default-NP ]: Use if you have a near stock machine Default No Probe
- [ _MM ]: Create a bed mesh without an auto bed probe Manual Mesh Bed Leveling
- [ _BLT ]: Use if you have a CR/3D/BL-Touch level sensor installed. Bilinear Auto Bed Leveling
- [ _UBL ]: Similar to both MM and BLT - with more options. Recommended over BLT Unified Bed Leveling
Special Versions
- (List of file prefixes and suffixes)
- [ -ProUI-EX ]
| ProUI Extra Features |- Toolbar, change bed physical dimensions, and other special features and options
- LCD Displays
- [ DWIN ]
| Stock DWIN LCD | (No actual prefix) - [ TJC- ]
| Creality TJC LCD | (As aftermarket or sometimes used in stock Creality machines) - [ C2- ]
| Monochrome 128x64 LCD | (Used in Aquila C2 and original Ender-3/CR-10)
This has NO ProUI capabilities
- Features
- [ _SPRT13 ]
| Sprite Extruder | (Uses thermistor # 13) - [ _IND ]
| Inductive Sensor | (Probe used on X3/S2 models) - [ _BMP ]
| BIQU MicroProbe V2.0 | (Alternative to CR/3D/BL/-Touch)
Use ONLY this firmware with _BMP if you DO have this probe
- Options
- [ -IS ]
| Input Shaping | (Similar to Linear Advance)
Use ONLY if you mean to do the initial calibration✶
- [ -MPC ]
| MPC Autotune | (Replaces PID for hotend)
Prints will be effected regardless. May require a special breakout board or test prints to calibrate.
See Related Information below
UBL Information
Binaries with UBL in their filename are similar to the bilinear leveling of BLT, but with extra features to provide users with more control and information. There are multiple guides about UBL, it's recommend reading about it before using this type of leveling system.
- https://all3dp.com/2/marlin-ubl-unified-bed-levelin-simply-explained/
- https://www.3dmakerengineering.com/blogs/3d-printing/unified-bed-leveling-marlin
- https://hackaday.com/2022/01/14/3d-printering-getting-started-with-universal-bed-leveling/
Related Information
- All firmware version types have Linear Advance enabled
- Linear Advance - M900
- Input Shaping is enabled with files ending with "-IS"
- Input Shaping - M593
How to calibrate Input Shaping without extra hardware
Teaching Tech - Input Shaping: Step by Step guide
- MPC is enabled in firmware files containing "-MPC"
- Model Predictive Temperature Control
- MPC has proven to be a better algorithm for keeping the nozzle temperature stable, and is also very useful for high power heaters. It does take some getting used to how it works if you are unfamiliar with it. It's recommended for advanced users, so stick to the default PID versions, especially if your printer is relatively stock
✨Firmware Features
- Universal Marlin Support
- - Support for Model predictive temperature control "MPC"
- - Support for Linear Advance
- - Support for Input Shaping
- DWIN / DACAI / TJC / SYNWIT display support
- Up to 300°c Hotend♨️
- Improved support for Manual Mesh and CR/3D/BL-Touch
- Manual and Probe Assisted bed tramming
- Tramming Wizard for Auto Bed Leveling versions
- Calculate corner values of the bed, for easier bed tramming
- Set Bed Screw Inset to easily find each corner
- Editable physical dimensions (X/Y bed size and Z height)
- Selectable mesh point grid from 3x3 to 9x9
- Mesh editor for fine tuning Mesh Points
- Improved Mesh viewer (two types of viewers)
- Customizable Color theme
- Long filename support with scroll
- Baby Z-Stepping
- Probe Stow/Deploy/Reset menu items
- M48 Probe Test to Probe Settings menu
- Firmware Retract: adjust retraction settings while printing
- Filament management - Advanced pause features
- - Change filament mid-print (park head/unload/load)
- Configurable park-head position (default x=0 y=220 z=40)
- Home axes after disabling motors
- Configurable Z feed rate
- Live move for all motors
- Support for S-curve Acceleration
- Restart printer menu item
- Allow invert direction of the extruder
- Support for filament runout sensor
- - Selectable runout filament sensor active state (LOW/HIGH/MOTION)
- - Editable runout distance
- Support for SD card extension (Auto-mount menu item)
- PID settings menus with viewable temperature plot graph
- - Able to view Bed or Nozzle temp on a graph during printing
- Lock screen
- Customizable pre-heat functions
- Enable/disable encoder beep/tick sound
- Preview g-code thumbnail (use this guide)
- New print done screen
- Two decimal positions for axis coordinates value
- Z-Offset wizard
- Editable minimum extrude temperature
- Turn off the LCD and Adjustable Brightness
- - LCD Timeout - Automatic turn off (Screen Saver)
- Individual axis homing
- Enable 250000 or 115200 bauds
- Power failure / power-loss recovery
- Enable/Disable Adaptive Step Smoothing
- Z-Offset icon blinks to indicate active mesh leveling
- Live End-stop diagnostics
- Printcounter and Statistics
- Toolbar with 12 configurable shortcut actions.
This shows the two types of meshviewer as an example;
the newer colorful one has a more rainbow like characteristic:
Octoprint bed visualizer support
🔍More info on the 🌐Wiki pages
Requirements
Compatible main boards with the following chips:
- This release build is for HC32 boards only!
For anything else, see other builds here - GD32F103RCT6
- N32F103RCT6 / N32G455REL7
- Creality | V4.2.2 / V4.2.7
STM32F103RET6
- BTT SKR Mini E3 | V3 / V2 / V3.0.1
STM32G0B1RE
/STM32F103RC
/STM32F401RC
- Creality E3 Free-runs
✶some versions may not fit into RC
chip types
Compatible LCD Screens:
You will not be able to use the Professional User Interface without the specific LCD screen.
You may modify your printer to meet these requirements.
Even though firmware is available for the legacy monochrome screens, you can use the most current Marlin source code instead.
- A DWIN color display with encoder knob DACAI, TJC, or SYNWIT displays may be used
- The following touchscreen models are not supported by ProUI:
- Aquila Pro / D1
- Ender-3 S1 Pro
Special Contributions:
@Nazar78
@gcardoso22
@wlkmanist
You can try the Firmware Selector if you need help choosing the right firmware for your printer.