Let's Make Robots!

Umbot & the Magnetnator

Drives around & detects magnets

This is what my 'half a robot' blog turned into.

For some construction Photos see here: http://letsmakerobots.com/node/23442



Magnetnator Features:

  • 1 -  20M picaxe 
  • 2 -  08M picaxe - one to run the PWM on the motors as the 20M has no PWM pin & the other runs the magnetometer
  • IR sensors
  • 1 - 433 MHz transmitter
  • 1 micro servo
  • 2 battery packs
  • Lots of Blu Tack

Umbot Features:

  • 1 - 08M 
  • 1 - 433 MHz reciever
  • 1 - micro servo
  • 1 piezo speaker
  • More Blu Tack





The Magnetnator rolls around looking for magnets and tells Umbot when he finds one.

Umbot chirps (don't know if you can hear it in the film)

and then waves the flag when he gets a signal.




  • Both sets of eyes are powered by the serial communcation signals between the chips and

this is a good way of getting extra features for no extra pins or programming.

It also lets you see that something is going on, especially when the motors are off to save power. 

Only the LEDs connected between 2 picaxe boards had enough current to run.

I had to use a transistor to power Umbots eyes from the 433MHz reciever. It was weak.


  • Very important thing I learned. 

If the robot starts behaving differently CHECK YOUR BATTERIES!

I spent about 3 hours adjusting settings when all it was was low on power. Duh!


  • Another very important thing I learned.

If it won't do what you want it to and your code looks right... it's not! 

       keep looking you've made a mistake somewhere. ;-D


  • Oscilloscopes are invaluable to work out how to link signals together.

The easiest way to get the 'back away and turn' routine to trigger from the magnetometer board with it's seperate power supply

was to join the grounds and link the 'serial out' transmission signal to to the adc pin of the right front IR sensor with a 1 Meg

Ohm resister. As seen in the video above when detecting the IR light the voltage drops, but the serial makes it spike so I can

get the same response from 2 different sensors. The scope helped me work out what was going on.







I soldered copper wire onto the motor and tied it to the servo horn.

Worked really well, nice and steady.



Spot the BluTack.



Before the magnetometer was added.



The Magnetnator complete.



  • Over complicated but fun project. If I were to push it any further things would start malfunctioning / breaking.
  • Now i've used up left over MCUs it's time to get a more serious board to work from, at least a 28X1.
  • Would like to build a 'super' magnet sensing circuit as some people have been talking about.
  • Also if I could program the hall circuit to be self calibrating i'd be very happy. I boosted the UGN350UA's output with a darlington transistor but it drifted something shocking and I had to keep changing the ADC parameters several times a night.

All attempts to read the input at startup and set deviation from that reading nearly ended in tears. Don't know why but it was always different to the in scan readings.  ??? :-( 



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Im interested in knowing more about your IR sensors as they seem DIY ?! i have tried many times to make them at home with varied results. It would be interesting to know more about your approach :)

Hi Jad-Berro, I started by reading through OddBot's great tutorial -

'Make your own IR obstacle detection sensor'  http://letsmakerobots.com/node/2907

And after playing around with circuits based on those for a bit, this is the design I came up with.
You can see the similarities to OddBots design.

The transistor I used is an MSA13 Darlington, but I have tried it with a BD681 type with the same result.


Two things I noticed make this particular circuit work well are:

Using the 1Meg Resistor 

  • If the 1Meg resistor is decreased, the stability and sensitivity go down. Using higher value resistors than this causes the circuit to become unresponsive.


Using the Decoupling Capacitor

The capacitor flattens out all the ripple caused by fluorescent lights.

  • At 0.12uF there is a little ripple, go any lower and it gets bad.
  • At 0.39uF the voltage is steady enough that you can actually point it toward fluoro's and still get a useable reading. If you use any higher value capacitor the rise and fall time of the reading is too slow.



Play around with the 20k variable resistors' value but if you can, make sure you get multiturn trimpots. They are so much more accurate for adjusting to fine tolerances.

I hook the output up to the CRO or multimeter and get it to maximum sensitivity by increasing the resistance.

As in OddBots design I am using an 82Ohm Resistor for my LED to give it 50mA @ +5V

I put the 330Ohm resistor in series with the IR photo transistor to help protect it, in case I adjust the trimpot all the way to 0 Ohms and short it to ground. I'm not sure if this is necessary? maybe somone could enlighten me. 



Thank you :)

Hi mikv,

The 330R resistor is necessary to protect the photo transistor and the npn transistor. I would even increase the resistor to around 2k for an operating voltage of 5V. The highest sensivity you would get by removing the potentiometer. Then you have a very high resistance between the base of the npn transistor and GND.

Nice robot couple btw :)

Cheers, I'll use a 2k in future. I noticed that the darlington is too sensitive to get away with no pull down resistor on the base.

Probably could just use a standard transistor instead of a darlington and leave out the trimpot. If I have any, I think I burnt them all out trying to come up with different circuits. 

You don't need a darlington for this job. Use a BC 547 or something similar. The high gain and the variation of resistance caused by the variation of temperature might me also a reason why you were busy in adjusting the ADC values :)

i have these tracks and have been looking for a way to mount them with out buying a universal plate the axles and screw in axel dont seem to be flexible in the distance from the ting you are mounting it on to the wheel and the whol thing has to be the perfect size?

how did you get across this problem? :)   or anyone who reads this in fact




i have the same motor set thing as you if that helps