Skip to the content
PCBKitNew board
2 layers100 × 80 mmATmega32 EEPROM Storage, the printed circuit board in 3D

Demonstrates internal EEPROM read/write on the ATmega32 by letting a user increment/decrement a value in RAM, save it to EEPROM, read it back, clear it, and recover it after reset or a power cycle.

Size
100 × 80 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
44
Pads
118
Tracks, vias
227, 5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
28 Jun 2026
Updated
18 Jul 2026

Overview

ATmega32 EEPROM Storage is an open-source printed circuit board by DINHO365, from the DINHO365/ATmega32_EEPROM_Data_Storage repository on GitHub. It is a 2-layer board of 100 × 80 mm with 26 parts on 44 nets, routed with 227 tracks and 5 vias.

It is built around the ATMEGA32-16PU. Its parts include 6 capacitors, 5 resistors, 1 IC, 1 diode and 1 transistor. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

ATmega32 EEPROM Data Logging and Configuration Storage System

Demonstrates internal EEPROM read/write on the ATmega32 by letting a user increment/decrement a value in RAM, save it to EEPROM, read it back, clear it, and recover it after reset or a power cycle.

Repository structure

text
ATmega32_EEPROM_Data_Storage/
├── README.md
├── firmware/
│   ├── src/        button.c, display.c, eeprom_storage.c, indicator.c, lcd.c, main.c, uart.c
│   ├── include/    matching headers + config.h
│   └── hex/        firmware.hex / firmware.elf
├── kicad/
│   ├── schematic/  ATmega32_EEPROM_Storage.kicad_sch (+ project files), rendered PDF
│   ├── pcb/        ATmega32_EEPROM_Storage.kicad_pcb (+ project files), rendered PDF
│   └── gerber/     Gerber + drill (.drl) output
├── simulide/
│   ├── circuit/     EEPROM_Storage.sim1
│   └── screenshots/ test-run screenshots
├── documentation/
│   ├── block_diagram.png
│   ├── flowchart.png
│   ├── pin_mapping_table.md
│   ├── eeprom_address_table.md
│   ├── test_results.md
│   ├── erc_report.txt
│   └── drc_report.txt
└── media/
    └── demonstration_video.mp4

The schematic and PCB are kept in separate kicad/schematic/ and kicad/pcb/ folders, each with its own copy of the KiCad project file so either one opens directly in KiCad.

Firmware

Source lives in firmware/, written in C for the ATmega32 at 8 MHz (adjust F_CPU in firmware/include/config.h if a different clock is used).

Build with avr-gcc:

text
cd firmware
make

(or open the firmware/ folder as an MPLAB for VS Code project, using the same source/include paths.)

Behavior

ActionResult
Power ON / OFFLast value loaded from EEPROM and shown as CURRENT
INC button (PA0)CURRENT increases (clamped at 255)
DEC button (PA1)CURRENT decreases (clamped at 0)
SAVE button (PA2)CURRENT written to EEPROM; SAVE_LED + buzzer confirm
READ button (PA3)SAVED re-read from EEPROM and displayed
CLEAR button (PA4)EEPROM and CURRENT reset to default (0); both LEDs + buzzer confirm

Display output is a 16x2 HD44780 LCD (RS=PD4, RW=PD5, EN=PD6, D4-D7=PC4-PC7 via the 16-pin header J1), showing:

text
CURRENT: 025
SAVED:   020

DISPLAY_MODE in firmware/include/config.h can be switched to DISPLAY_MODE_USART to print the same values over USART (9600 baud, 8N1, PD1/TXD) for bench testing without an LCD attached.

EEPROM layout

See documentation/eeprom_address_table.md.

Pin mapping

See documentation/pin_mapping_table.md.

SimulIDE simulation

simulide/circuit/EEPROM_Storage.sim1 mirrors the KiCad PCB wiring (4-bit LCD interface, RS/RW/EN on PD4-PD6, data lines on PC4-PC7) so the same firmware behaves identically in simulation and on hardware. Test results and screenshots for all required test cases are in documentation/test_results.md.

KiCad design

Schematic and PCB pass ERC and DRC with no violations (see documentation/erc_report.txt and documentation/drc_report.txt). Gerber and drill files are in kicad/gerber/.

Parts

26
QtyValueFootprintReferences
6SW_PushButton_Switch_THT:SW_PUSH_6mmCLEAR1, DEC1, INC1, READ1, SAVE1, SW6
3100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC1, C2, C6
2220 ΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
222pFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC3, C4
2LEDLED_THT:LED_D5.0mmERROR_LED1, SAVE_LED1
110KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
110kPotentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV1
110µFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC5
116MHzCrystal:Crystal_HC49-U_VerticalY1
11KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
133 ΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5
1ATmega32-16PPackage_DIP:DIP-40_W15.24mmU1
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1Conn_01x16Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_VerticalJ1
1DLED_THT:LED_D5.0mmD1
1Q_NPN_BCEPackage_TO_SOT_THT:TO-92_InlineQ1

Questions

How big is the ATmega32 EEPROM Storage PCB?

It measures 100 × 80 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ATmega32 EEPROM Storage use?

26 parts, built around the ATMEGA32-16PU. 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 ATmega32 EEPROM Storage KiCad files?

From the DINHO365/ATmega32_EEPROM_Data_Storage repository on GitHub, at the commit this page was made from: the board is kicad/pcb/ATmega32_EEPROM_Storage.kicad_pcb and its schematic kicad/schematic/ATmega32_EEPROM_Storage.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ATmega32 EEPROM Storage design in my own project?

Its repository states no licence, so its author keeps all rights: ask DINHO365 before reusing the design.

Similar boards

  • 2 layers73.7 × 83.8 mmFrontcontroller, the printed circuit board in 3D

    Frontcontroller

    ASURacingTeam/Formula-17-Class-1-Front-Controller-Arduino

    26 parts
  • 2 layers119.4 × 88.9 mmUSB MidiController, the printed circuit board in 3D

    USB MidiController

    derrudi187/USB-MidiController

    MidiController based on Atmel with V-USB powered by http://www.obdev.at/vusb/

    31 partsGPL-3.0
  • 2 layers189.2 × 124.5 mmSleipner, the printed circuit board in 3D

    Sleipner

    ekdennisek/gjallarhorn-sleipner

    A Eurorack compatible step sequencer

    129 partsGPL-3.0
  • 2 layersATMEGA 32 1, the printed circuit board in 3D

    ATMEGA 32 1

    ernest-czachorowski/Flood-Sensors-KiCad-Files

    This repository contains KiCad files for my master's thesis IoT infrastructure, which includes water leak detection sensors.

    74 partsMIT
  • 2 layers89.5 × 56.5 mmATmega Project, the printed circuit board in 3D

    ATmega Project

    ExzyteTheDude/ATmega32_Output_Compare_Wavefom_Generator

    20 parts
  • 2 layers149.9 × 106.7 mmCamera Stand, the printed circuit board in 3D

    Camera Stand

    hansajayathilaka/L1-Hardware-Project

    Level 1 hardware project robot

    40 parts
  • 2 layers168.5 × 160.6 mmAUTOMATIC LIGHT SENSOR, the printed circuit board in 3D

    AUTOMATIC LIGHT SENSOR

    josbertbaingana2002-bot/ATmega32_LDR_Automatic_Lighting

    Automatic Lighting System using ATmega32, LDR, KiCad and SimulIDE

    29 parts
  • 2 layers100 × 100 mmDevelopmentBoard, the printed circuit board in 3D

    DevelopmentBoard

    kernlpanic/devboard

    pcb design for a small devboard with ethernet and rs232

    59 parts