Unbrick an e-puck



It is possible to render the robots unresponsive, in effect `bricking` them. This occurs when it becomes impossible to establish a Bluetooth connection to the robot. The program that was previously bootloaded onto the robot will remain and run as usual, but it is not possible to place a new program on the robot. The most common cause of this condition is to improperly use the Bluetooth connection for debugging. (Code for correctly sending messages from the robot to the computer is included in the first lab.) The only way to `unbrick` a robot is to manually reflash the processor with the bootloader and a well-behaved program.




1. Remove the IR ring and selector-switch board from the top of the robot. Be careful not to bend the components of the IR ring when you remove it. It's best to grab the board by placing three fingers next to the screw holes on the perimeter of the board.

2. We have a device (an ICD2) which connects to a computer running MPLAB, takes a .hex file and flashes the processor. There is a special cable to connect from this device to the robot. Please do not lose this cable (RJ11 to MicroMatch-6). Obtain this device from Christian.

3. Connect the ICD2 to the computer using a serial cable. The baud rate should be 19200 baud.

4. Make sure that the serial port on the computer is set to the same baud rate and that FIFO is unchecked.

5. Open MPLAB raw (no project open, just the program). Find the file demoGCtronic.hex. `Import` it using File -> Import.

6. Connect the ICD2 to the computer and the robot.

7. Turn on the robot.

8. Connect to the robot from MPLAB. Click Programmer -> Select Programmer -> ICD2. Then click Programmer -> Connect.

9. Click Programmer -> Program.

10. After this is complete, you should be able to establish a regular Bluetooth connection to the robot and bootload the program you want to run.

Design by Christian Ahler

CS266 - E-pucks

Beta version