Skip to the content
PCBKitNew board
2 layers79.6 × 59.9 mmESP32 Weather Station, the printed circuit board in 3D

ESP32 Weather Station

anshukumar146/GitHub1

A compact, self-contained development board for the 8051 microcontroller family (AT89x51xxP), designed in KiCad — built to run 8051 firmware on the bench with nothing more than a barrel-jack power supply and a…

Size
79.6 × 59.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
57
Pads
188
Tracks, vias
459, 50
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 Jan 2026
Updated
7 Nov 2026

Overview

ESP32 Weather Station is an open-source printed circuit board by anshukumar146, from the anshukumar146/GitHub repository on GitHub. It is a 2-layer board of 79.6 × 59.9 mm with 34 parts on 57 nets, routed with 459 tracks and 50 vias.

It is built around the ESP32-S3-WROOM-1-N8, BMP280 and DHT11, with the SI1145-M01-GMR, AMS1117-3.3 and SK6812 among its other parts. Its parts include 10 capacitors, 7 resistors, 6 diodes, 5 ICs and 4 switches. It belongs with the home automation and IoT boards and the ESP32 boards of this library.

Main components

6

README

PCB_projects/KICAD/8051-Standalone-Dev-Board/README.md

🔌 8051 Standalone Dev Board

A compact, self-contained development board for the 8051 microcontroller family (AT89x51xxP), designed in KiCad — built to run 8051 firmware on the bench with nothing more than a barrel-jack power supply and a USB-to-serial adapter.

KiCad Status License PRs


📖 Project Overview

Purpose This repository contains the full KiCad design (schematic, PCB layout, and fabrication outputs) for a standalone 8051 development board. It's built around the classic AT89x51xxP DIP-40 microcontroller and includes on-board power regulation, a crystal oscillator, reset circuitry, and breakout headers — everything needed to power up and program an 8051 without any external dev kit.

Real-World Applications

  • A low-cost bring-up board for learning 8051 assembly/C and embedded fundamentals
  • A reference design for retro/classic MCU projects and hobbyist electronics
  • A base platform for simple I/O, UART, and I2C peripheral experiments
  • A teaching aid for university digital-electronics / microprocessor lab courses

Target Users

  • Students and hobbyists learning embedded systems on the 8051 architecture
  • Electronics enthusiasts who want a from-scratch, fully open PCB design to fabricate
  • Instructors needing a simple, reproducible 8051 lab board

📸 Preview

Schematic

(image)

PCB — Top

(image)

PCB — Bottom

(image)

3D View

(image)


✨ Features

✅ AT89x51xxP (8051-family) MCU in a socketed DIP-40 footprint ✅ On-board AMS1117-1.5 linear regulator for a clean 3.3V rail ✅ 11.0592 MHz crystal oscillator — the standard frequency for accurate UART baud rates ✅ Barrel-jack power input with a physical power switch ✅ Reset push-button with pull-up resistor network ✅ Status LED with current-limiting resistor ✅ Breakout headers for 5V, 3V3, GND, UART, and I2C ✅ 2-layer PCB, fully routed with complete Gerber/drill fabrication output


🛠️ Technologies Used

CategoryDetails
EDA ToolKiCad 10.0.0
MCUAT89x51xxP (8051 core, DIP-40)
RegulatorAMS1117-1.5 (SOT-223)
Board2-layer, 1.6 mm thickness, ~54.6 mm × 52.3 mm
Manufacturing OutputGerber (RS-274X) + Excellon drill files, ready for fab
Version ControlGit & GitHub

📂 Repository Structure

text
8051_Standalone_Dev_Board/
├── README.md
├── Images/
├── Schematic/
├── PCB/
├── Gerber/
├── BOM/
└── Datasheets/

Browse each folder directly on GitHub for the full contents:

  • Schematic/ — .kicad_sch source
  • PCB/ — .kicad_pcb layout + .kicad_pro project file
  • Gerber/ — Gerber (.gbr) and drill (.drl) fabrication output, plus the .gbrjob job file
  • BOM/ — Bill of materials
  • Datasheets/ — Component datasheets (MCU, regulator, etc.)
  • Images/ — Schematic, PCB, and 3D renders used in this README

