The Freedom Robot

I have the Arduino Motor Shield working, the Ultrasonic module is pinging around, Christmas brought some small DC toy motors, and a bag of plastic gears is on my desk. All the good ingredients for a small robot: the Freedom Robot!

❗ Warning: Multiple Coke bottles have  been destroyed, and a FRDM box got hurt during his experiment! 😯 Do not try yourself if you cannot handle it.:-)

Smile

Smile

What I have in mind is to build a small autonomous robot wandering around in th house. Well, ok, at least on table or on the floor of my office. At least it should move :-). Similar to the many robots on ‘Let’s make Robots!‘ web site which I enjoyed watching.

Budget

After all the Christmas expenses I wanted to do things with a small budget: this means re-using as much as possible, or recycle material available in the house. A given is already the FRDM-KL25Z board for about $15. I want the robot to do something ‘useful’, so I want to re-use the HC-SR04 ultrasonic sensor (around $10). And I have that Arduino Motor Shield available, although it adds another $25. So that would already make $50 of purchased parts.
To build an autonomous robot I’m missing wheels, a chassis, motors and batteries. And for this I want to recycle existing material.

Motors

Small DC motors are very cheap (around $2). But even better: they are in many toys and that way can be recycled. I have several around from old toys.

small DC motors

Small DC Motors

The challenge is more that I do not have a data sheet available. Experimenting with them showed that they work well in the 3V-8V range.

Wheels

Looking around for ’round things which could be used for wheels’, I was first thinking of using old CD’s. I made some experiments, but the two DC motors did not give enough torque. So I abandoned the idea and switched to a ‘small wheel + gear’ model. And a bunch of plastic wheel parts were available:

plastic tooth wheels

plastic tooth wheels

💡 My local electronic and hobby store sells such wheels.

As wheels I have found that the plastic caps of soda bottles would be an option. So I have made my decision to use the caps as wheels:

Plastic Bottle Caps

Plastic Bottle Caps with plastic tooth wheel

I simply drilled a hole into the center of the cap, slightly smaller than the inner tooth wheel of the plastic gear. Then pressed the inner tooth wheel into the cap. To compensate the distance, I used a metal ring.

Make sure you have several caps available. I destroyed several ones until I have found the ‘perfect’ fit. Alternatively it is possible to glue the tooth wheel to the cap.

Then the wheel gets put on a metal rod:

Wheel Cap with Metal Rod

Wheel Cap with Metal Rod

Chassis

Question: What could be the chassis for a Freedom Robot?
Answer: The Freedom Box!

Actually, the FRDM-KL25Z cannibalized the box of the FRDM-KL05 board ;-):

Freedom Chassis

Freedom Chassis

The metal rod is going through the box. And a second rod with gears gets added. Both rods get drilled through the box.

The two DC motors get mounted on top of the box.Two rubber bands help to keep the motors in place:

Motors attached to the gears

Motors attached to the gears

Motor Chassis Top View

Motor Chassis Top View

Two wheels are not enough: something else is missing to stabilize the chassis. One way is to use a third wheel, or to use a ball or similar which rolls on the ground. I have found that the plastic caps are usable too: they are cheap and available, and serve as a ‘ground slider’ if there is not much friction:

Position for ground slider

Position for ground slider

With a cap I draw a circle and cut it out. To attach the cap, I have cut the top-most part of an (empty!) bottle:

Top of Bottle mounted

Top of Bottle mounted

Then the cab gets mounted:

Cap mounted

Cap mounted

Power Supply

For an autonomous robot, batteries are needed. The Arduino Motor shield has a dedicated motor power supply connector, and it can pass the motor voltage to the FRDM-KL25Z board.

💡 In general it is a good idea to separate the motor power from the microcontroller. To keep things simple, I used only one battery.

