

UnoProgrammers
Programmers for Attinies
- Size
- 68.6 × 53.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 22
- Nets
- 40
- Pads
- 97
- Tracks, vias
- 67, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 26 Jan 2025
- Updated
- 4 Mar 2025
Overview
UnoProgrammers is an open-source printed circuit board by Sanjit1, from the Sanjit1/Attiny2x4x8x-Programmers repository on GitHub, published under the MIT licence. It is a 2-layer board of 68.6 × 53.3 mm with 22 parts on 40 nets, routed with 67 tracks and 0 vias.
It is built around the ATTINY84-20PU, ATTINY85V-10PU and OS102011MS2QN1. Its parts include 9 connectors, 2 ICs, 1 capacitor, 1 resistor and 1 diode. It belongs with the interfaces and adapters boards and the AVR (ATmega, ATtiny) boards of this library.
Main components
3ATTINY84-20PU
PDIP-14-40℃~+85℃ 10bit 12 2.7V~5.5V 20MHz 512Byte 512Byte 8 Bit 8KB AVR Built-in FLASH PDIP-14 Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)ATTINY85V-10PU
PDIP-8-40℃~+85℃ 1.8V~5.5V 10MHz 10bit 512Byte 512Byte 6 8 Bit 8KB AVR Built-in FLASH PDIP-8 Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)OS102011MS2QN1
插件-30℃~+70℃ 10000 times 100mA 12V 8mm PC Pin Rectangular Columnar SPDT Through Hole 插件 Slide Switches ROHSC&KSlide Switches
README
README.mdProgrammer for the ATTiny2/4/8 series.
These are the KiCad Files for programmers that use Arduino as ISP to program ATTinies. There is an Arduino Uno and an Arduino Nano version. There are headers for both the '5s and the '4s.
TOC
Convinient Links
- How to program an Attiny85: This is mostly covered in this Readme tho.
- ATTiny 25/45/85 Pinout/Datasheet
- ATTiny 24/44/84 Pinout/Datasheet
Usage Guide
This should be fairly simple to setup. You can read a general guide over here. All this PCB does is replace the wiring to make life easier. I will be doing this in Arduino Legacy using Damellis' core. If you want to use 2.0 or SpenceKonde's core, you can do that too. Just make sure to configure it properly.
Configuring the Arduino for In-System Programming:
You only need to do this once. If the programmer has already been set up you don't need to do this again.
- Open the ArduinoISP sketch from File > Examples > ArduinoISP.
- Correctly select the Arduino Uno/Nano as your board and the correct port.
- Make sure that the reset capacitor switch is facing the cap, otherwise it will mess with the programming.
- Upload!
Installing the AttinyCore:
- Go to Arduino IDE > File > Preferences > Additional Boards Manager URLs.
- Add
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.jsonto the list. - Open the Boards Manager from Tools > Board > Boards Manager.
- Search for
ATTinyCoreand install it.
Programming the ATTiny:
- You will have to edit a bunch of options in
Tools: Board, Processor, Clock, Port and Programmer. - Board and Processor: Correctly select what ATTiny you are using(25/45/85/24/44/84)
- Clock: Unless you know what you are doing, select one of the Internal clocks.
- Port: Select the port that the Arduino is connected to.
- Programmer: Select
Arduino as ISP. - If this is the first time you are using that ATTiny, you may need to burn the bootloader. This is done by selecting
Burn Bootloader. - Use keyboard shortcut
Ctrl+Shift+UtoUpload Using Programmer.
Keep in mind that if you want to program and arduino after this ,you will need to change the programmer back to AVRISP mkII or whatever you were using.
Blink
I have provided a sample blink sketch. If you find that the LED is blinking faster/slower than expected, you may need to change the clock speed. This is done by burning the bootloader again.
Common Debugging Tips/FAQ:
- If Arduino IDE cant find the Arduino Nano or you cant see a change in the port list, install the CH340 driver.
- If you can't upload the sketch, make sure that the programmer is set to
Arduino as ISP. - If you are getting
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00, this is usually a wiring issue or incorrect programmer selected. - If you are getting
avrdude: Yikes! Invalid device signature., this is usually a wiring issue or incorrect ATTiny selected.
Parts Required
- 1x Arduino Nano/Uno
- 1x Arduino Nano Header/Male Headers for the Uno
- 2x 15-pin headers if you are using the Nano version(Optional)
- 2x 7-pin headers + 2x 4-pin headers if you are using the Uno version(Optional)
- 1x 10uF capacitor(elecrolytic/ceramic is fine)
- 1x 14-pin DIP socket
- 1x 8-pin DIP socket
- 1x Switch
- 1x 2x3 ICSP header(optional)
- 1x LED (optional)
- 1x 220 Ohm resistor (optional)
The LED?
Yea, there is an LED connected to MISO. With that, you can have a startup script that helps you verify that your program successfully uploaded.
On an Attiny85: MISO is Pin 6(PB1)
On an Attiny84: MISO is Pin 8(PB5)
Pics or it didn't happen

I will take an IRL pic later.
Parts
22| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_3.2mm | Arduino_MountingHole:MountingHole_3.2mm | MH1, MH2, MH3, MH4 |
| 2 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J8, J9 |
| 2 | Conn_01x07_Pin | Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical | J6, J7 |
| 2 | LOGO | Custom Art Exports:Smiley Face | G2, G2 |
| 1 | 10u | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C1 |
| 1 | 470R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | ATtiny84-20P | Package_DIP:DIP-14_W7.62mm | U1 |
| 1 | ATtiny85V-10P | Package_DIP:DIP-8_W7.62mm | U2 |
| 1 | Analog | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J3 |
| 1 | Digital/PWM | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J4 |
| 1 | Digital/PWM | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J2 |
| 1 | ICSP | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J5 |
| 1 | LED | LED_THT:LED_D4.0mm | D1 |
| 1 | LOGO | footprints:GithubQR_15 | G*** |
| 1 | OS102011MS2QN1 | OS102011MS2QN1:SPDT_OS102011_CNK | SW1 |
| 1 | Power | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J1 |
More from Sanjit1/Attiny2x4x8x-Programmers
1- 2 layers41 × 75 mm

Similar boards
- 2 layers116 × 40 mm

- 2 layers80 × 60 mm

Two phase charging
HuntieDK/BMW-i3-two-phase-charging
Extends the BMW i3 60Ah BEV/REX charging to use two phases
73 parts8MIT - 2 layers109.2 × 61.5 mm

Power board
mat3ck/eirbot1a_2018
Eirbot first year team project for 2018 France Championship of Robotics
29 parts2MIT - 2 layers97.8 × 95.3 mm

Hanukkah
Electro707/2019_Menorah_PCB_Kit
A soldering kit in the shape of menorah powered by an ATtiny84
31 partsMIT - 2 layers60 × 52 mm

- 2 layers70 × 60 mm

- 2 layers27.6 × 47.6 mm

- 2 layers76.2 × 73.7 mm

Questions
How big is the UnoProgrammers PCB?
It measures 68.6 × 53.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the UnoProgrammers use?
22 parts, built around the ATTINY84-20PU, ATTINY85V-10PU and OS102011MS2QN1. 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 UnoProgrammers KiCad files?
From the Sanjit1/Attiny2x4x8x-Programmers repository on GitHub, at the commit this page was made from: the board is UnoProgrammers/UnoProgrammers.kicad_pcb and its schematic NanoProgrammers/NanoProgrammers.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the UnoProgrammers design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).