News Archive

December 8th 2002

Added my Atmel ATmega8 port of Jaroslaw Karwik's excellent ATmega128 bootloader (available from

August 30th 2002

I just added SRX-1, my newest robotic project, to "My robots" section. I've added a few pictures of the base prototype and details about adding encoders to my motors.

April 14th 2002

I've added my newest robotic creation to "My robots" section. Not much details is given yet but I'll try to add more stuff when I have more time.

March 16th 2002

The discussions about Splat-Bot 2002 are heating up in the Ottawa Robotics Enthusiasts Forum as the members of the club are trying to collectively agree on the "vision" system to be used for the next revision of the tournament coming up this summer. I think it's safe to say the IR based solution will be dropped in favor of a Laser based implementation, first suggested by Laslo Rozka of the East's Team (my team).
The Splat-Bot rules page should be updated accordingly soon.
As an appetizer, I've added a video clip of our robot in action at last year's tournament in the Media Gallery.

July 14th 2001

The Splat-Bot 2001 tournament is coming along pretty good as we have now defined the rules and all.
Have a look here

June 12th 2001

My god! I just noticed that my last update was in April! Ouch!
Anyways, I wanted to mention that the Ottawa Robotics Enthusiasts Club is going to have a paintball-based robot tournament later on this summer. The robots will be autonomous and will use modified semi-auto paintball guns to fire up to 5-10 paintballs to the other robots in a special arena, complete with obstacles.
There are 3 teams: West-End, Downtown and East-end. I'm part of the East-End team with Lazlo, Ken and Andrew.
The rules are not yet finalized but the teams have been created to get things going asquickly as possible.
I will try to keep track of my team's progress here. (what's not top-secret that is! hehehehe)
I also started adding details of my wireless/serial interface module to my projects page.

April 28th 2001

Updated my 2 Wire LCD interface section under the projects page.

April 11th 2001

Added a new section to the menu bar about my other electronics projects. In the future I might just re-model the site to make it more general and then have a robotics sub-section. I'm doing this because I've got a few home-brew projects I'd like to put online. (Power Supply, 2 wire LCD interface, RF communication module, etc...)

March 25th 2001

I've finally captured a few pictures of my TEF-2001 robot. (check them out in the Gallery!) I know I've been pretty quiet lately but I've been working hard on implementing an All-in-one Wireless module for my future projects. I'm also designing a home-brew adjustable power supply for my lab. As if that wasn't enough, I just picked up a real cheap 2x24 characters LCD display which I will soon be adding to TEF-2001 to help me in debugging. (although the wireless module could do the same thing)

February 19th 2001

Quick Update. Added Photobot's source code to the photobot page.

Note: I subscribed to a free dynamic DNS hosting service so this page can now be reached via

January 23rd 2001

Yeah! I got my first subsumption robot to work!
It has 5 behaviours:

  1. Arbitrate - Ultimately decides which behaviour has control.
  2. Escape - In the event of a collision, steer clear of it.
  3. Avoid - Detects and steers around obstacles.
  4. Follow - Follow a bright light source.
  5. Cruise - Go Forward!
Note that those behaviours are in order of priority, higher behaviours are allowed to "subsume" lower ones. This becomes more obvious when looking at an example: Think of the Escape behaviour: If the robot collides with an object that was missed by the Avoid behaviour, you couldn't care less about the light following behaviour; you want to backup before you burn your motors!
So the Escape behaviour, having higher priority, will "subsume" or "override" the other lower priority behaviours. It's pretty simple but it works. Now, I'll have to document all this before going on to more complex systems.

January 18th 2001

Added a new Robot called TEF-2001 to the "My robots" web page. This one will implement Behaviour-based AI using Subsumption Architecture. This is very cool and powerful stuff. I'm trying to implement a pseudo-multitasking kernel for it first though.

November 24th 2000

Added an Mpeg movie of my photobot prototype in action in the Gallery! I've also started to update the "My Robots" section. Stay tuned for more!

November 20th 2000

I've got my photovore robot working!  I'll put some pictures and a video of it in action real soon.  I'll try to find the time to also put up the schematics & source code on a dedicated page.  (The biggest problem is that I have to actually create a soft-copy of the schematics as I only have them memorized right now!)

November 10th 2000

I now have the Analog to Digital converter module of my PIC16F877 working.  I created some modular routines and added them to my growing library.  With the ADC working I will now be able to start working on a light-seeker prototype. (photo-vore)

October 25th 2000

I've finally got the stupid USART (serial interface) working on my PIC16F877!!  I coded a simple putbyte() function for it and I've modularize the setup into a setup_serial() function.  This will permit me to start testing the A/D as I will have an easy way of seeing what's going on inside the chip by having the program send debug information to my PC via the attached serial cable.  After I have the A/D working I'll be able to try a quick photovore robot.

