Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cbe4a3dfd | ||
|
|
98fa0d84b9 | ||
|
|
c131a97ac4 |
54
poe-variant/BOM.csv
Normal file
54
poe-variant/BOM.csv
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
Reference,Value,Footprint,JLCPCB_Part,Quantity,Description,Unit_Price_Est
|
||||||
|
U3,ESP32-S3-WROOM-1-N16R8,RF_Module:ESP32-S3-WROOM-1,C2913202,1,WiFi+BLE MCU 16MB Flash 8MB PSRAM,$2.80
|
||||||
|
U2,AMS1117-3.3,Package_TO_SOT_SMD:SOT-223-3_TabPin2,C6186,1,3.3V LDO Regulator 1A,$0.08
|
||||||
|
U4,AP2112K-1.8,Package_TO_SOT_SMD:SOT-23-5,C51118,1,1.8V LDO camera DOVDD,$0.10
|
||||||
|
U5,AP2112K-2.8,Package_TO_SOT_SMD:SOT-23-5,C51114,1,2.8V LDO camera AVDD,$0.10
|
||||||
|
U6,SHT41,Sensirion_DFN-4-1EP_1.5x1.5mm,C2911456,1,Temp/Humidity I2C,$1.20
|
||||||
|
U7,BH1750FVI,Package_SO:WSOF-6_1.4x1.7mm,C78960,1,Ambient Light I2C,$0.50
|
||||||
|
U8,W5500,Package_QFP:LQFP-48_7x7mm_P0.5mm,C32843,1,SPI Ethernet Controller 10/100,$1.50
|
||||||
|
U9,Ag9905MT,Module:Silvertel_Ag9905MT,N/A,1,802.3af PoE PD Module 5V/2A,$6.00
|
||||||
|
J1,RJ45_PoE,Connector_RJ:RJ45_Amphenol_ARJM11C7,C911253,1,RJ45 with magnetics + PoE tabs,$1.20
|
||||||
|
J2,FPC_24P_OV5640,Connector_FFC-FPC:Molex_503480-2400,C2856805,1,24-pin 0.5mm FPC camera,$0.20
|
||||||
|
J3,LD2410C,Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm,N/A,1,1.27mm header for LD2410C,$0.05
|
||||||
|
J4,AM312_PIR,Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm,N/A,1,2.54mm header for AM312,$0.03
|
||||||
|
Y1,25MHz,Oscillator_SMD:Crystal_SMD_3215-2Pin_3.2x1.5mm,C9002,1,25MHz crystal for W5500,$0.10
|
||||||
|
D1,LED_Blue,LED_SMD:LED_0402_1005Metric,C2286,1,Blue status LED,$0.02
|
||||||
|
D2,LED_Green,LED_SMD:LED_0402_1005Metric,C2286,1,Green Ethernet link LED,$0.02
|
||||||
|
D3,LED_Yellow,LED_SMD:LED_0402_1005Metric,C2286,1,Yellow Ethernet activity LED,$0.02
|
||||||
|
R1,1K,Resistor_SMD:R_0402_1005Metric,C11702,1,Status LED resistor,$0.01
|
||||||
|
R2,10K,Resistor_SMD:R_0402_1005Metric,C25744,1,PIR pulldown,$0.01
|
||||||
|
R3,4.7K,Resistor_SMD:R_0402_1005Metric,C25900,1,I2C SDA pull-up,$0.01
|
||||||
|
R4,4.7K,Resistor_SMD:R_0402_1005Metric,C25900,1,I2C SCL pull-up,$0.01
|
||||||
|
R5,12.1K,Resistor_SMD:R_0402_1005Metric,C25752,1,W5500 RES pin (sets modes),$0.01
|
||||||
|
R6,1K,Resistor_SMD:R_0402_1005Metric,C11702,1,Ethernet link LED,$0.01
|
||||||
|
R7,1K,Resistor_SMD:R_0402_1005Metric,C11702,1,Ethernet activity LED,$0.01
|
||||||
|
R8,10K,Resistor_SMD:R_0402_1005Metric,C25744,1,W5500 INT pull-up,$0.01
|
||||||
|
R9,10K,Resistor_SMD:R_0402_1005Metric,C25744,1,W5500 RST pull-up,$0.01
|
||||||
|
C1,10uF,Capacitor_SMD:C_0805_2012Metric,C15850,1,LDO input,$0.02
|
||||||
|
C2,22uF,Capacitor_SMD:C_0805_2012Metric,C45783,1,LDO output,$0.03
|
||||||
|
C3-C5,100nF,Capacitor_SMD:C_0402_1005Metric,C1525,3,ESP32 decoupling,$0.03
|
||||||
|
C6,10uF,Capacitor_SMD:C_0805_2012Metric,C15850,1,ESP32 bulk,$0.02
|
||||||
|
C7,10uF,Capacitor_SMD:C_0805_2012Metric,C15850,1,Camera power,$0.02
|
||||||
|
C8,100nF,Capacitor_SMD:C_0402_1005Metric,C1525,1,Camera decoupling,$0.01
|
||||||
|
C9,10uF,Capacitor_SMD:C_0805_2012Metric,C15850,1,LD2410C decoupling,$0.02
|
||||||
|
C10,100nF,Capacitor_SMD:C_0402_1005Metric,C1525,1,SHT41 decoupling,$0.01
|
||||||
|
C11,100nF,Capacitor_SMD:C_0402_1005Metric,C1525,1,BH1750 decoupling,$0.01
|
||||||
|
C12-C14,100nF,Capacitor_SMD:C_0402_1005Metric,C1525,3,W5500 decoupling,$0.03
|
||||||
|
C15,10uF,Capacitor_SMD:C_0805_2012Metric,C15850,1,W5500 bulk,$0.02
|
||||||
|
C16,22pF,Capacitor_SMD:C_0402_1005Metric,C1555,2,W5500 crystal load,$0.02
|
||||||
|
C17,10uF,Capacitor_SMD:C_0805_2012Metric,C15850,1,PoE module output,$0.02
|
||||||
|
C18,100uF,Capacitor_SMD:C_1206_3216Metric,C15008,1,PoE module bulk output,$0.05
|
||||||
|
SW1,BOOT,Button_Switch_SMD:SW_SPST_PTS810,C116501,1,Boot button,$0.05
|
||||||
|
SW2,RESET,Button_Switch_SMD:SW_SPST_PTS810,C116501,1,Reset button,$0.05
|
||||||
|
H1-H2,MountingHole,MountingHole:MountingHole_2.2mm_M2_Pad,N/A,2,M2 mounting,$0.00
|
||||||
|
,,,,,,
|
||||||
|
,,,MODULES (plug-in),,,,
|
||||||
|
MOD1,OV5640,Camera Module 5MP 120° wide-angle,N/A,1,24-pin FPC camera,$3.50
|
||||||
|
MOD2,HLK-LD2410C,24GHz mmWave Radar Module,N/A,1,Presence radar,$2.50
|
||||||
|
MOD3,AM312,Mini PIR Sensor Module,N/A,1,PIR sensor,$0.50
|
||||||
|
,,,,,,
|
||||||
|
,,,TOTAL PCB COMPONENTS,,~40,~$14.50
|
||||||
|
,,,TOTAL WITH MODULES,,~43,~$21.00
|
||||||
|
,,,PCB FABRICATION (5pcs),,,~$8.00
|
||||||
|
,,,SMD ASSEMBLY (per board),,,~$15.00
|
||||||
|
,,,TOTAL PER BOARD (assembled),,,"~$44.00"
|
||||||
|
109
poe-variant/DESIGN.md
Normal file
109
poe-variant/DESIGN.md
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
# Presence Sensor - PoE Variant
|
||||||
|
|
||||||
|
Same sensors as the USB-C version, but powered and networked via Power over Ethernet (802.3af).
|
||||||
|
|
||||||
|
## Key Differences from USB-C Version
|
||||||
|
|
||||||
|
| Feature | USB-C Version | PoE Version |
|
||||||
|
|---------|--------------|-------------|
|
||||||
|
| Power | USB-C 5V | 802.3af PoE (48V → 5V) |
|
||||||
|
| Network | WiFi only | Ethernet (wired) + WiFi fallback |
|
||||||
|
| Connector | USB-C | RJ45 |
|
||||||
|
| Extra chips | None | W5500 (Ethernet) + AG9905MT (PoE PD) |
|
||||||
|
| Board size | 45x35mm | 50x40mm (RJ45 is bulky) |
|
||||||
|
| Reliability | WiFi dependent | Wired, rock-solid |
|
||||||
|
| Cost | ~$32 | ~$42 |
|
||||||
|
|
||||||
|
## Why PoE is Better for Cameras
|
||||||
|
|
||||||
|
- **No WiFi congestion** - camera streams are bandwidth-heavy
|
||||||
|
- **Single cable** - power + data in one Ethernet run
|
||||||
|
- **More reliable** - no WiFi dropouts
|
||||||
|
- **Centralized power** - PoE switch manages all device power
|
||||||
|
- **Remote reboot** - cycle PoE port to hard-reset device
|
||||||
|
|
||||||
|
## New Components
|
||||||
|
|
||||||
|
### W5500 Ethernet Controller
|
||||||
|
- SPI interface to ESP32-S3
|
||||||
|
- 10/100 Mbps Ethernet
|
||||||
|
- Hardware TCP/IP stack (offloads ESP32)
|
||||||
|
- QFP-48 package (7x7mm)
|
||||||
|
- JLCPCB: C32843
|
||||||
|
|
||||||
|
### RJ45 with Integrated Magnetics + PoE
|
||||||
|
- HR911105A or equivalent
|
||||||
|
- Includes PoE center-tap connections
|
||||||
|
- Through-hole (adds height but very robust)
|
||||||
|
|
||||||
|
### PoE PD Module - Silvertel Ag9905MT
|
||||||
|
- IEEE 802.3af compliant (up to 13W)
|
||||||
|
- 48V input → 5V/2A output
|
||||||
|
- Tiny module: 16.5x14.5mm
|
||||||
|
- Isolated, protected
|
||||||
|
- Alternative: AG9905M-R or TI TPS2376 discrete
|
||||||
|
|
||||||
|
### 25MHz Crystal Oscillator
|
||||||
|
- Required by W5500
|
||||||
|
- 3.2x2.5mm SMD package
|
||||||
|
|
||||||
|
## GPIO Changes for PoE Variant
|
||||||
|
|
||||||
|
| GPIO | USB-C Version | PoE Version |
|
||||||
|
|------|--------------|-------------|
|
||||||
|
| GPIO19 | USB D- | **Free** (no USB) |
|
||||||
|
| GPIO20 | USB D+ | **Free** (no USB) |
|
||||||
|
| GPIO33 | Free | **W5500 SPI MISO** |
|
||||||
|
| GPIO34 | Free | **W5500 SPI MOSI** |
|
||||||
|
| GPIO35 | Free | **W5500 SPI SCK** |
|
||||||
|
| GPIO36 | Free | **W5500 SPI CS** |
|
||||||
|
| GPIO37 | Free | **W5500 INT** |
|
||||||
|
| GPIO42 | Free | **W5500 RST** |
|
||||||
|
|
||||||
|
Camera, mmWave, PIR, I2C sensors - all unchanged.
|
||||||
|
|
||||||
|
## Power Path
|
||||||
|
|
||||||
|
```
|
||||||
|
PoE Switch (48V)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
RJ45 Connector (center-taps)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
Ag9905MT PoE PD Module
|
||||||
|
│ (48V → 5V isolated)
|
||||||
|
▼
|
||||||
|
5V Rail ──→ LD2410C (direct)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
AMS1117-3.3
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
3.3V Rail ──→ ESP32-S3, W5500, sensors, camera LDOs
|
||||||
|
```
|
||||||
|
|
||||||
|
## Power Budget (PoE)
|
||||||
|
|
||||||
|
| Component | Voltage | Current |
|
||||||
|
|-----------|---------|---------|
|
||||||
|
| ESP32-S3 | 3.3V | 240mA |
|
||||||
|
| W5500 | 3.3V | 132mA |
|
||||||
|
| OV5640 | 2.8V+1.8V | 140mA |
|
||||||
|
| LD2410C | 5V | 60mA |
|
||||||
|
| AM312 + SHT41 + BH1750 | 3.3V | 3mA |
|
||||||
|
| Ag9905MT overhead | - | ~50mA |
|
||||||
|
| **Total from PoE** | 48V | **~180mA @ 48V (~8.6W)** |
|
||||||
|
|
||||||
|
Well within 802.3af's 12.95W limit.
|
||||||
|
|
||||||
|
## Board Layout Notes
|
||||||
|
|
||||||
|
- RJ45 connector at bottom (cable exits down for wall mount)
|
||||||
|
- Ag9905MT module near RJ45 (short high-voltage traces)
|
||||||
|
- W5500 between RJ45 and ESP32 (short SPI traces)
|
||||||
|
- Camera at top (unchanged)
|
||||||
|
- mmWave on right (unchanged)
|
||||||
|
- PIR on left (unchanged)
|
||||||
|
- Sensors on left edge (unchanged)
|
||||||
|
- Board slightly larger: 50x40mm to accommodate RJ45 jack height
|
||||||
59
poe-variant/PIN_MAPPING.md
Normal file
59
poe-variant/PIN_MAPPING.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# ESP32-S3 Pin Mapping - PoE Presence Sensor
|
||||||
|
|
||||||
|
## GPIO Assignments
|
||||||
|
|
||||||
|
| GPIO | Function | Peripheral | Direction | Notes |
|
||||||
|
|------|----------|-----------|-----------|-------|
|
||||||
|
| GPIO0 | BOOT button | - | Input | Pull-up, hold low for bootloader |
|
||||||
|
| GPIO1 | Camera D0 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO2 | Camera D1 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO3 | I2C SDA | SHT41 + BH1750 | Bidir | 4.7K pull-up |
|
||||||
|
| GPIO4 | I2C SCL | SHT41 + BH1750 | Bidir | 4.7K pull-up |
|
||||||
|
| GPIO5 | Camera D2 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO6 | Camera D3 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO7 | Camera D4 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO8 | Camera D5 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO9 | Camera D6 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO10 | Camera D7 | OV5640 DVP | Input | Camera data bus |
|
||||||
|
| GPIO11 | Camera XCLK | OV5640 | Output | 20MHz LEDC |
|
||||||
|
| GPIO12 | Camera PCLK | OV5640 | Input | Pixel clock |
|
||||||
|
| GPIO13 | Camera VSYNC | OV5640 | Input | Vertical sync |
|
||||||
|
| GPIO14 | Camera HREF | OV5640 | Input | Horizontal ref |
|
||||||
|
| GPIO15 | Camera SIOD | OV5640 SCCB | Bidir | Camera I2C data |
|
||||||
|
| GPIO16 | Camera SIOC | OV5640 SCCB | Output | Camera I2C clock |
|
||||||
|
| GPIO17 | mmWave UART TX | LD2410C RX | Output | 256000 baud |
|
||||||
|
| GPIO18 | mmWave UART RX | LD2410C TX | Input | 256000 baud |
|
||||||
|
| GPIO19 | Free | - | - | (was USB D-) |
|
||||||
|
| GPIO20 | Free | - | - | (was USB D+) |
|
||||||
|
| GPIO21 | Camera PWDN | OV5640 | Output | Power down |
|
||||||
|
| GPIO33 | W5500 SPI MISO | Ethernet | Input | SPI data in |
|
||||||
|
| GPIO34 | W5500 SPI MOSI | Ethernet | Output | SPI data out |
|
||||||
|
| GPIO35 | W5500 SPI SCK | Ethernet | Output | SPI clock (25MHz max) |
|
||||||
|
| GPIO36 | W5500 SPI CS | Ethernet | Output | SPI chip select |
|
||||||
|
| GPIO37 | W5500 INT | Ethernet | Input | Interrupt (active low) |
|
||||||
|
| GPIO38 | PIR output | AM312 | Input | Motion detect |
|
||||||
|
| GPIO39 | mmWave OUT | LD2410C | Input | Presence output |
|
||||||
|
| GPIO40 | Status LED | Blue LED | Output | Via 1K resistor |
|
||||||
|
| GPIO41 | Camera RESET | OV5640 | Output | Active low |
|
||||||
|
| GPIO42 | W5500 RST | Ethernet | Output | Active low |
|
||||||
|
|
||||||
|
## SPI Bus (GPIO33-36) - W5500 Ethernet
|
||||||
|
| Signal | GPIO | W5500 Pin |
|
||||||
|
|--------|------|-----------|
|
||||||
|
| MISO | GPIO33 | SO |
|
||||||
|
| MOSI | GPIO34 | SI |
|
||||||
|
| SCK | GPIO35 | SCLK |
|
||||||
|
| CS | GPIO36 | SCSn |
|
||||||
|
| INT | GPIO37 | INTn |
|
||||||
|
| RST | GPIO42 | RSTn |
|
||||||
|
|
||||||
|
## I2C Bus (GPIO3/GPIO4) - Sensors
|
||||||
|
| Device | Address | Function |
|
||||||
|
|--------|---------|----------|
|
||||||
|
| SHT41 | 0x44 | Temperature + Humidity |
|
||||||
|
| BH1750 | 0x23 | Ambient Light |
|
||||||
|
|
||||||
|
## UART1 (GPIO17/GPIO18) - Radar
|
||||||
|
| Device | Baud | Function |
|
||||||
|
|--------|------|----------|
|
||||||
|
| LD2410C | 256000 | mmWave presence |
|
||||||
12532
poe-variant/body-poe.stl
Normal file
12532
poe-variant/body-poe.stl
Normal file
File diff suppressed because it is too large
Load Diff
133
poe-variant/enclosure-poe.scad
Normal file
133
poe-variant/enclosure-poe.scad
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
// ============================================
|
||||||
|
// Presence Sensor PoE - Wall-Mount Enclosure
|
||||||
|
// Board: 50 x 40 mm (larger for RJ45 + PoE module)
|
||||||
|
// ============================================
|
||||||
|
|
||||||
|
pcb_w = 50;
|
||||||
|
pcb_h = 40;
|
||||||
|
pcb_t = 1.6;
|
||||||
|
wall = 1.8;
|
||||||
|
tolerance = 0.3;
|
||||||
|
bottom_gap = 3;
|
||||||
|
top_gap = 14; // Extra height for RJ45 jack
|
||||||
|
lid_lip = 1.5;
|
||||||
|
|
||||||
|
inner_w = pcb_w + tolerance * 2;
|
||||||
|
inner_h = pcb_h + tolerance * 2;
|
||||||
|
inner_d = bottom_gap + pcb_t + top_gap;
|
||||||
|
outer_w = inner_w + wall * 2;
|
||||||
|
outer_h = inner_h + wall * 2;
|
||||||
|
outer_d = inner_d + wall;
|
||||||
|
|
||||||
|
post_d = 4.5;
|
||||||
|
screw_d = 2.2;
|
||||||
|
post_h = bottom_gap;
|
||||||
|
|
||||||
|
// Component windows
|
||||||
|
cam_hole_w = 10;
|
||||||
|
cam_hole_h = 10;
|
||||||
|
pir_hole_d = 10;
|
||||||
|
light_hole_d = 4;
|
||||||
|
rj45_w = 16;
|
||||||
|
rj45_h = 14;
|
||||||
|
|
||||||
|
module rounded_box(w, h, d, r) {
|
||||||
|
hull() {
|
||||||
|
translate([r, r, 0]) cylinder(h=d, r=r, $fn=20);
|
||||||
|
translate([w-r, r, 0]) cylinder(h=d, r=r, $fn=20);
|
||||||
|
translate([r, h-r, 0]) cylinder(h=d, r=r, $fn=20);
|
||||||
|
translate([w-r, h-r, 0]) cylinder(h=d, r=r, $fn=20);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module wall_mount_keyhole() {
|
||||||
|
cylinder(h=wall+2, d=7, $fn=24);
|
||||||
|
translate([0, -5, 0])
|
||||||
|
hull() {
|
||||||
|
cylinder(h=wall+2, d=4, $fn=24);
|
||||||
|
translate([0, 5, 0]) cylinder(h=wall+2, d=4, $fn=24);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module body() {
|
||||||
|
difference() {
|
||||||
|
rounded_box(outer_w, outer_h, outer_d, 3);
|
||||||
|
translate([wall, wall, wall])
|
||||||
|
rounded_box(inner_w, inner_h, inner_d + 1, 2);
|
||||||
|
|
||||||
|
// Camera window (top center)
|
||||||
|
translate([wall + tolerance + pcb_w/2 - cam_hole_w/2,
|
||||||
|
wall + tolerance + pcb_h - 7,
|
||||||
|
-1])
|
||||||
|
rounded_box(cam_hole_w, cam_hole_h, wall + 2, 2);
|
||||||
|
|
||||||
|
// PIR window (left)
|
||||||
|
translate([wall + tolerance + 12,
|
||||||
|
wall + tolerance + pcb_h - 22,
|
||||||
|
-1])
|
||||||
|
cylinder(h=wall+2, d=pir_hole_d, $fn=32);
|
||||||
|
|
||||||
|
// Light sensor window
|
||||||
|
translate([wall + tolerance + 24,
|
||||||
|
wall + tolerance + pcb_h - 22,
|
||||||
|
-1])
|
||||||
|
cylinder(h=wall+2, d=light_hole_d, $fn=32);
|
||||||
|
|
||||||
|
// RJ45 cutout (bottom edge)
|
||||||
|
translate([wall + tolerance + pcb_w/2 - rj45_w/2,
|
||||||
|
-1,
|
||||||
|
wall + bottom_gap - 1])
|
||||||
|
cube([rj45_w, wall + 2, rj45_h]);
|
||||||
|
|
||||||
|
// Ventilation slots (sides)
|
||||||
|
for (i = [0:3]) {
|
||||||
|
translate([-1, wall + 5 + i * 10, wall + bottom_gap + pcb_t + 2])
|
||||||
|
cube([wall + 2, 8, 1.5]);
|
||||||
|
translate([outer_w - wall - 1, wall + 5 + i * 10, wall + bottom_gap + pcb_t + 2])
|
||||||
|
cube([wall + 2, 8, 1.5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// mmWave slot (back)
|
||||||
|
translate([wall + tolerance + pcb_w - 10,
|
||||||
|
wall + tolerance + 5,
|
||||||
|
outer_d - wall - 0.5])
|
||||||
|
rounded_box(8, 36, wall + 1, 1);
|
||||||
|
|
||||||
|
// Wall mount keyholes (back)
|
||||||
|
translate([outer_w/2, outer_h * 0.3, outer_d - wall - 1])
|
||||||
|
wall_mount_keyhole();
|
||||||
|
translate([outer_w/2, outer_h * 0.7, outer_d - wall - 1])
|
||||||
|
wall_mount_keyhole();
|
||||||
|
}
|
||||||
|
|
||||||
|
// PCB support posts
|
||||||
|
for (pos = [[wall + tolerance + 2.5, wall + tolerance + 2.5],
|
||||||
|
[wall + tolerance + pcb_w - 2.5, wall + tolerance + 2.5],
|
||||||
|
[wall + tolerance + 2.5, wall + tolerance + pcb_h - 2.5],
|
||||||
|
[wall + tolerance + pcb_w - 2.5, wall + tolerance + pcb_h - 2.5]]) {
|
||||||
|
translate([pos[0], pos[1], wall])
|
||||||
|
difference() {
|
||||||
|
cylinder(h=post_h, d=post_d, $fn=20);
|
||||||
|
cylinder(h=post_h + 1, d=screw_d, $fn=20);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module lid() {
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
rounded_box(outer_w, outer_h, wall, 3);
|
||||||
|
translate([wall - lid_lip/2, wall - lid_lip/2, wall])
|
||||||
|
rounded_box(inner_w + lid_lip, inner_h + lid_lip, 2, 2);
|
||||||
|
}
|
||||||
|
// LED windows
|
||||||
|
translate([wall + tolerance + 42, wall + tolerance + 30, -1])
|
||||||
|
cylinder(h=wall+2, d=2, $fn=16);
|
||||||
|
translate([wall + tolerance + 44, wall + tolerance + 30, -1])
|
||||||
|
cylinder(h=wall+2, d=2, $fn=16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render
|
||||||
|
body();
|
||||||
|
translate([outer_w + 10, 0, 0]) lid();
|
||||||
193
poe-variant/esphome-presence-sensor-poe.yaml
Normal file
193
poe-variant/esphome-presence-sensor-poe.yaml
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
substitutions:
|
||||||
|
name: presence-sensor-poe
|
||||||
|
friendly_name: Presence Sensor PoE
|
||||||
|
|
||||||
|
esphome:
|
||||||
|
name: ${name}
|
||||||
|
friendly_name: ${friendly_name}
|
||||||
|
platformio_options:
|
||||||
|
board_build.flash_mode: dio
|
||||||
|
board_build.arduino.memory_type: qio_opi
|
||||||
|
|
||||||
|
esp32:
|
||||||
|
board: esp32-s3-devkitc-1
|
||||||
|
framework:
|
||||||
|
type: esp-idf
|
||||||
|
flash_size: 16MB
|
||||||
|
|
||||||
|
psram:
|
||||||
|
mode: octal
|
||||||
|
speed: 80MHz
|
||||||
|
|
||||||
|
logger:
|
||||||
|
level: INFO
|
||||||
|
|
||||||
|
api:
|
||||||
|
encryption:
|
||||||
|
key: !secret api_key
|
||||||
|
|
||||||
|
ota:
|
||||||
|
- platform: esphome
|
||||||
|
password: !secret ota_password
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# ETHERNET - W5500 SPI (primary network)
|
||||||
|
# ==========================================
|
||||||
|
ethernet:
|
||||||
|
type: W5500
|
||||||
|
clk_pin: GPIO35
|
||||||
|
mosi_pin: GPIO34
|
||||||
|
miso_pin: GPIO33
|
||||||
|
cs_pin: GPIO36
|
||||||
|
interrupt_pin: GPIO37
|
||||||
|
reset_pin: GPIO42
|
||||||
|
clock_speed: 25MHz
|
||||||
|
|
||||||
|
# WiFi as fallback only (if Ethernet cable disconnected)
|
||||||
|
wifi:
|
||||||
|
ssid: !secret wifi_ssid
|
||||||
|
password: !secret wifi_password
|
||||||
|
ap:
|
||||||
|
ssid: "${name}-fallback"
|
||||||
|
password: !secret fallback_password
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# I2C Bus - SHT41 + BH1750
|
||||||
|
# ==========================================
|
||||||
|
i2c:
|
||||||
|
sda: GPIO3
|
||||||
|
scl: GPIO4
|
||||||
|
scan: true
|
||||||
|
frequency: 400kHz
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# UART - LD2410C mmWave Radar
|
||||||
|
# ==========================================
|
||||||
|
uart:
|
||||||
|
id: uart_ld2410
|
||||||
|
tx_pin: GPIO17
|
||||||
|
rx_pin: GPIO18
|
||||||
|
baud_rate: 256000
|
||||||
|
parity: NONE
|
||||||
|
stop_bits: 1
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# Camera - OV5640 5MP
|
||||||
|
# ==========================================
|
||||||
|
esp32_camera:
|
||||||
|
name: Camera
|
||||||
|
external_clock:
|
||||||
|
pin: GPIO11
|
||||||
|
frequency: 20MHz
|
||||||
|
i2c_pins:
|
||||||
|
sda: GPIO15
|
||||||
|
scl: GPIO16
|
||||||
|
data_pins: [GPIO1, GPIO2, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9, GPIO10]
|
||||||
|
vsync_pin: GPIO13
|
||||||
|
href_pin: GPIO14
|
||||||
|
pixel_clock_pin: GPIO12
|
||||||
|
power_down_pin: GPIO21
|
||||||
|
reset_pin: GPIO41
|
||||||
|
# PoE = wired = more bandwidth, can push higher quality
|
||||||
|
resolution: 1024x768
|
||||||
|
max_framerate: 15fps
|
||||||
|
idle_framerate: 0.5fps
|
||||||
|
jpeg_quality: 10
|
||||||
|
vertical_flip: false
|
||||||
|
horizontal_mirror: false
|
||||||
|
|
||||||
|
esp32_camera_web_server:
|
||||||
|
- port: 8080
|
||||||
|
mode: stream
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# LD2410C mmWave Presence Radar
|
||||||
|
# ==========================================
|
||||||
|
ld2410:
|
||||||
|
uart_id: uart_ld2410
|
||||||
|
id: ld2410_radar
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: ld2410
|
||||||
|
has_target:
|
||||||
|
name: Presence
|
||||||
|
id: ld2410_presence
|
||||||
|
has_moving_target:
|
||||||
|
name: Moving Target
|
||||||
|
has_still_target:
|
||||||
|
name: Still Target
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
pin:
|
||||||
|
number: GPIO38
|
||||||
|
mode: INPUT
|
||||||
|
name: Motion
|
||||||
|
id: pir_motion
|
||||||
|
device_class: motion
|
||||||
|
filters:
|
||||||
|
- delayed_off: 10s
|
||||||
|
|
||||||
|
- platform: template
|
||||||
|
name: Occupancy
|
||||||
|
device_class: occupancy
|
||||||
|
lambda: |-
|
||||||
|
if (id(pir_motion).state || id(ld2410_presence).state) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
filters:
|
||||||
|
- delayed_off: 30s
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: ld2410
|
||||||
|
moving_distance:
|
||||||
|
name: Moving Distance
|
||||||
|
still_distance:
|
||||||
|
name: Still Distance
|
||||||
|
moving_energy:
|
||||||
|
name: Moving Energy
|
||||||
|
still_energy:
|
||||||
|
name: Still Energy
|
||||||
|
detection_distance:
|
||||||
|
name: Detection Distance
|
||||||
|
|
||||||
|
- platform: sht4x
|
||||||
|
temperature:
|
||||||
|
name: Temperature
|
||||||
|
accuracy_decimals: 1
|
||||||
|
filters:
|
||||||
|
- offset: -1.5
|
||||||
|
humidity:
|
||||||
|
name: Humidity
|
||||||
|
accuracy_decimals: 1
|
||||||
|
address: 0x44
|
||||||
|
update_interval: 30s
|
||||||
|
heater_max_duty: 0.0
|
||||||
|
|
||||||
|
- platform: bh1750
|
||||||
|
name: Illuminance
|
||||||
|
address: 0x23
|
||||||
|
measurement_duration: 69
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
|
- platform: uptime
|
||||||
|
name: Uptime
|
||||||
|
|
||||||
|
light:
|
||||||
|
- platform: status_led
|
||||||
|
name: Status LED
|
||||||
|
pin: GPIO40
|
||||||
|
|
||||||
|
button:
|
||||||
|
- platform: restart
|
||||||
|
name: Restart
|
||||||
|
- platform: factory_reset
|
||||||
|
name: Factory Reset
|
||||||
|
disabled_by_default: true
|
||||||
|
|
||||||
|
text_sensor:
|
||||||
|
- platform: ethernet_info
|
||||||
|
ip_address:
|
||||||
|
name: IP Address
|
||||||
|
- platform: version
|
||||||
|
name: ESPHome Version
|
||||||
2200
poe-variant/lid-poe.stl
Normal file
2200
poe-variant/lid-poe.stl
Normal file
File diff suppressed because it is too large
Load Diff
2
poe-variant/lid_only_poe.scad
Normal file
2
poe-variant/lid_only_poe.scad
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
use <enclosure-poe.scad>;
|
||||||
|
lid();
|
||||||
@@ -62,9 +62,6 @@
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; BOARD OUTLINE - 45mm x 35mm with rounded corners
|
|
||||||
;; =====================================================
|
|
||||||
(gr_arc (start 3 0) (mid 0.879 0.879) (end 0 3) (layer "Edge.Cuts") (width 0.15))
|
(gr_arc (start 3 0) (mid 0.879 0.879) (end 0 3) (layer "Edge.Cuts") (width 0.15))
|
||||||
(gr_line (start 3 0) (end 42 0) (layer "Edge.Cuts") (width 0.15))
|
(gr_line (start 3 0) (end 42 0) (layer "Edge.Cuts") (width 0.15))
|
||||||
(gr_arc (start 45 3) (mid 44.121 0.879) (end 42 0) (layer "Edge.Cuts") (width 0.15))
|
(gr_arc (start 45 3) (mid 44.121 0.879) (end 42 0) (layer "Edge.Cuts") (width 0.15))
|
||||||
@@ -74,16 +71,8 @@
|
|||||||
(gr_arc (start 0 32) (mid 0.879 34.121) (end 3 35) (layer "Edge.Cuts") (width 0.15))
|
(gr_arc (start 0 32) (mid 0.879 34.121) (end 3 35) (layer "Edge.Cuts") (width 0.15))
|
||||||
(gr_line (start 0 32) (end 0 3) (layer "Edge.Cuts") (width 0.15))
|
(gr_line (start 0 32) (end 0 3) (layer "Edge.Cuts") (width 0.15))
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; COMPONENT PLACEMENT (all coordinates in mm from top-left)
|
|
||||||
;; Front = component side (facing room)
|
|
||||||
;; Back = wall side
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
;; --- BACK SIDE (facing wall) ---
|
|
||||||
|
|
||||||
;; ESP32-S3-WROOM-1 - center of board, back side
|
|
||||||
;; Module is 18x25.5mm, antenna at top extending past board edge
|
|
||||||
(footprint "RF_Module:ESP32-S3-WROOM-1"
|
(footprint "RF_Module:ESP32-S3-WROOM-1"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 22.5 18 0)
|
(at 22.5 18 0)
|
||||||
@@ -92,7 +81,6 @@
|
|||||||
(property "JLCPCB" "C2913202")
|
(property "JLCPCB" "C2913202")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; AMS1117-3.3 LDO - bottom right, back side
|
|
||||||
(footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2"
|
(footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 38 30 0)
|
(at 38 30 0)
|
||||||
@@ -101,7 +89,6 @@
|
|||||||
(property "JLCPCB" "C6186")
|
(property "JLCPCB" "C6186")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; AP2112K-1.8 (camera DOVDD) - top right, back side
|
|
||||||
(footprint "Package_TO_SOT_SMD:SOT-23-5"
|
(footprint "Package_TO_SOT_SMD:SOT-23-5"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 38 5 0)
|
(at 38 5 0)
|
||||||
@@ -110,7 +97,6 @@
|
|||||||
(property "JLCPCB" "C51118")
|
(property "JLCPCB" "C51118")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; AP2112K-2.8 (camera AVDD) - top right, back side
|
|
||||||
(footprint "Package_TO_SOT_SMD:SOT-23-5"
|
(footprint "Package_TO_SOT_SMD:SOT-23-5"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 38 10 0)
|
(at 38 10 0)
|
||||||
@@ -119,7 +105,6 @@
|
|||||||
(property "JLCPCB" "C51114")
|
(property "JLCPCB" "C51114")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; USB ESD Protection
|
|
||||||
(footprint "Package_TO_SOT_SMD:SOT-23-6"
|
(footprint "Package_TO_SOT_SMD:SOT-23-6"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 22.5 32 0)
|
(at 22.5 32 0)
|
||||||
@@ -128,9 +113,7 @@
|
|||||||
(property "JLCPCB" "C7519")
|
(property "JLCPCB" "C7519")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; --- FRONT SIDE (facing room) ---
|
|
||||||
|
|
||||||
;; USB-C connector - bottom center, front side
|
|
||||||
(footprint "Connector_USB:USB_C_Receptacle_GCT_USB4125"
|
(footprint "Connector_USB:USB_C_Receptacle_GCT_USB4125"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 22.5 35 180)
|
(at 22.5 35 180)
|
||||||
@@ -139,7 +122,6 @@
|
|||||||
(property "JLCPCB" "C2765186")
|
(property "JLCPCB" "C2765186")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; FPC camera connector - top center, front side
|
|
||||||
(footprint "Connector_FFC-FPC:Molex_503480-2400_1x24-1MP_P0.50mm_Horizontal"
|
(footprint "Connector_FFC-FPC:Molex_503480-2400_1x24-1MP_P0.50mm_Horizontal"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 22.5 2 0)
|
(at 22.5 2 0)
|
||||||
@@ -148,7 +130,6 @@
|
|||||||
(property "JLCPCB" "C2856805")
|
(property "JLCPCB" "C2856805")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; LD2410C header - right side, front
|
|
||||||
(footprint "Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical"
|
(footprint "Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 42 17.5 90)
|
(at 42 17.5 90)
|
||||||
@@ -156,7 +137,6 @@
|
|||||||
(property "Value" "LD2410C")
|
(property "Value" "LD2410C")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; AM312 PIR header - left side, front
|
|
||||||
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical"
|
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 3 15 90)
|
(at 3 15 90)
|
||||||
@@ -164,7 +144,6 @@
|
|||||||
(property "Value" "AM312_PIR")
|
(property "Value" "AM312_PIR")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; SHT41 - left edge, front (away from ESP32 heat)
|
|
||||||
(footprint "Sensor_Humidity:Sensirion_DFN-4-1EP_1.5x1.5mm_P0.8mm_EP0.5x0.5mm"
|
(footprint "Sensor_Humidity:Sensirion_DFN-4-1EP_1.5x1.5mm_P0.8mm_EP0.5x0.5mm"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 4 28 0)
|
(at 4 28 0)
|
||||||
@@ -173,7 +152,6 @@
|
|||||||
(property "JLCPCB" "C2911456")
|
(property "JLCPCB" "C2911456")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; BH1750 - left of center, front
|
|
||||||
(footprint "Package_SO:WSOF-6_1.4x1.7mm_P0.5mm"
|
(footprint "Package_SO:WSOF-6_1.4x1.7mm_P0.5mm"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 12 22 0)
|
(at 12 22 0)
|
||||||
@@ -182,7 +160,6 @@
|
|||||||
(property "JLCPCB" "C78960")
|
(property "JLCPCB" "C78960")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Status LED - front side, visible
|
|
||||||
(footprint "LED_SMD:LED_0402_1005Metric"
|
(footprint "LED_SMD:LED_0402_1005Metric"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 40 28 0)
|
(at 40 28 0)
|
||||||
@@ -191,9 +168,7 @@
|
|||||||
(property "JLCPCB" "C2286")
|
(property "JLCPCB" "C2286")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; --- PASSIVE COMPONENTS (back side, near their ICs) ---
|
|
||||||
|
|
||||||
;; Input cap - near AMS1117
|
|
||||||
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 33 30 0)
|
(at 33 30 0)
|
||||||
@@ -201,7 +176,6 @@
|
|||||||
(property "Value" "10uF")
|
(property "Value" "10uF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Output cap - near AMS1117
|
|
||||||
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 33 33 0)
|
(at 33 33 0)
|
||||||
@@ -209,7 +183,6 @@
|
|||||||
(property "Value" "22uF")
|
(property "Value" "22uF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Decoupling caps - near ESP32
|
|
||||||
(footprint "Capacitor_SMD:C_0402_1005Metric"
|
(footprint "Capacitor_SMD:C_0402_1005Metric"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 15 8 0)
|
(at 15 8 0)
|
||||||
@@ -235,7 +208,6 @@
|
|||||||
(property "Value" "10uF")
|
(property "Value" "10uF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Camera power caps
|
|
||||||
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 35 3 0)
|
(at 35 3 0)
|
||||||
@@ -249,7 +221,6 @@
|
|||||||
(property "Value" "100nF")
|
(property "Value" "100nF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; LD2410C decoupling
|
|
||||||
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
(footprint "Capacitor_SMD:C_0805_2012Metric"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 40 15 0)
|
(at 40 15 0)
|
||||||
@@ -257,7 +228,6 @@
|
|||||||
(property "Value" "10uF")
|
(property "Value" "10uF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; SHT41 decoupling
|
|
||||||
(footprint "Capacitor_SMD:C_0402_1005Metric"
|
(footprint "Capacitor_SMD:C_0402_1005Metric"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 7 28 0)
|
(at 7 28 0)
|
||||||
@@ -265,7 +235,6 @@
|
|||||||
(property "Value" "100nF")
|
(property "Value" "100nF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; BH1750 decoupling
|
|
||||||
(footprint "Capacitor_SMD:C_0402_1005Metric"
|
(footprint "Capacitor_SMD:C_0402_1005Metric"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 15 22 0)
|
(at 15 22 0)
|
||||||
@@ -273,7 +242,6 @@
|
|||||||
(property "Value" "100nF")
|
(property "Value" "100nF")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Resistors
|
|
||||||
(footprint "Resistor_SMD:R_0402_1005Metric"
|
(footprint "Resistor_SMD:R_0402_1005Metric"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 38 28 0)
|
(at 38 28 0)
|
||||||
@@ -303,7 +271,6 @@
|
|||||||
(property "Description" "I2C SCL pull-up")
|
(property "Description" "I2C SCL pull-up")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Buttons - back side, accessible via pinhole
|
|
||||||
(footprint "Button_Switch_SMD:SW_SPST_PTS810"
|
(footprint "Button_Switch_SMD:SW_SPST_PTS810"
|
||||||
(layer "B.Cu")
|
(layer "B.Cu")
|
||||||
(at 5 33 0)
|
(at 5 33 0)
|
||||||
@@ -317,7 +284,6 @@
|
|||||||
(property "Value" "RESET")
|
(property "Value" "RESET")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Mounting holes
|
|
||||||
(footprint "MountingHole:MountingHole_2.2mm_M2_Pad"
|
(footprint "MountingHole:MountingHole_2.2mm_M2_Pad"
|
||||||
(layer "F.Cu")
|
(layer "F.Cu")
|
||||||
(at 2.5 2.5 0)
|
(at 2.5 2.5 0)
|
||||||
@@ -331,50 +297,43 @@
|
|||||||
(property "Value" "MountingHole")
|
(property "Value" "MountingHole")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; SILKSCREEN LABELS
|
|
||||||
;; =====================================================
|
|
||||||
(gr_text "Presence Sensor v1.0"
|
(gr_text "Presence Sensor v1.0"
|
||||||
(at 22.5 17.5 0)
|
(at 22.5 17.5 0)
|
||||||
(layer "F.SilkS")
|
(layer "F.SilkS")
|
||||||
(effects (font (size 1.2 1.2) (thickness 0.2)) (justify center))
|
(effects (font (size 1.2 1.2) (thickness 0.2)) )
|
||||||
)
|
)
|
||||||
(gr_text "github.com/chrisryn"
|
(gr_text "github.com/chrisryn"
|
||||||
(at 22.5 19.5 0)
|
(at 22.5 19.5 0)
|
||||||
(layer "F.SilkS")
|
(layer "F.SilkS")
|
||||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify center))
|
(effects (font (size 0.8 0.8) (thickness 0.15)) )
|
||||||
)
|
)
|
||||||
(gr_text "CAM"
|
(gr_text "CAM"
|
||||||
(at 22.5 4 0)
|
(at 22.5 4 0)
|
||||||
(layer "F.SilkS")
|
(layer "F.SilkS")
|
||||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify center))
|
(effects (font (size 0.8 0.8) (thickness 0.15)) )
|
||||||
)
|
)
|
||||||
(gr_text "PIR"
|
(gr_text "PIR"
|
||||||
(at 3 12 0)
|
(at 3 12 0)
|
||||||
(layer "F.SilkS")
|
(layer "F.SilkS")
|
||||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify center))
|
(effects (font (size 0.8 0.8) (thickness 0.15)) )
|
||||||
)
|
)
|
||||||
(gr_text "mmWave"
|
(gr_text "mmWave"
|
||||||
(at 42 14 0)
|
(at 42 14 0)
|
||||||
(layer "F.SilkS")
|
(layer "F.SilkS")
|
||||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify center))
|
(effects (font (size 0.8 0.8) (thickness 0.15)) )
|
||||||
)
|
)
|
||||||
(gr_text "USB-C"
|
(gr_text "USB-C"
|
||||||
(at 22.5 33 0)
|
(at 22.5 33 0)
|
||||||
(layer "F.SilkS")
|
(layer "F.SilkS")
|
||||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify center))
|
(effects (font (size 0.8 0.8) (thickness 0.15)) )
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; ANTENNA KEEP-OUT ZONE
|
|
||||||
;; ESP32-S3 antenna at top of module - no copper
|
|
||||||
;; =====================================================
|
|
||||||
(gr_rect (start 13 0) (end 32 6)
|
(gr_rect (start 13 0) (end 32 6)
|
||||||
(layer "F.SilkS") (width 0.15) (fill none)
|
(layer "F.SilkS") (width 0.15) (fill none)
|
||||||
)
|
)
|
||||||
(gr_text "ANTENNA KEEP-OUT"
|
(gr_text "ANTENNA KEEP-OUT"
|
||||||
(at 22.5 3 0)
|
(at 22.5 3 0)
|
||||||
(layer "B.SilkS")
|
(layer "B.SilkS")
|
||||||
(effects (font (size 0.6 0.6) (thickness 0.1)) (justify center))
|
(effects (font (size 0.6 0.6) (thickness 0.1)) )
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,85 +12,68 @@
|
|||||||
(comment 2 "ESP32-S3 + OV5640 + LD2410C + AM312 + SHT41 + BH1750")
|
(comment 2 "ESP32-S3 + OV5640 + LD2410C + AM312 + SHT41 + BH1750")
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; POWER SECTION - USB-C Input + 3.3V Regulation
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(text "USB-C Power Input + 3.3V LDO"
|
(text "USB-C Power Input + 3.3V LDO"
|
||||||
(at 25 25 0)
|
(at 25 25 0)
|
||||||
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; USB-C Connector (USB4125-GF-A - 16 pin USB-C)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Connector:USB_C_Receptacle_USB2.0")
|
(lib_id "Connector:USB_C_Receptacle_USB2.0")
|
||||||
(at 40 60 0)
|
(at 40 60 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000001")
|
(uuid "a1000001-0001-0001-0001-000000000001")
|
||||||
(property "Reference" "J1" (at 40 42 0))
|
(property "Reference" "J1" (at 40 42 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "USB_C_16P" (at 40 44 0))
|
(property "Value" "USB_C_16P" (at 40 44 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Connector_USB:USB_C_Receptacle_GCT_USB4125" (at 40 60 0))
|
(property "Footprint" "Connector_USB:USB_C_Receptacle_GCT_USB4125" (at 40 60 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C2765186" (at 40 60 0))
|
(property "JLCPCB" "C2765186" (at 40 60 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; ESD Protection (USBLC6-2SC6)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Power_Protection:USBLC6-2SC6")
|
(lib_id "Power_Protection:USBLC6-2SC6")
|
||||||
(at 70 60 0)
|
(at 70 60 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000002")
|
(uuid "a1000001-0001-0001-0001-000000000002")
|
||||||
(property "Reference" "U1" (at 70 50 0))
|
(property "Reference" "U1" (at 70 50 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "USBLC6-2SC6" (at 70 52 0))
|
(property "Value" "USBLC6-2SC6" (at 70 52 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 70 60 0))
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 70 60 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C7519" (at 70 60 0))
|
(property "JLCPCB" "C7519" (at 70 60 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; AMS1117-3.3 LDO Regulator
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Regulator_Linear:AMS1117-3.3")
|
(lib_id "Regulator_Linear:AMS1117-3.3")
|
||||||
(at 100 55 0)
|
(at 100 55 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000003")
|
(uuid "a1000001-0001-0001-0001-000000000003")
|
||||||
(property "Reference" "U2" (at 100 47 0))
|
(property "Reference" "U2" (at 100 47 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "AMS1117-3.3" (at 100 49 0))
|
(property "Value" "AMS1117-3.3" (at 100 49 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (at 100 55 0))
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (at 100 55 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C6186" (at 100 55 0))
|
(property "JLCPCB" "C6186" (at 100 55 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Input capacitor 10uF
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 90 65 0)
|
(at 90 65 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000004")
|
(uuid "a1000001-0001-0001-0001-000000000004")
|
||||||
(property "Reference" "C1" (at 92 63 0))
|
(property "Reference" "C1" (at 92 63 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "10uF" (at 92 67 0))
|
(property "Value" "10uF" (at 92 67 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 90 65 0))
|
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 90 65 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C15850" (at 90 65 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Output capacitor 22uF
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 110 65 0)
|
(at 110 65 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000005")
|
(uuid "a1000001-0001-0001-0001-000000000005")
|
||||||
(property "Reference" "C2" (at 112 63 0))
|
(property "Reference" "C2" (at 112 63 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "22uF" (at 112 67 0))
|
(property "Value" "22uF" (at 112 67 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 110 65 0))
|
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 110 65 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C45783" (at 110 65 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Output capacitor 100nF decoupling
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 120 65 0)
|
(at 120 65 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000006")
|
(uuid "a1000001-0001-0001-0001-000000000006")
|
||||||
(property "Reference" "C3" (at 122 63 0))
|
(property "Reference" "C3" (at 122 63 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "100nF" (at 122 67 0))
|
(property "Value" "100nF" (at 122 67 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 120 65 0))
|
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 120 65 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C1525" (at 120 65 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; MCU - ESP32-S3-WROOM-1 (N16R8)
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(text "ESP32-S3-WROOM-1 (N16R8) - Main MCU"
|
(text "ESP32-S3-WROOM-1 (N16R8) - Main MCU"
|
||||||
(at 25 100 0)
|
(at 25 100 0)
|
||||||
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
||||||
@@ -100,316 +83,245 @@
|
|||||||
(lib_id "RF_Module:ESP32-S3-WROOM-1")
|
(lib_id "RF_Module:ESP32-S3-WROOM-1")
|
||||||
(at 80 160 0)
|
(at 80 160 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000010")
|
(uuid "a1000001-0001-0001-0001-000000000010")
|
||||||
(property "Reference" "U3" (at 80 115 0))
|
(property "Reference" "U3" (at 80 115 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "ESP32-S3-WROOM-1-N16R8" (at 80 117 0))
|
(property "Value" "ESP32-S3-WROOM-1-N16R8" (at 80 117 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "RF_Module:ESP32-S3-WROOM-1" (at 80 160 0))
|
(property "Footprint" "RF_Module:ESP32-S3-WROOM-1" (at 80 160 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C2913202" (at 80 160 0))
|
(property "JLCPCB" "C2913202" (at 80 160 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "Description" "ESP32-S3 WiFi+BLE module, 16MB Flash, 8MB PSRAM" (at 80 160 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Boot button (GPIO0)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Switch:SW_Push")
|
(lib_id "Switch:SW_Push")
|
||||||
(at 35 145 0)
|
(at 35 145 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000011")
|
(uuid "a1000001-0001-0001-0001-000000000011")
|
||||||
(property "Reference" "SW1" (at 35 140 0))
|
(property "Reference" "SW1" (at 35 140 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "BOOT" (at 35 150 0))
|
(property "Value" "BOOT" (at 35 150 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Button_Switch_SMD:SW_SPST_PTS810" (at 35 145 0))
|
(property "Footprint" "Button_Switch_SMD:SW_SPST_PTS810" (at 35 145 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C116501" (at 35 145 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Reset button (EN)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Switch:SW_Push")
|
(lib_id "Switch:SW_Push")
|
||||||
(at 35 160 0)
|
(at 35 160 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000012")
|
(uuid "a1000001-0001-0001-0001-000000000012")
|
||||||
(property "Reference" "SW2" (at 35 155 0))
|
(property "Reference" "SW2" (at 35 155 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "RESET" (at 35 165 0))
|
(property "Value" "RESET" (at 35 165 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Button_Switch_SMD:SW_SPST_PTS810" (at 35 160 0))
|
(property "Footprint" "Button_Switch_SMD:SW_SPST_PTS810" (at 35 160 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C116501" (at 35 160 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; ESP32-S3 decoupling caps (3x 100nF + 1x 10uF)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 55 120 0)
|
(at 55 120 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000013")
|
(uuid "a1000001-0001-0001-0001-000000000013")
|
||||||
(property "Reference" "C4" (at 57 118 0))
|
(property "Reference" "C4" (at 57 118 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "100nF" (at 57 122 0))
|
(property "Value" "100nF" (at 57 122 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 55 120 0))
|
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 55 120 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 62 120 0)
|
(at 62 120 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000014")
|
(uuid "a1000001-0001-0001-0001-000000000014")
|
||||||
(property "Reference" "C5" (at 64 118 0))
|
(property "Reference" "C5" (at 64 118 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "100nF" (at 64 122 0))
|
(property "Value" "100nF" (at 64 122 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 62 120 0))
|
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 62 120 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 69 120 0)
|
(at 69 120 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000015")
|
(uuid "a1000001-0001-0001-0001-000000000015")
|
||||||
(property "Reference" "C6" (at 71 118 0))
|
(property "Reference" "C6" (at 71 118 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "10uF" (at 71 122 0))
|
(property "Value" "10uF" (at 71 122 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 69 120 0))
|
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 69 120 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Status LED
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:LED")
|
(lib_id "Device:LED")
|
||||||
(at 130 140 0)
|
(at 130 140 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000016")
|
(uuid "a1000001-0001-0001-0001-000000000016")
|
||||||
(property "Reference" "D1" (at 132 138 0))
|
(property "Reference" "D1" (at 132 138 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "LED_Blue" (at 132 142 0))
|
(property "Value" "LED_Blue" (at 132 142 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "LED_SMD:LED_0402_1005Metric" (at 130 140 0))
|
(property "Footprint" "LED_SMD:LED_0402_1005Metric" (at 130 140 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C2286" (at 130 140 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; LED resistor
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:R")
|
(lib_id "Device:R")
|
||||||
(at 130 130 0)
|
(at 130 130 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000017")
|
(uuid "a1000001-0001-0001-0001-000000000017")
|
||||||
(property "Reference" "R1" (at 132 130 0))
|
(property "Reference" "R1" (at 132 130 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "1K" (at 134 130 0))
|
(property "Value" "1K" (at 134 130 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 130 130 0))
|
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 130 130 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C11702" (at 130 130 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; CAMERA - OV5640 via 24-pin FPC connector
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(text "OV5640 5MP Camera Module (24-pin FPC)"
|
(text "OV5640 5MP Camera Module (24-pin FPC)"
|
||||||
(at 170 25 0)
|
(at 170 25 0)
|
||||||
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; 24-pin FPC connector for OV5640
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Connector_Generic:Conn_01x24")
|
(lib_id "Connector_Generic:Conn_01x24")
|
||||||
(at 190 80 0)
|
(at 190 80 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000020")
|
(uuid "a1000001-0001-0001-0001-000000000020")
|
||||||
(property "Reference" "J2" (at 190 42 0))
|
(property "Reference" "J2" (at 190 42 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "FPC_24P_OV5640" (at 190 44 0))
|
(property "Value" "FPC_24P_OV5640" (at 190 44 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Connector_FFC-FPC:Molex_503480-2400_1x24-1MP_P0.50mm_Horizontal" (at 190 80 0))
|
(property "Footprint" "Connector_FFC-FPC:Molex_503480-2400_1x24-1MP_P0.50mm_Horizontal" (at 190 80 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C2856805" (at 190 80 0))
|
|
||||||
(property "Description" "24-pin 0.5mm FPC connector for OV5640 camera module" (at 190 80 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Camera power filter caps
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 175 50 0)
|
(at 175 50 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000021")
|
(uuid "a1000001-0001-0001-0001-000000000021")
|
||||||
(property "Reference" "C7" (at 177 48 0))
|
(property "Reference" "C7" (at 177 48 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "10uF" (at 177 52 0))
|
(property "Value" "10uF" (at 177 52 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 175 50 0))
|
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 175 50 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 182 50 0)
|
(at 182 50 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000022")
|
(uuid "a1000001-0001-0001-0001-000000000022")
|
||||||
(property "Reference" "C8" (at 184 48 0))
|
(property "Reference" "C8" (at 184 48 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "100nF" (at 184 52 0))
|
(property "Value" "100nF" (at 184 52 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 182 50 0))
|
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 182 50 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Camera 1.8V LDO (for DOVDD)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Regulator_Linear:AP2112K-1.8")
|
(lib_id "Regulator_Linear:AP2112K-1.8")
|
||||||
(at 210 50 0)
|
(at 210 50 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000023")
|
(uuid "a1000001-0001-0001-0001-000000000023")
|
||||||
(property "Reference" "U4" (at 210 42 0))
|
(property "Reference" "U4" (at 210 42 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "AP2112K-1.8" (at 210 44 0))
|
(property "Value" "AP2112K-1.8" (at 210 44 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" (at 210 50 0))
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" (at 210 50 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C51118" (at 210 50 0))
|
|
||||||
(property "Description" "1.8V LDO for camera DOVDD" (at 210 50 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Camera 2.8V LDO (for AVDD)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Regulator_Linear:AP2112K-2.8")
|
(lib_id "Regulator_Linear:AP2112K-2.8")
|
||||||
(at 210 70 0)
|
(at 210 70 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000024")
|
(uuid "a1000001-0001-0001-0001-000000000024")
|
||||||
(property "Reference" "U5" (at 210 62 0))
|
(property "Reference" "U5" (at 210 62 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "AP2112K-2.8" (at 210 64 0))
|
(property "Value" "AP2112K-2.8" (at 210 64 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" (at 210 70 0))
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" (at 210 70 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C51114" (at 210 70 0))
|
|
||||||
(property "Description" "2.8V LDO for camera AVDD" (at 210 70 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; 24MHz crystal oscillator for camera XCLK (if not using ESP32 LEDC PWM)
|
|
||||||
;; Note: ESP32-S3 can generate XCLK via LEDC, so crystal is optional
|
|
||||||
;; Using LEDC output from GPIO15 instead
|
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; mmWave RADAR - HLK-LD2410C
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(text "HLK-LD2410C 24GHz mmWave Presence Radar"
|
(text "HLK-LD2410C 24GHz mmWave Presence Radar"
|
||||||
(at 170 120 0)
|
(at 170 120 0)
|
||||||
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; LD2410C connector (5-pin: VCC, GND, TX, RX, OUT)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Connector_Generic:Conn_01x05")
|
(lib_id "Connector_Generic:Conn_01x05")
|
||||||
(at 200 145 0)
|
(at 200 145 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000030")
|
(uuid "a1000001-0001-0001-0001-000000000030")
|
||||||
(property "Reference" "J3" (at 200 135 0))
|
(property "Reference" "J3" (at 200 135 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "LD2410C" (at 200 137 0))
|
(property "Value" "LD2410C" (at 200 137 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical" (at 200 145 0))
|
(property "Footprint" "Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical" (at 200 145 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "Description" "HLK-LD2410C 24GHz mmWave radar module connector" (at 200 145 0))
|
|
||||||
(pin_names
|
|
||||||
(pin "1" "VCC_5V")
|
|
||||||
(pin "2" "GND")
|
|
||||||
(pin "3" "UART_TX")
|
|
||||||
(pin "4" "UART_RX")
|
|
||||||
(pin "5" "OUT")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; LD2410C decoupling
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 215 140 0)
|
(at 215 140 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000031")
|
(uuid "a1000001-0001-0001-0001-000000000031")
|
||||||
(property "Reference" "C9" (at 217 138 0))
|
(property "Reference" "C9" (at 217 138 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "10uF" (at 217 142 0))
|
(property "Value" "10uF" (at 217 142 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 215 140 0))
|
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 215 140 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; PIR SENSOR - AM312
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(text "AM312 PIR Motion Sensor"
|
(text "AM312 PIR Motion Sensor"
|
||||||
(at 170 170 0)
|
(at 170 170 0)
|
||||||
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; AM312 connector (3-pin: VCC, OUT, GND)
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Connector_Generic:Conn_01x03")
|
(lib_id "Connector_Generic:Conn_01x03")
|
||||||
(at 200 190 0)
|
(at 200 190 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000040")
|
(uuid "a1000001-0001-0001-0001-000000000040")
|
||||||
(property "Reference" "J4" (at 200 182 0))
|
(property "Reference" "J4" (at 200 182 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "AM312_PIR" (at 200 184 0))
|
(property "Value" "AM312_PIR" (at 200 184 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" (at 200 190 0))
|
(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" (at 200 190 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "Description" "AM312 mini PIR sensor, 3.3V, digital output" (at 200 190 0))
|
|
||||||
(pin_names
|
|
||||||
(pin "1" "VCC_3V3")
|
|
||||||
(pin "2" "OUT")
|
|
||||||
(pin "3" "GND")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; PIR pulldown resistor
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:R")
|
(lib_id "Device:R")
|
||||||
(at 215 190 0)
|
(at 215 190 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000041")
|
(uuid "a1000001-0001-0001-0001-000000000041")
|
||||||
(property "Reference" "R2" (at 217 190 0))
|
(property "Reference" "R2" (at 217 190 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "10K" (at 219 190 0))
|
(property "Value" "10K" (at 219 190 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 215 190 0))
|
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 215 190 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C25744" (at 215 190 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; I2C BUS - SHT41 + BH1750
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(text "I2C Sensors: SHT41 (Temp/Humidity) + BH1750 (Light)"
|
(text "I2C Sensors: SHT41 (Temp/Humidity) + BH1750 (Light)"
|
||||||
(at 25 220 0)
|
(at 25 220 0)
|
||||||
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
(effects (font (size 3 3) (thickness 0.5)) (justify left))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; SHT41 Temperature & Humidity Sensor
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Sensor:SHT4x")
|
(lib_id "Sensor:SHT4x")
|
||||||
(at 60 250 0)
|
(at 60 250 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000050")
|
(uuid "a1000001-0001-0001-0001-000000000050")
|
||||||
(property "Reference" "U6" (at 60 238 0))
|
(property "Reference" "U6" (at 60 238 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "SHT41" (at 60 240 0))
|
(property "Value" "SHT41" (at 60 240 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Sensor_Humidity:Sensirion_DFN-4-1EP_1.5x1.5mm_P0.8mm_EP0.5x0.5mm" (at 60 250 0))
|
(property "Footprint" "Sensor_Humidity:Sensirion_DFN-4-1EP_1.5x1.5mm_P0.8mm_EP0.5x0.5mm" (at 60 250 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C2911456" (at 60 250 0))
|
|
||||||
(property "Description" "Digital temp/humidity sensor, ±0.2°C, I2C, 1.5x1.5mm" (at 60 250 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; SHT41 decoupling
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 80 250 0)
|
(at 80 250 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000051")
|
(uuid "a1000001-0001-0001-0001-000000000051")
|
||||||
(property "Reference" "C10" (at 82 248 0))
|
(property "Reference" "C10" (at 82 248 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "100nF" (at 82 252 0))
|
(property "Value" "100nF" (at 82 252 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 80 250 0))
|
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 80 250 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; BH1750 Ambient Light Sensor
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Sensor_Optical:BH1750FVI")
|
(lib_id "Sensor_Optical:BH1750FVI")
|
||||||
(at 60 285 0)
|
(at 60 285 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000052")
|
(uuid "a1000001-0001-0001-0001-000000000052")
|
||||||
(property "Reference" "U7" (at 60 273 0))
|
(property "Reference" "U7" (at 60 273 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "BH1750FVI" (at 60 275 0))
|
(property "Value" "BH1750FVI" (at 60 275 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Package_SO:WSOF-6_1.4x1.7mm_P0.5mm" (at 60 285 0))
|
(property "Footprint" "Package_SO:WSOF-6_1.4x1.7mm_P0.5mm" (at 60 285 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C78960" (at 60 285 0))
|
|
||||||
(property "Description" "Ambient light sensor, 1-65535 lux, I2C, 1.6x1.6mm" (at 60 285 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; BH1750 decoupling
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:C")
|
(lib_id "Device:C")
|
||||||
(at 80 285 0)
|
(at 80 285 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000053")
|
(uuid "a1000001-0001-0001-0001-000000000053")
|
||||||
(property "Reference" "C11" (at 82 283 0))
|
(property "Reference" "C11" (at 82 283 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "100nF" (at 82 287 0))
|
(property "Value" "100nF" (at 82 287 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 80 285 0))
|
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 80 285 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; I2C pull-up resistors
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:R")
|
(lib_id "Device:R")
|
||||||
(at 40 235 0)
|
(at 40 235 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000054")
|
(uuid "a1000001-0001-0001-0001-000000000054")
|
||||||
(property "Reference" "R3" (at 42 235 0))
|
(property "Reference" "R3" (at 42 235 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "4.7K" (at 44 235 0))
|
(property "Value" "4.7K" (at 44 235 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 40 235 0))
|
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 40 235 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C25900" (at 40 235 0))
|
|
||||||
(property "Description" "I2C SDA pull-up" (at 40 235 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Device:R")
|
(lib_id "Device:R")
|
||||||
(at 48 235 0)
|
(at 48 235 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000055")
|
(uuid "a1000001-0001-0001-0001-000000000055")
|
||||||
(property "Reference" "R4" (at 50 235 0))
|
(property "Reference" "R4" (at 50 235 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "4.7K" (at 52 235 0))
|
(property "Value" "4.7K" (at 52 235 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 48 235 0))
|
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 48 235 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
(property "JLCPCB" "C25900" (at 48 235 0))
|
|
||||||
(property "Description" "I2C SCL pull-up" (at 48 235 0))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; =====================================================
|
|
||||||
;; MOUNTING HOLES
|
|
||||||
;; =====================================================
|
|
||||||
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Mechanical:MountingHole")
|
(lib_id "Mechanical:MountingHole")
|
||||||
(at 250 260 0)
|
(at 250 260 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000060")
|
(uuid "a1000001-0001-0001-0001-000000000060")
|
||||||
(property "Reference" "H1" (at 252 258 0))
|
(property "Reference" "H1" (at 252 258 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "MountingHole" (at 252 262 0))
|
(property "Value" "MountingHole" (at 252 262 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "MountingHole:MountingHole_2.2mm_M2_Pad" (at 250 260 0))
|
(property "Footprint" "MountingHole:MountingHole_2.2mm_M2_Pad" (at 250 260 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
|
|
||||||
(symbol
|
(symbol
|
||||||
(lib_id "Mechanical:MountingHole")
|
(lib_id "Mechanical:MountingHole")
|
||||||
(at 260 260 0)
|
(at 260 260 0)
|
||||||
(uuid "a1000001-0001-0001-0001-000000000061")
|
(uuid "a1000001-0001-0001-0001-000000000061")
|
||||||
(property "Reference" "H2" (at 262 258 0))
|
(property "Reference" "H2" (at 262 258 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Value" "MountingHole" (at 262 262 0))
|
(property "Value" "MountingHole" (at 262 262 0) (effects (font (size 1.27 1.27))))
|
||||||
(property "Footprint" "MountingHole:MountingHole_2.2mm_M2_Pad" (at 260 260 0))
|
(property "Footprint" "MountingHole:MountingHole_2.2mm_M2_Pad" (at 260 260 0) (effects (font (size 1.27 1.27)) hide))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user