Miabot Pro Build
From Merlin Systems Wiki
Standard Code Release and programming information for the Miabot Pro BT.
Note that a pro contains two processors.
- The main processor is an Atmel 'Mega64' chip, and holds the main firmware (operating system) code that provides the serial commands.
- The secondary processor handles the wheel drive-signal (pwm) generation and encoder counting code (to free up main procesor from high-overhead and time-critical operations).
Contents |
Special Programming Notes
remove jumper to protect radio board
The Bluetooth radio connects to the same processor pins as the programmer, and can apparently be upset by the programming operation. Although this problem only seems to occur occasionally, if it does happen the radio board will be permanently broken.
To avoid this, it is important to always remove the 2-pin jumper next to the programming connector before reprogramming the main processor.
always program Mega64 processor before Mega8
It is important to program the main processor (Mega64) first, and check this works normally (program verifies) before programming the "secondary" processor (Mega8). This is because the Mega8 depends on the main processor for its clock.
If the main processor is not driving the crystal clock, then as soon as the fuse bits are set to make it run off the external clock, the Mega8 processor will stop communicating with the programmer and generate a programmer error.
Latest Firmware
Hex file and programming batch file are here - program_miabotpro_3v4b.zip
How To Program
- Extract all files from the zip to a 'build' directory
- connect up board and run the .BAT file - it should bring up a DOS window + eventually say whether it was ok or not.
NOTE: on some PC setups, the batch file doesn't run in the correct directory. It needs to get the .HEX file from this same directory. A quick fix is to run it from a DOS box (command prompt).
Info:
- The batch file programs the fuse settings as well as the flash
- -see Programming Batch Operations for the test+program operations sequence
- Designed for use with Avrdude
- If not using avrdude -
- the '.zip' file includes the basic .HEX file ..
- ..but you will need to control the fuse settings manually
- See -
- Using Avrdude for how to configure avrdude on your PC
- Programming Notes for details of alternative programming methods
- Linux Users -
- Use PonyProg
- Source code for linux x86 and binary distributions for Redhat6.2 and above are available
- You will need read/write acess to /dev/ttyS and /dev/parport
- You only need the .HEX file from the zip
- Use PonyProg
Mega8 Firmware
This will probably change very seldom.
To reprogram the Mega8 requires a special programming convertor lead
Programming resources are here - program_miabot_mega8_v3.zip
