The Bigtreetech Manta M8P v2, together with the EBB36 Gen2, offers an exceptional solution for 3D printer customization enthusiasts. Its ability to adapt to various configurations and technical requirements makes it a preferred choice among advanced users.
At 3Dwork, we have spent weeks testing this combination on different machines: what we are going to tell you during the review is what the experience with these electronics really is, what things can be improved, and in which cases the investment makes sense.

We are going to analyze these control electronics that let you create and improve your machines without relying on third-party proprietary firmware… maximum control, maximum use of your machine, and a lot of knowledge that we will gain.
Do you have questions about these electronics? Join our community: Instagram, YouTube, TikTok. And on Telegram: the general 3Dwork group, the Bigtreetech group, and the Klipper group — all of them in Spanish.
Bigtreetech Manta M8P v2
What is the Manta M8P v2? It is a 3D printer controller board based on the STM32H723ZET6, a Cortex-M7 processor at 550 MHz with a floating point unit integrated. It is just the control electronics. The host module (CB1, CB2 or Raspberry Pi CM4) is purchased separately and integrates into the board’s BTB socket.

The MCU, heart of the M8P v2, mounts an STM32H723ZET6 processor at 550 MHz: it features 376 KB of SRAM, 1024 KB of Flash, and integrated L1 cache memory. It also has native I2C at 400 kHz (previously this had to be done via GPIO, which was slow and less reliable). Dedicated servo port with precise PWM for BLTouch, Euclid, or similar systems.

Regarding peripherals we can connect, the M8P v2 comes loaded with options, among which we can highlight:
- up to 8 motor drivers with intelligent SPI/UART communication
- 4 PWM outputs for hotend, bed, fans
- 4 ADC inputs for thermistors
- CAN bus FD up to 1 Mbps for communication with toolboards
- BTB Socket integrated for host

The Manta M8P v1 used STM32G0B1 at 64 MHz, while the v2 switched to STM32H723 at 550 MHz. That is 8.5 times more raw processing power; with the v1 you could be limited to standard kinematics, creating problems if we use complex algorithms simultaneously on more complex platforms.
With the v2, you run full Input Shaping, real-time collision detection, complex kinematics like vzBot without slowdowns, advanced sensor filtering with Kalman filters, and USB camera processing since the CPU processor does not create bottlenecks on the host.

There is another less obvious but important change… the v1 has had some issues with reboots during CM4/BTB startup. The culprit was the Manta’s 5V rail, which could only deliver 500mA. The CM4 during startup can need peaks of 1-1.5A. The v2 added high-capacity capacitors (4x 100µF + 4x 10µF) that completely stabilize this, preventing or reducing the likelihood of this problem occurring.
Host modules: CB1 v2, CB2, Raspberry Pi CM4
Today, with the rise of firmwares like Klipper or the use of Marlin with Octoprint, the need for an external host to control the MCU is a necessity. The Bigtreetech series’s Manta solves this by integrating CM4/BTB modules into the electronics themselves with a direct connection to the MCU, easily leaving a compact solution that can be perfectly integrated into any machine.

Thanks to this, we have several options to use as a host:
- CB1 v2 (15-20€): Allwinner H616 at 1.2 GHz single-core ARMv7, 1 GB RAM, 100 Mbps Ethernet. It works well for basic Klipper without intensive use or heavy features. It is the ideal solution if you have a tight budget and a standard machine that does not require major extra features at the Klipper level.
- CB2 (35-50€): Rockchip RK3566 quad-core at 1.8 GHz, 2-4 GB RAM, Gigabit Ethernet, integrated eMMC (no fragile microSD), dual-band WiFi. It is usually the best price-performance ratio.
- Raspberry Pi CM4 (25-80€): BCM2711 quad-core at 1.5 GHz. If you already have one at home, using it is cost-effective. In pure Klipper, similar to the CB2. Better for heavy applications like: video analysis with OpenCV, IP camera streaming, AI for image analysis and problem detection, and control of multiple instances/printers.

