Sangaboard vs Keyes_CNC

At the moment I’m building a semi-permament ugly board to put dc step-down, the ULN2003 drivers and the Arduino Nano into a more compact space and fewer loose wires hanging around. But this is sure a lot of work and error prone. It’s basically the same as an older Sangaboard version, but afaik you can’t get those easily, and even making them yourself requires getting a lot of different components.

Anyway, I also have a keyes_cnc board with A4988 drivers lying around. Those are also quite inexpensive, though more expensive than a self-built sangaboard, I guess. They would also require a software rewrite on the Arduino side to issue steps with the enable/direction/step stuff or using something like GRBL and then rewriting the host software to use GCode instead.

Any thoughts on this?

1 Like

Unfortunately the 28BYJ-48 motors, while super cheap and nicely geared down, are annoying to run with standard motor controllers. The A4988 is designed for Bipolar drivers but the motors are unipolar.

You can run unipolar motor with a bi-polar driver but you need to leave both centre taps of the motor disconnected. Frustratingly the 28BYJ-48 internally wires the centre taps together. This way to run the motor with a bipolar driver you need to crack open the motor casing and cut this connection.

I had hoped that the Sangaboard would be far more available by now, but we have had some delays doing the EMC testing. Hopefully within the next few months the boards should be available from Seeed Studio in a way that our Tanzanian collaborators that designed to board get paid for each one sold.

I confirm that you need to remove the plastic cover and cut the track on the motor. I wanted to do this initially, but after thinking, I decided to put together the proposed circuit on a breadboard.
G-code is absolutely not needed in this design. I think this is a dead end))


Sounds reasonable.

That is a neat solution @ImAreO

The other approach for a neat setup without the Sangaboard is to put the nano and separate motor driver boards into a modified microscope base as in this thread.

@williamw which also means you need to put 12 dupont wires in there for controlling the controllers and provide positive and negative power to the three boards. All those connections make up a lot of the bulk, that’s why it’s good to have some kind of board.

1 Like

A board is the best, certainly.

@ImAreO would you be able to post some photos/instructions of your breadboard solution? I think it’s something others will find very useful, particularly as they probably have the ULN driver chips already (most motors are sold with the boards). It would be great to document this as one of the options for the motor controller.


The design of the motor box has been slightly changed. The size of the hole for the wires of the motors and the backlight was reduced, the extra holes were removed, and one new diameter was made, sufficient for the mini-USB connector. The board is fixed on double-sided tape.
Power from the connector leaves 2 pair wires - to the motor board and to the raspberry-pi (MICRO-USB NOT USED TO POWER the device).
The supply voltage had to be applied to Vin arduino nano, I did not succeed in getting it to stage initialize when turned on (I don’t like this method, but it works for me, I tried arduino uno - it always worked without this connection)
What I plan to change is to make a one-piece structure for the motor controller and the raspberry pi. But this is in the queue after fixing the 3d printer. Redid the airflow, but both cheap 24V turbines died (greetings from china with love, cooler hall chip in datashit only 20V max range), having worked 9 hours in total for two. I’m waiting for new, well-known manufacturer.

1 Like

Did anyone follow up on a different firmware that can be “fed” with g-code?
i would love to experiment with the delta-stage and alternative uses of its motion, that is not for microscopy…
micro-graffiti bot?
mouse ear tickler?

I’m not aware of anyone, but that doesn’t mean it didn’t happen! I wonder if you’d be better looking for an existing Nano-compatible firmware for G code based printing/cnc, then changing their motor code to use unipolar steppers? That might actually be much easier than trying to start from the Sangaboard firmware and add in the g code (because a g code interpreter is way more complicated than a stepper driver).

1 Like