chineese STM32 based control board for 3D printer

lewiss66
Fri May 12, 2017 5:08 pm
I’ve recently discovered that Geeetech prusa 3d printer uses GTM32 PRO control board (STM32 inside) and I wonder if this board could be purchased separatly to build a home made 3D printer.
There is an advertisement at this link:
https://fr.aliexpress.com/item/Latest-P … 7cbfbc4d78
This GTM32 PRO which is an upgrade of the old GTM32 seems to be a good board to start with.
What do you think?
Thanks

ag123
Fri May 12, 2017 5:18 pm
yup it seemed they are indeed stm32
https://www.geeetech.com/forum/viewtopi … 20&t=18167
http://www.geeetech.com/forum/viewtopic … 20&t=17046

on another note, i’d think it is quite possible to turn those stm32 dev boards with lots of pins e.g. the VExx, VGxx, ZExx, ZGxx series into 3d printer controllers
http://www.ebay.com/sch/i.html?_from=R4 … 6&_sacat=0
http://www.ebay.com/sch/i.html?_odkw=st … 6&_sacat=0
http://www.ebay.com/sch/i.html?_from=R4 … 6&_sacat=0

one could get the above boards, and the pololou modules
http://www.ebay.com/sch/i.html?_odkw=po … u&_sacat=0

and perhaps compile marlin
http://marlinfw.org/

install that & 1’d be up and running with a 3d printer controller – oversimplified
:mrgreen:


ag123
Sat May 13, 2017 8:46 am
it seemed like STM has joined the 3d printer game as well :D
some ‘old’ links:
http://www.st.com/content/st_com/en/pro … 001v1.html
http://www.st.com/content/ccc/resource/ … 282409.pdf
https://github.com/MarlinFirmware/Marlin/issues/3851

lewiss66
Sat May 13, 2017 9:39 am
Quite interresting!
Thanks.
Is Marlin software based on Arduino libraries or HAL libraries?
It seems that the GTM32 is only available if you purchase one of those two Geeetech printers which are Rostock delta printer or prusa M201 printer.
Do you know if they are good printer?

ag123
Sat May 13, 2017 9:51 am
i’d think Marlin is Arduino based, but do check out the git web as it seem there may be some stm32 support
https://github.com/MarlinFirmware/Marlin

for 3d printer controllers, i’d opt for generic stm32 boards e.g. the VE – ZG series, with say the RAMPS extension for the pololu and motor controller modules

those from Geetech would likely distribute firmware files without the sources, while if you stick with say Marlin, you would be able to compile it yourself and change the features as you need

with things like the stm32f407 black vet6 to zgt6 boards, i’d think it is also possible to *develop* extensions so that you can control the board over *fast ethernet*, that’s a pretty attractive idea as the 3d printer can then be located say a further distance away from the PC which may otherwise have to control it say over a USB – serial cable
http://www.stm32duino.com/viewtopic.php?f=39&t=1391


ag123
Sat May 13, 2017 10:30 am
oh there u go Marlin4ST
https://github.com/St3dPrinter/Marlin4ST
but it is for that ‘premium/expensive’ ST’s 3d printer board, i’m wondering if it may be possible to adapt this to run on those generic stm32 boards :D
and this an alternative stm32f103 ‘core’ (note some things are in chinese)
https://github.com/MakerLabMe/STM32_Arduino_Cores
but i’d rather stick with the existing stm32duino cores that has been developed thus far
then there is Marlin_STM32, that might be a good starting point for generic boards or perhaps start with the original Marlin source and find the ‘supported’ version for STM32
https://github.com/MakerLabMe/Marlin_STM32

lewiss66
Sat May 13, 2017 2:20 pm
Yet the generic stm32 boards e.g. the VE – ZG series with the RAMPS extension is the more affordable boards. I hope there is schematics evailable on the web. The firmware could be either arduino er STMcubeMX HAL based, depending which is the most handy to use. It seems that the marlin4st has been developped for the well designed stm32 STEVAL-3DP001V1 eval board but which cost more than 100 dollars.
Unfortunatly , at the moment Geeetech hasn’t offert any schematics of his GTM32 board to be able to work with. It’s a pitty! I could be a much cheaper standalone unit controller board than the STeval!