But this would only give 3.3V to the FRDM-KL25Z, and no 5V which are needed for both the motor shield and the ultrasonic sensor. The FRDM-KL25Z has a coin battery holder, but again: no 5V :-(. The best option I have found is to give 5V through the USB connector (either OpenSDA or KL25Z). For this an old L7805CV positive voltage regulator from STM was right at hand. To connect it to the Freedom board, a USB cable got hurt for writing this article:

Powering though USB

Powering though USB

As battery a LiPo with two cells (7.4V) is used to power the motors, and the L7805CV generates the 5V for the Freedom board:

LiPo Powering Boards and Motors

LiPo Powering Boards and Motors

Battery Compartment

Why not place the battery inside the freedom box? The black ‘inlet’ box could be easily used for this:

Inner Black Freedom Box

Inner Black Freedom Box

Remember that the two metal rods for the gears are going through the outer box? Well, that means that I need to cut some parts of the black inner box to make it fit again:

Cut parts of the black inner box

Cut parts of the black inner box

The result is a U-shaped inner box, with that U just fitting above and blow the two metal rods:

U Shaped Inner Box

U Shaped Inner Box

That way the inter box fits into the outer box:

inner box fits again

inner box fits again

While the sliding of the cap on the underground is desirable, it is not good for the wheels. For this I pulled rubber bands over the wheels:

Rubber Bands Mounted

Rubber Bands Mounted

I loved the look and feel of the original caps. I feel that the rubber bands ruined the look :-(.

Finishing Robot

Two rubber band safety belts keep the Freedom board in place:

Rubber Bands for Freedom Board

Rubber Bands for Freedom Board

The Motor Shield and the Ultrasonic Module get stacked onto the Freedom board. And the battery fits easily in the inner box compartement:

Battery Compartment

Battery Compartment

With this, here is it: the Freedom Robot:

Front View

Front View

Side View

Side View

Back View

Back View

Top View

Top View

Oh, yes, one more thing: my daughter thought that this way the robot is *much* better:

Modding of a Robot

Modding of a Robot

Summary

It might not be the most robust and advanced robot, but creating it in an afternoon was not too hard, including programming a small demo application. So this might be even something for junior programming and robotics projects. The most expensive part is the Arduino Motor Shield. I was just lacy to build a cheaper one (time is money too).

As always, there are multiple ways for improvements:

  • Use motors with built-in gears: more expensive, but simpler to use
  • Build a 4-wheel chassis
  • Use toy rubber tires
  • Add a position/wheel/quadrature encoder/decoder
  • Use the accelerometer to detect obstacles (running into it), or use it to sense the ground
  • Separate battery pack for the microcontroller
  • Adding more sensors
  • Improving the moving options
  • Experiment with beer caps instead of soft drink ones 😉
  • Try different post-it 🙂

Happy Roboting 🙂

11 thoughts on “The Freedom Robot

  1. Hello,

    cool quick robot,.
    but I have a few things to mention.
    You could get more from your batteries if you would use a LDO Regulator instead of the 7805.
    Your wheels are connected together and both are driven by both motors, how do you implement steering with this robot ?

    Like

    • Yes, a LDO would be a better choice. I used that 7805 simply because this was the only thing I had at hand when I have built the robot.
      The tooth wheels are freely rotating on the shafts, so indeed the two motors and wheels are rotating independently. So steering is not a problem.

      Like

  2. OH WHAT FUN!!!

    Brilliant, yet simple. Who would not want to build something like that?

    (Who says the Freedom board is only for engineers?)

    Great job, Erich.

    Thanks.

    Like

  3. Would it take much to add Bluetooth control into this cute little robot?

    (I will look into finding or creating an Android app to control it.)

    Like

    • There may be several that will work. Go to play.google.com and search for “bluetooth robot control”.

      I don’t know which will work best for the bluetooth device you talked about connecting to the FRDM board in your USB CDC post.

      Like

  4. Pingback: Debugging ARM Cortex-M0+ Hard Fault with MTB Trace | MCU on Eclipse

  5. Pingback: The Freedom Zumo Robot | MCU on Eclipse

  6. sir i didn’t understand how do did you manage to gie power supply to both frdm kl25z and motor shield?? Please i am a beginner trying to make a automatic wall painter. Please be descriptive. And i loved the way you recycled things and made a great freedom robot.kudos to you! 🙂

    Like

What do you think?

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

WordPress.com Logo

You are commenting using your WordPress.com 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.