Swarm Robot Quickstart Guide
(→Connecting to the e-puck)
(→Programming the e-puck)
Revision as of 12:37, 21 January 2009
This guide was written as a quickstart guide for the Swarm Robots Project, but contains general information about programming e-pucks.
In order to run the system, you will need:
- e-puck robots.
- Bluetooth adapter on your computer.
- |Compiled .hex file found in e-puck code project
- Tiny Bootloader
- Compiled program for Machine Vision Localization System.
- You may also want to use one or more of the Analysis Tools such as the real-time display.
Items needed to edit the e-puck code
If you want to edit the e-puck code, you will need the following:
- Microchip MPLAB (for editing code, not needed to run)
- Microchip C compiler for dsPICs (for editing code, not needed to run)
- Code for e-pucks
Programming the e-pucks
Connecting to the e-puck
To program the e-puck, you first need to connect to the e-puck. Go to the Control Panel, and open Bluetooth Devices, and go to Devices>Add.... Turn on the e-puck, check My device is set up and ready to be found, then click next. When the computer has found the e-puck, select it (the ID of the epuck is a four-digit number found on a sticker on top of the bluetooth chip on the e-puck). When the prompt asks you for a passkey, enter the 4-digit ID number. The computer should then reserve a COM (serial) port to communicate with this particular e-puck. The computer will set up different COM ports for different e-pucks; this is normal. Go back to Bluetooth Devices in the Control Panel, and select the COM Ports tab, and see port is assigned Outgoing to the e-puck. This is the COM port you will use to program this particular e-puck when using Tiny Bootloader. If you're using a USB bluetooth dongle, if you unplug it and replug it into a different USB port, or use a different dongle, you may need to reconnect to the e-pucks.
Programming the e-puck
A bootloader is a type of program that is loaded onto a microcontroller which allows one to re-program the microcontroller in the field without having to use an special flash programmer (the programmer is still needed to load the bootloader onto the microcontroller in the first place). The Bootloader has two components: a programmer that runs on your computer, and a program that runs on the e-puck's PIC. When the PIC is turned on, bootloader will check to see if someone is attempting to re-program the PIC; if yes, the bootloader will overwrite its old program with the new program; if not, or if it times out while waiting for the new data stream, it will simply run the current program.
To program the e-puck, start the Tiny Bootloader program on your computer. (Although you can also use a flash programmer such as the ICD2 to program the e-puck, it will take much longer and can't be done wirelessly.) Click on Browse and select the .hex file that you want to load. The .hex file is the compiled code from Microchip's C compiler. Under Comm, use 115200 for the baud rate, and type in the outgoing COM port assigned to this e-puck (e.g. COM10, COM11, etc.). Turn on the e-puck, and click on the Write Flash button. The blue bar underneath the button should start counting down. Now, hit the blue reset button on the e-puck, before the blue bar reaches zero and times out. If the e-puck is successfully connected, an orange LED on the e-puck will turn on, and the bootloader will start to program the PIC on the e-puck.
- If Tiny Bootloader cannot connect to the COM port, make sure your e-puck is on, and that you've selected the correct COM port assigned to the e-puck (the ID of the e-puck is on a sticker on top of the bluetooth chip on the e-puck's PCB.
- If Tiny Bootloader can connect to the e-puck but cannot find the PIC, it may be that someone has overwritten the bootloader with another program. See Setting up the e-pucks to see how to restore the bootloader with the ICD2 programmer and MPLAB.
Setting up the e-pucks
The e-pucks require that a special bootloader program be loaded on it if you want to program the e-puck over a bluetooth radio. You can download the files you need at