

ICSP Programmer HW
An ICSP programmer for AVR targets
- Size
- 45 × 21 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 29
- Nets
- 49
- Pads
- 152
- Tracks, vias
- 237, 90
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 3 Jul 2023
- Updated
- 18 Jul 2023
Overview
ICSP Programmer HW is an open-source printed circuit board by TL-Embedded, from the TL-Embedded/ICSP-Programmer-HW repository on GitHub. It is a 2-layer board of 45 × 21 mm with 29 parts on 49 nets, routed with 237 tracks and 90 vias.
It is built around the ATMEGA8A-MU, FT230XQ-R and 74LVC1T45Z6, with the CSTNE16M0V530000R0 and USB4105-GF-A-060 among its other parts. Its parts include 8 capacitors, 6 resistors, 6 ICs, 3 connectors and 1 inductor. It belongs with the interfaces and adapters boards and the AVR (ATmega, ATtiny) boards of this library.
Main components
5ATMEGA8A-MU
VQFN-32-EP(5x5)-40℃~+85℃ 10bit 16MHz 1KB 2.7V~5.5V 23 512Byte 8 Bit 8KB AVR Built-in FLASH QFN-32-EP(5x5) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontroller Units (MCUs/MPUs/SOCs)FT230XQ-R
QFN-16-EP(4x4)-40℃~+85℃ 125uA 3.3V~5V 8mA USB 2.0 USB to UART QFN-16-EP(4x4) USB Converters ROHSFTDIUSB Converters74LVC1T45Z6
SOT-563-40℃~+125℃ 1 1 1.65V~5.5V 1.65V~5.5V Bidirectional Tri-State SOT-563 Translators, Level Shifters ROHSDiodes IncorporatedTranslators, Level ShiftersCSTNE16M0V530000R0
SMD3213-3P-40℃~+85℃ 15pF 16MHz 40Ω SMD3213-3P Ceramic Resonators ROHSMurataCeramic ResonatorsUSB4105-GF-A-060
SMD-40℃~+85℃ 1 12P 48V 5A Black Female Surface Mount, Right Angle Type-C USB 2.0 SMD USB Connectors ROHSGlobal Connector Technology (GCT)USB Connectors
README
README.mdICSP-Programmer-HW
This is a ICSP programming board for AVR targets.
The processor onboard is an ATMEGA8A, and can be programmed using another ICSP-Programmer.
Connector
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 |
Target VCC
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.
USB
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.
Firmware
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.
Usage
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:iParts
29| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 100n | C_Capacitor:C_0603 | C1, C2, C3, C5, C6, C7 |
| 4 | 74LVC1T45Z6 | U_IC:SOT563 | U3, U4, U5, U6 |
| 2 | 10u | C_Capacitor:C_0805 | C4, C8 |
| 2 | 1K | R_Resistor:R_0603 | R2, R3 |
| 2 | 5K1 | R_Resistor:R_0603 | R4, R5 |
| 1 | 10K | R_Resistor:R_0603 | R1 |
| 1 | 470R | R_Resistor:R_0603 | R6 |
| 1 | 600R | L_Inductor:FB_0603 | L1 |
| 1 | 61200621621 | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | J2 |
| 1 | ATMEGA8A-MU | U_IC:QFN32_05_5x5_EP | U1 |
| 1 | CSTNE16M0V530000R0 | Y_Oscillator:Oscillator_SMD3_3.2x1.3 | Y1 |
| 1 | FT230XQ | U_IC:QFN16_065_4x4_EP | U2 |
| 1 | LED_GRN | DS_LED:DS_0603 | DS1 |
| 1 | Pins_2.54_1x2 | J_Connector:Pins-2.54-1x2 | J3 |
| 1 | SolderJumper2 | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | TC2030_NL_SWD | N_NonPart:TagConnect_TC2030_NL | N1 |
| 1 | TL_Embedded | N_NonPart:TL_Embedded_10mm | ~ |
| 1 | USB4105-GF-A-060 | J_Connector:USB_C_USB4105-GF-A-060 | J1 |
Questions
How big is the ICSP Programmer HW PCB?
It measures 45 × 21 mm and has 2 copper layers, 1.6 mm thick.
What parts does the ICSP Programmer HW use?
29 parts, built around the ATMEGA8A-MU, FT230XQ-R, 74LVC1T45Z6 and CSTNE16M0V530000R0. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the ICSP Programmer HW KiCad files?
From the TL-Embedded/ICSP-Programmer-HW repository on GitHub, at the commit this page was made from: the board is ICSP-Programmer-HW.kicad_pcb and its schematic ICSP-Programmer-HW.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the ICSP Programmer HW design in my own project?
Its repository states no licence, so its author keeps all rights: ask TL-Embedded before reusing the design.
Similar boards
- 4 layers36 × 77 mm

- 2 layers25.4 × 19 mm

Alt
stonedDiscord/Automatenplatinen
Reverse engineerte Hardware aus deutschen Spielautomaten.
19 parts5BSD-2-Clause - 4 layers45.3 × 26 mm

GCP-2
HandHeldLegend/GC-Adapter-RP2040
The 3D shell and buttons are licensed under a Creative Commons Attribution 4.0 International License .
47 parts24 - 2 layers34 × 96 mm

- 2 layers139.5 × 153 mm

- 6 layers50 × 50 mm

- 6 layers128 × 117.8 mm

FPGA DevBoard
Benny-Chippers/Enchanted_Rocks
The dev board PCB for the MacroController project
301 partsMIT - 4 layers55 × 55 mm