ag123
Sat May 13, 2017 2:36 pm
the other thing is that those RAMPS extension boards http://reprap.org/wiki/Arduino_Mega_Pololu_Shield are mainly designed for 5v boards, though 3v is said to be able to drive them, but some level shifters may be needed as a precaution just in case some 5 v output pins from the pololu shield are routed back to stm32, i’d think some of the stm32 pins are ‘5v tolerant’ but 1’d need to be careful with connecting them up

i think some of the schematics for the generic stm boards may be found in the wiki http://wiki.stm32duino.com/index.php?title=Main_Page
hence that’d help if you are intending to use the generic boards

i’ve not explored marlin myself though, hence won’t be able to comment if it do work etc. but my guess is that for the marlin firmwares if you want to run them on the stm32 generic boards, is to first research the marlin / 3d printing forums etc on how well it runs on stm32 etc, (do post related information back here as there are 3d printing fans here as well :D ) then find the (generic) boards that has the necessary io that perhaps is adequate to connect to the RAMPS extension board. my guess is that may possibly be a rather quick way to get started

boards like those stm32f407 {VE 512k flash, 192k ram, VG 1M flash, 192k ram, ZE 512k flash,192k ram more io pins/fsmc etc, ZG 1M flash, 192k ram, more io pins are possibly significantly beefier compared to atmega328 etc in terms of hardware resources and performance and may possibly take things further than what may be possible with marlin on atmega boards. e.g. the stm32f407 has a hardware fpu that’s rather high performance
http://www.stm32duino.com/viewtopic.php … &start=160, this could make it possible for the controller board to do very fast path computations in floating point instead of moving in ‘straight lines’, i.e. it may be able to calculate any Bézier curve given the parameters and move along it
it could even do physics computation and accelerate / decelerate while moving from one point to another


ahull
Sat May 13, 2017 6:29 pm
Just suposin’… and at the risk of steering this particular thread in to a flame war, or wildly off topic, I were in the market for a printer to attach to the other end of this Chinese board… what would be the current best bang for my buck? Assume I am going to get as much fun out of building it as I will probably get out of using it (is that not the case for most 3d printers I wonder)… and assume that since I am buying an off brand controller, I am also perfectly willing to source the bits from random parts of the interweb. … oh… and I have the worlds supply of old broken Android phones that I may press in to service to control it too. :lol:

ag123
Sat May 13, 2017 6:52 pm
one of those keywords i tried on ebay happen to be “prusa”
http://www.ebay.com/sch/i.html?_from=R4 … a&_sacat=0
http://reprap.org/wiki/Prusa_i3
http://reprap.org/wiki/Prusa_i3_MK2

another keyword i tend to try is “delta 3d”
http://www.ebay.com/sch/i.html?_odkw=pr … d&_sacat=0
when i started looking for 3d printing stuff, i’m wary about the 3 ‘legged’ delta printers until much later i learn that they are delta bots and are (possibly much) more agile than those simple minded x-y-z bed shifters 3d printers
https://en.wikipedia.org/wiki/Delta_robot
http://reprap.org/wiki/Rostock

of course you could simply click ‘advance search’ and try “3d printer”, then enter prices from 0 (could it be lesser?) – $200
if you prefer the parts approach, the search would be “3d printer” and sorted by lowest price + shipping :lol:

among them i’ve got one from flsun3d (the bulky x-y-z bed shifter, not the sleek delta, but the delta has better reviews)
http://www.flsun3dprinter.com/
https://www.thingiverse.com/Flsun/about
they did show up in ebay searches for the 0-200 category

then among them i run into this He3d who ship kits as low as $150 or slightly less (i think shipping is separately charged)
http://www.reprap.cn/3d-printers-diy-kits-c-4/

and various random 3d print links i found and bookmarked
https://all3dp.com/
https://3dramble.wordpress.com/tag/flsun/

the thoughts are that if you remove that controller if you don’t want to use it, what is left is the motors, hot end, frame, bed, limit switches, power supply and wires. hence, assuming that those ‘not necessarily cheap’ printers follows the RAMPS methodology you would be able to substitute that controller with your own 3d printer controller
http://reprap.org/wiki/Arduino_Mega_Pololu_Shield
:lol:


lewiss66
Sun May 14, 2017 7:58 pm
Look at this link that gives you good info to start builing your own printer:
https://www.youtube.com/watch?v=_NSxGRMPjOA
Personally I’ve also heard that the delta are faster until I watched this video:
https://www.youtube.com/watch?v=XIk-w5OSVh8&t=501s
If you build a good 3D printer you have to consider all parts.
The problems with delta printer is that you loose a bunch of room with the circular heatbed…

goran.mahovlic
Fri Jan 12, 2018 4:48 pm
http://www.lemilica.com/reversing-mini- … d-printer/

victor_pv
Fri Jan 12, 2018 9:03 pm
Goran, nice page with lots of details.
Only thing I didn’t completely understand, did you load the Malyan firmware bin file but using our bootloader, is that right?
That’s interesting, I would think their firmware had to be compiled for the addresses where our bootloader load the sketches, so perhaps their bootloader takes the same 8KB?

About Marlin, it’s already working fine in that board. And you can replace the ESP8266 firmware with ESP3d from Luc, it’s in github. As far as I know, that one doesn’t make any connection to the internet.

The current Marlin Bugfix 2.0 branch includes the STM32 files, and we added the Malyan as a board option, you can modify the config file to match your bluepill pins and compile it.


goran.mahovlic
Fri Jan 12, 2018 9:23 pm
Tnx :)
Only thing I didn’t completely understand, did you load the Malyan firmware bin file but using our bootloader, is that right?
Yes I have used maple bootloader to put malyan firmware into bluepill, that was only way it worked.
maple bootloader is a bit smaller so it all started to work, but without serial :)

