Olimex AVR P28B To Arduino
- Preface. I would prefer something similar to the Prototino (kind of expensive for a stripped board) or the Protoduino but with serial hardware (these would be a good choice for non-serial projects). Since these lack it, the Olimex board is a good alternative. A ProtoShield soldered in could work, but it is kind of expensive for a stripped board, and I don't like the breadboard type hole connections. Whatever I chose would require work, but the Olimex board required the least for the price.
- Find the P28B schematics and reference it to the parts listed below.
- Add ATmega328 (or ATmega168 for older designs; other ATmega's could work with custom boot loaders).
- Swap clock to 16MHz (or 20MHz with custom boot loader). If keeping the 8MHz clock, the "Lilypad" setting may work for flashing, but I haven't personally tried.
- Wire up serial. Set DTR jumper (DB9 pin4). AVR pin1: 100nF to 232-DTR. AVR pin2: 1k resistor to 232-TX. AVR pin3: 1k resistor to 232-RX.
- ICSP-6 to ICSP-10 adapter: miso 1->9, vcc 2->2, sck 3->7, mosi 4->1, reset 5->5, gnd 6->4,6,8,10. Pin1 of the ICSP-10 header is closest back to the DB9 connector. Steps. Stick the 10 pin header in the socket and strip and tin the leads of 6 wires (2-3" worth). Make pin 6 ground and bend the other pins (4, 8, 10) over and solder them to pin 6. Ignoring pin 3, solder the wires to the 10 pin header. Solder the wires to the 2-4-6 pins of the 6 pin header. Solder the wires to the 1-3-5 pins of the 6 pin header (mine was a single row header, I soldered them backwards and did a quick twist). Tape up any exposed pins and the connectors if they are 1 row headers. Be sure to mark pin 1 positions on both ends of the adapter.
- LED. If an extra LED is needed for the project, just leave it and wire in a separate Arduino LED. Un-jumper and rewire LED to AVR pin 19 for Arduino inverted operation (the LED is wired backwards compared to normal Arduino). For normal operation, unsolder R2 and the LED and solder them to AVR pin 19 (LED pointing towards ground). If R2 is too small to handle, use a regular 330-560ohm resistor. The left over jumper can also be unsoldered and used elsewhere.
- BUTTON. R6 is a 10k pullup resistor to AVR pin 4. If this is undesired, remove it and don't press BUTTON. BUTTON can be unsoldered along with R6 and used elsewhere.
- C13 (capacitor to AVR pin1-reset) is empty pads and should generally be left that way.
- The Olimex board can communicate with a standard PC serial port or use a standard DB9 USB serial cable (cheap).