FlashProgrammer
jdisanti·FlashProgrammer·design/flash_programmer.kicad_pcb
About the FlashProgrammer PCB
FlashProgrammer is an open source AVR/Arduino PCB design by jdisanti, published on GitHub under the Apache-2.0 license. It is a 2-layer board measuring 61 × 38.1 mm, with 47 components from 22 distinct parts.
Its main chip is the ATMEGA328-AU, from the AVR/Arduino family. Other key parts include the FT230X, GLS27SF010, MAX662A and 74HC595. By type, the board carries 16 capacitors, 15 resistors, 6 ICs, 5 diodes, 2 transistors and 2 connectors.
It belongs with the usb & debug tools designs in this gallery.
From the project
128KiB 17-bit Addressed 32-pin Flash ROM Programmer
128KiB 17-bit Addressed 32-pin Flash ROM Programmer ---------------------------------------------------
This package includes the schematic, PCB design, and software for an USB Flash Programmer to read/write the contents of 128KiB 32-pin Flash ROM chips, such as the GLS27SF010 by Greenliant.
This is my second electronics project, and a stepping stone to building my own 8-bit computer. I made a lot of mistakes along the way and learned a ton. After four PCB revisions, and hours of frustrating debugging, I finally got it to successfully erase, write, and verify the contents of a ROM.

Main components on the FlashProgrammer
FlashProgrammer bill of materials (BOM)
47 components, 22 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | FT230X | SSOP-16 | U201 |
| 1 | GLS27SF010 | DIP-32_W15.24mm | U301 |
| 1 | MAX662A | SOIC-8_3.9x4.9mm_Pitch1.27mm | U401 |
| 2 | 74HC595 | SOIC-16_3.9x9.9mm_Pitch1.27mm | U501, U502 |
| 1 | ATMEGA328-AU | TQFP-32 | U601 |
| 1 | 2N3904 | SOT-23_Handsoldering | Q301 |
| 1 | 2N3906 | SOT-23_Handsoldering | Q701 |
| 1 | USB_B | USB_B | P201 |
| 1 | ISP | Pin_Header_Straight_2x03_Pitch2.54mm | P601 |
| 2 | BAT54 | D_SOT-23_ANK | D301, D302 |
| 3 | LED | LED_0805 | D701, D702, D703 |
| 1 | Ferrite_Bead | R_0805_HandSoldering | L201 |
| 8 | 100nF | R_0603_HandSoldering | C201, C206, C301, C501, C502, C601, C602, C603 |
| 1 | 10nF | R_0603_HandSoldering | C202 |
| 3 | 4.7uF | R_0805_HandSoldering | C203, C401, C402 |
| 2 | 47pF | R_0603_HandSoldering | C204, C205 |
| 2 | 22nF | R_0603_HandSoldering | C403, C404 |
| 2 | 27 | R_0603_HandSoldering | R201, R202 |
| 1 | 1k | R_0603_HandSoldering | R301 |
| 5 | 10k | R_0603_HandSoldering | R302, R501, R502, R602, R704 |
Show 2 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 4 | 4.7k | R_0603_HandSoldering | R601, R603, R604, R605 |
| 3 | 150 | R_0603_HandSoldering | R701, R702, R703 |
FlashProgrammer design files
The KiCad project lives in the jdisanti/FlashProgrammer repository on GitHub; these links point at the commit this page was built from.
FlashProgrammer: common questions
What microcontroller does the FlashProgrammer use?
The FlashProgrammer is built around the ATMEGA328-AU, from the AVR/Arduino family.
How big is the FlashProgrammer PCB?
The FlashProgrammer measures 61 × 38.1 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the FlashProgrammer?
47 components, from 22 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the FlashProgrammer design files?
From the jdisanti/FlashProgrammer repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the FlashProgrammer design in my own project?
Yes, under the terms of its Apache-2.0 license, which jdisanti chose for the repository.
Can I test firmware for the FlashProgrammer without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
Similar boards
AVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Discipline
coseyfannitutti
304.9 × 122.8 mm170 parts2LCC-BY-NC-4.01.0kAVR/Arduino
Megadesk
gcormier
41.7 × 32.2 mm23 parts2LGPL-3.0818AVR/Arduino
Easyduino Atmega Nano
Hanqaqa
43.4 × 18 mm30 parts4LCERN-OHL-P-2.0746