

reverie hacks submission
- Size
- 0.5 × 31.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 14
- Nets
- 58
- Pads
- 133
- Tracks, vias
- 377, 16
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 2 Aug 2026
- Updated
- 7 Aug 2026
Overview
Envinode is an open-source printed circuit board by aneeshlingala, from the aneeshlingala/FirstResponderSystem repository on GitHub. It is a 2-layer board of 0.5 × 31.1 mm with 14 parts on 58 nets, routed with 377 tracks and 16 vias.
It is built around the ESP32-WROOM-32E-N8, BME280 and BME680, with the ADXL345BCCZ-RL7, AP2112K-3.3TRG1 and RFM95W-915S2 among its other parts. Its parts include 8 ICs, 2 capacitors and 2 switches. It belongs with the ESP32 boards of this library.
Main components
12ESP32-WROOM-32E-N8
SMD,25.5x18mm-40℃~+85℃ -98dBm 112mA 2.4GHz 20dBm 239mA 3V~3.6V Bluetooth4.2 ESP32-DOWD-V3 On-board PCB Antenna UART、SDIO、SPI、I2C、GPIO、PWM、I2S SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesBME280
LGA-8(2.5x2.5)-40℃~+85℃ 0%RH~100%RH 1.71V~3.6V 1.8uA 16bit I2C、SPI ±0.5℃ ±3%RH LGA-8(2.5x2.5) Temperature and Humidity Sensor ROHSBoschTemperature And Humidity SensorBME680
LGA-8-40℃~+85℃ 0.12hpa 0.6hpa 1.3pa/K 1.71V~3.6V 150nA 30Kpa~1.1bar I2C、SPI Temperature Sensor LGA-8 Pressure Sensors ROHSBosch SensortecPressure SensorsADXL345BCCZ-RL7
LGA-14(3x5)-40℃~+85℃ 100nA 16bit 2V~3.6V Accelerometer SPI、I2C X,Y,Z ±16g 运动事件检测 LGA-14(3x5) Accelerometers ROHSAnalog DevicesAccelerometersAP2112K-3.3TRG1
SOT-25-5-40℃~+85℃@(Ta) 1 250mV@(600mA) 3.3V 50uVrms 55uA 600mA 65dB@(1kHz) 6V Fixed Over Current Protection、Thermal Shutdown、Enable control Positive SOT-25-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSDiodes IncorporatedVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsRFM95W-915S2
LCC-16_16X16mmLCC-16_16X16mm New Arrivals ROHSHopeRF Micro-electronicsUncategorisedS2B-PH-K-S(LF)(SN)
弯插,P=2mm-25℃~+85℃ 1 100V 1x2P 2 2A 2P 2mm 4.8mm 5.9mm 7.6mm Brass K Pin PA66 PH Right Angle Tin UL94V-0 White 弯插,P=2mm Wire To Board Connector ROHSJSTWire To Board ConnectorTP4056-42-ESOP8
ESOP-8-40℃~+85℃ 1 1A 2uA 4.2V 4V~8V Charging IC Lithium Battery Support ESOP-8 Battery Management ROHSTOPPOWERBattery ManagementTS-1088-AR02016
SMD,4x3mm-30℃~+80℃ 1.6N 100,000 cycles 12V 2mm 3.9mm 3mm 50mA Black Round Button SMD(SMT) Tab SPST Surface Mount,Vertical Without Bracket SMD,4x3mm Tactile Switches ROHSXUNPUTactile SwitchesCC0603KRX7R9BB104
0603100nF 50V X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSYAGEOMultilayer Ceramic Capacitors MLCC - SMD/SMTMICRO5.9MMUSB
SMD-30℃~+80℃ 1 1.8A 3,000 Cycles 30V 5.63mm 5P Black Female Micro-B Surface Mount, Right Angle USB 2.0 SMD USB Connectors ROHSSHOU HANUSB ConnectorsU.FL-R-SMT-1(10)
SMD-40℃~+90℃ 1 1.25mm 2mm 50Ω 6GHz Board Side IPEX Male Pin SMD Coaxial Connectors (RF) ROHSHirose ElectricCoaxial Connectors (RF)
README
readme.mdTech Report Link: https://github.com/aneeshlingala/FirstResponderSystem/blob/main/tech_report_reverie_hacks_final.pdf
PROBLEM
During major disasters, first responders (police, fire, medical) do not have a reliable way to track their environment, find survivors, and receive information in real time. Existing systems can be expensive, hard to deploy, or require additional personnel to operate, wasting manpower that can be used from more urgent tasks.
SOLUTION
The FirstResponderSystem uses cheap to manufacture, durable, and easy-to-deploy custom-made PCBs that create a centralized long-range radio network suited for emergencies instead of relying on broken or buggy connection systems (WiFi, Mobile Data, etc). By providing real-time sensor data and survivor detection, FirstResponderSystem allows emergency personnel to analyze dangerous conditions, locate any survivors, and make safe decisions while allowing responders to work on more urgent things. The data can also be sent to other organizations to relay information to people in the area, declare evacuations/emergencies, and more. The survivor node can be put in rubble to detect survivors, while the environmental node can be put in various parts of the disaster area. Multiple survivor and environmental nodes can be used at once.
CONTENTS OF GITHUB REPO
-
Survivor PCB
- This PCB utilizes the cheap ATTINY16-14 MCU and utilizes Doppler Radars, Distance Sensors, and Infrared cameras to detect survivors trapped under rubble or other items. It broadcasts its data using an RFM95W LoRa transceiver (receiver and transmitter) on 915mHz. It is battery powered and uses a u.FL port for the antenna.
-
Environmental PCB
- This PCB utilizes the cost-friendly ESP32 MCU and uses Bosch BME280 and BME680 Sensors to capture data about the environment. It also uses AQI, VOC, and other environmental sensors. It broadcasts its data using an RFM95W LoRa module on 915mHz, with a u.FL antenna port. It is battery powered.
-
Broadcast PCB
- This PCB uses the cheap ATTINY16-14 MCU and receives data from the other two PCBS using the RFM95W LoRa transceiver. It takes the information received and sends it over Serial on Micro-USB to a computer to read. It is powered by the Micro-USB port.
-
Computer Software
- The computer software includes a .py file for universal execution, as well as a .exe file generated by py2exe for quick use. The software is able to detect packets sent by the Broadcast PCB over serial and has an interface to select the COM port to read from. Once detected, it lists all the PCBS and shows info if you click on the names of the PCBS. It classifies the PCB as either ENV (environmental) or SRV (survivor detection). It shows all the info recorded by both PCBS. There is also a DEMO mode, which populates the user interface with "fake" broadcasting PCBS for showing at events or getting used to the interface.
INFO
The PCBS were made in KiCAD 10 with footprints and symbols from LCSC, bundled KiCAD files, and SnapEDA.
All of the PCBS come with images:
- Image of the schematic
- Image of the PCB top-down
- Image of the PCB in 3D view
All of the PCBS come with code made in PlatformIO in VSCode. The programming language used to make the code is C++. The code successfully compiles with the firmware file in the .pio/build/[MCU NAME]/ and uses a good amount of 3rd-party libraries to interface with various components.
The folders inside the survivornode, broadcastnode, or environmental node are structured as follows:
- The pcb_code folder includes the PCB Code written in C++.
- The pcb_images folder includes images of the schematic, PCB top-down, and the PCB in 3D.
- The pcb_data folder includes KiCAD files for opening the PCB in KiCAD. It also includes the Bill of Materials (BOM) and component positions CSV as well as the Gerber files in a zip.
The computer_code folder has a reciever.exe file for running on Windows without any dependencies being required to be installed. The reciever.py file can be run universally and requires Tkinter (already installed on most Python distributions), pyserial, and Python 3.13+ to run.
WHAT I LEARNED
I learned how to make PCBs in KiCad 10 with proper symbols and footprints. I also learned how to use the design and electrical rules checker to make sure my project met all of the rules.
CHALLENGES I FACED
Some challenges I faced included having issues with footprint/symbol quality, finding proper footprints for some of my component choices, and exporting gerbers. I solved these issues by searching up solutions online and using external plugins to export gerbers properly since it was bugged out with LCSC symbols.
DIAGRAM
Parts
14| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | TS-1088-AR02016 | easyeda2kicad:SW-SMD_L3.9-W3.0-P4.45 | SW1, SW2 |
| 1 | ADXL345BCCZ-RL7 | easyeda2kicad:LGA-14_L5.0-W3.0-P0.80-BL | U3 |
| 1 | AP2112K-3.3TRG1 | easyeda2kicad:SOT-25-5_L2.9-W1.6-P0.95-LS2.8-BL | U8 |
| 1 | BME280 | easyeda2kicad:LGA-8_BME280_BL | U2 |
| 1 | BME680 | Package_LGA:Bosch_LGA-8_3x3mm_P0.8mm_ClockwisePinNumbering | U5 |
| 1 | CC0603KRX7R9BB104 | easyeda2kicad:C0603 | C1 |
| 1 | CL10A105KB8NNNC | easyeda2kicad:C0603 | C2 |
| 1 | ESP32-WROOM-32E | easyeda2kicad:WIFI-SMD_ESP32-WROOM-32E | U1 |
| 1 | MICRO5.9MMUSB | easyeda2kicad:MICRO-USB-SMD_5P-P0.65-H-F_MICRO5.9MMUSB | USB1 |
| 1 | RFM95W-915S2 | easyeda2kicad:WIRELM-SMD_16P-L16.0-W16.0-P2.00_LORA-CC68-915MHZ-TCXO | U4 |
| 1 | S2B-PH-K-S | easyeda2kicad:CONN-TH_S2B-PH-K-S-LF-SN | U7 |
| 1 | TP4056 | easyeda2kicad:ESOP-8_L4.9-W3.9-P1.27-LS6.0-BL-EP | U6 |
| 1 | U.FL-R-SMT-1 | easyeda2kicad:ANT-SMD_UFL-R-SMT-1-10 | JP1 |
More from aneeshlingala/FirstResponderSystem
2- 2 layers56 × 75 mm