EBB36 Gen2: Toolboard… wiring simplicity
The EBB36 Gen2 is an electronics board that can be mounted on your printer’s toolhead. It carries its own MCU STM32G0B1 at 64 MHz, and from it you can control the toolhead components such as: extruder motor, part cooling and hotend fans, leveling probe, and filament sensors.

This EBB36 Gen2 improves on some important aspects of the v1:
- USB adapter features galvanic isolation. The USB of the EBB Gen2 does not connect directly to the MCU but instead goes through the USB adapter (included) with optocouplers that electrically isolate 5V (host) from 24V (MCU). Protecting against possible reverse feedback.
- 5A PTC fuses. One on the 24V input and another on the 5V input. If there is a short circuit, they open automatically in 100-500 ms, interrupting the current to protect the electronics and connected devices.
- Emergency Schottky diodes. At critical points (24V→5V, data connections) they act as relief valves. If something fails at the previous stages, they stop reverse energy.
In addition to the above, the use of connectors XT30 instead of JST (30A vs 2A), integrated signal amplifiers (MCP2542 for CAN, buffers for USB), a tachometer port for fan management (which can allow automatic fan failure detection or more precise speed control).

Thermally, the Gen1 was stable up to 60°C, a temperature that can easily be reached in enclosed machines. The Gen2 promises to reach up to 75°C without problems for hours. If you work with ABS or Nylon in an enclosure at 65-70°C, this is an aspect to keep very much in mind.
Manta M8P v2 + EBB36 Gen2… perfect combination
Bigtreetech’s design of the Manta series is not random… it is designed to adapt to the current requirements of our 3D printers: machines governed by manageable systems like Klipper or the Marlin/Octoprint combination, connectivity options, peripherals, machines with complex kinematics, and MMU systems.
For example, a typical DIY Ratrig CoreXY machine may need: X (1), Y (1), Z (3), E (1). Total 6 drivers. You have 2 free for expansion or as backup: second extruder, servo for nozzle change, automatic loading system, additional sensors via I2C.

Another example could be the vzBot AWD: It needs exactly 8 motors: 4 for XY (each independent) and 4 for Z. The Manta M8P v2 has exactly 8 slots. For a serious vzBot build, it is one of the most suitable options.
For more standard machines, we can take advantage of those extra drivers to set up systems MMU (automatic filament change) with the 8 drivers + native I2C, all integrated without needing to add other external MCUs that add complexity to the project.
Furthermore, the combination in some of these cases with the EBB36 Gen2 allows an integrated architecture without complex wiring, since the host and MCU communicate via serial connection using the BTB socket directly, and the connection between the electronics can be made via USB or CAN.
The EBB on the toolhead communicates with the Manta via 4-wire USB or CAN, reducing cabling and failure points considerably. On the other hand, the EBB Gen2 protections are a great improvement: if something goes wrong, your host and the rest of the electronics have the necessary protections to avoid damage and prevent an accident from resulting in the loss of a number of components.
Where to buy the Bigtreetech Manta M8P v2 and EBB Gen2?
Bigtreetech have their own online store where you can directly purchase the Manta M8P v2, the EBB Gen2, as well as other components from the brand.
In any case, here are some links to other reference stores:
Installation and setup
Now that we have a clear idea of the Manta M8P v2 and the EBB36 Gen2, it is time to get down to work setting it up. We are going to set up a Klipper system on our machine as an example, although, as we have mentioned, you can also perfectly use this combination to run Marlin with Octoprint if you want to install a host on it.
- BTB/CM4 module installation:
The BTB connector requires considerable pressure (without being rough) and perfect alignment. Insert the module completely horizontally, on top of the Manta’s connector. Press with both hands on the ends. It should be seated so firmly that it looks like it does not want to come out. If you only seat it lightly, it will not work. From our experience helping users, the typical “host is not detected” issue is often simply that it was plugged in incorrectly.
- 24V power supply, more than advisable:
A very important aspect that often causes some problems. The TPS5450-5A regulator on the M8P needs a 24V input to generate a stable 5V. If you try with only USB, the host may not boot, the MCU resets constantly, or communication errors occur frequently. - Host module preparation:
As we already mentioned with the Manta series, we can use different hosts such as CB1 v2, CB2 or CM4, which require the Linux/Klipper image, which we will apply via microSD/eMMC.- We will download the image, in our case we use a CB2 module, and you can get the official Bigtreetech image here
- We will flash it with Balena Etcher or another similar application. It is a fairly simple three-step process where first we select the Linux/Klipper image, we select the microSD to flash the image to and… done!!!
All we have to do is place the microSD in the host slot of our Manta M8P v2.



