Professional Firmware for the Voxelab Aquila and Creality Ender-3 3D Printers
(Or any other compatible 3D Printer)
Visit the Wiki for more information about this firmware and the features it provides
Checkout this Universal 3D Printer Adapter Breakout Board
I designed and made it to be used for upgrading the hotend.
And don't forget about the thingiverse models I've designed:
Minimalist Dual Cooling Fan Shroud for Aquila / Ender-3 V2
Tool Box for Middle Extrusion "VOXELAB" engraved
Fantastic Filament Guide for Aquila
Raspberry Pi Zero Case Mount 30mm case width
G32, N32, H32, Creality 4.2.7 and 4.2.2 boards
(Also available for E3 Free-runs, BTT SKR Mini E3, STM32F401, GD32F303, and others)
Important
Please read the following:
Note
I will be working on more updates, features, and tweaks along the way.
Much has been included in MRiscoCProUI releases, the most recent of which is 2025-October.
There are all kinds of versions and combinations to suite a specific printer, and changes to the UI and menu layout which are not available in any other fork.
For information about recent changes visit the Wiki - What's New in this Release.
Support for 12864 Monochrome LCD types is under the model C2.
For DWIN displays, new ICON's have been added and old ones enhanced. Whoever edited them before saved directly as .JPG which in many editors lowers the quality of the image. I painstakingly remastered almost every single one; preserving the original quality.
You must REFLASH the DWIN LCD display with the new DWIN_SET; which is located in the
display assetsfolder.
If you encounter any issues, have a suggestion, or feature requests please feel free to post it on the Issues tab, otherwise if everything is going well please leave a comment on the Discussions tab.
Enjoy using this fork of Marlin as I intend it to be the best; intuitive, easy to use, and convenient. So far I really enjoy the new settings and toolbar for the main menu. There is a variety of parameters and options that can be changed without having to reflash the firmware.
Tip
If you start printing and it says Advance Pause while Runout is enabled, you may have to change the state in which it triggers "no filament" to HIGH or LOW (depending on what is already selected).
This is found in:
Prepare -> Filament Management -> Filament Settings -> Runout Active
Important
Information regarding HC32:
Warning
FOREWARNING: So far everything has been working great - as normal - except there may an issue with the initialization of the SD card media. If you get a message saying this has failed, just reinsert the card or reboot. Keep trying if this doesn't work the first time.
Caution
G-code Thumbnail Preview has been disabled for HC32 boards for the time being.
When enabled, and an SD card is inserted, the screen may freeze and restart. So this means printing may not be possible without the SD card unless you use the USB serial interface to upload the file (through a slicer or something like OctoPrint, or Pronterface).
That is why this feature has been disabled, otherwise everything works as normal.
Note
H32->HC32 support has been added to the Marlin Firmware repository. Please post any Issues there first, otherwise if there are any ProUI specific issues or anything else to report please do so under Issues tab here. You can find the original HC32 repo here @shadow578/Marlin-H32
General information about the firmware and updates is located in the Wiki page What's New In This Release.
Other changes and updates are addressed here.
There is a MarlinSimulator file provided to test out for yourself. It simulates a pre-built configuration of this firmware.
The MarlinSimulator can compile for Manual Mesh Bed Leveling or Auto Bed Leveling w/BLTOUCH enabled.
For MacOS you're on your own...sorry.
If you haven't already, you must install the SDL2 library.
SDL2-devel-2.32.10-mingw.zip is provided for in /docs.
Or get the latest release at libsdl-org/SDL/releases and look for SDL2 version (NOT SDL3)
You can either copy/paste the files directly, or install them.
It's recommended to install them, but if you have any issues, then try the alternative copy/paste method.
Navigate to the extracted SDL2 directory in an MSYS2 or bash terminal (Run as Administrator):
To install SDL for native (32-bit) development:
make native
To install SDL for cross-compiling development:
make cross
It's recommended to do both make native and make cross.
For 64-bit - If you receive an error, then try the following:
make install-package arch=x86_64-w64-mingw32 prefix=/usr
Copy/Paste Files You may have to first Build so the directory can be created, but you can:
- Copy the contents of ~\SDL2-2.32.10\x86_64-w64-mingw32\include\SDL2\*, paste into the directory .pio\libdeps\simulator_windows\imgui
-OR-
- Copy the just folder ~\SDL2-2.32.10\x86_64-w64-mingw32\include\SDL2, paste into the directory .pio\libdeps\simulator_windows
Once all that is done, just Build like you would normally and MarlinSimulator.exe will be created.
These are the files you need to install:
sudo apt install libsdl2 libsdl2-dev libsdl2-net-dev libsdl2-2.0-0 libglm-dev
There may be other basic ones if you don't have already; like python, cmake, pip...
Before building, open a terminal and run ./buildroot/share/scripts/simulator_error.sh [linux|windows], or change the following manually:
- In Configuration.h:
- Add
BOARD_SIMULATEDtoMOTHERBOARD, then disableENDSTOP_INTERRUPTS_FEATUREandPROUI_EX 1.
- In platformio.ini:
- For
default_envs =addsimulator_windows(for Windows) |simulator_linux_release(for Linux).
- In lcd/e3v2/proui/dwin_defines.h:
- Replace
#define INVERT_E0_DIR HMI_data.Invert_E0with#define INVERT_E0_DIR false(or comment it and#undef INVERT_E0_DIRout).
- In inc/Conditionals-5-post.h:
- Comment out
#undef Z_MIN_ENDSTOP_HIT_STATE.
- In native.ini:
- Replace
-fltowith-fno-ltoatrelease_flags =under[simulator_common]. Only if you get an error message about it.
How to use:
- Open the executable program found in .pio\build\simulator_<windows|linux_release>.
-
- For Windows:
MarlinSimulator.exe
- For Windows:
-
- For Linux:
./MarlinSimulator
Enter in a terminal.
- For Linux:
- Under
SD Card, underComponentson the right side, select or load an image. -
- To simulate an actual print, you may need to use a .img file containing the .gcode.
- Select Serial Monitor(1) if you do not see any output.
- Use like a normal terminal. For example, enter
G28to watch it Home.
- Create new image file:
dd if=/dev/zero of=new_fs.img bs=1M count=128
- Format the image:
sudo mkfs.vfat -F 32 -n SDCARDIMAGE new_fs.img
- Copy the .gcode file (in place of my_stl.gcode):
sudo mcopy -i ~/new_fs.img my_stl.gcode ::/
- Check contents of image:
mdir -i ~/new_fs.img ::/
- Copy the new image to the final destination:
dd if=~/new_fs.img of=~/Marlin/.pio/build/simulator_linux_release/fs.img bs=512>
The Precompiled binary files of this firmware can work with STM32 (STM32F103RET6/RCT6 - STMicroelectronics) and it's clones:
- G32 (GD32F103Rx - GigaDevice)
- N32 (N32F103Rx / N32G455x - Nation)
- H32 (HC32F460x - Huada Semiconductor/HDSC)
They can be downloaded here:
Releases
This would not be possible without having to spend my free time working on it.
I would greatly appreciate supporters, helpers, and beta testers whenever possible.
Please show your support by considering making a donation, or giving your input if you end up using this firmware.
It wasn't easy getting it to this point without all the help and input. I am just a basic programmer and the work is mostly trial and error.
Thank goodness for VS Code's compiler and also AI like ChatGPT which shows me what changes need to be made as I make them.
Thank you to all those who have given me their support.
Please consider making a donation, as large or as small and as often as you'd like.
Ko-fi
Venmo
Paypal - Single payment
- Voxelab Aquila Facebook Group
- Telegram
- r/VoxelabAquila on Reddit
- r/ender3V2 on Reddit
- r/Ender3v2Firmware on Reddit
- E3V2 Facebook
- E3S1 Facebook
The Issue Queue is reserved for Bug Reports and Feature Requests. Please use the following resources for help with configuration and troubleshooting:
- Marlin Documentation - Official Marlin documentation
- Marlin Discord - Discuss issues with Marlin users and developers
- Facebook Group "Marlin Firmware"
- RepRap.org Marlin Forum
- Facebook Group "Marlin Firmware for 3D Printers"
- Marlin Configuration on YouTube
Thanks to Reddit u/schuh8 and GitHub @whasupjohn for donating his board to help test the firmware.
Join the Voxelab Aquila Facebook Group
This fork of MRiscoC's Professional Firmware is maintained by @classicrocker883 (yours truly)
ProUI is a Marlin based firmware maintained by @mriscoc
The fork for H32|HC32 firmware is maintained by @shadow578
Marlin is maintained mainly by @thinkyhead
- Marlin Firmware is an Open Source project and owned and maintained by the maker community.
- VS Code is an IDE program owned and maintained by Microsoft.
THIS FIRMWARE AND ALL OTHER FILES IN THE DOWNLOAD ARE PROVIDED FREE OF CHARGE WITH NO WARRANTY OR GUARANTEE. SUPPORT IS NOT INCLUDED JUST BECAUSE YOU DOWNLOADED THE FIRMWARE. WE ARE NOT LIABLE FOR ANY DAMAGE TO YOUR PRINTER, PERSON, OR ANY OTHER PROPERTY DUE TO USE OF THIS FIRMWARE. IF YOU DO NOT AGREE TO THESE TERMS THEN DO NOT USE THE FIRMWARE.
For the license, check the header of each file, if the license is not specified there, the project license will be used. Marlin is licensed under the GPL.









