Updating the firmware on your Two Trees Sapphire Pro (SP-3) improves stability and unlocks advanced features like better thermal management or support. Most Sapphire Pro models use the MKS Robin Nano
motherboard, and the update process is generally handled via a Micro-SD card. Core Update Process
For a standard update using the stock or pre-compiled Marlin firmware: Prepare the SD Card
: Use a small-capacity (typically 8GB–32GB) Micro-SD card formatted to Download Firmware : Obtain the correct file and any associated UI : Available via the TwoTrees Official Wiki Official Website Community Custom : Popular custom Marlin builds, such as those by quentinDeroo , offer improved GUIs and bug fixes. Copy Files : Rename your firmware file to Robin_nano35.bin
(or as specified by your board version) and place it in the root directory of the SD card.
: Insert the card into the printer while it is powered off. Turn the printer on; the screen should display a progress bar. Do not turn off the power during this time. Popular Firmware Options Recommendation Key Features TwoTrees Official Safe, basic, original touch interface. Marlin 2.x RolfZuckowskiUltras (GitHub)
Advanced features like UBL (Universal Bed Leveling), custom GUI, and S-Curve acceleration. Official Klipper Config Highest performance, requires a Raspberry Pi. Important Troubleshooting Tips
Updating the firmware on a Two Trees Sapphire Pro (also known as the SP-3) typically involves transferring specific files to the printer's motherboard via a microSD card. This process is critical for adding features like BLTouch support or improving the user interface. 1. Identify Your Hardware two trees sapphire pro firmware upd
Before downloading any files, verify your machine's hardware version, as using the wrong firmware can brick your printer board. Motherboard: Most Sapphire Pro models use the MKS Robin Nano V1.2
Common configurations include 2x TMC2208 and 2x A4988, or all TMC2225 drivers. Typically an MKS Robin TFT35. 2. Prepare the MicroSD Card
The motherboard requires a specific card format to recognize the update files. Use a microSD (TF) card formatted to
Ensure the card is empty; it is best to format it before starting. Stavros' Notes 3. Obtain Firmware Files
You can use official firmware or community-compiled versions of Marlin. TwoTrees Firmware Download
page and select the version matching your printer and motherboard. Community/Marlin: Projects like RolfZuckowskiUltras/TwoTrees-Sapphire-Pro-Plus
offer precompiled binaries for Marlin 2.0 with enhanced GUIs. Required Files: Updating the firmware on your Two Trees Sapphire
You generally need two items in the root directory of your card: Robin_nano35.bin (the main firmware binary). folder (contains UI icons and fonts). 4. Flash the Firmware Power Off: Turn off your printer completely. Insert Card:
Place the prepared microSD card into the slot on the motherboard.
Turn the printer back on. You should see a progress bar or an "update" interface on the screen.
Do not turn off the machine or remove the card until the refresh is 100% complete.
The printer will typically reboot into the new firmware. You may need to recalibrate the touchscreen on the first startup. 5. Troubleshooting Common Issues
| Item | Specification / Note |
|------|----------------------|
| Printer | Two Trees Sapphire Pro (stock control board: MKS Robin Nano V3.x or similar) |
| Computer | Windows 10/11, Linux, or macOS with USB-A port |
| USB Cable | Type-A to Type-C (data‑sync capable) |
| MicroSD Card | 8–32 GB, FAT32 formatted |
| Firmware File | Robin_nano_v3.bin (or similarly named) from official Two Trees / GitHub |
| Software | Cura, Pronterface, or any serial terminal (115200 baud) |
For diode lasers, set:
$30=1000 (max S-value for PWM)
$31=0 (min power)
$32=1 (laser mode enable)
This document provides a verified, step-by-step procedure to update the firmware on a Two Trees Sapphire Pro 3D printer, minimizing the risk of bricking the device.
Open Configuration.h in VS Code/PlatformIO. Modify the following:
#define MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 #define SERIAL_PORT 2 // For USB and LCD #define BAUDRATE 250000// For BLTouch (if installed) #define BLTOUCH #define AUTO_BED_LEVELING_BILINEAR
// For stock TMC2209 drivers #define X_DRIVER_TYPE TMC2209 #define Y_DRIVER_TYPE TMC2209 #define Z_DRIVER_TYPE TMC2209 #define E0_DRIVER_TYPE TMC2209
Also set your thermistor type (usually #define TEMP_SENSOR_BED 1 for 100k NTC).