⚙️ How It Works

  1. Power In — DC power enters through the barrel jack (J6), gated by an on-board switch.
  2. Regulation — The AMS1117-1.5 (U2) steps input voltage down to a clean, regulated 3.3V rail for the MCU and peripherals, with bulk/decoupling capacitors (C3, C7, C8) smoothing the supply.
  3. Clocking — An 11.0592 MHz crystal (X1) with its load capacitors (C1, C2) drives the AT89x51xxP's internal oscillator, giving accurate standard UART baud rates (e.g. 9600, 19200, 115200 bps derivatives).
  4. Reset — A push-button (SW1) with pull-up resistors (R2–R5) provides a manual reset path into the MCU's RST pin.
  5. I/O Breakout — Header pins expose 5V, 3V3, and GND rails (J1–J3), plus dedicated UART (J4) and I2C (J5) headers for connecting external modules, a USB-to-serial adapter, or a logic analyzer.
  6. Status Indication — An on-board LED (D1) with current-limiting resistor (R1) gives simple visual feedback (e.g. power or a GPIO-driven heartbeat).

🔍 Bill of Materials (Key Components)

RefPartValueFootprint
U1AT89x51xxP8051-family MCUDIP-40 (socketed)
U2AMS1117-1.53.3V LDO regulatorSOT-223
X1Crystal11.0592 MHzHC-49/U vertical
C1, C2Ceramic capacitor0.022 µFLoad caps for X1
C3, C7Electrolytic capacitor10 µFRegulator input/output
C4, C5, C6Ceramic capacitor100 nFDecoupling
C8Electrolytic capacitor100 µFBulk supply filtering
R1Resistor180 ΩLED current limit
R2–R5Resistor8.2 kΩReset pull-ups
D1LED5 mmStatus indicator
SW1Push-button6 mm THTReset
J1 / J2 / J31×3 pin header5V / 3V3 / GNDPower breakout
J41×4 pin headerUARTSerial breakout
J51×4 pin headerI2CI2C breakout
J6Barrel jack + switchDC power inPower input

(Full net-level detail lives in the schematic file under Schematic/.)


💻 Getting the Project Open

1. Clone the repository

bash
git clone https://github.com/anshukumar146/GitHub.git
cd GitHub/PCB_projects/KICAD/8051_Standalone_Dev_Board

2. Install KiCad (version 10 or later recommended)

bash
# Ubuntu/Debian
sudo apt install kicad

# macOS (via Homebrew)
brew install --cask kicad

# Windows
# Download the installer from https://www.kicad.org/download/

3. Open the project

bash
kicad 8051_Standalone_Dev_Board.kicad_pro

▶️ Building & Fabricating the Board

Option A — Use the pre-generated Gerbers The files in Gerber/ are ready to upload directly to any PCB fabricator (JLCPCB, PCBWay, OSH Park, etc.):

  1. Zip all .gbr and .drl files together.
  2. Upload the zip to your fab house's Gerber viewer/order page.
  3. Confirm the board outline, layer count (2), and dimensions (~54.6 mm × 52.3 mm, 1.6 mm thickness) match the preview.
  4. Place the order.

Option B — Regenerate Gerbers from source

  1. Open the .kicad_pcb file from PCB/ in KiCad's PCB Editor.
  2. Run File → Fabrication Outputs → Gerbers (and Drill Files) to regenerate output.
  3. Review the plot in File → Fabrication Outputs → Gerber Viewer before ordering.

🧑‍💻 Usage (After Assembly)

  1. Solder/populate components per the BOM above (MCU can be socketed for easy replacement).
  2. Connect a regulated DC supply to the barrel jack (J6) and flip the power switch.
  3. Program the AT89x51xxP with your 8051 firmware using your preferred external programmer connected via the socket.
  4. Use the UART header (J4) with a USB-to-serial adapter to communicate with the board at 9600/19200/115200 baud (enabled by the 11.0592 MHz crystal).
  5. Use the I2C header (J5) to attach sensors, EEPROMs, or other I2C peripherals.
  6. Press SW1 at any time to reset the MCU.

