-
Product Information
-
-
- Advanced EZABL and Printer Troubleshooting
- EZABL Duet M48 Test Gcode
- EZABL Pro™: M119 End-stop Test
- EZABL Pro™: Retrieving the Sensor's Data from Marlin/Unified Firmware
- How to fix “Slanting” Bed Leveling Result
- Is your EZABL working well? (M48 Test)
- Tips for best EZABL accuracy
- Z Not Showing “TRIGGERED” M119 Test
-
- Adjusting the Sensor Height
- Calibrating the EZABL Sensor
- EZABL Pro Detailed Installation Video
- Getting the Perfect Z Offset
- Installing the Solid Bed Mounts
- Mounting the EZABL Sensor
- Powering the EZABL
- Routing the EZABL Cable
- Setting your Initial Z Offset
- Sidewinder X1 Specific - EZABL Installation Video
- Testing the Z Endstop Connection
- Updating the Firmware
- Updating your Starting Gcode
- Z Endstop Connection
-
- AnyCubic Chiron EZABL Control Board Connection Info
- CR-10S Pro EZABL Installation Video
- Ender 3 S1 EZABL Z Endstop Cable Connection
- EZABL Pro - Sensor Plug Part Numbers
- EZABL SKR 1.4/1.4T Connection
- EZABL SKR V2 Connection
- Geeetech A10, A10M, A20, A20M Z Endstop Wiring for EZABL
- Sidewinder X1 EZABL Installation Video
- Tevo Tarantula Pro Z Endstop Cable Setup for EZABL
-
-
- DIY Firmware | EZBoard Lite V1.X Board
- EZBoard - Lite V1.X Pinout
- EZBoard Lite V1.X - BTT TFT35-E3 Wiring and Firmware Setup
- EZBoard Lite V1.x - EZABL Not Triggering Fix
- EZBoard Lite V1.X - Installation Guide
- EZBoard Lite V1.X – Why do you use the TMC 2208 Instead of TMC 2209 Drivers?
- EZBoard Lite V1.X Board Firmware
-
-
- EZPi - Changing/Setting Wifi Network
- EZPi - Disable BetterHeaterTimeout Plugin
- EZPi - Disabling Arc Welder Automatic Processing
- EZPi - DIY Kit Assembly Directions
- EZPi - Getting Started Documentation
- EZPi - Hardening the EZPi Security
- EZPi - Host Action Commands Warning
- EZPi - Image Download (All Versions)
- EZPi - Static IP, Hostname, & Camera Options
- EZPi - Updates or Plugins Not Installing
- EZPi – EEPROM Datasize error
- Power Blocker Connection Troubleshooting
- Zits or Blobs On My Prints
-
- EZNeo - 220 Version Test Gcode
- EZNeo - 5V Universal Power Kit Documentation
- EZNeo - BTT Octopus Pro Board Setup
- EZNeo - Creality V2.4.X Board Setup
- EZNeo - Creality V2.5.2 Board Setup
- EZNeo - Creality V2.X/V2.2.X Board Setup
- EZNeo - Creality V2451_301 (Ender 3 S1) Board Setup
- EZNeo - Creality V4.2.2/V4.2.7/V4.3.1 Board Setup
- EZNeo - Extra Mounting STLs
- EZNeo - EZBoard Lite V1.X Board Setup
- EZNeo - MKS Robin Nano V1.2 Board Setup
- EZNeo - MKS SGenL V2 Board Setup
- EZNeo - Request New Board Wiring Documentation
- EZNeo - Set LEDs to Green on Print End
- EZNeo - SKR 1.4/1.4T Board Setup
- EZNeo - SKR 2 Board Setup
- EZNeo - SKR E3 Mini V1.0 Board Setup
- EZNeo - SKR E3 Mini V1.2 & V2.0 Board Setup
- EZNeo - Sunlu S8 Board Setup
- EZNeo - Universal Power and Firmware Setup Information
-
- Bowden Fitting Clips for Tough Extruder Fittings
- Creality Extruder Motor Shaft Lengths
- Heatbreak Installation Information
- PTFE Heatbreak Installation Directions
- TH3D Ender 5 Plus ABS Tough Extruder Bracket Assembly
- TH3D Tough Hot-End - FAQs
- Tough Extruder Firmware Settings
- Tough Extruder or E3D Titan Assembly Video
- Troubleshooting Holes in Prints or Brittle Prints
- Upgraded Aluminum Extruder Installation Video (V2)
- Using your All Metal Hotend
-
- 12864 LCD - Missing Lines/Pixels
- 12864 LCD Cable Connections - Correct and Incorrect Connection - Pictures Included
- 12864 LCD on CR-10S Pro - Proper Installation of the CR12864 Adapter PCB
- 12864 LCD Screen Not Lighting Up
- 12864 PCB Spacer - For RepRap LCDs
- AnyCubic Chiron LCD Kit Installation Info
- Assembling the EZLCD
- Ender 6 12864 LCD Kit Installation Directions
- What is the adapter board included in some 12864 LCD packages?
-
- Applying Vision Miner Nano Polymer
- Leadscrew Coupler Separating
- Older EZABL Kits (V1/V2/V3/V3.1)
- Power Blocker Connection Troubleshooting
- PTFE Safety Precautions – ALL PTFE & ToughTube
- Testing an AC SSR
- TH3D High Amp 12V/24V MOSFET V2 Installation Information and Mounts
- TH3D Solid Bed Mount Camera Arm STL Files
- TH3D Uno Bootloader Kit Case
-
-
- Creality Mega 2560 Board Connections (CR-10S/Dual Board)
- Creality Melzi Board Connections (CR-10/Ender 3/Ender 5)
- Creality V24X/V4.X.X Boards - Identifying your CPU Type - 256K or 512K Chips
- Creality V4.2.2 & V4.2.7 Board BL Touch Wiring Options
- Creality V4.2.X Board Driver Codes
- Creality V4.2.X TMC Boards - Recommended VREF
-
-
-
Downloads
-
-
-
- Creality CR-10 V2 Firmware | V2.5.2 Board
- Creality CR-10 V3 Firmware | V2.5.2 Board
- Creality CR-10(S) - Mini/S4/S5 Firmware | V4.2.7 Board
- Creality CR-10/Mini/S4/S5 Firmware | Melzi Board
- Creality CR-10S Pro (V1/V2) Firmware | V2.4 Board
- Creality CR-10S/Mini/S4/S5 Firmware | V2.X Board
- Creality CR-20 Firmware | V2.X Board
- Creality CRX Firmware | V2.X Board
- Creality Dual Extrusion Board Firmware | V2.X Board
- Creality Ender 2 Firmware | Melzi Board
- Creality Ender 2 Pro Firmware | V4.2.3 Board
- Creality Ender 3 MAX Firmware | V4.2.X Board
- Creality Ender 3 S1 Firmware | V24S1_301 Board
- Creality Ender 3 S1 Pro Firmware | V24S1_301 Board
- Creality Ender 3 V2 Firmware | V4.2.X Board
- Creality Ender 3/3 Pro Firmware | Melzi Board
- Creality Ender 3/3 Pro Firmware | V4.2.X Board
- Creality Ender 4 Firmware | Stock Board
- Creality Ender 5 Plus Firmware | V2.X Board
- Creality Ender 5 Plus Firmware | V4.2.7 Board
- Creality Ender 5/5 Pro Firmware | Melzi Board
- Creality Ender 5/5 Pro Firmware | V4.2.X Board
- Creality Ender 6 Firmware | V4.3.X Board
-
- Creality CR-10(S) - Mini/S4/S5 Firmware | SKR E3 Mini V1/V1.2/V2 Board
- Creality CR-10(S) - Mini/S4/S5 Firmware | SKR E3 Mini V3 Board
- Creality Ender 3 MAX Firmware | SKR E3 Mini V1/V1.2/V2 Board
- Creality Ender 3 MAX Firmware | SKR E3 Mini V3 Board
- Creality Ender 3/3 Pro Firmware | SKR E3 Mini V1/V1.2/V2 Board
- Creality Ender 3/3 Pro Firmware | SKR E3 Mini V3 Board
- Creality Ender 5 Plus Firmware | SKR E3 Mini V1/V1.2/V2 Board
- Creality Ender 5 Plus Firmware | SKR E3 Mini V3 Board
- Creality Ender 5/5 Pro Firmware | SKR E3 Mini V1/V1.2/V2 Board
- Creality Ender 5/5 Pro Firmware | SKR E3 Mini V3 Board
-
-
-
-
Guides
-
- 3D Printer Help Guide Creality & Others
- ABL Z Offset, Gantry Leveling, Babystepping, Storing Offset to EEPROM
- CR-10(S) Setup and Mechanical Checks
- Creality X Gantry Re-work
- Marlin Gcode M115 - Display Firmware Version Info
- Printer Bed Sizing Chart
- Printer Homing Types | Home Positions Explained | Min/Max/ABL Probes
- Removing Stress Marks from Printed Parts
- SKR E3 Mini, SKR E3 Turbo, Creality V4.2.2, and V4.2.7 LCD EMI Issue
- Thermistor Values for Unified 2 Firmware
- Tips for Printing ABS Successfully with your 3D Printer
- Unified Firmware - BLTouch Settings
- What board is in my Ender 3D printer? | Ender 3/5
-
- AnyCubic Mega Zero V1 Heated Bed Upgrade DIY Info
- Auto Bed Leveling Z Fade Setup & Info
- CR-10S V2.0/V2.1 Temperature Repair
- Creality Extruder Motor Shaft Lengths
- Creality Press-Fit Extruder Gear Removal
- Dual Extrusion Setup Information
- EZABL Duet Board Setup Information
- Filament Handling and Drying
- Linear Advance Information for Marlin Based Firmware
- P.I.D. Bed Calibration Guide
- P.I.D. Hotend Calibration Guide
- Re-wiring 2 Pin Fan Connectors - Video
-
- Arduino IDE - Mac OS X Setup Guide
- Pronterface - Using Pronterface to send GCode to your Printer
- Simplify3D - Not Connecting to Printer over USB
- Slicers - Starting Gcode Locations - EZABL
- Unified 2 Firmware - Github Repo and Old Versions
- VSCode - "No such file or directory" Error
- VSCode - Manually Selecting your Upload (COM) Port
- VSCode - PlatformIO Toolbar Missing - How to Fix
- VSCode - Problems & Terminal Tabs
- VSCode - Setup Guide for Unified 2 and Marlin 2 Firmware
- VSCode - Unified 2 Tips for Noobs
- VSCode: Check-mark Compile Button Not Showing
-
- 3D Printer Help Guide Creality & Others
- Babystepping with GCode Commands
- BL Touch - Reset Operation Mode
- CR-10(S) Setup and Mechanical Checks
- Creality Printers - DACAI and DWIN Color LCDs
- Creality X Gantry Re-work
- Display Corruption - Ender 3 V2/Ender 3 S1/Voxelab Aquila
- Extruder Motor will not Turn
- Fan Stuck 100% or Not Coming On - Layer Fan or other Fan
- Filament Handling and Drying
- Flashing Firmware with an Uno – Useful if your printer USB port is bad
- Leadscrew Coupler Separating
- Preliminary Troubleshooting Steps
- Printer Grounding – How to Check your PSU and Grounding Your Bed
- Sensors and Gantry Grounding
- SKR E3 Mini, SKR E3 Turbo, Creality V4.2.2, and V4.2.7 LCD EMI Issue
- Temp Reading High, MAXTEMP Error, or LCD Blank
- Testing and Checking your Stepper Motors
- Testing your SD Card for errors
- Troubleshooting Holes in Prints or Brittle Prints
- Using your All Metal Hotend
- Y Layer Shifting on Your Printer
- Z Axis Troubleshooting
- Zits or Blobs On My Prints
-
- Creality BL Touch Probe Mount Offsets (Metal Bracket)
- Creality CR-10 and CR-10S Models – What Printer do you have?
- Creality CRX – EZABL, EZOut, and Firmware Videos
- Creality Ender 3 & Ender 3 Pro - Upgrades, Information, and Tips
- Creality Printers - DACAI and DWIN Color LCDs
- Creality V24X/V4.X.X Boards - Identifying your CPU Type - 256K or 512K Chips
- Display Corruption - Ender 3 V2/Ender 3 S1/Voxelab Aquila
- Ender 3 V2 - Swapping to the 12864 Creality LCD for more features
- Ender 5 Plus Upgrade Paths – EZABL, EZBoard, LCD Kit
- Unified Firmware Wanhao Duplicator i3 Plus Information
-
- AC Bed Wiring with a SSR for Control
- AnyCubic Chiron LCD Kit Installation Info
- BL Touch Wiring Harness Colors – Antclabs vs BigTreeTech (BTT)
- BL Touch Wiring Harness Colors – Antclabs vs Creality
- Creality CR-10 V2/V3 Breakout Board Pinout
- Creality V4.2.2 & V4.2.7 Board BL Touch Wiring Options
- EZABL PSU 12V/24V Power Wiring
- EZABL SKR 1.4/1.4T Connection
- EZABL SKR V2 Connection
- EZNeo - Creality V2451_301 (Ender 3 S1) Board Setup
- MKS SGen L V2 Wiring/Pinouts
- Re-wiring 2 Pin Fan Connectors - Video
-
Customer Service
-
- Backorders - Shipping Times and Cancellation
- COVID19 - Shipping Delays
- Printed Products - Lead Times/Backorders
- Sending Back Your Return
- Shipment Received, Package Acceptance Pending - USPS Status
- Shipping to Mail Forwarders
- UK Shipping - New VAT laws
- USPS First Class Mail Services FAQ
- When will my order ship?
- Wrong Address Entered at Checkout
This article briefly describes how to obtain and use our Unified Firmware packages from our Github source, as well as how to use it to compile your firmware. Please note that you should always be using the latest version of Unified Firmware and the instructions available from our site for your specific model/mainboard for the best experience. This article is provided as a courtesy if you should require a “rollback” to a previous version of Unified Firmware. TH3D offers no warranty nor technical support for old or outdated versions of Unified Firmware.
Please note that these instructions are provided for Windows, but the instructions for MacOS are similar enough that you should be able to follow along. At time of writing, we do NOT have an up-to-date MacOS installation here, your mileage may vary.
Github Repo and Package Contents
Please click this link to visit our Github page: https://github.com/th3dstudio/UnifiedFirmware
Unified Firmware Package Contents
The main page shows the contents of the Unified Firmware package in its entirety. This includes things that are not present in the board/model-specific packages on our site, such as all of our freely-available STL files, board configuration files for all Unified-compatible packages, LCD firmware for the Ender 3 V2 DWIN display, and much more.
When you download the Unified Firmware package from Github, you will be downloading the entire package contents. At time of writing, total disk-space usage for the entire package when unzipped is around 550MB.