October 18th 2000

I'm sorry for the lack of updates in the last month or so but I've been incredibly busy as I'm playing in 3 different hockey leagues this year and I've been spending a lot of time with my girlfriend.

You would expect a lot of progress after a whole month but unfortunately I've been having problems setting up my serial in-circuit programming circuit.

I know! I could program my PIC using my standalone programmer, but having to constantly remove and insert a 40 pins monster is just a nuisance! (especially when it's surrounded by a million jumper wires!)

I'm using a Motorola MC145407 RS-232 Level converter instead of the usual MAX232 IC because I happened to have two of those on hand. I suspected those to be different in some way to the MAX232 but last night I tested my serial setup using my trusty 16C84 and I've found it to work properly. This means the problem is with my PIC16F877 or its bootloader s/w. I will be investigating this in more detail in the next few days.

October 12th 2000

Guess what? I just discovered there's a brand new Robotics club that just started here, in my own town, Ottawa. They are called the Ottawa Robotics Enthusiasts and I'm really looking forward to sharing my knowledge and ideas with them. I'm sure I'll learn a lot from these guys as they look very knowleadgeable. See their web site here

October 6th 2000

I finally found the problem with my mobile base! Yes, the same problem that gave me so many headaches back in 1998 when I first started! I discovered that the differential gear box of the toy tank I'm using as a base had a special characteristics that I overlooked.

The two motors are mounted in a single box with all the gears and while I was opening it to find out why one motor wouldn't work anymore (The contacts were full of grease!) I noticed that two gears, one from each differential motor, were inter-connected as a way to perhaps help each other or simply to synch both sides. Anyways, I immediately came to the conclusion that this was the cause of my differential turning problems.

As I've been having problem doing a differential turn (each track turns in the opposite way to cayse the base to rotate on it's axis.) and that is why! The motors would always slow down to a crawl and the battery would die all the time. It didn't take long that I played the doctor and "chirurgically" removed the little piece of plastic that was connecting the two gears.

After putting the gearbox together I tried it with fresh batteries and it was turning like a charm! Yes sir!

All excited, I quickly setup my L293D H-bridge motor controller IC on my breadboard beside the PIC and wrote a quick piece of code to carry out a sequence of steps to test out the motors. To my surprise, everything worked as expected! The robot went forward for a few seconds, then turned for a second (damn! this thing turns faster than I expected! I later change the time to 1/2 second for a nice 90 degrees turn) and proceeded to go back and turn left and it restarted the sequence. Simple, but it made me feel good!

Now this is starting to be fun! I can't wait to have the 16F877's ADCs working so I can attach a few CDS cells to the robot to make it a photovore.

September 18th 2000

I finally got the P16PRO PIC programmer all assembled and tested!

Ok! It took me a bit more time than expected as I kept making stupid mistakes because I kept assuming stuff and wasn't verifying anything. I ended up having trouble with my home-made parallel-port cable which had most of the wires soldered in the wrong positions!! I corrected the mistake and I can now program both my 16C84 and my 16F877. Should start playing with one of those BOOTLOADERs for the 16F877 tonight. This should facilitate s/w downloads to the board.

I also decided my first robot will be a photovore with two simple photocells connected to 2 A/D lines. This way I can test my mobile base while keeping things simple enough as I usually try to do too much, too fast.

September 10th 2000

I'm back! After much research into a new and more powerful Micro-controller I decided to go with Microchip's PIC 16F877 (Data Sheet available here). This nice 40 pins beauty packs quite a punch with a built-in 8 channels 10-bit ADC, 8Kbytes of FLASH program memory, 368 bytes of RAM and 256 bytes of EEPROM. What makes it so attracting for robotics use are the two PWM modules which can be programmed as Input capture or Output Compare. (Useful for closed & integral loop velocity control)

I also ordered a cheap PIC programmer kit for 35$ at Quality Kits in Kingston, Ontario, Canada. It's a simple parallel port prgrammer that support most of the PIC 12 & 16 so it should be equally useful to program those older 16X84 or cheaper 12X PICs. Note that the PIC16F877 supports Low Voltage Programming (LVP) and Self-Programming which permits the designer to simply connect the PIC board to the PC and upload new code thru a simple RS-232 connection. Depending on the bootloader used you can even do simple debugging with the PIC running in the circuit! (Note that this requires the PIC to be loaded with a special bootloader and requires some extra hardware on the board to interface to the PC's serial port.)

November 1998

For pictures of my first attempt at a robot see the Media Gallery.