📊 Design Summary

  • Layers: 2 (F.Cu / B.Cu)
  • Board size: ≈ 54.6 mm × 52.3 mm
  • Thickness: 1.6 mm
  • Finish: None (as generated — set per fab house preference at order time)
  • Min track/clearance: 0.2 mm (per design rules in the Gerber job file)

🧭 Design Motivation

Most 8051 "getting started" boards are either bundled with proprietary programmers or buried inside larger, more expensive kits. This board strips things down to a minimal, breadboard-friendly reference design: drop in the MCU, apply power, and start experimenting with the 8051 instruction set, timers, UART, and I2C — with a fully open schematic and PCB layout anyone can inspect, modify, or fabricate themselves.


🚀 Future Improvements

  • Add an on-board USB-to-serial chip so no external adapter is needed
  • Add an ICSP/ISP-style header for in-circuit programming
  • Add silkscreen pin labels for all breakout headers
  • Consider a 4-layer variant for tighter routing and better ground return paths
  • Add mounting holes for enclosure compatibility
  • Add a schematic-level ERC/DRC report to the repo for reviewers

🎓 Learning Outcomes

By studying and building this project, you will learn:

  • How to design a minimal, standalone microcontroller board from schematic to fabrication
  • Power regulation basics: selecting and decoupling an LDO regulator
  • Crystal oscillator circuit design, including load capacitor selection
  • Reset circuit design with pull-up resistor networks
  • Breaking out UART and I2C for external peripheral communication
  • Reading and generating Gerber/Excellon fabrication files from KiCad
  • PCB layout fundamentals on a 2-layer board (routing, layer stack, board outline)

🧩 Skills Demonstrated

  • Schematic Capture & Electrical Design (KiCad)
  • PCB Layout & Routing
  • Power Supply / LDO Regulator Design
  • Crystal Oscillator Circuit Design
  • Fabrication Output Generation (Gerber/Excellon)
  • Embedded Hardware Documentation

👤 Author

Name: Anshu Kumar GitHub: @anshukumar146 LinkedIn: (add your LinkedIn URL here) Email: (add your email here)


📜 License

This project is licensed under the MIT License.

text
MIT License

Copyright (c) 2026 Anshu Kumar

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🙏 Acknowledgements

  • Microchip's AT89x51xxP datasheet for MCU electrical and pinout reference
  • The KiCad project and community libraries for schematic symbols and footprints
  • The open-source hardware community for encouraging fully documented, reproducible PCB designs

⭐ If you found this repository helpful, consider giving it a star!

Parts

34
QtyValueFootprintReferences
50u1FCapacitor_SMD:C_0805_2012MetricC1, C6, C8, C10, C11
410KResistor_SMD:R_0805_2012MetricR1, R5, R6, R7
410uFCapacitor_SMD:C_0805_2012MetricC2, C4, C5, C7
4SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_E-Switch_TL3301NxxxxxGSW1, SW2, SW3, SW4
3 Diode_SMD:D_SOD-882D2, D3, D4
25K1Resistor_SMD:R_0805_2012MetricR2, R3
11N5819Diode_SMD:D_SOD-123D1
11uFCapacitor_SMD:C_0805_2012MetricC3
175Resistor_SMD:R_0805_2012MetricR4
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U4
1BMP280Package_LGA:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumberingU6
1DHT11Sensor:Aosong_DHT11_5.5x12.0_P2.54mmU3
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U1
1LEDLED_SMD:LED_0805_2012MetricD6
1SI1145-M01-GMRSI1145-M01-GMR:XDCR_SI1145-M01-GMRU2
1SK6812LED_SMD:LED_SK6812_PLCC4_5.0x5.0mm_P3.2mmD5
1TFTLCDS2Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1USB_CConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

Questions

How big is the ESP32 Weather Station PCB?

It measures 79.6 × 59.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ESP32 Weather Station use?

