Connecting Raspberry Pi to Manta 8P

Basic Information:

Printer Model: Custom Core XY
MCU / Printerboard: Manta 8P
Host / SBC : Raspberry Pi 3B
klippy.log

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

I am connecting RPi with Manta 8P board using C type usb cable but unable to start the firmware.

I am getting the error:

mcu ‘mcu’: Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: ‘/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00’

klippy (5).log (660.2 KB)

Installation - Klipper documentation in particular, “Building and flashing the micro-controller”

The Manta series of boards cannot be used with a traditional Raspberry Pi.

They are designed to work with ONLY industrial SBCs in the Raspberry Pi CM4 form factor:

https://www.raspberrypi.com/products/compute-module-4/?variant=raspberry-pi-cm4001000

As well as they CM4, you can use the:

  • Raspberry Pi CM5
  • BTT CB1
  • BTT CB2
  • Banana Pi CM4
  • Orange Pi CM4

It cannot connect using USB to your Raspberry Pi 3B.

1 Like

Sorry, I mistakenly assumed you from BTT…

Thanks for the info.

Interesting.
I never dug too deeply into this board, so this is new to me as well. To be honest, I would have expected to be able to use a regular SBC as an alternative too.

The reason for not being able to connect anything externally using USB is due to the USB hub installed on the board. It requires a high speed (USB 2.0) “Upstream Facing Port” which is wired to the CM4 connector.

There are no UART pins on the Manta boards wired to a connector specifically to allow a serial connection with a host although if you did some digging, you might be able to figure out how to get something working there.

The simple answer is to buy a CM4 or one of the functionally equivalent boards.

1 Like

I’m wondering, could you use the CAN port with a USB-to-CAN adapter on the Pi to connect to the Manta via CANbus?

You could but there is the problem of how you would program the MCU on the Manta.

The best way I can think of doing that is using ST-Link through the SWD port (there is a five pin connector on each of the Manta boards) but that costs as much as a basic Raspberry Pi CM4 with WiFi.

1 Like

There’s also a hacker way, which I don’t recommend.
I had once a Manta E3EZ board (same architecture as the M8P) which came defective, got a replacement and afterwards I repaired it. Didn’t have need for it, also didn’t have a spare SOC, so I modified it to run Marlin and gave it away to the less fortunate.
The problem is the RS2227 USB switch which stand in the way between the USB port and the processor. The solution was to wire the USB port directly to the processor, jumping over the USB switch and hub. The way other boards, like SKR’s, have it. Not for the faint-hearted to solder on those pins.
So yeah, buy yourself a CB1/CB2/CM4.

Is there a way to use the TFT port on Manta8P directly wired to RxTx on Rpi?

The generic config file mentions this " Serial (on USART1 PA10/PA9).::

This file contains common pin mappings for the BIGTREETECH Manta M8P V2.0

To use this config, the firmware should be compiled for the

STM32H723 with a “128KiB bootloader” “25 MHz crystal”

and “USB (on PA11/PA12)”, “CAN bus (on PD0/PD1)” or Serial (on USART1 PA10/PA9).

For the Manta M8P V2, you should be able to use the USART1 on the TFT header to allow Klipper communication between the Manta M8P V2 and the host.

HOWEVER you may not be able to use that header for Flashing the Klipper Firmware into the STM32F723 MCU unless the Option Bytes within the MCU are set correctly by BTT in the factory. I would expect that they’re set appropriately for USB DFU but I don’t have the right Application Note for DFU on that MCU handy to confirm that this will also work with USART1.

Access to USART1 isn’t available at all on the Manta M5P and Manta M8P V1 because PA9/PA10 are used for other functions.

On the Manta M4P, PA9 & PA10 are available on the EXP1/EXP2 connectors and could be used for communications but this would mean you can’t have a display attached to EXP1/EXP2. From personal experience, I know that when you set the Option Bytes in the MCU for DFU you can Flash the STM32G0B1 serially. From my testing, serial DFU Flashing works fine on the genuine Raspberry Pi 4 & 5. It’s difficult with the Raspberry Pi Zero 2W and becomes extremely difficult on BTT, Orange Pi and Banana Pi products as their serial ports need custom set up.

The easiest approach is to buy an rPi CM4/CM5, BTT CB1/CB2 or Orange/Banana Pi CM4 SBC and plug them into the board’s connectors as is intended for the Manta series of boards.

2 Likes

As suggested by @3dcoded: What might work as well: SBC → CAN adapter → Manta

  • Compile Katapult for CAN and flash via deployer.bin and an SD card.
  • Compile Klipper for CAN and flash via Katapult.
  • In the future, update Klipper via the CAN/Katapult route as well.
1 Like

I want to use the CAN port for EBB42. So thought of using TFT port for serial communication.

You are aware that CAN is a bus system, right? For some additional information, see CAN Basics. For obvious reasons, the “USB to CAN Bridge” setup is, of course, not applicable.

Now I see the basic problem with Manta 8P..
The firmware does not flash at all… then firmware.bin is not renamed to firmware.cur

I put the sd card in the MCU card slot, is it correct?

Or should I put it in SOC card slot?

Solved…

Connected with Serial (on USART1 PA10/PA9) using TFT pins with Raspberry Pi 3B model GPIO pins. Without crossing of TxRx pins.

Entered mcu id as below in config file:

[mcu]
serial: /dev/ttyAMA0
restart_method: command

Hurray!!!

How did you load the Klipper firmware onto the Manta M8P?

I flashed the firmware using the C type usb cable and the jumper.

Interesting - I hadn’t looked at that aspect of the Manta M8P’s circuitry as it isn’t possible on the other Manta boards (as noted above).

Can I ask, if you can Flash firmware using USB, why are you connecting serially? Wouldn’t it be simpler to keep with the USB connection?

I will try this option and update…