- Before booting the system, it is advisable to adjust some things on the microSD, like WiFi settings or the overlays we need for our setup if using a CBx host.
Once we have the image on the microSD, there will be a FAT32 partition that your computer should detect. In this partition, you will find asystem.cfgfile with settings like WiFi.
Another important file isarmbianEnv.txtin the BOOT partition where we have settings for display, SPI, CAN,…
We will open them with a text editor — we suggest Notepad++ — and replace what we need in each case.
For WiFi, replace Your SSID with your WiFi SSID/name and Your Password with the access password.

If we want to configure a display connected to our host, we have different options like HDMI, DSI or SPI screens. It is important to note that only one display can be active at a time.
- We will open
armbianEnv.txtin the BOOT partition.
- By default we have
hdmias display output, but we can switch todsiortft_35screens which use the SPI connection.
For the latter we also have display rotation settings — by default we have 0 (no rotation) and we can rotate it 90, 180 or 270 degrees. - If we want to use KlipperScreen it is important to pay attention
system.cfgin the BOOT partition. We will adjust the display type inks_src, and the rotation angle inks_angle.

When we want to enable SPI to CAN we need to open armbianEnv.txt in the BOOT partition and add mcp2515 to the overlays configuration.

For DSI cameras RPi v1.3 ov5647 and RPi v2 imx219, no adjustment required in armbianEnv.txt but we do recommend making these adjustments in crowsnest.conf :
device: /dev/video0
# The CSI camera node is fixed as video0
custom_flags: --format=UYVY
# The current system's CSI camera does not support the default YUYV, so it needs to be set to the supported UYVY format.

- Once we have the SD ready, we put it in the microSD socket — importantly, the SOC-CARD as this is the host-dedicated slot.

- As a final step to verify the correct installation of our Klipper system and that we have configured our WiFi settings correctly, we must identify our IP, either by connecting to our router and checking the assigned IP or using a network scanner like Fing or Angry IP.
- Once we have the IP, we will use a client like Terminus or MobaXterm using this together with
biquas the username and password to connect to our host.

Now with access to the host, the next step is to create the Klipper firmware for our M8P v2.
- To create the firmware for our Manta M8P v2 and EBB Gen2 we need to connect via SSH, remember the earlier steps where we used an SSH client like Terminus/MobaXterm, and launch the configurator from the Klipper binaries path:
cd ~/klipper/
make menuconfig
In the configuration menu, we will select the following options:

Once we have set the above values in the configuration, we will press the key q to exit the process, and it will ask us if we want to save the configuration, answering Yes.
From the command line, run the make command that will create the firmware at ~/klipper/out named klipper.bin, which we can download to our computer using the file manager included in MobaXterm (for example), if we want to apply the firmware via SD.

For firmware update, we have two options:
SD Update
- With the
klipper.binfile we downloaded earlier, rename it tofirmware.binand put it on an SD card — important that the SD is under 2 GB and FAT32/4096 format, as the bootloader does not have good compatibility with certain card types.
Place the SD in the MCU-CARD socket and power on the electronics.
The process takes a few seconds, and to verify it worked correctly, check the SD — the firmware file should have been renamed toFIRMWARE.CUR.

- Now, if everything went correctly, we need to find the serial ID of our Manta M8P v2 using the following command:
ls /dev/serial/by-id/
- The command should give us one or several lines if we have other devices connected, similar to the following photo, which we will use as the serial ID in our configuration later.

Another method to apply the firmware is via DFU, it is a method we recommend for convenience, although we always recommend doing it in future updates, with applying the Klipper firmware using the SD always being the most advisable.
Once the firmware is generated from menuconfig, run the ls /dev/serial/by-id/ command to get the serial ID we will use with the following command to apply the firmware directly (remember to replace /dev/serial/by-id/xxx with whatever your system returns):
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32h723xx_XXXXXX-if00