34 parts, built around the ESP32-S3-WROOM-1-N8, BMP280, DHT11 and SI1145-M01-GMR. 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 ESP32 Weather Station KiCad files?

From the anshukumar146/GitHub repository on GitHub, at the commit this page was made from: the board is PCB_projects/KICAD/ESP32_Weather_Station/ESP32_Weather_Station.kicad_pcb and its schematic PCB_projects/KICAD/8051-Standalone-Dev-Board/8051_Standalone_Dev_Board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESP32 Weather Station design in my own project?

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

More from anshukumar146/GitHub

3
  • 4 layers140.7 × 128.5 mmPIC DEV BOARD, the printed circuit board in 3D

    PIC DEV BOARD

    anshukumar146/GitHub

    A compact, self-contained development board for the 8051 microcontroller family (AT89x51xxP), designed in KiCad — built to run 8051 firmware on the bench with nothing more than a barrel-jack power supply and a…

    102 parts1
  • 4 layers39.9 × 58.5 mmESP32 4Layer, the printed circuit board in 3D

    ESP32 4Layer

    anshukumar146/GitHub

    A compact, self-contained development board for the 8051 microcontroller family (AT89x51xxP), designed in KiCad — built to run 8051 firmware on the bench with nothing more than a barrel-jack power supply and a…

    34 parts1
  • 2 layers54.5 × 52.3 mm8051 Standalone Dev Board, the printed circuit board in 3D

    8051 Standalone Dev Board

    anshukumar146/GitHub

    A compact, self-contained development board for the 8051 microcontroller family (AT89x51xxP), designed in KiCad — built to run 8051 firmware on the bench with nothing more than a barrel-jack power supply and a…

    24 parts1

Similar boards

  • 4 layers60 × 60 mmRocket payload, the printed circuit board in 3D

    Rocket payload

    Gupatron/Gupsfirstpcb

    This is the first pcb that I will manufacture and intend to use for teleop usecases in my personal projects.

    138 parts
  • 2 layers58.5 × 31 mmEsp32-weather kit, the printed circuit board in 3D

    Esp32-weather kit

    zephyr-atomi/esp32-weather-kit

    Hands-on ESP32 sensor kit for learning embedded communication protocols — I2C, SPI, UART

    36 partsApache-2.0
  • 2 layers85.1 × 65.4 mmTx module, the printed circuit board in 3D

    Tx module

    koushik12328/Smart_mining_helmet

    An ESP32-powered safety helmet featuring gas detection, impact sensing, and IoT connectivity

    27 partsMIT
  • 4 layers57.1 × 33.9 mmSabiaR1 v2, the printed circuit board in 3D

    SabiaR1 v2

    CarloCBragagnolo/SABIAR1

    Project files for the Sabiá R1 flight computer

    64 partsGPL-3.0
  • 2 layers140 × 80 mmAviCDEsp32, the printed circuit board in 3D

    AviCDEsp32

    kimsj5025/AviCDEsp32

    AviCDEsp32를 제작할 때 사용했던 회로도, PCB 레이아웃, 거버파일, 소스코드 입니다.

    59 parts
  • 2 layers155.1 × 122 mmKiCad Main, the printed circuit board in 3D

    KiCad Main

    mgiesen/Magic-Tabmount

    Der "Magic Tabmount" ist eine smarte Wandhalterung für das iPad (Generation 5 bis 9). Durch ein integriertes Magnetsystem kann das iPad mit einem Handgriff an der Wand befestigt oder wieder entfernt werden.

    55 parts1
  • 2 layers46.2 × 44.1 mmGet smart controller, the printed circuit board in 3D

    Get smart controller

    demonday/get-smart-controller

    GET Smart Lighting Controller (433 Mhz FSK) based on ESP32S3 with RA-02 module.

    22 parts
  • 2 layers95 × 57 mmSnakeCYD, the printed circuit board in 3D

    SnakeCYD

    Nadoooor/SnakeCYD

    a custom CYD, all in an PCB with snake style

    39 partsMIT