OLIMEX© 2020
MOD-IO user's manual
2.5 Changing the firmware
In order to change the firmware of MOD-IO you would need an ISP programmer or a JTAG debugger.
Such tools might be purchased from various sources including Olimex. If you are in doubt whether a tool
would work with MOD-IO you should ensure that:
1. the tool supports the main microcontroller AVR ATmega16A
and
2. the tool has either 10-pin JTAG connector or 10-pin ISP connector (or you would need to use jumper
wires or adapter)
As already mentioned in chapter “2.3 Software requirements” to edit the original firmware you would
need AVR Studio 4, since this is the integrated development environment we used. At some point you
might decide to add own keywords and behavior that suits your project better than what we have done.
Of course, you can decide to completely skip this part and use the board as a general-purpose AVR board.
You can write own software or firmware from scratch.
2.6 Connecting more than one MOD-IO together
If you need more than 4 relays or more than 4 optocouplers you might connect another MOD-IO board
since each board has both male and female UEXT connectors and the communication protocol is I2C – it
allows multiple devices on the same bus – each addressed by a unique identifier. You may plug the boards
directly – the UEXT_FEMALE connector of the first MOD-IO would plug in the UEXT_MALE
connector of the second MODIO.
You can connect more than two boards this way.
Note that if you want to use more than one MOD-IO on the same I2C bus you would need to change the
built-in the firmware identifier. Each board needs a unique address. There is a command to change
discussed in the next chapter – “2.6 Default firmware description”.
Page 9 of 30