

OccupancySensorBoard
Occupancy Sensor implementation with Matter
- Size
- 54.8 × 78 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 5
- Nets
- 30
- Pads
- 60
- Tracks, vias
- 201, 59
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 29 Nov 2024
- Updated
- 29 Nov 2024
Overview
OccupancySensorBoard is an open-source printed circuit board by matthewgperry, from the matthewgperry/cs4220-finalProject repository on GitHub. It is a 2-layer board of 54.8 × 78 mm with 5 parts on 30 nets, routed with 201 tracks and 59 vias.
It belongs with the ESP32 boards of this library.
README
README.mdReal-Time Embedded Systems (CS 4220/6235) Final Project - Fall 2024
Overview
This repository contains the hardware schematics (PCB design files) in occupancySensorBoard, the initial Arduino scripts in arduino, and the ESP32 firmware in firmware.
The firmware defines an occupancy sensor with the DFRobot C4001 MM-Wave sensor with the Matter standard.
Setup
Note: The ESP-IDF has an unresolved bug, requiring a manual workaround. The bug I experienced is described here.
-
Choose an install method for the ESP-IDF. I used the Linux install method. Follow the instructions here.
-
Install ESP-Matter.
-
Clone this repository.
-
Source the ESP-IDF and ESP-Matter environment variables.
-
Navigate to the
firmwaredirectory. -
Run
idf.py set-target esp32c6to set the target board to the ESP32-C6. -
Run
idf.py menuconfigto configure the firmware (WiFi setup, flash size, etc). -
Run
idf.py buildto build the firmware.
PCB Production
The PCB design files are in the occupancySensorBoard directory. The PCB was designed in KiCad.
The PCB was produced by JLCPCB. The Gerber, BOM, and CPL files are in the occupancySensorBoard/jlcpcb directory.
Parts
5| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | Breakout Header | Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical | J5 |
| 1 | Esp32 Header1 | Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_Vertical | J1 |
| 1 | Esp32 Header2 | Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_Vertical | J2 |
| 1 | PIR Header | Connector:917-47-103-41005000 | J4 |
| 1 | mmWave Header | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J3 |
Similar boards
- 2 layers98 × 27 mm

- 2 layers21 × 33 mm

24g2usb pico2w
joypad-ai/joypad-os
Universal controller firmware for building adapters, dongles, and custom controllers.
5 parts1.7kApache-2.0 - 2 layers53.2 × 59.6 mm

A10 OLinuXino Lime Rev B SHIELD TEMPLATE
OLIMEX/OLINUXINO
OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C
5 parts1.5k - 2 layers30 × 11 mm

Main control board servo tester
jamro/tiny-engineer
A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.
5 parts1.1k - 2 layers78.8 × 35.3 mm

KiCadTest
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
5 parts915 - 2 layers50 × 23 mm

- 2 layers43.2 × 28.5 mm

- 2 layers20.3 × 15.2 mm

L0 light sensor
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
5 parts546MIT
Questions
How big is the OccupancySensorBoard PCB?
It measures 54.8 × 78 mm and has 2 copper layers, 1.6 mm thick.
What parts does the OccupancySensorBoard use?
5 parts. 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 OccupancySensorBoard KiCad files?
From the matthewgperry/cs4220-finalProject repository on GitHub, at the commit this page was made from: the board is occupancySensorBoard/occupancySensorBoard.kicad_pcb and its schematic occupancySensorBoard/occupancySensorBoard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the OccupancySensorBoard design in my own project?
Its repository states no licence, so its author keeps all rights: ask matthewgperry before reusing the design.