This is a ICSP programming board for AVR targets.
The processor onboard is an ATMEGA8A, and can be programmed using another ICSP-Programmer.
The connector is laid out as per a standard Arduino ICSP programmer, so this can to program AVR Arduinos via IDC ribbon cable. This can also be combined with a TC2030 cable for a tag connect solution.
The ICSP connector is laid out as follows:
Function | Pin # | Pin # | Function |
---|---|---|---|
MISO | 1 | 2 | VCC |
SCK | 3 | 4 | MOSI |
NRST | 5 | 6 | GND |
The programmer powered via 5V from USB, but does not power the target by default. The VCC
pin is used for voltage reference. The target voltage may be anywhere between 1.8V and 5.5V.
The labeled VCC
pin can be used to inject voltage to the target. Alternately the jumper JP1
can be shorted to tie VCC
to USB 5V.
The USB C connector operates in USB 2.0 legacy mode. A FTDI FT230QX
chip provides a serial port interface.
Drivers for the FTDI chip can be found here.
The firmware for this PCB is ICSP-FW.hex. See the usage section for an example of programming a ICSP programmer from another programmer.
Note: To Program a ICSP programmer, its target VCC
must not be powered. Ensure that JP1
is open, and no power is provided via the VCC
pin or ICSP connector.
The windows executable version of avrdude is included in this repo to flash a target.
You will need to substitute your serial port and target information.
An example for flashing the ICSP firmware is below:
# Verify the target is connected.
.\avrdude.exe -C "avrdude.conf" -c avrisp -P COM3 -b 115200 -p ATMEGA8
# Configure the target fuses.
# This is required to set the oscillator config
.\avrdude.exe -C "avrdude.conf" -c avrisp -P COM3 -b 115200 -p ATMEGA8 -U lfuse:w:0xbe:m -U hfuse:w:0xd9:m
# Flash the target with 'ICSP-FW.hex'
.\avrdude.exe -C "avrdude.conf" -c avrisp -P COM3 -b 115200 -p ATMEGA8 -U flash:w:ICSP-FW.hex:i