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

Multiaxis coordinated motion with Tic Stepper Controllers


What is the best way to coordinate the motion of multiple Tic stepper controller axes? I’d like to generate arbitrary paths for a 6-axis robot arm (straight line motions, paths thru via points, etc.).
Thanks, Jeff


The tic controllers do not have any special provisions for that kind of motion and we do not have any specific advice for doing it. In general, you will need some kind of higher level controller to determine the motion all of the steppers need to make and then send commands to the various tics. You can find descriptions of the interfaces available to control the tics in the subsections under the “Setting up the controller” section of the tic user’s guide.



Thanks for the reply. I guess what I’m getting at is what command mode would be best used to achieve coordinated motion? From what I can tell, the options are either trapezoidal position commands or velocity commands. Trapezoidal position commands wouldn’t really be suitable for anything except point-to-point joint space motions. Velocity mode, though, would require sending 6 speed commands quickly enough to avoid significant timing skew, and also would require reading back the positions (again with limited timing skew) to be able to correct deviations from the desired path.

I’ve seen some servo motor controllers (not RC-type servos) that have path point buffers that can be loaded with host-calculated goal points to form complex paths. This approach can eliminate a ton of communications and relieves much of the real-time requirements on the host. Does the Tic have (or are there any plans for) some type of path buffer?


Unfortunately, we do not have any features like that and we don’t expect to add that in a future update. In general, it seems like there are lots of open source firmwares for CNC machines and 3D printers to control multiple stepper motors in a coordinated fashion.



Yes, lots of CNC controller options but nothing I’ve found that can do coordinated motion of 6 axes. And nothing I’ve found that allows you to do distributed coordinated control. A path point buffer feature would be very powerful and totally unique in a product of the scale (low-cost, tiny footprint) of the Tic controllers.

Is it possible to program the PIC18F25K50 on the Tic controllers directly (ie, is there access to the PGD, PGC pins)? Is there a schematic available? I didn’t see one when I looked through the user manual.
Thanks, Jeff



If you reprogram the microcontroller, you would lose the original firmware and not be able to get any of the original Tic functionality back. Would you still want to reprogram the PIC? By the way, you can also get a lot of the hardware equivalent by connecting a P-Star 25k50 Micro to a stepper driver carrier of your choice:

- Jan


Just a couple more questions:

  1. Is there a schematic available for the Tic T500?

  2. Is the bootloader on the Tic T500 the same as on the P-Star 25K50 you recommended? In otherwords, is it possible to write my own code for the PIC18F25K50 and use your existing bootloader (rather than programming the PIC directly using the PGC and PGD pins)?

Thanks, Jeff


We have not publicly released the schematic, and the bootloader on the Tic is not the same as on the P-Star.

- Jan