Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

3 Controllers on a PCB for Raspberry Pi



Have you considering a PCB with 3 stepper motor controllers (Tic-500s for example) that could be used with Raspberry Pi 3 type computers?




Hello, Mike.

Thank you for the suggestion. Something like that is definitely on our list of products we want to make. Unfortunately, the Tic is not designed for coordinated movements among multiple controllers, so it would not be as simple as just putting the parts for three Tics on a single PCB. Getting all of the great features of the Tic to work seamlessly across three axes would be a significant undertaking, so it’s not something we are likely to have available soon.

- Ben


Hi Ben,

I have 3 Tic-500s working beautifully in a somewhat coordinated fashion. Of course the “coordination” is within the Python code running on the Raspberry Pi. What I was thinking was just 3 Tic-500s on a single PCB with 3 USB connectors, 3 motor outputs and a single power supply input. So the firmware wouldn’t change, nor the micro controller, just a simple PCB to bring it all together.

I have 8 Tic-500s, although the MPS6500 driver chip on one just died for no apparent reason, so 7 working Tics!

Here’s a link in case you are wondering what I’m doing (hi resolution macro photography at sub-micron levels (chip images of chips that I have or participated in the design of and other chips as well). I’ve done a few of these Stack and Stitch efforts (one is ~19000 by 13000 pixels and took ~6000 individual 36Mpixel images to create), and it’s very tedious and time consuming, thus my interest in automating the process.

Here’s a link to Nikon Image Space with some examples I can show.

And the process of the Stack and Stitch setup being created.




Wow, that is a really cool project! Thank you for sharing that with us.

I understand you have the three Tics working well for your application, but even if we cleaned it up as much as we could, it would be a kludgy implementation to typical customers who would reasonably expect more from a three-axis controller. It would be kind of embarrassing for us to offer a board you need to plug three separate USB cables into as a finished product, so unless you need enough of these to justify our producing them, it is probably not something we would make.

By the way, it seems like what you’re requesting could be approximated with a laser cut acrylic plate to mount three Tics next to each other and some extra wires connecting VINs and GNDs via the terminal blocks of neighboring units. Is there something more than this you would be looking to get from the single-board product you’re envisioning?

- Ben



Good point about the 3 USBs, that would probably not be acceptable to most folks. Since I have a dedicated remote application (VNC) with the Raspberry Pi 3B which has 4 USB ports, this isn’t an issue. A laser plate would certainly work to combine the 3 Tics. I had thought (and may still do) a simple PCB and mount the Tics like you do with the stepper driver boards (plug in), then I could include the optical isolators and LEDs (needed for triggering the camera and strobes) on this same board. Since all this is out of pocket, I’ll have to wait for the Laser Cut plate or PCB unless I can get enough folks interested to spread the cost.




Hi Ben,

Here’s a note Jeff Kerr, I’m sure others are interested also.

December 3
Thanks, Mike! Yes, it would be really nice if Pololu either integrated this feature into their standard firmware, or else offered it as an alternative that could be loaded using their bootloader. Not many people are willing or able to completely re-flash their Tic firmware. I’ve talked to them about this option, but it might take a few customers like yourself expressing interest for them to offer it.




Wow, that’s an amazing robot arm you’ve created!! Congrats!! I’m using the Tic-500 to control a macro photographic setup for imaging small subjects (chips for example). I understand what the multi-axis coordination requires, and ended up doing such in Python running on a Raspberry Pi. Your solution is much better, but if you follow the threads below I’m not a software or computer person, and EE (design chips)… so reprogramming the Tic not going to happen for me! I even asked Pololu about putting 3 Tic-500 equivalents on a single PCB and having 3 USB connectors, but that wasn’t a great idea unless they used a single USB which meant they had to create the new code like you’ve done. You might want to ask Ben about this, maybe they could use your code?

I had thought of using an Arduino, but decided on the Raspberry Pi since it seemed easier to work with to develop the code, and my total lack of software & computer skills.

Anyway, what you’ve created is very impressive, so hats off :grinning: