Sapphire Plus Resources

The community has put out a lot of good content on the Sapphire Plus, which we are proud to share and give credit for. We have gathered the best resources at one spot for fellow Sapphire Plus users.


Assembly of the Sapphire Plus can be daunting, especially if it is your first printer. Here is a detailed guide by 3D Gadgets Malaysia. Do keep in mind that they offer a customized package, so their inclusions are not 100% the same as the standard package we carry.

IMPORTANT: Set your power supply voltage accordingly! For Australia and Singapore, this is 230v!

Click Here to see Differences & Commentary

In general, do not fully tighten structural pieces on your first pass. Leave it at ~85% tightness, so things catch but can still just barely move. After "completing" assembly, raise your bed to about 15% off from the top, allow everything to align and settle in without tension. Only then fully tighten screws, from the bottom up.

3:25 Washers are not standard inclusions, screws should be able to catch fine without them, but no harm adding washers if you have spares lying around.

6:39 Bed installation: If you have bought a separate upgrade bed from us, do NOT install the factory bed (and end up stacking them)! On V3, mount bolts from below, and avoid mounting clips on the left edge (reserved for the purge line).

6:55 V3 does not have 2 Z-endstops; upgraded to belt-synced Z-axes.

7:20 Lead screw bearing and Z-stop assembly: do not align it to the top
extrusion as in the video if you're using a glass bed, instead mount this bracket lower while keeping it level/parallel (see below).

7:41 DON’T loosen these screws on the brass coupler!

9:22 ABL kit is not a standard inclusion, skip to 9:40.

10:02 V3 mounts the extruders towards the back, sharing a path with the main wire loom.

10:17 Filament runout sensor mounting kits are not standard inclusions, it is not recommended since it will constrain filament path and cause unnecessary strain/grinding. Just install it before the extruder "floating" on the filament, it will automatically butt up against the extruder’s ‘intake’ bowden. This will have to wait until you're loading your filament after the assembly is complete. For now, just wire it and leave it on the side.


Facebook Groups

Help, get help from, and participate in discussions with fellow users!


Cura Start/End G-code

Support for the Sapphire Plus have been merged into Cura’s development branch, but not yet packaged in a release. When it’s included, it will be under ideagen3D brand. For now, please add these in manually.

Start G-Code:

; G-Code by ideagen3D

G1 Z15.0 F6000 ; Move bed down 15mm

; Initialize Temperature
M140 S{material_bed_temperature_layer_0} ; heat bed
M104 S{material_print_temperature_layer_0} ; heat nozzle
M190 S{material_bed_temperature_layer_0} ; wait for bed temperature to reach initial layer temperature
M109 S{material_print_temperature_layer_0} ; wait for hot end temperature to reach initial layer temperature

G28 M420 S1 ; Home & Enable Bed Levelling

; Prime the extruder

G92 E0 ; Reset Extruder position
G1 X1 Y280 Z0.2 ; Prepare to Purge
G1 Y20 F1500.0 E15  ; Purge line
G92 E0 ; Reset Positions

; Ready!

End G-Code:

; G-Code by ideagen3D

M104 S0 ; Set nozzle temperature to 0
M140 S0 ; Set Bed temperature to 0

G92 E1 ; Prepare to retract filament
G1 E-1 F300 ; Retract filament
G28 X0 Y0 ; Home X and Y
M84 ; Disable Steppers

; Print Complete!

How to flash Firmware on the Sapphire Plus

  1. Turn off the printer.
  2. Load the firmware file (robin_nano35.bin, name must be exact, case-sensitive) onto your SD card root directory.
  3. Insert the SD card into the printer.
  4. Turn on the printer.
  5. Let the progress bar move.
  6. It's completely normal for the bar to "get stuck" halfway! Do not panic.
  7. Give it about 10 seconds, then turn off the printer.
  8. Transfer the SD card back into your computer.
  9. On the SD card, the firmware should have been renamed to a .CUR extension.
  10. Delete this .CUR file, and load the original .bin onto the SD card again.
  11. Repeat steps 3-10 until you are greeted with the new bootscreen. It is completely normal for this to take 2-5 cycles if you are flashing between different bases (i.e. "traditional" Marlin and "color GUI" Marlin).
  12. Complete! Just delete the .CUR file from your SD card one last time.

How do I assemble/route the CoreXY Timing Belt?

Most units should have this arrive pre-assembled. However, if you are ordering an older unit, or is replacing/upgrading your belt, this could come in handy. 

By default, the belt comes in a length of 5 m, which is ~15cm more than enough. Start by cutting it evenly into 2 halves.

Sapphire Plus CoreXY Belt Diagram


This diagram shows the 2 belt pieces in Red and Blue, with teeth direction marked for guidance. The two fully black bearings are smooth, which correspondingly contact the smooth side of the belt, as marked. Overlaps are indicated with dashed lines, where one belt will be vertically above/below the other. Which belt is on top is determined by the positioning of the gear on the motors, so things should fall into place naturally. Take care not to vertically cross-thread!

Start by fastening down one end (e.g. with zip ties), thread the rest through the path, taut, and fasten the other end. The belt should be taut, but not overly strained. Think guitar string.

How to best level my bed?

There are 2 major parts to this, start with a traditional corner-leveling, where you adjust bed height physically with the springs underneath, and finish with firmware-driven mesh levelling where you adjust height through the software. 

Before you start, ensure that the nozzle has at least 5 cm distance from the bed, tighten the springs underneath to about 90% tightened, and turn on Preheat PLA for both Nozzle and Bed (200 °c and 60 °c, respectively).

Part 1: Corner Levelling

  1. Go to Motion > Bed Levelling (scroll all the way down) > Level Corners.
  2. With a standard piece of paper between the nozzle and the bed, keep it constantly moving with one hand, and increase the bed height with the other.
  3. Stop when you just feel the paper catch. It should still be able to move, with friction, between the nozzle and bed.
  4. Click Next on the touchscreen.
  5. Repeat steps 3-4 until you no longer need to adjust bed height through the spring. It’s normal to do ~5 rounds on your first levelling before finding consistency.

Part 2: Mesh Levelling

  1. Motion > Bed Levelling > Bed Levelling.
  2. Going negative here means the bed goes UPWARDS.
  3. At each spot, repeat levelling like above with a paper, except this time you adjust height through the touchscreen, do no touch the physical springs.
  4. When you are done, ensure that “Level Bed:” is “On”, and do a test print.

Part 3: Bed Height Adjustment

  1. Monitor the test print’s 1st layer – if it doesn’t stick, go to Tune > Babysteps, and go negative until it does. The settings are applied “live”, i.e. you don’t need to back out of the screen to apply.
  2. When you’ve found the right babysteps, remember the number. After the print is complete, go to Motion > Bed Levelling > Bed Z, and input the value there. Scroll down to “Save Settings”. 
  3. Sometimes “Level Bed:” option turns off or is hidden. When this happens, simply “Auto Home” and come back to the menu, it will be visible again. Our Start G-Code conveniently automatically enables this before each print.
  4. Typically, when you make minor changes to your hotend/nozzle (e.g. from a MK8 to V6 nozzle), this is the only value you need to re-check. For large-scale modifications, such as changing the hotend, hotend mounting, or the build plate, you should start over from Corner Levelling.