A follow up to a previous post, this is a listing of all the chinese 3D printer motherboards I could find, along with their CPU. I’m noticing that STM32 is overwhelmingly the most popular choice. Additionally, the STM32F103ZET6 seems to be the most popular selected CPU as well. Considering alternate firmware options for these boards, since Marlin is not designed for a colour TFT display with touch UI, I am wondering whether a new fork is a better option, rather than trying to bend Marlin 2.0 to fit.
CPU Type
Processor
- Printer/Motherboard Model – Stock Firmware info
Printers with working Marlin 2.0 firmware linked in green.
STM32F1 (ARM Cortex-M3)
STM32F103C8T6 (64K 128K flash)
- Malyan M200 – Proprietary (marlin based) – SUPPORTED
STM32F103ZET6 (512K flash)
- CBD-Tech 3D ChiTu F / Red Rabbit/ Red Rabbit Mini – Proprietary firmware – Work in progress
- MKS Robin – MKS Proprietary firmware – SUPPORTED
- Unnamed motherboard marked “Dlion by Enmaker” – Dlion firmware: open source (based off Marlin 1.0), Unsupported at present
- JGAurora A5S/A1 – open source (based off Dlion) – SUPPORTED
- TriGorilla Pro – used in AnyCubic i3 Mega-S, some info here, Unsupported at present
- Alfawise u20 One / Aibecy M18 Pro – Unknown motherboard at present, any info welcome!, Unsupported at present
STM32F103VET6 (512K flash)
- Geeetech GTM32 Pro VB / Pro VD / Mini S – Work in progress (no LCD support)
- Longer3D K1 / K2 OEM – also sold as Alfawise U20/U30 – SUPPORTED
- MKS Robin Lite Mini (used in FLSUN QQ) – MKS Proprietary firmware – Work in progress (working fork) and almost in main Marlin here
STM32F107VCT6 (256K flash)
STM32F103RCT6 (256K flash)
- XVico Pioneer X3 – Dlion firmware: open source (based off Marlin 1.0), also read this. Unsupported at present
STM32F1 unidentified
- “Eryone” – Marlin 1.1.9 ported to 32bit , Work in progress
STM32F4 (ARM Cortex-M4)
STM32F407ZGT6
- Lerge-X / Lerdge-K – Proprietary firmware, someone has been successful in running Marlin 2.0 on the Lerge-X board though. Unknown
NXP LPC1000
LPC1768
- BigTreeTech SKR – Marlin Firmware AND Smoothieware! – SUPPORTED
- MKS SGen L – 32bit version of MKS Gen L board, marlin firmware here SUPPORTED
Jim Wagner
Looking into getting the STM32F103 firmware off my XViCO board. I have an ST Nucleo board, which has an ST-Link built-in, so it should be possible.
Note that I can find identical copies of my board and screen on AliExpress by searching for “stm32f103 3d”. One of the buyers on store “3D Super Shop” even complains that the board came with “XViCO firmware”.
admin
These mysteries are so interesting! I wonder what the relationship is between the different companies… good luck!
Jim Wagner
STM32 dump successful (I think?) There are a bunch of ASCII strings visible in the dump. I added a link to the firmware on the reverse-engineering page here:
https://tinkerfiddle.blogspot.com/2019/02/xvico-pioneer-x3-board-reverse.html
admin
Awesome, thanks Jim!
Miroslav Hartych
Good evening, please, does anyone have configuration files for xvico x3 so I can upload the firmware to the SKR board? thank you very much
admin
I’m sorry Miroslav, this is not the best place. Try an Xvico Facebook group perhaps?
hobi
There is a Marlin 2.0 fork ported for TFT ( although it results in a similar looking as original marlin 2.0) + Touch screen :
https://github.com/jmz52/Marlin/tree/MKS-Robin-Touch-POC/Marlin/src
I am porting it to Alfawise Ux0, and there was a few things to tweak, but not much. I made the 9341 driver.
admin
You’re right – and this is actually the exact code we used to add LCD and touch support to our current Marlin 2.0 firmware for the JGAurora A5S & A1 (github)- which uses a STM32F103ZE, just like the MKS Robin! Great minds think alike haha!
I actually had a U20 (a nice printer!) but I sold it late last year after finishing my Alfawise U20 review – I just don’t have enough room for all these printers! Great to hear someone is working on proper marlin support for it! What CPU is in the Ux0?
Feel free to shout out if you want any help building for STM32F103 – I’ve got a discord group you could join if you get stuck.
admin
If you have a github for your Ux0 work, let me know and I’ll link it in to the post 🙂
hobi
I did not yet finished the port, as there are a few bugs to fix ( and there is also a cpu change, as the alfawise one is STM32103VET6 , all pins are changed). 9341 driver ready and compatible with that branch now. So far the website to follow (in French!!)
https://www.lesimprimantes3d.fr/forum/topic/18260-alfawise-u-20x-u30-firmware-alternatif-work-in-progress/
admin
It’s a shame there is only 128k on the VET6. That may limit the capabilities later on, after adding the bootloader. Bonne chance! 🙂
hobi
256K is present on VE chip! better than 128!
admin
Ah, great!! 😀
Hobi
Have a look to the above thread of alfawise. Code runs now. We are tuning machine settings as the actual code runs so fast that we have to limit the machine to avoid loosing y axis steps! A
admin
Congratulations! Nice job! 😀
Olivier
Hi folks
Watch out for a nasty timer bug that took us 3 weeks almost to find . On stm 32f103 it seems that timer direct reload mode do fail sometimes. Have a look on marlin website. You have to use timer preload mode . At least for marlin2
admin
Hi Olivier, I’ve been following the GitHub progress pretty closely, great to see lots happening and a BIG thank you to you and the Ux0 team for your contributions. Can you please give me a link to that specific issue? I’m looking forward hopefully to a fix for the layer shifting issue.
Olivier
This is explainned in great details in the marlin website
https://github.com/MarlinFirmware/Marlin/issues/12403
I do see the issue, I found a workaround but I do not understand why our chips do that. I did not found anything obvious. And the bug happens maybe once per million update
The fix is in my git. Link is also given in 12403…
Now looking for more bugs!
admin
I’ve actually been following and participating in that thread 😉 I bought an online course on STM32 timers but it looks like you guys are almost done solving the problem! Can you confirm with this fix, there are no more layer shifts?
Olivier
Apparently with that fix there are no issues reported by beta testers , about 5 people that tried on multiple prints. One hour prints. Before it was one glitch every 30 seconds almost.
I will improve a little bit the fix from a marlin view. The current version is not 100% comparable to the marlin code. We actually delay the timer process by one isr. We need to do that on the steps too… I am cutting the hair in 4 here!
I think this is a hardware bug in the chip due to a crosstalk issue in the signals ( inside the chip, the chip tracks)
Olivier
Hmmm one more news. I am really looking why I have a bug that looks a cpu bug . Just learnt that some Chinese guts mixed real and fake clones cpus. You cannot detect with the markings as they copied them too…. I will run the code on a genuine stm board. Gosh…
Nano
hello in your support list for the STM32F103ZET6 (512K flash) you put the MKS Robin Lite (MKS Robin Mini) the board is not using STM32F103ZET6 it is based on the STM32F103VET6 cany you plz change the flaw
admin
Whoops! Thanks for the correction. Fixed the error.
Olivier
@Nano or other users of VE chips. I see one interrupt skipped over 1 million in average on the stepper isr in marlin. I see the counter not resetting to 0 but continue counting and that generates a 13ms stepper clock gap, which makes a shock in all steppers. I still do not understand why it does that. Does your marlin machine also feels rough and skip players?
AALEKH
hello sir, when you will complete the FW code for mks robin mini.?
admin
Sorry – but I am not the developer of Marlin firmware. I was only making a post to report on the current status of different motherboards marlin 2.0. As far as I know, there is only one user berghauz, creating a marlin build for FLSun QQ-s, which uses the Robin Mini motherboard..
Olivier
Hi there!
Our definitive fix for stm32 f103ve/ze is merged in bugfix2.0.x! That does not explain the cpu bug but all marlin printers are happy with that fix. So all alternate boards using same chip will not suffer from that issue.
Ps : I hope you enjoy Myki mobile in Melbourne!!
HKMakers.hk
MKS SGEN_L
https://github.com/makerbase-mks/SGEN_L/tree/master/Firmware
HKMakers.hk
BIGTREETECH SKR V1.3
https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/tree/master/firmware
HKMakers.hk
martin
How to test marlin 2 firmware on chitu F x5sa board? it has no programmer connector, only wifi. Which isp use for it?
admin
I don’t know for sure as I don’t have one – you may have to use a multimeter to find out what pins are connected to the programming pins on the STM32F103ZET6 CPU. There is an unpopulated header on the left of the CPU. I wonder if that is the programming header? ST-Link will work – they are $3 on ebay for clones that work with the official software for STM32 programming.
martin
I would like to know, is someone work on marlin 2 with this board. So if that board has bootloader, i need to reprogram it or can use stock bootloader with marlin?
admin
As far as I know, there is nobody working on it. If someone wants to send me one, I can probably get it working. If you use the ST-Link dongle I mentioned you don’t need a bootloader at all. If it has a bootloader it is normally possible to integrate that with marlin firmware – I did exactly that for the jgaurora A1 and jgaurora a5s motherboards.
Edit: looks like there’s some people interested in it here: https://github.com/MarlinFirmware/Marlin/issues/7264
martin
in latest marlin 2 there is note tested it for chitu 3d, so probably someone manage done it https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x/Marlin/src/HAL/HAL_STM32F1
Zachary Hovick
Any update on the status of the Xvico board? Just got that printer and would love to be able to flash Marlin to it.
admin
Sorry, I don’t have one, and have not heard any news.
xiaohang
Sorry, we are busy with the SLA 3D printer crowdfunding project recently, DLion firmware cannot be updated temporarily, please let me know if necessary
Nelson
Hi!
I also have one Xvico X3… i want to put autolevel.
Is there any way to upgrade this printer with autolevel?
I also need to center the bed / move it forwards.
Xvico don’t give support for this… they only have said that they will start selling new model X3S with new board and new firmware that supports autolevel. 🙁
Thank’s!
admin
Hi Nelson, as far as I can tell, the only option is to replace the motherboard with an alternative. Perhaps MKS Gen L or perhaps MKS SGen L if you want 32 bit.