Hi guys, today I’m going to take you through the process of setting up a BTT Manta M8P and CB1 board. The Manta is a hybrid board with mounting point available for a Raspberry Pi compute module or BTTs own CB1 drop in replacement. This reduces wiring plus given the current Raspberry Pi scalping it is very cost effective too.
The Manta boards are fairly well documented in terms of a controller board from a Chinese manufacturer. Most of these boards are normally great but the docs are incomplete, poorly translated or simply scattered all over the place. But for the Manta they were super easy to find (linked from the Aliexpress product page) and mostly complete!
In the box
The Manta comes with the following items in the box
- BTT Manta M8P and CB1 board
- JST connectors for every port on the board
- Jumpers for the motor drivers and voltage selection
- Fuses for the power inputs and bed output (pre-installed)
- 8 x TMC2209 stepper drivers (if you ordered them)
- External WiFi antenna
- Thankyou card
- Rubber ducky!
The board looks fantastic and for an 8 driver board with combined SBC it is surprisingly compact (Don’t get me wrong it is still a big board but not as big as expected). The silkscreen is two colour and someone has put the effort into some nice graphics dotted around the board. Soldering looks very neat and I can’t see any poorly installed parts (On this board – the first one I was sent the USB C connector fell off…).
The CB1 board looks very similar to a CM4 module but features an external WiFi antenna.
Preparing the board
Add a jumper onto vusb to connect the USB connector power to the boards. We will use this to provide power while we install the OS and flash the firmware before wiring the board in. DO NOT LEAVE THIS JUMPER IN PLACE AND CONNECT USB + VIN AS YOU WILL BLOW THE USB CHIP.
We will be using the CB1 for this installation as the whole point is finding alternatives to a RPi. I may do a CM4 module tutorial in the future if they become easier to source again.
CB1 OS + Klipper install
Use micro SD card smaller than 32Gb. Download the image from BTT github pick the latest version and download the .img.xz file. V2.2 at the time of writing which should have fixed WiFi connections on the CB1. Make sure to choose the Klipper kernal to save having to manually install it.
Use raspberry imager to write the image to the SD card.
Now to configure the WiFi. The official guide says that in one of the partitions on the SD card you should be able to find the wpa_supplicant file however on my installation I didn’t get that. The video guide shows using the system configuration file and that was present so I used that. Open it in notepad.
Replace the SSID and password with that of the WiFi network you want the device to join. Save the file.
Plug the SD card into the micro SD card slot. Then plug in a USB C cable to power the board (If you don’t see a green light appear on the CB1 then it is not receiving power – In my case I had not pressed the CB1 board into it’s connectors firmly enough). I use Advanced IP Scanner to locate devices on my network. I find you are best to do a scan before you turn the device on and then repeat it and see which one appears. They often don’t have a useful name!
For me this was 192.168.68.119. Use PuTTY to SSH into the device. This will open a terminal. Trust the SSH key for the first time.
Login with username biqu and password also biqu
I chose the full klipper image so everything is pre-installed. If you chose the minimal OS image you will need to install Klipper using Kiauh.
Flashing the MCU firmware
SSH back into the device if you exited it (Use user ‘biqu’ and password ‘biqu’) otherwise swap to the user by doing ‘su biqu’
Navigate to the klipper directory and open the klipper menu.
cd ~/klipper/ make menuconfig
Change the settings to match the image below. Press q to exit and save when prompted.
Run make to compile firmware，”klipper.bin” file will be generated in
home/pi/kliiper/out folder when make is finished.
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 CB1. 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.
Remove power from the Manta board and Insert SD card into the MCU-SD slot. Plug the USB C cable back in to turn the board back on.
Head over to the BTT github and copy the contents of the config file into your printer.cfg.
We now need to get the board ID. Enter the command below and then copy the output and replace the one in the printer.cfg file.
Now restart the board and go back to the ip address and take a look inside mainsail. You should now see that your have communication with the MCU and if like me you like to set all the firmware up in advance you will get an error telling you the MCU has shutdown because an ADC is out of range. This is expected because you haven’t connected the thermistors yet! Congratulations you have reached the finish line. Now it’s time to go away and follow the wiring guide for your specific printer!
My Klipper and Klipper screen were ‘dirty’ after completing the install using the image provided by BTT. I am not 100% of the changes they had made and the effects of hard resetting these just yet but clearing them didn’t seem to break the basic printer functionality.
To update Klipper in the future you will need to use the hard reset on both and this will then enable you to receive Klipper updates.
Support 3DP and ME! Help us keep producing tutorials, content and mods!
10 thoughts on “Tutorial: BTT Manta M8P + CB1 Klipper guide”
Where did you stick the CB1 Antenna? Any recommendations?
Avoid running it alongside power cables or the stepper motor wires if possible. Mine runs under my V0.1 and onto the acrylic panels.
Did you get input shaper to work on the cb1?
Still on my todo list. I moved house recently and it’s a project so I’ve had no time or space setup to get back to blogging!
No worries. I just have been fighting the cb1 with that raspberry pi looking daughter board for a week now and not getting the spi and mcu to play nice in mainsail/klipper to get my ldo kit input shaper to work nicely. And i can’t find any good guide or forum posts that has the information i need. Was hoping you maybe had it running. But if you get it to work i do think a good guide could be helpfull for a lot of people. Ty anyway for replying and hope the new house is nice. 😁
Have you seen the usb input shaper from FYSETC? I’ve got one of them I plan to test as it is then basically the same principle for getting it to work on every raspberry pi clone
Just a quick question.
I’ve got everything working with Mainsail, how do I get it to work with Klipper – how do I switch Klipper on?
Did you follow the section on generating the klipper file and loading it into the sd card for the cb1?
Yes I did but the guide that I followed had me install what looks like an OS system on the second card and I think that is over ruling the card in the MCU slot. I’m going to remove the second card and reflash the firmware to the MCU card.