Re-program the Bootloader on M1.X

This post describes how to re-program the bootloader to the Macchina 1.0 or 1.1.

These instructions would only need to be followed if the bootloader needs to be reprogrammed for some reason. For example, if the microcontrollers are replaced, a clone is created, you really screwed something up, etc. The board ships with everything pre-programmed and ready to roll.

1. Grab one of these: "Atmel AVRISP mkII In-System Programmer (ATAVRISP2)" and plug it into your computer. Found here:

http://store.atmel.com/PartDetail.aspx?q=p:10500054#tc:description

2. Install "Atmel Studio". At time of this post, version 6.2 is the latest and greatest. Sorry, it is a huge application and we only use the programmer section for this. Yea, there are probably better options out there, but it works.

3. Launch the Application, under "Tools" select "Device Programming".

4. Under "Tool" in that menu, select "AVRISP mkII", Choose "ATmega16U2" under "Device", and hit "Apply".

5. Power the Macchina via USB and a power supply. We have noticed that using an external wall-wart type power supply works better than plugging into a computer. Connect the 6-PIN programming header to the corresponding header for the microcontroller as shown here:

6. Hit the "Read" button under "Device signature" - It should read out something like: 0x1E9489. If, so, that means we are communicating with the micro, and we can program the bootloader files.

7. Click on "Production File", and navigate to "16U2 production.elf" file, and downloaded here:

http://www.rechargecar.com/sites/default/files/16U2%20production.elf

8. Now we program the ATmega16U2: Check "Fuses" and "Lock bits" and hit "Program". It should looks something like this:

9. Next we program the ATmega2560:

Change connection as shown here:

10. Change the settings, select the new .elf file found here:

http://www.rechargecar.com/sites/default/files/2560%20production.elf

11. If everything looks like this, Hit "Program":

12. Lastly, we want to tell the microcontroller some specifics of the circuit including the clock speed.

The FUSES should be as follows:

EXT = FD
HIGH= D8
LOW = E0

Change these and hit Program! Now, you should be good to go.

Comments