

Nand final
2025 Cal Poly EE/CPE senior project aiming to create a usb memory device with nand flash ICs.
- Size
- 102.3 × 33.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 21
- Nets
- 156
- Pads
- 264
- Tracks, vias
- 639, 127
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 5 Feb 2025
- Updated
- 11 Jun 2025
Overview
Nand final is an open-source printed circuit board by IanFeldman, from the IanFeldman/ssd repository on GitHub. It is a 2-layer board of 102.3 × 33.8 mm with 21 parts on 156 nets, routed with 639 tracks and 127 vias.
It is built around the ATMEGA32U2-AU and MT29F4G08ABADAWP-ITX:D TR. Its parts include 7 resistors, 6 ICs, 4 capacitors, 2 connectors and 1 crystal. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
2ATMEGA32U2-AU
TQFP-32(7x7)-40℃~+85℃ 16MHz 1KB 1KB 2.7V~5.5V 22 32KB 8 Bit AVR Built-in FLASH Power-on reset (POR)、Undervoltage detection (BOR/LVD/LVR/LVI)、Watchdog reset、External pin reset (NRST)、Built-in general-purpose timer、Programmable watchdog TQFP-32(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontroller Units (MCUs/MPUs/SOCs)MT29F4G08ABADAWP-ITX:D TR
TFSOP-48-18.4mm-40℃~+85℃ 10 years 2.7V~3.6V 200us 20ns 4Gbit 700us Parallel Read buffer function、ECC error correction function、OTP region write protection and lock function、Hardware write protection function、Hardware reset function、Copy back write function Yes TFSOP-48-18.4mm NAND FLASH ROHSMicron TechNAND FLASH
README
README.mdssd
2025 Cal Poly EE/CPE senior project exploring nonvolatile flash storage. Includes a prototype design using an 8051 and small NOR flash IC and the final design with a modern Atmel microcontroller and multiple high-density NAND flash ICs on a custom PCB.
nand-final
2Gib NAND flash memory board with virtual serial interface over USB. Supports default and RAID 1 configurations.
Firmware Build and Flash Instructions (Linux)
# Install dependencies
sudo apt install gcc-avr avr-libc avrdude make
# Clone this repo
git clone https://github.com/IanFeldman/ssd.git
cd ssd/nand-final/firmware
# Burn fuses (first time only)
make fuses
# Compile and flash firmware using ISP
# (edit makefile as needed)
make [UART=1] [RAID=1] # Optionally enable UART debugging or RAID 1
make flashUART debugging interferes with some NAND chip control lines. Enable it at your own risk.
RAID is performed across all 4 chips, so it decreases the address space fourfold.
Usage:
Plug PCB into PC USB port and open a terminal with:
screen /dev/[path-to-usb-device] -b 9600
Commands:
| Command | Usage | Function |
| Help |
| Displays device info and a list of commands. |
| Read |
| Reads [size] bytes from memory. A device will not read across a page boundary. |
| Write |
| Writes a single byte [data] to memory. |
| Erase |
| Erases a block from memory. |
Note:
[row]is three bytes and represents a page address. Max value: 0x0FFFFF (0x040000 with RAID enabled).[column]is two bytes and represents a page offset in bytes. Max value: 0x07FF.[data]is one byte.[size]is a decimal unsigned integer.
nor-prototype-2
Prototype breadboard 512kB flash memory storage device. Interface over UART at 9600 baud. Compile with SDCC and program with avrdude. See hardware schematic for hardware details.
Firmware Build and Flash Instructions (Linux)
# Install dependencies
sudo apt install sdcc
# Clone this repo
git clone https://github.com/IanFeldman/ssd.git
cd ssd/nor-prototype-2/firmware
# Compile and flash firmware using ISP
make
./program.shUsage:
Connect a serial cable to RXD and TXD on the microcontroller. Open a terminal with:
screen /dev/[path-to-serial-cable] -b 9600
Commands:
- Read an address
r[address] - Erase an address
e[address] - Program an address
p[address][data]
Where:
[address]is 3 hex bytes[data]is one hex byte
nor-prototype-1
Flash memory controller prototype.
Parts
21| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2, R3, R4, R5 |
| 4 | MT29F4G08ABADAWP-ITX_D | Package_SO:TSOP-I-48_18.4x12mm_P0.5mm | U2, U3, U5, U6 |
| 2 | 1.uf | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C4 |
| 2 | 20pf | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2, C3 |
| 2 | 22 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R7 |
| 1 | 16MHz | Crystal:Crystal_HC49-U_Vertical | Y1 |
| 1 | ATmega32U2-A | Package_QFP:TQFP-32_7x7mm_P0.8mm | U1 |
| 1 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | Conn_01x06_Pin | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J1 |
| 1 | LM3940IMP-3.3_NOPB | Package_TO_SOT_SMD:SOT-223 | VR1 |
| 1 | ~ | test:PCB_USB_connector | U4 |
Questions
How big is the Nand final PCB?
It measures 102.3 × 33.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Nand final use?
21 parts, built around the ATMEGA32U2-AU and MT29F4G08ABADAWP-ITX:D TR. 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 Nand final KiCad files?
From the IanFeldman/ssd repository on GitHub, at the commit this page was made from: the board is nand-final/hardware/nand-final.kicad_pcb and its schematic nand-final/hardware/nand-final.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Nand final design in my own project?
Its repository states no licence, so its author keeps all rights: ask IanFeldman before reusing the design.
Similar boards
- 2 layers168 × 109.2 mm

- 2 layers194.3 × 79 mm

- 2 layers57.2 × 38.9 mm

Cookpad pad
cookpad/cookpad-pad
Cookpad Pad — A six keys macro pad made by Cookpad.
32 parts76Apache-2.0 - 2 layers120.1 × 52.3 mm

- 2 layers23.7 × 30.5 mm

- 2 layers73 × 38.1 mm

- 2 layers190.5 × 83.2 mm

Endeavour-2
ScatteredDrifter/Endeavour
An 38 key orthogonal Keyboard with 3d printable case
111 parts13CERN-OHL-P-2.0 - 2 layers18.7 × 36.5 mm

TMS6100
simoninns/TMS6100-Emulator
TMS6100 speech PHROM (PHrase Read Only Memory) hardware emulator for use with the TMS5220 Voice Synthesis Processor in an Acorn BBC Microcomputer
9 parts13GPL-3.0