Downloading a Specific Version of Unified
Unified Firmware is currently broken down into “tags” for each specific version. The box in the top-left corner can be used to choose specific “tagged” versions for download.
For the most current package, simply click the green “Code” button, then click “Download ZIP”:

To download a specific version, use the version box in the top-left corner, select “Tags” then choose the version of Unified Firmware you wish to download. Then, use the green “Code” button and select “Download ZIP” to download the package.

Using the Unified Firmware package to Compile Firmware
This section assumes that you already have VSCode, PlatformIO, and Python installed and functioning. If you need assistance setting up this software, please see this article. This section also assumes that you have already unzipped the Unified Firmware package you downloaded in the previous section.
In the most simple terms, Unified Firmware comes with everything you need to configure and compile a firmware for any printer model we support. The board files are contained in the “Board_Configs” directory. Choose the directory for the board type you wish to use.
Each board directory contains a directory called “Firmware”, which itself contains a Marlin folder containing the main “configuration.h” file as well as a file called “platformio.ini”. The main configuration file is the one you will eventually configure according to your printer model and features. The “platformio.ini” file tells VSCode and PlatformIO important information needed to compile properly. In order to properly compile firmware, we must move these files into the proper directory.
Copying the configuration files to the main Firmware directory
To prepare the firmware to compile, we need to copy the “platformio.ini” and “configuration.h” files from the Board_Configs directory to the appropriate places in main Firmware directory.
In short terms, you’ll copy the “platformio.ini” file from [Boards_Configs\(board type)\Firmware] to the main [Firmware] directory, then the “configuration.h” file from [Board_Configs\(board type)\Firmware\Marlin] into the main [Firmware\Marlin] directory.
The easiest way to accomplish this is to right-click and copy the Firmware directory from the Board_Configs area, then paste it “on top” of the main Firmware directory.


This should copy the “configuration.h” and “platformio.ini” files to their proper places inside the main Firmware folder. You should see “platformio.ini” show up in the main Firmware folder now…

… and you should also see the “configuration.h” file inside the Marlin directory with the others.

Once the “platformio.ini” file is present inside the Firmware directory and the “configuration.h” file is present inside the Firmware > Marlin directory, you can use VSCode to load everything so you can begin configuration.
Opening with VSCode
In VSCode, go to File > Open Folder and select the main “Firmware” directory as the one to open. It must be the “Firmware” directory specifically, as VSCode needs to see “platformio.ini” when it opens the package or else it won’t compile properly. Since “platformio.ini” is in the Firmware directory, that’s the one you need to open specifically.


If you have issues with the check-mark “compile” button not appearing where it should be, continue to this article.
Where to go from here
Now that you have the full Unified Firmware package set up and ready to go, you can compile and flash your own firmware. Follow the instructions found in the “configuration.h” file or instructions for any of our other firmware downloads to get started.