Adding Step and Direction (CNC) control to Cheetah style motors #Robotics @buildlog

Bart Dring posts about the motors designed for builds like Cheetah robots and modding them for CNC use:

The proliferation of dog like robots has spawned a new generation of servo motors. These motors combine Brushless DC motors from the RC/Drone world with encoders, motor controllers and gearboxes in one small package. They are very compact, super strong and are in an easy to use package. Some of these are open source and are now being made cheaply in China.

To make them compatible with basic CNC machines you need to have step and direction signals, similar to what stepper drivers use. My initial goal was to add these inputs without changing anything to the physical motor. I will only touch the firmware.

Fortunately the motors Bart has are open source and the firmware is shared. The device uses the STM32F446 microcontroller.

There are 5 connectors on the controller board that are exposed through the side.

  • 24VDC In This is the primary motor power.
  • 5VDC in/out This can be used to power the board during programming. The 24VDC will create 5V on this if present.
  • CAN Interface
  • UART. This presents a menu that can be used to setup and calibrate the motor.
  • SWD. This is the programming interface.

I decided to use the UART connector. I would allow it to be optionally used as a UART for setup or for step and direction. I made an interface connection with some 1k resistors in line. This would save me if I screwed up. This would limit any current to a couple of milliamps. Any delays due to capacitance seem to be negligible. The UART still works fine at 921600 baud.

See the results and documentation in the blog post here.

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 35,000+ makers on Adafruit’s Discord channels and be part of the community!

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more

CircuitPython – The easiest way to program microcontrollers –

Maker Business — Challenges in trade between China and U.S. highlighted by forced labor bill

Wearables — There are some limits to conductive thread

Electronics — = != ==.

Python for Microcontrollers — Python on Microcontrollers Newsletter: Retrofitting old computers, Pinguin and much more! #CircuitPython @micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — BBQ Smoker, Emoji Telegraph, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — NEW PRODUCT – Re-programmable USB Type-C PD to 2.1/5.5mm Barrel Jack Cable

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.