Hi guys, today I’m going to take you through the process of setting up your Voron 0.1 using a Mellow Fly Gemini V2 board. The Gemini is a hybrid board combining a single board computer (SBC) equivalent to a Raspberry Pi into the same printed circuit board as the printer controller. This reduces wiring and part count, plus given the current Raspberry Pi scalping it is very cost effective too.
This post was sponsored by Fabreeko. Please do check out his site as he will shortly be selling Voron 0.1 kits including… you guessed it a FLY Gemini board!
For those who prefer a video guide or want to watch and read at the same time here it is!
The documentation for the FLY boards is a bit scattered so I’ve tried to compile a list of useful places here.
In the box
The Fly Gemini with your kit comes with the following items in the box
- Fly Gemini V2 board
- JST connectors for every port on the board
- Pre-crimped wires for the smaller JST sized connectors
- Crimp ferrules for the power supply wires
- Jumpers for the motor drivers and fan voltages
- Fuses for the power inputs and bed output
- 4 x TMC2209 stepper drivers
- Micro USB with the SBC firmware pre-installed
- WiFi dongle
- Instruction manual
Preparing the board
Add screw terminal label to the cover of the screw terminals. The Bed negative input should be on the bottom (screw terminal 1) as in the image below.
Plug your WiFi dongle into the USB ports. Do NOT put wifi dongle in bottom right USB port (when looking at the USB ports) when using Klipper as this port is shared with the connection to the STM32 controller chip and you will NOT be able to communicate with the microcontroller. I recommend the top right as this makes it fit the nicest inside the electronics bay.
Plug in the 3 fuses (Red automotive fuses) into the slots around the screw terminal block. They are all the same rating so the locations don’t matter.
Add jumper for the stepper motors (UART configuration) and the jumper for the fan voltage (12v) (as indicated by small green boxes on the diagram below). Then plug in the fan MOSFET into the connector indicated by the pink square. Lastly plug in your 4 motor drivers (blue squares).
Because this board can be used with RRF or Klipper and in both CAN and SBC modes there are some switches used to configure the wiring setup. Set pin 3 and 4 to on and leave the rest in the off position. (You will have to peel off the covering film and use a small screwdriver to flip the switches)
SBC image install
The SD card provided by Mellow came with the SBC image installed already. You can check by seeing if you got an empty SD card or one with 2 segments a boot segment and a file segment. If it doesn’t you can download the image here and use raspberry pi imager to burn it onto the SD card.
Once the sdcard is complete, remove it from your PC, and plug it into the Gemini’s SD slot (next to the USB A ports). Next, connect the Gemini to your PC, via the USB-C port. When you do this, a COM serial device should appear (much like an Arduino if you are familiar with those). You now require Putty, which can be installed from https://www.putty.org/.
Open device browser to check which COM port the Gemini board has appeared as. For me the USB serial device appeared as COM3.
Open PuTTY and configure the connection as per below. You can add a name to the saved sessions box and save it for future use!
Press open and a command line interface should appear. If nothing seems to be happening you may need to hit the reset button just next to the USB C connector. You should then be greeted with a screen similar to the one below.
Now set up the WiFi connection by entering the command below
Navigate to activate a connection
Navigate to the network you are interested in and press enter
Enter the password then press ok. If successful the network will appear with a * next to it indicating you are connected.
Exit out of the program back to the command line. Enter the following command to get information about the network. Look for the WLAN section and then the IP address next to the ‘inet’ line. Copy this IP address into your browser (remember its Ctrl + Shift + C to copy when in terminal)
At this point you should have the SBC side of the installation up and running and should be able to see the Fluidd interface at the ip identified in the last step.
Swapping to Mainsail
UPDATE: There is now an easier way than using KIAUH to make the change. Instructions below have been updated.
This step is not mandatory but as a lot of people prefer Mainsail right now I figured I would include the steps to get you there! Run the following commands while logged in as user root.
su root //only if not already user root nano /boot/FLY-Config.conf
This will open the text editor nano. Scroll down until the Fluidd / mainsail section and delete Fluidd and replace with mainsail as shown below. Hit ctrl + x, the y to save changes
Reboot your device.
Check that you can view the mainsail web interface by going to your IP address followed by the port number you entered. for example: “http://192.168.68.111”
There you go. You are now running Mainsail
Congratulations you made it this far, the SBC side of the Gemini board is ready to go! It is now time to create the Klipper image for the printer control board part of the Gemini. The instructions for this part aren’t exactly expansive “Compile Klipper firmware for stm32″… Anyway here is how I usually do it.
SSH into your Gemini board using PuTTY and the IP address you got in the previous stage. The username will be ‘fly’ and the default password if you didn’t change it is ‘mellow’
Run the following commands in the Gemini putty window.
cd ~ cd klipper make menuconfig
Choose the STM32F405 option, This should then default to the settings below. Press q to exit and save.
Then run the following commands. You will see a text stream outputting that it is compiling a bunch of things from src. If everything has worked the last line will say creating hex file out/klipper.bin
make clean make
You now just need to get this file, rename it to firmware.bin and load it onto the sd card. My preferred way of doing this is to use WinSCP to copy the file to my pc and then manually move it over onto the sd card. Create a new session in WinSCP and select the SCP file protocol. Enter the IP address and user info. Leave the port as the default 22.
If successful you will get a visual display of the file system on the Gemini. Go into the klipper file and the out file and copy the klipper.bin file onto your pc. From there copy it to the second sd card as you would normally.
Safely shutdown device to save changes
Armbian devices by default only write to the SD card around once every 30 or so minutes to prolong SD card life. As such if you just power cycle the device by removing the usb cord or turning it off changes won’t be saved. To safely shut down you device use the following command:
sudo shutdown -h now
Follow the Voron zero build manual up until the start of the wiring segment (page 126). Where the remaining pages of the wiring section of the manual are still relevant I will include the images here and the page number for reference (they should be correct as of VERSION 2021-06-13 of the manual)
Follow the manual and attach the 24V power supply to the underside of the printer in the same position as recommended.
The Gemini board has an onboard stepdown to the supply voltage for the SBC side so there is no external 5V supply or buck convertor. Skip this step.
Attach the Fly Gemini to the printed mount (download file here) using 4 off M3*6mm bolts and then add 50mm strips of VHB tape to the back of the mount.
Remove the backing from the tape and press the mount down in place on the electronics backplate. I recommend positioning it roughly in the center like shown below. The usb ports on the left hand side and the connectors for the stepper motors facing towards the top of the printer. I find that it is easiest to press it in place with the board attached. This way you can ensure you have enough space for the USB WiFi adapter (and any future USB devices) as well as access to the USB C ports on the bottom of the board. Once positioned remove the board to apply pressure and get a good stick. Then screw the board back on.
Next follow the official voron guide for the Mains inlet and power supply wiring (Page 130-133) excluding the connections to the 5v Buck convertor.
From this point on please examine the wiring diagram below. It should be fairly self explanatory. The major things to be aware of is that the hotend cooling fan requires 5V supply and therefore we use the 5v available in the 4 pin CAN port connector and only connect the ground line to the fan port. The fan is controlled by switching the ground supply so this works much like on the SKR mini boards.
Mellow provide JST connectors for all the ports so you should be able to apply the correct connectors to all the components.
Once all your wiring is done your electronics bay should look something like this. Use cable ties and cable trunking to tidy things up if you have them to hand.
Update Klipper etc.
It’s best to keep Klipper and the other software components up to date. You should do this now by clicking on the machine tab and then clicking update all components in the bottom right.
This may take quite a while depending how out of date things are. In particular the system updates take the longest. Go grab a cup of tea or a beer and let it do it’s thing. Once done they should all be green
Commission the printer
Now you should be ready to commission the printer. The first thing we are going to do is replace the default printer.cfg with the Voron zero one configured to run on the Gemini board.
Download the printer.cfg from the 3DPandME github.
rename the existing printer.cfg file to printer_orig.cfg to keep it as a backup/for reference. Upload the one you just downloaded and ensure the name is “printer.cfg”
Go through the printer.cfg and address the following points. Make sure to select the right configuration based on what was shipped with your kit / on what you sourced. For safety reasons you will see a bunch of errors telling you to fix the printer.cfg. Go through this list and uncomment the lines that apply to your setup.
You should now be able to restart the firmware and be greeted with an error free interface.
Next you want to check your motors all move in the correct directions. Try homing your printer and be ready on the emergency stop button. Watch which directions your printer goes. Use the table below to determine whether you need to switch and wires or firmware direction pins. These can be swapped by adding or removing an ! before the direction pin name under the stepper configurations.
Congratulations your printer is up and running and should be ready to do your standard printer calibration stuff! If you are unsure about this check out this reference from the Voron team
Support 3DP and ME! Help us keep producing tutorials, content and mods!