CM5 board

In the Bioloid comprehensive kit a controller is included that can drive up to 30 AX-12 servo’s. After opening this controller is turns out that an ATmega128 from ATMEL is used which happens to be part of my favorite controller series at this moment. The tools for these controllers include a JTAG probe and a free IDE from ATMEL that can make use of the open source WinAVR C-compiler. This platform is a very powerfull development platform for micro controller based electronics, code can be developed in C, compiled and downloaded to the controller that is part of your electronics. In the IDE breakpoints can be set and variables can be evulated after executing the code step-by-step.

Interesting part would be to see if the JTAG interface is available on the board, in that case no experimental electronics would be required to work with the AX-12. The JTAG requires pin 54 (TDI) to pin 57 (TCK) next to the reset pin. Checking the board shows no wires are attached to these pins which is perfect since that means the pins are not used for something else.

Below schematic shows how to connect the JTAG signals, for the reset a wire on the PCB must be cut to the onboard reset circuit. This can be done just be easy just before pin 4 of connector J5.

Schematic for adding the JTAG interface

 When connecting this using a JTAGICE mkII it refused to let me access the controller, it seems that the security fuses have been blown by Robotis. By using In System Programming a full chip erase should resolve this, it means that all Bioloid code will be gone. Since I’m planning my own software that’s exactly what I want. The schematic for the ISP interface is shown below.

ISP schematic

The JTAGICE also allows ISP, however it always fails for some reason the enter programming mode. I’m not aware of any “master fuse” which also prevents a full chip erase but apparently there is. After spending some hours scanning the spec of the ATMEGA128 and running several experiments I gave up. Only option left was to remove the controller using hot air and replacing it with a pin compatible ATMEGA64 after which the JTAG perfectly worked and my development board was up and running.

In order to understand the other options offered by the board (e.g. the buttons and LED’s) I reverse engineered the four-layer board, you can download the schematic here. Please note it might contain errors, if you do find one please let me know so I can update the schematic.

Go back to main page