And then I have found a way to get serial working — just check few last lines I have added to my blog :)

Greeeat, tnx, we already edited firmware for ESP but yeees we want it to be opensource and your link is the way we want to go.
The current Marlin Bugfix 2.0 branch includes the STM32 files, and we added the Malyan as a board option, you can modify the config file to match your bluepill pins and compile it.
I have already send Marlyn Bugfix 2.0 repo link to my college and he will try to build it for this board.
My work will now be to replace onboard STM32 with my cloned one and to test if all is working.
Then I can use STLINK to upload Marlyn ;)


goran.mahovlic
Sat Jan 13, 2018 12:08 am
Ok my college already compiled Marlyn and I got something on serial.
We did not manage to compile USB-serial.

And I can easy switch back to original fw with sd update :)

GotSerial.png
GotSerial.png (67.26 KiB) Viewed 606 times

goran.mahovlic
Sat Jan 13, 2018 1:53 pm
Here is just a bit better picture
I will now go to workshop and try to run it on my printer ;)

GotSerial2.png
GotSerial2.png (139.69 KiB) Viewed 595 times

goran.mahovlic
Sun Jan 14, 2018 5:24 pm
After loading code if I am fast I can get Serial from USB – Repetier connects, but reports “No start signal detected”

ciniSeDaRadi.png
ciniSeDaRadi.png (54.87 KiB) Viewed 566 times

victor_pv
Sun Jan 14, 2018 5:28 pm
Is that in the bluepill or in the Malyan board?
The Malyan one has watchdog enabled in the config bits. The watchdog should be reset every second or so, but perhaps something is not going well and not resetting it on time.

Did you try any other host application.


goran.mahovlic
Sun Jan 14, 2018 6:08 pm
This is on bluepill with Marlin fw and maple bootloader.
If I try to connect it with Repetier but only straight after start I got this and then it blocks…
Like SerialRead on bluepill is not working.

SerialWorkingOnlyOnStart.png
SerialWorkingOnlyOnStart.png (128.85 KiB) Viewed 558 times

goran.mahovlic
Sun Jan 14, 2018 7:53 pm
Ok it seams that idle() in main is not blocking code.
If I just remove idle() it is working

I will check idle – probably some interrupt needs to happen to exit it.

GOT_IT.png
GOT_IT.png (48.29 KiB) Viewed 551 times

goran.mahovlic
Sun Jan 14, 2018 8:35 pm
I have found it ADVANCED_PAUSE_FEATURE is blocking my code.
But I rally do not know why it enters in this function it is I did not find where ADVANCED_PAUSE_FEATURE is defined
Anyway I have just commented it and I can now connect with Repetier and it seams all is working.
Now only one problem remains M100 has ULN2003 on Z axis.
I will probably test if everything is working with new motor drivers, and if it will work make a board that have bluepill and all four dirver placeholders.

Leave a Reply

Your email address will not be published. Required fields are marked *