During the process you may see a dfu-util: Error which can be ignored — what matters is that File download shows successfully.
- Now that we have the firmware applied and our serial ID (obtained earlier via
ls /dev/serial/by-id/), the next step is to update our printer.cfg with that information:


If everything has gone correctly, our Klipper will be able to connect to our electronics, and we can continue with the specific setup for our machine. In this guide, you can find information about general first steps with Klipper that may help you.
If you have problems during the process, you can also follow our Klipper troubleshooting guide.
Marlin: yes, it also works
Years ago, Marlin was the star firmware of DIY 3D printing, and although Klipper has taken ground in high-performance machines, it remains a perfectly valid option for those who want a standalone controller board, without a Linux host, and with the classic workflow that many of us are used to. The good news: the Manta M8P v2 can be used with Marlin without issues.
You can compile Marlin for the STM32H723ZET6 and use the Manta M8P v2 as a traditional standalone board, without needing CB1, CB2, or Raspberry Pi. You connect a display, motors, and sensors, and start printing. The versatility of this board is precisely that it does not force you to choose: today, you can start with standalone Marlin, and tomorrow, when you want to make the jump to Klipper, simply attach the host via the BTB socket and flash the firmware. The board is the same.
If you compile Marlin from scratch with PlatformIO, these are the values you need to set in platformio.ini and in Configuration.h:
| Placa | default_envs (platformio.ini) | MOTHERBOARD (Configuration.h) |
|---|---|---|
| Manta M8P v2.0 | STM32H723ZE_btt | BOARD_BTT_MANTA_M8P_V2_0 |
| Manta M8P v1.1 | STM32G0B1VE_btt | BOARD_BTT_MANTA_M8P_V1_1 |
Attention to the MCU: the v2 mounts the STM32H723 and the v1.1 mounts the STM32G0B1. If you get thedefault_envsfirmware will compile but will not boot. If you have doubts about the complete compilation process, we have a step-by-step guide at marlin.3dwork.io.
Marlin on an STM32G0B1 at 64 MHz is functional, but you can fall short when you activate advanced features. The STM32H723 at 550 MHz with its 376KB of SRAM and L1 cache gives Marlin a margin that we only saw before in Klipper with an external host:
- Linear Advance and Junction Deviation without overhead. On more modest MCUs, enabling LA at high speeds causes small pauses or step losses. With the H723 at 550 MHz, the calculation bottleneck disappears.
- BLOCK_BUFFER_SIZE up to 32 (compared to the typical 16). With 376KB of SRAM, there is plenty of room for large buffers, which translates into smoother movements in dense G-code.
- S_CURVE_ACCELERATION estable. S-curve acceleration requires constant floating-point calculations; on the H723, it runs smoothly without step loss at accelerations of 10,000-15,000 mm/s².
- Faster and more stable native USB for OctoPrint. The H723’s USB interface maintains communication without random disconnections in long sessions, something that on old boards forced the use of SD.
- Multi-stepping at high frequencies with TMC2209, TMC2208, and TMC5160. Real microstepping resolution (1/256) without the MCU running out of cycles generating step pulses at high speeds.
- More precise MPCTEMP (Model Predictive Control). The thermal model requires continuous calculation; with the H723, you can fine-tune more aggressive thermal responses without saturating the MCU.
If you come from pure Marlin and still do not want to get into Klipper, there is a very reasonable middle ground: use Marlin on the Manta M8P v2 + OctoPrint running on the CM4 module.
You get the web interface, queue management, webcam, plugins, and remote monitoring, without giving up the firmware you already know. The day you decide to make the jump, the CB1/CB2 host is already designed to switch to Klipper without touching the machine’s wiring. It is the best progressive migration path we have seen on a board at this price.
Connectivity and peripherals
Since both electronics boards have a wide variety of connections and peripherals that we can use, below we leave you some of this information for reference.
Manta M8P v2
The M8P v2, as we mentioned, is full of connectors for connecting different components and peripherals. Below, you have the general diagrams of this electronics board, which are extremely useful:
Motor Drivers
Regarding the 8 driver sockets, it is important to know the necessary settings depending on the type of driver we use, if they are intelligent, what type of communication they use, and how to indicate it to the electronics, and if we want to use StallGuard/Sensorless homing (simulate endstops via the driver):
Compatible with A4988, DRV8825, LV8729 and ST820. Configure microstepping via jumpers MS0–MS2. The A4988 and DRV8825 drivers also require a jumper on RST and SLP to work correctly.