- 2 layers36 × 34.8 mm

Similar boards
- 4 layers32.4 × 40.2 mm

Smartwatch
Pedro-Seixas/Smartwatch
A custom-designed smartwatch built around the ESP32-S3, combining BLE connectivity, a rectangular touch display, recharge capability, IMU and temperature sensors. Designed from the ground up in KiCad.
55 partsMIT - 2 layers50 × 145 mm

SmartRemote
Circuit-Digest/Smart-Universal-Remote-with-Learning-function-and-Google-Assistant-Support
Smart Universal Remote with Learning function and Google Assistant Support
75 parts3 - 2 layers37 × 37 mm

F7FC
Momozavur/F7FC-V0.1
Open the appropriate .kicadpro file in KiCad; .pro entries are legacy projects. Keep schematics, boards, local libraries, library tables, and supporting files together.
69 parts - 12 layers230 × 225 mm

Fast open switch r1.0
PCB-Arts/fast-open-switch-hardware
KlusterLab is an open FPGA development platform designed for experimenting with high-speed interfaces and formally verified IP cores.
909 parts15 - 2 layers99 × 90 mm

- 2 layers30 × 30 mm

ADXL PCB
EmielV2002/Inputshaper-PCB
A PCB to automatically tune your inputshaper settings.
60 parts2MIT - 2 layers67.1 × 88.4 mm

DE429 001 INSTALL
Purdue-Northwest-Vibration-Anaylsis/Purdue-Northwest-Vibration-Analysis
Vibration analysis senior design project for purdue northwest.
48 parts2 - 4 layers52 × 36 mm

Questions
How big is the Envinode PCB?
It measures 0.5 × 31.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Envinode use?
14 parts, built around the ESP32-WROOM-32E-N8, BME280, BME680 and ADXL345BCCZ-RL7. 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 Envinode KiCad files?
From the aneeshlingala/FirstResponderSystem repository on GitHub, at the commit this page was made from: the board is environmentalnode/pcb_data/envinode.kicad_pcb and its schematic broadcastnode/pcb_data/broadcastnode.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Envinode design in my own project?
Its repository states no licence, so its author keeps all rights: ask aneeshlingala before reusing the design.