← TRIGLER Lab
Rendered assembled Vision Guard device

Engineering Concept · Rev E · Third product, portfolio tier: premium/selective

Vision Guard — Edge-AI Fridge Camera

A 56×42×17mm adhesive-mount camera that runs on-device object classification to tell a drink from a food item — and only fires the siren for food, at night. No cloud, no streaming: a wake sensor keeps everything off until it's needed, and a local model makes the call.

01Renders

The last two are per-part renders of the actual STL files — a print/assembly reference: print both shells, seat the LiPo cell flat in the rear shell first, then the PCB+camera stack on top of it, then press the front shell on until its pegs seat in the rear shell's sockets. One extra step versus the other two products: bond a clear window into the lens aperture before final assembly — see Section 10's manufacturing notes for why this one can't ship as a bare hole.

02Key specs

Footprint
56×42 mm
Thickness
17 mm
Vision compute
ESP32-S3
Sensor
OV2640, 2MP
Illumination
2× 940nm IR
Battery
500mAh LiPo
Charge interval
~16 mo*
Cloud dependency
None

* estimated — see the power budget below for the assumptions behind it.

03Why a camera instead of a light sensor

Night Guard (the sibling product) can only answer "did the door open?" — it has no way to tell what someone took. Solving "drinks OK, food restricted" for real requires actually seeing what's in the frame. That's a different sensor, a different compute budget, and a different privacy posture — different enough that this is a new product, not a Night Guard revision.

Local-only, by necessity and by design. A fridge interior has no reliable Wi-Fi, and nobody wants footage of their own kitchen leaving the house. The classifier runs entirely on the ESP32-S3 — no frame is ever transmitted anywhere. This is also the honest privacy trade-off to surface to anyone you'd install this for: it is still a camera inside a shared fridge, local-only processing or not.

04How it decides to fire

The same ultra-low-power wake circuit as Night Guard — a phototransistor plus an always-on MCU with its own real-time clock — sits idle at microamp current until the fridge's interior light comes on inside the armed window. Only then does it switch on the camera and vision MCU via a load switch. The ESP32-S3 grabs a frame (with IR fill light, since fridge lighting is inconsistent), classifies it locally, and either does nothing (drink) or drives the piezo (food) — then powers back down. The camera is never on except for that one- to two-second window per door-open.

Wake MCU + RTC STM8L051, 1.3µA sleep Phototransistor sees fridge light turn on Hour / confirm buttons set the armed window Load switch gates power on trigger if armed ESP32-S3 + OV2640 on-device classifier + 2× IR illuminator no network, no upload powers up Piezo siren fires only on "food" classify: food LiPo 500mAh

05On-device model — what's assumed, what's unsolved

This spec covers the hardware that would run a classifier — it does not include a trained model, and that's a real, separate workstream, not a BOM line item. A working version needs:

1. A labeled dataset of drink vs. food items photographed under IR illumination, ideally from inside real fridges — lighting, angle, and clutter matter more than model architecture here.

2. A quantized model (e.g. a MobileNet-scale CNN via TensorFlow Lite Micro or ESP-DL) small enough to run in the ESP32-S3's SRAM/PSRAM within a 1–2 second inference budget.

3. A false-negative bias, deliberately — a missed food item just means no alarm; a false alarm on a drink is what makes people disable the device. The classifier should be tuned to under-trigger, not to maximize raw accuracy.

06Power budget

Per-event vision burst

Camera + ESP32-S3 active draw~180 mA
Burst duration (capture + inference)~2 s
Energy per burst~0.1 mAh
Assumed door-opens/night~10
Vision energy/night~1.0 mAh

500mAh LiPo, per charge

Wake-circuit sleep draw~2 µA
Vision bursts~1.0 mAh/night
Siren (rare, ~3/week)negligible
Estimated charge interval~16 months

The load-switch gating is what makes this viable on a small battery at all — an ESP32-S3 and a camera left continuously powered would drain 500mAh in well under a day. Every number here is an engineering estimate pending real firmware measurement, not a datasheet spec.

07Bill of materials (sourced from LCSC where possible)

