Afrikabot entry

I designed this robot control board for my students to be used as a basis for an entry into a robotics competition hosted by a university near us.
It is shown on a Magician Chasis that I used as a test platform.

I decided to use a PICAXE 08m2 since the idea was to make the robot as inexpensive as possible, and as this application does not realy require that the robot have the ability to reverse, I used MOSFET transistors to switch the motors on instead of an H-bridge.


Using the Serial In (C.5) pin on the 08m2 requires programming skills slighty beyond the scope of what my students need to learn so I decided to keep it dedicated to serial programming.  That was one pin out of 6 used.  To get the maxim use out of the remaining pins I put a button on the only input only pin (C.3) and used C.1 and C.2 as general user acessable IO  (for analog sensors, or adding I2C IO extenders, or servos, or piezo buzzer, or whatever.).  That left the Serial Out (C.0) pin and pin C.4 for motor control.  Connecting a tansistor directly to the serial out (C.0) pin for a motor would have caused the motor to "twitch" every time a program was downloaded. To solve this problem I had to look at a way of disabling the motor mosfet when the download cable was plugged in.  The solution I settled with was using P-channel mosfets (mosfets that turn on when connected to GND or pulled LOW) between the pin and the motor drive mosfet.  The Stereo socket I used has a mechanism of disconnecting certain pins when the plug is plugged in,  so when you plug in the download cable the motor driver mosfets are disabled because the GND is disconnected to the P-channel mosfets and they turn off, preventing any signals to pass to the motor driver mosfets.  Yay! nothing twitches when the download cable is plugged in, and the robot wont suddenly start driving off the table while it is plugged in to the PC. 

The idea is then to use the button to have the robot wait for it to be pressed before it starts to run its navigation program.


If anyone is interested in the EAGLE board files, I will post them.

Thank You


Submitted by viswesh on Wed, 2016-06-15 13:08

viswesh's picture

I really like it  and Welcome sir........


Submitted by JeffRo on Wed, 2016-06-15 16:17

JeffRo's picture

Great Job you did on the board.

Want to Welcome you and hope to see you on the shoutbox sometime.

Submitted by Roxanna77 on Wed, 2016-06-15 16:27

Roxanna77's picture

Welcome to CKR! Thank you for the great post! Really nice board layout, well done!
Got me thinking I believe I have a PICAXE around here, will need to get it out and do something with it sometime.


"Propeller Girl"
I tinker, therefore I am.....

Submitted by nschreiber0813 on Wed, 2016-06-15 18:35

nschreiber0813's picture

Dear: Mr. Booo

Thanks for your brilliant robot. I am looking forward to seeing some progress. Nice PCB making skills you got there!!! As a matter of fact I don't know how to solder and yet I make robots all the time myself. I just wish when I took a soldering class I actually remembered it when I needed to. In case people haven't said this to you enough welcome to CKR!!! You will be a nice addititon to this community. Well done and good luck!!! Quick question though what competition are you competing in? Thanks!!!

From: Noah

Submitted by Mr_Booo on Thu, 2016-06-16 03:36

Thanks for all the positive comments and warm welcome.

Noah, The link to the competition is in the writeup.
It is called AFRIKABOT.

Submitted by nschreiber0813 on Thu, 2016-06-16 08:00

nschreiber0813's picture

Dear: Mr. Booo

Thanks I thought that link was for where you bought your chassis from not necessarily what the competition was. Cool I wish you good luck and congratulations on a nice robot. Good luck!!! :-)

From: Noah

Submitted by nschreiber0813 on Thu, 2016-06-16 08:10

nschreiber0813's picture

Dear: Dr. Booo

I am just curious as how this robot is going to win the competition. I am yet to see any sensors for the robot nor does the robot honestly seem very fast. I am building a robot for the trinity fire fighting challenge and my robot is going to be autonomous with six ping sensors. I am yet to see any sensors at all. How is this robot going to win the competition without any sensors or encoders? Is it going to be RC? Or maybe there is something else I am unaware of? Thanks!!!

From: Noah

Submitted by Mr_Booo on Thu, 2016-06-16 17:25

The robot shown is quite slow, that is true, but that one is not built for the competition.  It was simply put on the chasis to test the controller board.  The two headers marked c1 and c2 is where sensors should / will be attached.  It is up to the students to build their own chasis and decide on their own gearbox and sensor setup. I cant do everything for them! Lol. 

The maze in the competition can be solved by dead reconing and many of the junior participants have sucessfully done just that. Since the plans for the maze is freely available I have built one and my students can hone their robots on it. It is more about the learning experience than the prize.

Submitted by nschreiber0813 on Fri, 2016-06-17 09:14

nschreiber0813's picture

Awesome!!! Thanks!!!

Submitted by Mr_Booo on Thu, 2016-09-15 04:48

Hi.  Just an update:  We did not win the grand prize but we did win the prize for most innovative robot.
Here is two of the wacky robots my students built:

Submitted by Roxanna77 on Thu, 2016-09-15 22:47

Roxanna77's picture

Thanks for the update, cool looking bots! Will you compete again next year?


"Propeller Girl"
I tinker, therefore I am.....

Submitted by Mr_Booo on Fri, 2016-09-16 02:47

Chances are good that we will compete again,  But I will have to make refinements on my design.  This year I made the robots as inexpensively as possible in order to be able to give them to the students after the competition, but I am thinking of developing a more robust sytem that I can re use and refine every year.  The disadvantage of that is then that I wont be able to give the students the robots after the competition and that is sad.

Last updated: 
15 Jun 2016 - 10:39
Robot type: