Over a million developers have joined DZone.

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

· Performance Zone

Download Forrester’s “Vendor Landscape, Application Performance Management” report that examines the evolving role of APM as a key driver of customer satisfaction and business success, brought to you in partnership with BMC.

 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 :-)

See Forrester’s Report, “Vendor Landscape, Application Performance Management” to identify the right vendor to help IT deliver better service at a lower cost, brought to you in partnership with BMC.


Published at DZone with permission of Erich Styger, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}