ComponentReal partPriceStatus
Vision MCU + Wi-Fi/BTEspressif ESP32-S3-WROOM-1-N8R8$3.50Verified
Wake MCU + internal RTCST STM8L051F3P6TR$0.58Verified
Camera sensor moduleOlimex CAMERA-OV2640, 2MP$14.21Verified, 1pc
IR illuminator LEDs ×2Everlight IR67-21C, 940nm$0.10Verified
Ambient light sensorSenba SMD0805-20$0.057Verified
Load-switch MOSFETAOS AO3401A$0.06Verified
LiPo charge ICTP4056-42-ESOP8$0.11Verified
USB-C receptacleSHOU HAN TYPE-C 6P$0.03Verified
LiPo cell, 500mAhAdafruit 1578$7.95Verified, 1pc
Piezo sirenTDK PS1240P02CT3, 12.2mm$0.164Verified
Hour + confirm buttons ×2ALPS SKSCLBE010$0.148Verified
Status LEDNationstar NCD0603R1$0.008Verified
PCBJLCPCB 2-layer, ~50×38mm~$0.35Est.
Enclosure (2-piece shell + lens bezel)~$0.75Est.
Adhesive mount pad~$0.05Est.
BOM total$28.07

† Real DigiKey quote, but for a single-unit eval board — Arducam's bare OV2640 DVP module runs similarly ($13–26 at UCTRONICS/Amazon depending on variant). No mainstream distributor (LCSC, Mouser, DigiKey) carries bulk OEM camera-module pricing; this is the best real number available short of a factory quote. ‡ Real DigiKey quote (Adafruit 1578), also single-unit hobbyist pricing with a built-in protection circuit and connector — a bulk bare-cell price from a battery factory direct would likely land much closer to the original ~$1.20 estimate.

This total is a ceiling, not the real number. Every other line here is priced at ~500–1000pc volume; the camera and LiPo cell are priced at qty 1, because that's the best real (not guessed) data mainstream distributors offer for these two parts. Real bulk pricing for both is almost certainly much lower — but "much lower, unverified" isn't better than "higher, verified." The $28.07 total below should be read as a worst-case, pending an actual factory quote for CAM1 and BT1.

08Product break-even & margin (no marketing)

What the hardware itself needs to charge, independent of customer acquisition. See Groove's spec for the full formula derivation. Recomputed with the real (if worst-case) $28.07 BOM from Section 07 — Landed COGS is now $29.27, up from $10.81.

ChannelBreak-even (0%)Price @ 15%Price @ 20%Contribution @ 20%
Pre-order$32.87$38.67$41.09$8.22
Retail / wholesale$33.52$39.44$41.90$8.38

The hardware itself now needs ~$41 to clear a 20% margin — but it also throws off over twice the absolute contribution margin per unit ($8.22-8.38) as before, which changes the next section's conclusion more than it might look at first glance.

09Marketing fund coverage (separate from product margin)

Same M values and sourcing as Groove's spec: $6/unit for pre-order/crowdfunding, $70/unit for standalone retail DTC.

ChannelContribution @ 20% priceCAC (M)GapFully-loaded price to still hit 20% after M
Pre-order$8.22$6.00+$2.22$48.59
Retail DTC$8.38$70.00−$61.62$129.40

The real BOM flips pre-order from "gap" to "covered." At the $41.09 product-only price, pre-order's contribution margin ($8.22) now exceeds the $6 CAC with $2.22 to spare — the higher (if worst-case) BOM leaves enough absolute margin per unit to fund its own acquisition cost without a price increase. Retail DTC is still deeply uncovered ($61.62 short), pushing the fully-loaded price to ~$129 — high, but within range of premium smart-home camera competitors. This BOM revision makes Vision Guard's pre-order economics stronger, not weaker — worth remembering that CAM1 and BT1 are still ceiling prices (Section 07), so the real numbers, once sourced in bulk, are likely to look better still.

10Manufacturing notes

The lens bezel is the one feature that forces a side-action in the mold — everything else on both shells still pulls straight. The bezel's aperture needs a clear window (glass or polycarbonate) bonded in during assembly, both to protect the sensor and to keep the IP rating intact; unlike Night Guard's open sensor holes, this one can't ship as a bare hole without letting condensation reach the lens. Camera modules also need an alignment/focus check in the assembly line that the other two products don't require at all — reflected in the higher assembly-cost estimate in the unit economics above.

11Project files