As a preamble, here’s why I got this hardware : I got a Creality CR-10S Pro that never worked a single time: on the first attempt to print the nozzle dug a deep trench in the bed surface, I noticed after much effort that the Z-axis motors would loccasionally lose some steps even after I replaced the firmware. So I changed the mainboard with a RAMPS 1.4 board I had at hand but turned out (after hours of configuration and fine tuning) that it was faulty and needed to be replaced. Meanwhile, I blew the touchscreen because I was tired and powered it with 12V instead of 5. So I ordered a Manta M5P, a M8P and a TFT35 display. After some two weeks the package arrived, I was happy.
First impression
Wow, nice packaging. Oh, a rubber ducky. Wonder how many there’s gonna be1.
Second impression
Overall, the PCB seems well-designed. Fuses are easily replaceable, nice. They could really have thrown in a bunch of spares though. Plug in the core board in… where are the screws? Missing: ducky doesn’t make me smile that much now: they could really have spared the expense for some fuses, more so that they added a very large number of jumpers caps that are more likely to be laying around and it’s easier to replace the with a little wire than it is to manufacture one’s own fuses.
Third impression
Get on with the manual. Easy to find, then a figure on page 10. A set of vital jumpers in columns of four, and a partially readable caption arranged in five clumns. Then there’s information the seems to be redundant but.. wait why are some stepper drivers missing the TMC DIAG jumper? No mention of that anywhere. Then there’s this incomprehensible diagram for fan voltage selection with a friendly note on page 14. Fan labelling is obscure. Then upside-down figures (or captions, page 17).
Then there is no table with the description of each connector and pin ; this information is scattered around the text if available at all.
I realize there is not even a packaging slip : bare cardboard, PCBA, that’s all.
Trying to figure out if I have the eMMC version or not. Only information I can find is “取取EMMC,用NORFALSH启启,带TF卡”2 that can be translated (once typos are fixed) to “Get EMMC, start it with NORFLASH, and bring the TF card.” Whatever that means.
At the end of the day, found out I need to click the “Assets” title on https://github.com/bigtreetech/CB1/releases to show the system image I was looking for.
Second day
https://github.com/bigtreetech/sunxi-tools has no amd64 release, so it’s useless. Don’t want to flash something unless I’m absolutely certain I have the correct firmware (eMMC/non-eMMC) and tool. Or is it for the target board? Maybe.
System image is flashed on a microSD (doc says sth like “if there is an SD with CB1, it will be used before eMMC even if eMMC is present”), sha256 is tested OK after burn to SD media. On HDMI, a pretty BigTreeTech bootsplash then what seems to be an UI but no mouse or keyboard work. Find out about dtoverlay=dwc2,dr_mode=host
; is it one or two lines? Every combination was tried, but since the first change there is no display at all on HDMI ; I did get a keyboard light to work though.
No clue in the manual on how to set a static IP. Config contains lines such as router_ip=8.8.8.8 # Reference DNS, used to detect network connections
; is a router or a nameserver? Who knows, but the confusion of such basic concepts does not forecast anything good.
Found sample configuration file3. Mainsail still complains. Bored of trying, and at this point I don’t trust these guys any more.
Octoprint
Don’t really want this ; I’ve seen it, it looks pretty and has some cool features for someone who wants to print a companion cube from shittyverse4, but way too limited for my usecase. Also, I’ll see later that installing it on gentoo is not quite straight forward.
Gentoo
Keeping just /boot/
and /lib/modules/
from Mainsail, replacing all the rest with Gentoo stage3. Boots. All this time, the secondary display’s only “useful” information is “Ready” followed by “No printer attached!”. Totally useless. So far, close to 8 hours spent for almost nothing, and the message from the display only leads me to think that the “Manta MnP running Klipper” I purchased is actually not running anything (also, the UI on the display is awkward as shit and I definitely wouldn’t want to use it everyday).
Let’s setup that Gentoo (sigh) and see later for the rest : I need to have an OS setup on the CB1/CM4 because apparently (and I looked at the scehmatics) there is no way at all to get serial communication to the microcontroller through USB unless I start cutting tracks on the PCB. Very lame.
Gentoo has been compiled and boots properly. So far so good. Setting up distcc and a pretty /etc/motd
with toilet
and lolcat
(generated from my desktop, because there are a lot of dependencies on the latter) ; not particularly useful but makes my day happier.
Marlin
Trying to compile Marlin, because I’ve gotten pretty used to it and it seems decent. Quickly figured out I need to set the CPU to STM32G0B1RE_manta_btt
. Doesn’t work as expected: support for the TFT35-E3 display on this particular CPU is not available, so I’ll be going without any display (again). F* me. I still don’t know if Klipper5 was pre-flashed on the board, what the parameters are (such as serial baudrate), this sucks. Documentation is seriously lacking since I couldn’t get the “official” image to be usable on the CB1, there are a bunch of things I need to configure before anything can be done with the hardware.
Some days later (actually about a month cuz I was busy)
Meanwhile, I’ve been working on my software to generate G-Code (because anything I’ve found is useless for my purpose). Trying to get back at it, I really want to get that printer going (my software is almost ready and I can do some pretty cool things with it already). Updating the text above (it was just a draft and lacked clarity). Reading more doc and blog posts on the web, all of them pretty much useless at this stage.
Powered the CB1 again ; installing more useful tools such as NFS.
Pulled Marlin git repo to be up-to-date ; last time I tried it said this display was not supported on this arch.
Display firmware
Reading the quite long setup procedure on https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware ; not sure if this will even work as I have v3.0.1 and the page only mentions v3.0. Also, am I going to have to make cables? Only two of these for the EXP connectors were included, depending on the printer’s mainboard up to 3 are required. Sentences such as “Connect the 5pin serial cable according to the manual of your mainboard” can be found, but the manual of the M5P mainboard (I’ve mentionned it above, it’s bad) doesn’t seem to mention such a serial port. Out of curiosity, I’m taking a look at the M8P motherboard I also purchased ; after a while I realize it’s v 2.0 but the manual only includes versions 1.0 and 1.1, and there have been significant changes (in particular, EXP1 and EXP2 connectors have been removed). The firmware manual has some tables that make it explicit how to connect the display, but again these are jpg images and are not searchable (and there really isn’t a reason for that, an HTML table would have been just fine). Worse, neither the M5P or M8P are mentionned. Considering to post this as a review, the form in the e-mail I received a few days ago that’s here for that very purpose doesn’t work.
with the help of people from Marlin’s Discord, I learn there is an additional repo to the one I was looking at ; quite confusing I must admit.
It’s been at least four more hours of work, and beyond a successful Gentoo install I’m nowhwere near being done. As I’m typing this report, I see from the corner of the eye that the display sometimes “sees” random input. Not great. I need to take a break, get a drink.
Yet another day
Learned that with stm32-based MCUs, “the upload function uses a programmer device […] but that also gives you the ability to accidentally delete the bootloader, it is often unrecoverable”, then asking further that using STM32G0B1RE_manta_btt_xfer
changes upload to uses correct method to copy file to sdcard then reboot to install it but it needs to be running firmware compiled with STM32G0B1RE_manta_btt_xfer
before it will work at all.
Managed to flashed Marlin with a very basic config, got communication to work over serial but not quite as expected ; my previous RAMPS board would apparently reset when I connected to it, this board seems to flush the output even before I connect.
Printrun
Since my home-brew program fails to communicate with the STM32, I’m giving a shot at Printrun, more specifically the pronsole
component. Some CPU cycles later to compile more deps, I am connected to the printer (rather, the bare mainboard sitting next to me on my desk).
Time to get the display working ; it’s not quite necessary but I’ll take it as an exercise. Or not now : I find it a better use of my time to get Gwiz[^gwiz] to work.
Yet another other day…
GWiz
GWiz, or “G-Code Wizard” in a less condensed form, took some while to get working. The fault to the CDC-based serial connection that re-enumerates everytime the MCU is reset, sending useful boot-time messages into the void. It does have the advantage that the MCU doesn’t reboot when connection is established, though. But this is another topic I will hopefully cover some other time.
Hardare installation
Pulled out the previous, definitely defective RAMPS 1.4 board from the chassis: some endstops inputs where defective, and it would frequently spit out nonsense on the serial port. Recycled some of the stepper drivers. The Manta manual doesn’t make it obvious at all what the orientation of the drivers should be. I am glad I also got some fancy brand new TMC drivers that have an obvious orientation in addition to color-coded pins that match those on the Manta ; since the TMC drivers have a clear marking on the pin functions, it’s easy to match the marking on my old drivers. I even decide to keep on the very first modified drivers from my Replicator 2X: this way I can remember which is for the extruder. The microstep chart is unfortunately of very bad quality, barely readable. Also, the color of the frame for the jumper settings differ in both drawings that mention those pins’ functions. Worse still, the labels for these pins are not consistent between both drawings. Still worse (and I’m getting quite annoyed at this point), the tables on the documentation have yet another nomenclature, one for each type of driver ; there are some instructions on how to convert but they ar obscure enough that the symmetry cannot be guaranteed from this source alone.
And another “random” day…
It is time to insert all required jumpers, plug in the stepper drivers, install the mainboard inside the printer case and power it up to do the actual configuration.
Before I continue, I will add that whle reading the official documentation I made my own doc which I believe is much more readable.
And now, I will just copy-paste the e-mail I sent to Biqu regarding the case:
Hello,
I'm so sad. I spent hours reading the doc for my M5P, tested all I could with
USB power making sure everything was connected right, turned on the 24V PSU,
but there was no activity on the board : one driver had a LED, this was the
only thing lit on the board.
I took some voltage measurements, and saw the 10A fuse (F2) had blown.
I disconnected everything that was downstream from that fuse, including all fan
voltage selection jumpers. I even disconnected the endstops ; the only things
that were connected were THB, TH0, the motors and the drivers (and a network
cable).
I then turned the power supply on again, this time watching closely. I saw some
smoke near the FAN0 connector (in red on the photo) and immediately turned off
the power supply.
I took the M5P out of the printer, and tried powering it on USB : it did not work.
I then dismounted the CB1 to test it on the M8P I purchased at the same time :
the CB1 is also dead. I tried powering USB) the M5P without the CB1, nothing
happens.
Considering the facts above, I suspect the M5P must have been defective from
the factory ; I suppose you have some sort of warranty for such cases?
I have inspected the board closely, but I could not see any damage ; I
considered removing the plastic of the FAN connectors to look under it, but
figured it might do some damage and you might want to inspect the board
yourself.
If you want, I can send you the board for inspection ; but since this is most
probably an isolated problem and the shipping costs from Switzerland are so
high, it is probably not worth it.
I hope to hear from you soon,
Best regards
-D
ps: I intend to test powering the M8P with nothing connected except for 24V
"POWER" but to be honest I'm a little afraid after what happened to the M5P
pps: I also attached a drawing I made while reading the doc, because I felt
that the official documentation was tedious to read ; this drawing (it's not
finished, pin numbers need to be added amongst other things) basically replaces
a number of diagrams on https://bigtreetech.github.io/docs/M5P.html ; you are
welcome to use it.
-
spoiler: 5 of them total ↩︎
-
https://bigtreetech.github.io/doc/BIGTREETECH_CB1_V22_220812_SCH.pdf ↩︎
-
https://raw.githubusercontent.com/Klipper3d/klipper/master/config/generic-bigtreetech-manta-m5p.cfg ↩︎
-
I paid way too much for hardware that was dysfunctional from day one (no USB connection possible) ; I complained from the start, when the warranty period was over Makerbot finally replied with “buy a new mainboard for over $300.-”. I’m never again buying stuff from Makerbot : they even managed to ship the Replicator 2X without the top cover and had to complain and wait an extra month to get it. ↩︎
-
after a while, it seems obvious that the MCU has nothing flashed beyond at most a bootloader. ↩︎