Skip to the content
PCBKitNew board
2 layers45 × 21 mmICSP Programmer HW, the printed circuit board in 3D

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

5

README

README.md

ICSP-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:

FunctionPin #Pin #Function
MISO12VCC
SCK34MOSI
NRST56GND

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:

sh
# 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

Parts

29
QtyValueFootprintReferences
6100nC_Capacitor:C_0603C1, C2, C3, C5, C6, C7
474LVC1T45Z6U_IC:SOT563U3, U4, U5, U6
210uC_Capacitor:C_0805C4, C8
21KR_Resistor:R_0603R2, R3
25K1R_Resistor:R_0603R4, R5
110KR_Resistor:R_0603R1
1470RR_Resistor:R_0603R6
1600RL_Inductor:FB_0603L1
161200621621Connector_IDC:IDC-Header_2x03_P2.54mm_VerticalJ2
1ATMEGA8A-MUU_IC:QFN32_05_5x5_EPU1
1CSTNE16M0V530000R0Y_Oscillator:Oscillator_SMD3_3.2x1.3Y1
1FT230XQU_IC:QFN16_065_4x4_EPU2
1LED_GRNDS_LED:DS_0603DS1
1Pins_2.54_1x2J_Connector:Pins-2.54-1x2J3
1SolderJumper2Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1TC2030_NL_SWDN_NonPart:TagConnect_TC2030_NLN1
1TL_EmbeddedN_NonPart:TL_Embedded_10mm~
1USB4105-GF-A-060J_Connector:USB_C_USB4105-GF-A-060J1

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 mmUprobe-0.1, the printed circuit board in 3D

    Uprobe-0.1

    xx0x/uprobe

    uconsole debug probe

    108 parts
  • 2 layers25.4 × 19 mmAlt, the printed circuit board in 3D

    Alt

    stonedDiscord/Automatenplatinen

    Reverse engineerte Hardware aus deutschen Spielautomaten.

    19 parts5BSD-2-Clause
  • 4 layers45.3 × 26 mmGCP-2, the printed circuit board in 3D

    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 mmGem solder, the printed circuit board in 3D

    Gem solder

    arlenko/gem-solder

    💎 DIY soldering iron controller

    114 parts12CERN-OHL-S-2.0
  • 2 layers139.5 × 153 mmPannel, the printed circuit board in 3D

    Pannel

    cocobot/cocotter

    370 parts2
  • 6 layers128 × 117.8 mmFPGA DevBoard, the printed circuit board in 3D

    FPGA DevBoard

    Benny-Chippers/Enchanted_Rocks

    The dev board PCB for the MacroController project

    301 partsMIT
  • 4 layers55 × 55 mmPower module, the printed circuit board in 3D

    Power module

    crgmakes/module-power

    Aquarius simple power module

    69 parts