Laser engraving is pretty cool.
However, it has obstacles.
The biggest obstacle is engineering stubbornness.
Let’s take a look how getting mentally stuck inside the box holds us back.
Laser engraving with common GRBL controller is known to be sloooow.
Some folks claim that STM32 controllers are faster.
So I have got one of those and did a bench test.
Here is the board.
Spoiler: result was unexpected, but you can probably guess that by my bitterness in the introduction.
First I trier regular Atmel 328p with latest GRBL 1.1
I cropped some part of an image and streamed it into microcontroller. I was not actually engraving anything, but since my laser engraver is open-loop system, there is no difference in speed.
And here is the timer for 328P:
Then I exported GRBL firmware settings to a file and imported it into STM32 system and run same image
Don’t tell me it is 3 seconds faster. I expected 2x or 3x.
So what is going on?
Well, my STM32 board has CH340. No, I am not kidding.
Instead of building it on a microcontroller with native USB and make the schematics more simple and have a fast communication, they choose microcontroller without one and added CH340.
There is the bottleneck – fast computer, fast microcontroller and 115kbits/seconds communication channel in between.
Why???
The dirt-cheap STM32F103 from bluepill has native USB.
That is stubbornness #2.
I have already told you about stubbornness #1 – they use use 8 bit friendly math in 32 bit microcontroller – there are plenty of code in GRBL that is essential for 328p but can be thrown away and replaced with a few straightforward lines of code in STM32. STM32 is 32 bits and much faster.0
Read More: Bug in GRBL is still there for STM32 but does not have to be
BTW, I took my time and tested the STM32 board for that bug and the bug is still there. That is Ok, I wrote a piece of software that corrects my GRBLs to prevent further hardware damage.
But still…
Brother engineers, why are you so stubborn? Where that attachment to outdated technologies is coming from? Like, to microcontrollers without native USB support?
Well, at least thank you for not powering it from steam engine – that coal covers everything around with black dust which is hard to clean (no, it does not count as a carbon nanotechnologies).