

Nucleo shield pcb
An autonomous, reactive, and expressive robotic companion built with an ESP32-CAM and STM32 Nucleo.
- Size
- 70 × 57 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 19
- Nets
- 83
- Pads
- 142
- Tracks, vias
- 297, 17
- Pours
- 9
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 7 Jul 2026
- Updated
- 5 Aug 2026
Overview
Nucleo shield pcb is an open-source printed circuit board by PedroTorrado, from the PedroTorrado/Project_Mimir repository on GitHub. It is a 2-layer board of 70 × 57 mm with 19 parts on 83 nets, routed with 297 tracks and 17 vias.
It is built around the ESP32-CAM, ADXL345-EP and HC-SR04. Its parts include 6 connectors, 4 ICs, 3 switches and 1 diode. It belongs with the ESP32 and RISC-V boards of this library.
Main components
3README
README.mdProject Mimir
An autonomous, reactive, and expressive robotic companion built with an ESP32-CAM and STM32 Nucleo.
ᛗ Runic Symbolism
The project logo features the Norse rune Mannaz (ᛗ) representing humanity and the mind, combined with a central camera lens. This symbolizes the camera's core objective: searching for, tracking, and identifying human faces. The name Mimir refers to the wise Norse sentinel head whose well guards Odin's sacrificed eye.
Features
- Neural Network Face Tracking: Uses the ESP32-CAM to detect faces and dynamically tracks them using a Proportional-Integral (PI) motor loop.
- SD Card Wi-Fi Loader & OLED Selector Menu: Reads custom networks on-the-fly from
/wifi.txton a MicroSD card. Allows interactively scanning and joining networks via the Nucleo OLED screen and button long-press. - Dynamic Telemetry Refresh Rate: Switch between Eco (5s) and Turbo (1s) refresh modes directly from the web dashboard to control cloud costs or increase responsiveness.
- Startup Link Verification: Automatic serial handshake (
PING/PONG) on boot to visually confirm TX/RX wire integrity. - Emotion Engine: A state machine that gives the robot a personality (Happy, Searching, Dizzy, Angry) based on sensor inputs.
- Sensory Suite: Monitors room air quality (SGP30) and avoids collisions with ultrasonic sonar (HC-SR04).
- Cloud Telemetry: Streams data to AWS IoT Core over MQTT.
Expressive Personalities
Project Mimir uses its SSD1306 OLED display to express its emotions dynamically based on sensor inputs:
HAPPY (Tracking)
▄█▄ ▄█▄
▄██▀██▄ ▄██▀██▄
▄██▀ ▀██ ▄██▀ ▀██
█▀ ▀ █▀ ▀
█▄ ▄
▀██▄ ▄██
▀██▄ ▄██▀
▀██▄ ▄██▀
▀██▄ ▄██▀
▀███▀
▀ANGRY (Obstacle Alert)
▄█ █▄
▄█▀ ▀██▄
▄█▀ ▀██▄
▄█▀ ▀██▄
▄█▀ ▀██▄
██████████ ███████████
██████████ ██████████
██████████ ██████████
██████████ ██████████
██████████ ██████████
██████████DIZZY (Jerk/Bump)
▀▄ ▄ ▀▄ ▄
▀▄ █ ▀▄ █
▀▄ █ ▀▄ █
▀▄ █ ▀▄ █
▀▄█ ▀▄█
█▄ █▄
█ ▀▄ █ ▀▄
█ ▀▄ █ ▀▄
█ ▀▄ █ ▀▄
█ ▀▄ █ ▀▄
▀ ▀
██ ██
███ ███Documentation
Please refer to the docs/ folder for comprehensive setup instructions:
- System Architecture: Overview of the dual-microcontroller setup and data flow.
- Wiring Guide: Detailed pin-to-pin wiring for all hardware components.
- AWS IoT Setup Guide: Instructions on provisioning cloud certificates and policies.
Repository Structure
/ESP32_CAM: Arduino IDE project for the ESP32-CAM vision coprocessor./Nucleo_F411RE: STM32CubeIDE project for the Nucleo master controller./docs: Architecture diagrams and hardware setup guides.
Quick Start
- Copy
.env.exampleto.envand fill in your WiFi and AWS credentials. - Copy
ESP32_CAM/secrets.h.exampletoESP32_CAM/secrets.hand paste your certificates. - Flash the ESP32 using the Arduino IDE.
- Build and flash the Nucleo using STM32CubeIDE.
- Refer to
docs/wiring_guide.mdfor physical hardware connections.
Parts
19| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | CK_KMS2xxGP | Button_Switch_SMD:SW_SPST_PTS645Sx43SMTR92 | SW1, SW2, SW3 |
| 3 | MountingHole | MountingHole:MountingHole_3.2mm_M3_ISO14580 | H2, H3, H4 |
| 1 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D2 |
| 1 | ADXL345 | components:MODULE_SEN-09836 | U2 |
| 1 | CN10 | Connector_PinSocket_2.54mm:PinSocket_2x19_P2.54mm_Vertical | J2 |
| 1 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_1.00mm:PinHeader_1x03_P1.00mm_Vertical | J5 |
| 1 | Conn_01x04_Socket | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J4 |
| 1 | Conn_01x06_Pin | Connector_PinHeader_1.27mm:PinHeader_1x06_P1.27mm_Vertical | J6 |
| 1 | Conn_02x19_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x19_P2.54mm_Vertical | J1 |
| 1 | DM-OLED096-636 | components:MODULE_DM-OLED096-636 | U4 |
| 1 | ESP32-CAM | components:ESP32-CAM | U1 |
| 1 | HC-SR04 | components:XCVR_HC-SR04 | U3 |
| 1 | LOGO | components:mimir | G*** |
The 18 most common of 19 parts.
Similar boards
- 2 layers85 × 105 mm

- 4 layers42 × 42 mm

- 2 layers97 × 77.5 mm

ESPlant
CCHS-Melbourne/ESPlant
Environmental Sensor Plant - solar WiFi gardening/meteorological sensor using ESP8266
77 parts37 - 2 layers65 × 56 mm

- 2 layers61.3 × 89.6 mm

QuakeGuard PCB
GiZano/QuakeGuard
Distributed Earthquake Early Warning (EEW) system built on low-cost ESP32-C3 IoT sensors with Zero-Trust security, multi-node epicenter triangulation, and on-premise AI emergency reports.
17 parts24AGPL-3.0 - 6 layers60 × 60 mm

High Temp Load Cell Toolhead Board
garethky/ADS1220-Klipper-Board
A board for connecting up to 4 Load cells to an ADS1220
125 parts23GPL-3.0 - 2 layers184.2 × 71.2 mm

- 2 layers112 × 62 mm

Questions
How big is the Nucleo shield pcb PCB?
It measures 70 × 57 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Nucleo shield pcb use?
19 parts, built around the ESP32-CAM, ADXL345-EP 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.
Where can I download the Nucleo shield pcb KiCad files?
From the PedroTorrado/Project_Mimir repository on GitHub, at the commit this page was made from: the board is CAD/ecad/nucleo_shield_pcb.kicad_pcb and its schematic CAD/ecad/nucleo_shield_pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Nucleo shield pcb design in my own project?
Its repository states no licence, so its author keeps all rights: ask PedroTorrado before reusing the design.