
EnvMonitor
kennySzhucheng/EnvMonitor
🌡️ 智能环境监测站 | STM32F103C8T6 + FreeRTOS + ESP8266 | 温湿度/光照/测距/OLED菜单/ThingSpeak上云 | 从裸机到RTOS到KiCad PCB全流程

ATmega328P-based Reverse Parking Sensor with Custom PCB, Arduino Firmware, KiCad Design and Wokwi Simulation.
Mini Reverse Parking Sensor is an open-source printed circuit board by Akinlatauto19, from the Akinlatauto19/Mini-Reverse-Parking-Sensor repository on GitHub. It is a 2-layer board of 130 × 90 mm with 20 parts on 32 nets, routed with 292 tracks and 52 vias.
It is built around the ATMEGA328P-PU and HC-SR04. Its parts include 5 capacitors, 4 resistors, 3 connectors, 1 IC and 1 switch. It belongs with the sensors and measurement boards and the AVR (ATmega, ATtiny) boards of this library.
A custom ATmega328P-based Reverse Parking Sensor designed using PlatformIO, the Arduino Framework, KiCad, and Wokwi Simulation.
The Mini Reverse Parking Sensor is an embedded systems project designed to assist drivers during reverse parking by detecting nearby obstacles using an HC-SR04 ultrasonic sensor.
The system continuously measures the distance between the vehicle and obstacles, providing both visual feedback through LEDs and audible warnings using a buzzer. The project demonstrates the complete embedded systems development workflow, including firmware development, schematic capture, PCB design, simulation, and manufacturing preparation.
| Component | Description |
|---|---|
| ATmega328P | Main Microcontroller |
| HC-SR04 | Ultrasonic Distance Sensor |
| LEDs | Distance Indicators |
| Piezo Buzzer | Audible Warning |
| AVR ISP Header | Programming Interface |
| UART Header | Serial Communication |
| Capacitors | Power Supply Filtering |
| Resistors | Current Limiting |





You can run the complete project online using Wokwi.
🔗 Project Link
https://wokwi.com/projects/470446346962711553
The simulation allows you to:
Mini-Reverse-Parking-Sensor/
│
├── src/
├── include/
├── platformio.ini
│
├── hardware/
│ ├── KiCad_Project/
│ └── Gerbers/
│
├── Simulation/
│ └── README.md
│
├── Images/
│ ├── schematic.png
│ ├── pcb_layout.png
│ ├── pcb_3d_front.png
│ ├── pcb_3d_back.png
│ └── wokwi_simulation.png
│
└── README.mdThe PCB was designed using KiCad 10.
Production-ready Gerber files are available in:
hardware/Gerbers/These files can be uploaded directly to PCB manufacturers such as:
Future versions of this project may include:
Akinkunmi Akindolapo
GitHub:
https://github.com/Akinlatauto19
This project was developed as part of my continuous learning journey in Embedded Systems, PCB Design, and Automotive Electronics.
"Every great embedded system starts with an idea, a schematic, and the determination to keep improving."
| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 220 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R3, R4 |
| 2 | 22pF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C2, C3 |
| 1 | 100nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C1 |
| 1 | 100nF AVCC Decoupling | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C5 |
| 1 | 10k Reset Pull-up | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | 10uF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C4 |
| 1 | ATmega328P-P | Package_DIP:DIP-28_W7.62mm | U1 |
| 1 | AVR_ISP | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J2 |
| 1 | Crystal | Crystal:Crystal_HC49-U_Vertical | 16MHZ1 |
| 1 | HC-SR04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | ULTRASONIC1 |
| 1 | LED_GREEN | LED_THT:LED_D5.0mm | GREEN1 |
| 1 | LED_RED | LED_THT:LED_D5.0mm | RED1 |
| 1 | LED_YELLOW | LED_THT:LED_D5.0mm | YELLOW1 |
| 1 | PIEZO BUZZER | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | UART | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | USB_B_Micro | Connector_USB:USB_Micro-B_Molex-105017-0001 | J1 |
It measures 130 × 90 mm and has 2 copper layers, 1.6 mm thick.
20 parts, built around the ATMEGA328P-PU and HC-SR04. 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.
From the Akinlatauto19/Mini-Reverse-Parking-Sensor repository on GitHub, at the commit this page was made from: the board is Hardware/KiCad_Project/Mini_Reverse_Parking_Sensor.kicad_pcb and its schematic Hardware/KiCad_Project/Mini_Reverse_Parking_Sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Akinlatauto19 before reusing the design.

kennySzhucheng/EnvMonitor
🌡️ 智能环境监测站 | STM32F103C8T6 + FreeRTOS + ESP8266 | 温湿度/光照/测距/OLED菜单/ThingSpeak上云 | 从裸机到RTOS到KiCad PCB全流程


NikolaiRadke/Noko_2
The do-it-yourself Arduino-based Noko monster. Version 2 with PCB and 3D printed casing.

billtsol/Maze
This project demonstrates how to use an Arduino board, IR sensors, and a motor driver shield to create a maze-solving robot.

c-lydia/ESP-ROS2
A tiny robot with IMU (MPU5060) and an ultrasonic sensor (HC-SR04), running on micro-ROS, communicating over UDP.

dbrgn/crazyflie2-hcsr04
Ultrasonic sensor (HC-SR04) extension board for the Crazyflie 2.0

YousefAliAicha/aegis-embedded-system
Networked rotating ultrasonic radar system built on the Deneyap Kart 1A (ESP32-S3), with a real-time web dashboard served directly from the board.

YousefAliAicha/sentinel-arduino-firmware
Adaptive traffic-light FSM on the Arduino UNO R3 — pedestrian preemption, LDR-gated night mode with HC-SR04 vehicle detection, and a multiplexed 7-segment countdown. Fully non-blocking.