Tracked Robot Update: Ultrasonic, Line Sensor and Shell with SMAC 802.15.4

The FRDM-KL25Z tracked robot from my earlier post has gone trough several upgrades:

Tracked Robot with Ultrasonic Sensor

Tracked Robot with Ultrasonic Sensor

It features now a line sensor for line following, remote control and Command Line Shell support through 802.15.4 plus an ultrasonic sensor.

The IEEE802.15.4 Transceiver card is now integrated with an Adapter Card on top of the FRDM-KL25Z. The Adapter card makes the connection for the IEEE802.15.4, Line Sensor Array and Ultrasonic HC-SR04 Sensor. An Arduino proto shield is used for mechanical connectivity plus exposure of the FRDM-KL25Z Reset button.

Tracked Robot Details

Tracked Robot Details

The Pololu Tracks worked well on carpet, but not good enough on other surfaces. To improve the grip of the tracks on different surfaces, I have mounted pads on the tracks.

The motors generated substantial noise, and adding the usual capacitors to the motor terminals was not enough. I ended up mounting an extra grounded shield which then suppressed the noise:

Chassis with Motor Shielding

Chassis with Motor Shielding

The CodeWarrior for MCU10.4 project implements a lot of functionality with the use of Processor Expert components:

Processor Expert Components

Processor Expert Components

The project features now a radio module which allows to send commands to the robot: the radio module implements a wireless gateway to the robot.

Wireless shell connection to Robot

Wireless shell connection to Robot


radio send

a string is sent to the robot.


radio send stdin

a command can be sent to the standard input I/O channel of the robot. The robot is using standard input, output and error channels. This makes it easy to send and receive commands and status messages to and from the robot.

With the platform.h header file, the project can be configured. For example to add line following, maze solving or acting as a remote controlled robot.


With this I have an autonomous robot based on the FRDM-KL25Z board and a chassis from Pololu. It performs line following and maze solving, and can be controlled by a remote shell or controller unit (e.g. with an accelerometer). I plan to add at least one servo motor so the ultrasonic sensor can scan the surroundings. Then it is just a small step to solve a maze built up with walls instead of lines :-).

The sources for the CodeWarrior for MCU10.4 project are available on GitHub here.

Happy Roboting 🙂

5 thoughts on “Tracked Robot Update: Ultrasonic, Line Sensor and Shell with SMAC 802.15.4

  1. Pingback: Bricking and Recovering FRDM-KL25Z Boards: Reset, SWD Clock and Low Power | MCU on Eclipse

  2. Pingback: Tutorial: Ultra Low Cost 2.4 GHz Wireless Transceiver with the FRDM Board | MCU on Eclipse

  3. I also want to configure the ultrasonic sensor onto a servo. Great build. I have a long way to go with regards to being able to construct custom robots. I purchased the pololu zumo simply because I want to get to the programming part. Still, I’m going to try to customize it to add encoders and the sonic sensor (hopefully on a servo too)


    • Yes, I wanted the ultrasonic sensor on a servo too. But the Freescale ARM parts have very limited PWM and timers, which made it hard beside of driving the motors. AT the end I decided to turn the robot instead of turning the sensor with a servo: not as ideal, but used less mechanical parts and PWMs.


  4. Pingback: New Zumo Robot PCB’s Arrived! | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.