The Banana Pi Zero M2 is one of many open source single board computers (SBC) that have sprouted up over the last few years due to Raspberry Pi popularity and in more recent time shortages. The Banana Pi M2 isn’t a direct clone of the Pi Zero as it uses a different form factor and CPU. The later point there being very important because right now the CPU family used in the Raspberry Pi product lines is near impossible to source.
That said… there are better alternatives (Try out the orange pi zero) because this specific board is no longer supported by Armbian and It kept resetting during the klipper and moonraker builds… Anyway read on if you already have one and want to just try it / documented for science hah. My advice is make sure you use a solid power supply in the second USB C port as it seems to struggle just through the USB OTG one.
It turns out the Banana pi was overheating. According to a user who reached out to me this board is notorious for it. Therefore I dug out a raspberry pi self adhesive heatsink from a set I bought a while back and stuck it on. Lo and behold the board managed a complete install powered via USB OTG only without any crashes! Once the finished following the klipper install steps I also did a full apt-get upgrade and although cpu usage was high again it didn’t crash. All that said this board didn’t come with the required heat sink or an external WiFi antenna both of which are required to get any reliability therefore unless the kit comes with it for the same price I’d still opt for the orange pi zero over this.
Because people are struggling to get hold of Raspberry Pi’s I’ve seen a big demand in alternative cheap SBC sources. I have also seen a lot of questions arising on whether or not it’s possible to install Klipper on it. Well today I’m going to answer that question and take you through the process.
The Banana Pi has clearly been designed as a direct competitor to the pi zero W however the RRP is almost double at around £20. That said that is much less than the currently inflated prices I’ve seen for official Raspberry Pi’s
- Banana Pi Zero Plus Aliexpress
- Micro SD card (<=32gb) Aliexpress Amazon
- USB micro wire Aliexpress Amazon
- External WiFi antenna
- Heat sink
TheBanana pi arrived in a sealed antistatic bag inside a padded postage bag. Unfortunately I forgot to get a photo before binning it!
First impressions are that the board is small and the form factor matches that of the pi zero. The price it pays for this small size is the lack of any USB A connections which means you might need adapters. Soldering quality looks good on both top and bottom layers, as does the silk screen. There is a connector available for an external WiFi antenna but it wasn’t included. The one pictured I added because the built in WiFi connection was too poor without it.
Setting up the OS
Head over to the Armbian website and download the OS image for the Banana Pi Zero M2. Note official support for this board has ended so you the image is a legacy release.
To write the OS image to the card I like to use the Raspberry Pi imager. Open the OS image in the Raspberry Pi imager and then select the SD card. Note – The SD card should be formatted with FAT32. Click write and then yes to acknowledge that any existing data on the SD card will be wiped.
Wait for the image to write to the SD card. This can take quite a while so grab a cup of tea or do whatever else you do to pass the time.
Insert the Micro SD card into the board and then connect to a monitor using HDMI and a keyboard using the usb OTG port. After a few moments you should see a solid flashing red LED. On screen you will see an output as the SBC boots up for the first time.
You should get a notification saying a COM port has been connected. If you missed it open up device manager and locate which port the device connected at. It will be listed as a USB serial device. In my case this was COM5.
Open putty. Swap to Serial mode and then select the COM port you identified previously. Set the baud rate to 115200. Optionally add a name and save the settings for easy connection later on. Then click open to start the connection.
You should be greeted with a command line interface prompting you to add a root password. Enter your password then press enter. Repeat your password and hit enter again. (Note don’t be too lazy like I was and pick something too simple for the password!) enter 1 to choose Bash as your interface. Then enter a username and password for the normal user account.
Next we need to set up the WiFi connection. Use the command below. choose activate a connection. Pick the network you want to join and enter the network password.
If successful you will get an Asterix next to the network you are connected to. Note how weak the WiFi signal was here. This board didn’t come with an external WiFi antenna. I took the one from another board and plugged it in and this improved the signal strength by a lot.
Congratulations your SBC is up and running!
We will be using KIAUH to install Klipper and the associated packages.
First off we need to make sure git is installed. Paste and run the following command. It should already be there but there is no harm in checking!
sudo apt-get install git -y
Next we want to make sure we are using the user we created earlier rather than doing everything as root. I called my user pi. Run the command below but substitute in your user in the place of pi. You should see the active user change to the one you entered.
Next install KIAUH. run these command one at a time. You should now have successfully installed KIAUH.
cd ~ git clone https://github.com/th33xitus/kiauh.git
Next launch KIAUH using the command below. You should be greeted with the menu for installing Klipper, Mainsail and Moonraker!
Press 1 and enter to go to the install menu. We are going to work our way through the installed in numerical order. Start with Klipper (1) then Moonraker (2) then Mainsail (3). If you are familiar with this process and know what you want you can start adding extras but otherwise you can add them later. You will likely be prompted for the sudo password during this. Enter it (note no text appears when doing so) and press enter. Installing these will take a while. Choose y for all the options as you go along.
Once complete enter b to go back to the main menu. You should have a status that looks like this. If you do press q and exit.
Next we need to find the ip address for the device. Enter the command below and then look for wlan in the printout. The IP address we are interested in should be listed as inet. Copy that address into your browser and hopefully you should be greeted with a Mainsail user interface.
You will almost certainly have a Klippy error because you haven’t defined a board yet.
Plug in your controller board of choice and find the serial port using the following command. You should get the serial id you need to paste into your Klipper config.
And thats it guys! you are ready to move onto setting up your printer controller board.
Follow instructions specific to your board to flash the firmware and then update your printer.cfg file as per any other Klipper install! Hope you liked it and that this helps some people out who are scared of using a non-official Raspberry Pi board!
Support 3DP and ME! Help us keep producing tutorials, content and mods!