Para TMC2208, TMC2209 and TMC2225. One jumper per slot in the indicated position. The stealthChop, spreadCycle and motor current configuration is done entirely via firmware.

Para TMC2130, TMC5160 and TMC5161. Requiere four jumpers per slot. All configuration (current, modes, SG) is managed by firmware via SPI.

Insert the DIAG jumper to enable homing without a physical endstop (stallGuard). Remove when not in use — it’s not necessary to cut the DIAG pin of the driver.

La supply voltage of each driver slot is independent and selectable (VMOT or separate 5V). Verify the maximum allowed voltage before changing the configuration.


External peripherals
Below, we show you how to connect extra peripherals to our M8P v2:
BLTouch — direct connection, dedicated 3+2 pin connector.

Proximity NPN (normally open): without jumper. Compatible 24V.

Proximity PNP (normally closed): jumper closed. 24V compatible. The same pin can act as a CNC fan output.

NTC 100K: without additional jumper — integrated 4.7K pull-up. Standard use for conventional bed and hotend.
PT1000: short the indicated pins to add 4.12K in parallel (final pull-up ≈ 2.2K). Precision somewhat lower than the MAX31865, but sufficient in most applications. For high precision, add an external MAX31865.

MINI12864 v2.0 — LCD display with rotary encoder. Direct connection to the dedicated connector.

DSI / CSI — available with CM4 module. DSI for touchscreen display, CSI for Raspberry Pi camera module.

CNC fans (2-wire): output voltage selectable via jumper — 5V, 12V o 24V. Verify the maximum allowed fan voltage before changing the configuration.

4-pin fan (PWM + tach): for liquid cooling or other fans with PWM control and speed feedback. Powered at 24V.

RGB — addressable LED strips (NeoPixel/WS2812):

Servo:

I2C — for external temperature/humidity sensors (BME280, SHT31, etc.):

Auto Power Off (Relay V1.2) — automatically turns off the power supply when printing finishes:

EBB36 Gen2
The EBB36 Gen2 packs everything needed for the toolhead into 36×36 mm: TMC2209 motor driver, 120W heater, thermistor, fans, probes and switches:
Below are some important aspects of this EBB Gen2.
XT30 24V input on the adapter board. Do not bypass the adapter: it carries the board’s main protection.
- Double reverse polarity protection: MOSFET circuit + emergency diode
- Fuses on positive and negative: 5A on both rails
- Additional ground protection when USB is connected under reverse voltage

Mode is selected via jumper on the adapter board:
- Without jumper → USB: Type-C connector on the adapter
- With jumper → CAN: JST-XH connector on the adapter
- 120Ω termination: activate via jumper if the EBB36 is the final device on the CAN bus
⚠️ Never connect USB and CAN at the same time — can damage the host.
Both interfaces have ESD protection and direct short circuit to 24V.


- FAN0 + FAN1: 2-wire, PWM, selectable voltage 5V or 24V. Total current 1A, peak 1.5A.
- FAN2: 3-wire with tachometer feedback. Note: the FAN0 and FAN2 jumpers are intentionally inverted for PCB routing optimization.
All channels include flyback protection and automotive-grade MOSFETs with integrated protection against short circuit, overvoltage, overtemperature and ESD.


Multiplexed port, compatible with:
- BIQU MicroProbe
- BLTouch
- 24V inductive probes
Voltage selection via hardware jumper (5V or input voltage). Probe pin protected by optocoupler. Servo pin connected directly to the MCU without protection, for minimum latency.

