Let's Make Robots!

Mr. General

  • Component category:
Mr._General_4.bas16.45 KB
Tone.zip9.68 KB
Mr__General_ATmega8_Edge_Detect.zip3.23 KB
Mr__General_ATmega8_Object_Detect.zip3.25 KB
Mr_General_Nano.zip3.21 KB
Vendor's Description: 

Video: http://www.youtube.com/watch?v=7Ve318yVUdU

DAGU products support site: https://sites.google.com/site/daguproducts/

This kit has recently been upgraded to include a USB interface, programming cable and the ATmega8A processor with the Arduino bootloader. The Manual has been updated with wiring instructions and diagram as well as USB driver instructions and trouble shooting section.

An improved "Tone" library is included on the CD as well as being available here that allows the Tone command to function on the ATmega8 processors (thanks to Robot Freak and Brett Hagman).

Based on Bot 08M, Mr. General is designed around a breadboard and includes the universal sensor brackets designed here at LMR as well as my IR object tracker in the form of a compound eye.

The Picaxe code was written for the picaxe 28X1 processor. The first Arduino code was written for an Arduino Nano which has 8 analog inputs. The second Arduino code is for an Arduino with only 6 analog inputs. This version uses digital inputs for the corner sensors which gives them slightly less range.

An IR LED and phototransistor is mounted on each corner and can be used for edge detection or object detection depending on how you choose to mount them. When mounted for object detection they can also be used for swarm communication. These sensors have an analog output but can also be used with digital inputs.

Here are some videos using a picaxe 28X1 and here is a video from GuangZhou University using the compound eye and an arduino to solve a maze.

The compound eye allows your robot to track a moving object but can also be used for IR communication between two robots. Other range sensors could also be fitted to the sensor bracket.

2 factory modified, continuous rotation servos allow speed and direction of each wheel to be controlled by a single digital output.

The kit does not include a micro-controller as the breadboard allows a wide variety of processors to be used. A generous 140 piece cable pack allows easy connection between the breadboard and sensors.

2 individual voltage busses allow for up to 3 different voltages plus ground to be used. Ideal for 3.3V devices and op-amps. A basic recharge circuit allows NiMh or NiCd batteries to be charged from a 9V DC source without being removed from the robot.

All spare room on the main PCB is configured as prototype board as show in the picture below. This allows additional sensors and circuitry such as voltage regulators to be easily added.


Of course being designed with parts from LMR it is only fitting that we have the LMR logo on the box.

 Click on the photo for a bigger picture.





More information can be found here: http://letsmakerobots.com/node/24348



Comment viewing options

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

sorry for my bad english....

I received by mail the package containing the kit mr general, but still could not finish the ride it, due to only being able to dedicate myself to mount on the weekends.
I bought the kit from Mr General to present a paper in my class at the University.
We are also using the Arduino Duemilinove. I did an exercise in which the LM35 it was used to measure temperature and display on a 7-segment display.

You wrote in your article about Mr General: " As the continuous rotation servos stop position is sensitive to temperature, a temperature sensor such as an LM35 could be added between the servos. Your processor could use this to adjust the stop position of the servos."
I do not understand where can I put a temperature sensor, to add it to the servo circuit. And by doing this, where to change the program to perform this function?

Thank you for your attention.

A hug.


Do not apologise for your English, I live in China and my Chinese is even worse.

The ambient temperature affects the center position of the servos by a small amount. If you use some hotglue to mount the LM35 temperature sensor in the small gap between the servos then you should get a reasonably accurate temperature reading. Especiaslly since the servos can get warm with a lot of use.

Use an analog input to measure the temperature and adjust the center position.

If you are having problems then see this tutorial on Mr. General: http://letsmakerobots.com/node/24348

Hi Odd. Thanks for your quick response ...

I tried to put the direct connections in Arduino platform , instead of placing the processor on board, and it worked ...

After finishing assembling the robot and view the site you referred me, I got the following questions:

1. I made the choice to leave the IR's down to detect the edge of the table, I modified the code as you instructed in the above post (change 1 to 0). The robot is following  my hand and walking away, but he does not stop when there is no object in front and falls off the table ... watch the video ...http://www.youtube.com/watch?v=KqL0gt6YmYI

2. when you worte:   "before you change any code you might first need to adjust the stop position for the continuous rotation servos. At the very start of the code where the global variables are defined you will see leftmotorstop and rightmotorstop. These need to be adjusted so that the robot is motionless when there is nothing in front of it.".  I think what you are told to adjust these values in the code:

int leftmotorstop=1180;       // variable adjustment of the left engine; original value = 1320

int rightmotorstop=1240;      // variable adjustment of the right engine; original value =1380

However, the values that changed not work ... I will have to decrease further until the wheels stop?


I intend, after the robot  function properly, set up a post in the LMR with putting the rights and wrongs of my project .... put comments in English and Portuguese to make life easier for my friends.

That's it for all this ...

A hug and a lot of thanks


Hi Lepeta, i have a Mr General and would like to use a Ardunio platform and i see you have done that. I have some questions: 1: What Arduino board did you use?

2: can you help with the wiring from Mr General to the Ardunio board.


Thanks in advance


Hi, Arkwrightnz

I have used the arduino duemilanove with microcontroller  Atmega 328.

With this kit you may need disconnect the pin 2 (RX) when you load the program to microcontrolle.

I advise you to read all the instructions and, after that, if you have a question, I'll be glad to help you, if I can ... ;)

A hug,


Please consult this link. I think it will answer many of your questions.




Ok, I watched the video.

1. Unless you want the robot staring at the sky then you need to ajust the servo horn on the tilt servo.

2. You definitely need to adjust leftmotorstop and rightmotorstop. You have it spinning like a top when it is supposed to stand still.


Until you adjust the motorstops correctly the robot cannot avoid table edges because when it thiks it is stopped it is actually going in circles.

The chip should have the program as well as the bootloader installed. If the robot is not working correctly then it is more likely you have made a mistake in connecting the jumper wires.

thank you OddBot, many things are clear now. at first, i thought that the  ATmega8A micro-controller is already programmed with complete software not only the  bootloader. I though that because a label is placed over the ATmega8a with the title "Mr. General".

programing any MCU is not problem to me. it will be a suitable oppottunity to use the ATmega ( i usually use PICs).

So, it is not the battery problem. And what seems to be work at first is just a random initial state.

now i should worry about the software compiler and programing.  

during the assembly, i found the following unclear points:

1- there is no clarification about the color of LEDs when installing them.

2- it is unclear the type of jumpers to install male or female. the picture you put in this webpage gives more than the installation guid about these points.

3-there some extra components capacitor of 0.1uf that is not mentioned in the installation guide.

4-many documents about PICAXE but no document about the ATMEL processor (that is included in the package) like datasheet or programing.

5- the last point is mechanical defect, the screws used to fix the servos is not suitable (m3x6) the 6 mm is not enough to fix the servo when using spring washer.

this is the most important issues that i faced during the soldering and assembling of this Robot. it is really nice robot and other assembling steps are very clear and well documented. after taking some of these points into your account , it will be even better.

Best regards