Motor: right-angle JST-XH connector with integrated TMC2209 driver. TVS diodes on coil outputs (flyback + ESD). NTC directly under the driver for thermal monitoring. 100K resistors on mounting holes for static discharge to ground.
Heater: pressure-plate screw terminals 120W (24V / 5A). Do not use tinned wire ends — the solder flows under pressure and degrades the connection over time. Fuse on the adapter board.


- Filament + Endstop: pull-up to 3.3V, ESD protection and momentary short circuit via Zener
- I2C: integrated pull-ups to 3.3V — compatible with BME280, SHT31 sensors and Eddy current probes
- RGB: 3.3V→5V output via level-shifter, ESD protection and momentary short circuit Schottky
- Thermistor: 2.2K pull-up, high impedance protection on positive + resettable fuse on negative




Analysis and conclusions
The Manta M8P v2 + EBB36 Gen2 combination is modern, professional-grade electronics designed for makers and top DIY projects.
It is not the cheapest option on the market nor the easiest to set up, but it is probably the most coherent: well-designed hardware, MCU with more than enough power for years to come, CAN FD communication if we want, and a host ecosystem (CB1, CB2, CM4) that lets you choose power according to budget without changing the board.

After several weeks assembling, disassembling, and breaking things at 3Dwork, this is our honest assessment, criterion by criterion:
- Value for money: Manta M8P v2 (~80-100€) + EBB36 Gen2 (~40-50€) for a board with STM32H723, 8 SPI/UART drivers, and CAN FD is very hard to beat in this price range.
- Design and build quality: Clean PCB, XT30 connectors on the EBB36, 5A PTC fuses, 4×100µF + 4×10µF capacitors that solve the random reboots of the v1. USB galvanic isolation with optocouplers.
- Ease of installation: Here, the score drops. Configuring the hardware, the wiring, the firmware… it is not trivial. BTT’s and the community’s documentation help, but you need to read and prepare a lot.
- Compatibilidad firmware: Klipper is supported out of the box and very well integrated. Marlin supported on the M8P but not on the EBB36 Gen2 (architectural limitation). No surprises or incompatibilities.
- Rendimiento y potencia MCU: STM32H723 at 550 MHz with 376KB SRAM and L1 cache. More than enough for Input Shaping, multi-MCU, MMU, complex kinematics, and everything you can think of in the next 5 years.
- Soporte y comunidad: BTT publishes firmware, schematics, and dimensions. Huge Klipper, Voron, and BTT community. Spare parts available on Aliexpress, Amazon y distribuidores europeos.
Ease of installation is the area that can cost the most points — something normal in any similar DIY product. Once configured, it is electronics that will not give you problems for years.
This electronics is designed for very specific profiles. If you recognize yourself in any of these use cases, it is most likely what you need:
- Voron 2.4 and Trident: practically the de facto standard in the Voron community in 2026. Clean electronics bay, CAN to the toolhead, host integrated in the BTB. Fits perfectly.
- vzBot AWD: machines that reach accelerations of 50,000+ mm/s² need the H723’s computing headroom for Input Shaping and dynamic pressure advance without losing steps.
- Cartesianas DIY de gama alta: RatRig V-Core, advanced Ender or Prusa conversions. If you are going to build a serious Cartesian printer and want electronics that will never fall short, this is the answer.
- Machines with integrated MMU: ERCF, PicoMMU, Tradrack. The M8P’s 8 drivers and multi-MCU capability allow managing the selector and filament sensor without auxiliary boards.
- Makers who want a single board for multiple projects: the M8P is modular and can be recycled between machines by changing only the host and firmware.
When does NO make sense?
- If it is your first 3D printer or you have been printing for less than a year, start with something plug-and-play.
- If your current machine works well with the stock electronics and you just want to print faster, what you probably need is to better tune the slicer, not change the board.
- If you don’t want to invest time learning Klipper and configurations, the curve exists; don’t underestimate it.
- If your machine is very simple (basic Cartesian, stock Ender 3), you have more electronics than you need in every way.
The Manta M8P v2 + EBB36 Gen2 is, as of today, the most balanced combination we have tested at 3Dwork for high-performance DIY machines.


































Déjanos un comentario