Skip to content

Wi-Fi dashcam drive for the Tesla

Status: plan, 2026-09-15. Angel's idea (task 224): a USB drive the car records dashcam and Sentry clips to, that uploads them to the home NAS when the car is on the house Wi-Fi.

Start with what exists

TeslaUSB (github.com/marcone/teslausb, open source, years of Tesla-specific fixes) does this on a Raspberry Pi Zero 2 W: presents a USB drive to the car, snapshots the clips so the car is never interrupted, syncs to an SMB share on home Wi-Fi, archives Sentry events. The spike (task 225) is: run it in Angel's car for two weeks and log what happens. Only then design.

Constraints the product must meet

  • USB 2.0 high-speed with ≥ 4 MB/s sustained writes (Tesla's requirement; four camera streams). ESP32-S3 (full-speed, ~1.5 MB/s) is out. Candidates: Pi Zero 2 W / CM4-class, or ESP32-P4 (HS USB device + SD/eMMC) with an ESP32-C6 module for Wi-Fi.
  • Heat: 60 °C+ in a parked car; the port stays powered in Sentry mode. No LiPo.
  • Never corrupt what the car is writing: sync from snapshots, when the car is idle.
  • Pre-certified Wi-Fi module → FCC declaration by reference, no lab (to confirm, task 227).

Form factor (Angel, 2026-09-15): a flash drive

Target ~50 × 18 mm on a USB-A plug in a stick case. Only the ESP32-P4 + C6 path fits: P4 (9 × 9 mm, HS USB + eMMC), C6-MINI module (13 × 16 mm, pre-certified), eMMC over a card slot for heat and vibration, metal case as the heatsink, firmware throttles sync when hot. The Pi is spike-only.

Design plan rev A (2026-09-15)

Status: proposal, for Engineering review (task 226 decides the platform). Notebook copy: https://notebook.embeddedera.com/projects/dashcam-drive/

1. What the board must do

  • Enumerate to the car as a USB 2.0 High-Speed mass-storage device and sustain ≥ 4 MB/s writes (Tesla's stated minimum; the car writes four camera streams). Plan for 8 MB/s.
  • Hold ≥ 64 GB (Tesla minimum); 128 GB eMMC is the target.
  • Join the home Wi-Fi when the car is parked and copy new clips to the NAS, without ever touching a file the car is writing.
  • Survive a parked car: −20 to +70 °C, powered from the car's USB-A port (5 V, ≤ 500 mA budget; the glovebox port is a USB 2.0 port, assume 500 mA and measure in the spike).
  • Flash-drive size: ~50 × 18 mm board, USB-A plug, metal stick case that is the heatsink.
  • No battery. The car powers it; a small hold-up capacitor finishes the last write and unmounts cleanly when power drops (the car cuts the port when it sleeps).

2. Platform — two candidates, decided by the spike (task 226)

B1: ESP32-P4 + ESP32-C6 B2: Allwinner T113-S3 + SDIO Wi-Fi module
USB HS device yes, on-chip PHY, TinyUSB MSC yes, Linux g_mass_storage, decades of use
Measured MSC write rate Espressif's own figures: ~4.5 MB/s with a 32 KB FIFO (SD card) — at the Tesla minimum, no headroom yet; eMMC 8-bit + tuning may lift it; must be measured typically 20–35 MB/s on eMMC; comfortably above
Wi-Fi C6 module over SDIO (ESP-Hosted); pre-certified module any SDIO module with a mainline driver (e.g. a pre-certified Realtek/Broadcom-based module); pre-certified
Firmware bare-metal (ESP-IDF); the snapshot/sync logic must be written Linux; TeslaUSB's logic runs almost unchanged (it is shell + Python on a Linux gadget)
Storage eMMC via SDMMC host eMMC via SDMMC, mainline
Power rails 3.3 V + external DC-DC for the HP core domain (VDD_HP, ~1.1 V, EN_DCDC) 3.3 V, 1.8 V (DDR I/O), ~0.9–1.1 V core — three rails or a small PMIC
Package QFN (9 × 9) LQFP-128, 14 × 14 mm with 128 MB DDR3 in the package — fits, and no BGA
Heat at 70 °C ambient lower idle power higher; Linux idle can be tuned; case as heatsink
BOM cost (est.) ~$9 ~$8
Risk throughput margin; young USB HS stack bring-up of Linux on our own board; boot media (SPI NAND or eMMC)

Recommendation to test first: B2 (T113-S3). The whole product is "a Linux USB gadget that syncs", which is exactly what the community has proven; the throughput question is answered before we start; the firmware is mostly configuration. B1 stays on the table if the spike shows the P4's HS stack clears 8 MB/s on eMMC, because it is the smaller, cooler chip. The board outline, power, USB and storage pages are the same for both; only the SoC page changes.

2b. The MCU route — STM32H7 with an integrated High-Speed PHY (added 2026-09-15)

Angel asked for an MCU rather than a Linux SoC. The constraint that rules most MCUs out is USB 2.0 High-Speed device with an on-chip PHY: most STM32s (F4, G0, L4) are full-speed only, and Nexperia makes no MCUs at all. Three MCU families do have the HS PHY on chip:

Family HS PHY on chip eMMC host Notes
STM32H723/H725/H730/H750 (ST) yes (H7x3 "with HS PHY" variants) SDMMC 8-bit, DMA same vendor and toolchain as the tester (STM32G0), LQFP-100 14 × 14 available, 550 MHz M7, internal SMPS
NXP i.MX RT1060/RT1170 yes uSDHC 8-bit faster, but a new toolchain and BGA-only for the small ones
Microchip SAME70/V71 yes HSMCI fine parts, less shop familiarity

B3: STM32H723VGT6 + eMMC + ESP32-C6-MINI-1 (ESP-Hosted over SDIO or SPI). The H7 runs TinyUSB MSC with DMA at 20–30 MB/s (well past the 8 MB/s target), talks to the eMMC over the 8-bit SDMMC, and the C6 module carries Wi-Fi and the TCP/IP stack as a co-processor, so the FCC evidence is the module's grant. Bare-metal, no DDR, no Linux bring-up, and it is the vendor Engineering already knows. Power: 3.3 V only (the H7's internal SMPS makes its core rail), which deletes one buck from page 3. Firmware is the real cost: the snapshot-and-sync logic that TeslaUSB gets for free from Linux has to be written (FAT/exFAT on eMMC shared between the USB host and the sync task — solved with a "car writes, we read snapshots when idle" rule and a copy-on-idle window; the C6 does the SMB/HTTP upload).

Revised recommendation: B3 first for the shop's skills and the simplest power tree; B2 (T113 Linux) is the fallback if the firmware effort proves too large; B1 (P4) only if its measured write rate clears 8 MB/s. Page 4 is the only page that changes between them; the part list on page 3 gets one buck fewer on B3.

2c. "One brain" (Angel, 2026-09-15)

No mainstream chip combines USB 2.0 High-Speed device, an eMMC host and Wi-Fi. Reading "one brain" as one processor running all of our code: the Linux route (B2, T113-S3 + a Wi-Fi module as a plain peripheral with a driver) is the only single-brain design available from mainstream parts, and it is the one the community has proven. B3 (STM32H7 + ESP32-C6) is two firmwares and is demoted to second. Genuine single-chip candidates (Wi-Fi + HS USB + SD host on one die) exist only from Realtek's Ameba line (RTL8730E class): check documentation, driver state and supply in task 226 before dismissing; do not design on it without a working eval.

Order for the decision (226): B2 first, B3 second, B1 only if measured ≥ 8 MB/s, single-chip Realtek as a one-afternoon check.

3. ICs, by function (0402 passives throughout; 0603 only where power dissipation needs it)

Function Part class Candidate (to confirm with part-lookup / SOP-002)
USB-A plug male A, PCB-mount, through-hole for strength Amphenol / Wurth 61400416021-style
Input protection TVS on VBUS (5 V line, 5.5 V standoff) + USB data ESD array SMF5.0A (already in the library, EE-C-0144) + USBLC6-2SC6 (EE-C-0146 / 0155)
Inrush + overcurrent eFuse with soft-start, 0.5–1 A limit, or polyfuse + P-FET slow start TPS2553 / TPS25200-class eFuse
Hold-up 2 × 470 µF low-ESR polymer on VBUS behind the eFuse (or one 1–2 F supercap if the write-finish time needs it — measure) Panasonic ZA / OS-CON
5 V → 3.3 V synchronous buck, 1.5 A, ≥ 1 MHz (small inductor), −40 to +105 °C TPS62A02 / SY8089-class (SY8089 is an LCSC staple)
Core rail 3.3 → 1.1 V (P4) or 3.3 → 0.9 V + 1.8 V (T113) bucks, 1 A same family, or an AXP2101-class PMIC for B2
SoC ESP32-P4NRW32 (32 MB PSRAM) or T113-S3
Storage eMMC 5.1, 128 GB, BGA-153, industrial temp Kioxia/Samsung/Foresee eMMC (Foresee is the LCSC route)
Wi-Fi B2: Murata Type 1YN (CYW43439, the 1DX's successor — 1DX is EOL), SDIO, mainline brcmfmac, pre-certified FCC by reference to the module grant
Boot media (B2 only) 128 Mbit SPI NAND or boot from eMMC
Clocking 40 MHz crystal (P4) / 24 MHz (T113), 32.768 kHz RTC
Debug UART + SWD/JTAG on pogo-pin test pads (no header — no room), 2 LEDs (power, activity/Wi-Fi)
Thermal NTC on the 3.3 V rail near the SoC, read by firmware to throttle sync

Everything above is a purchased component (class C) with an IPN before the schematic is finished (SOP-008: symbols carry the IPN; SOP-002 for the parts).

4. Power tree

USB-A VBUS 5 V ──TVS──eFuse(0.8 A, soft-start)──┬── hold-up caps ── 5 V rail
                                                └── buck 3.3 V ─┬── SoC I/O, eMMC (VCCQ 3.3 or 1.8), Wi-Fi module, LEDs
                                                                ├── buck 1.1 V (P4 VDD_HP)  |  buck 0.9 V + LDO 1.8 V (T113 core + DDR)
                                                                └── NTC / supervisor
Rules: every rail has a test pad; the eFuse's fault output goes to a GPIO so the firmware knows why it browned out; power-good gates the SoC reset so it never boots on a sagging rail.

5. The KiCad schematic — pages

One root sheet with hierarchical sheets, one function per page, so a reviewer reads it in the order power flows and the checks (SOP-021) map to pages:

Page Contents
1 Root / block diagram title block, revision, the block diagram as a drawing, one hierarchical sheet symbol per page below, global power flags, the note "rules: EmbeddedEra_Project.kicad_dru (safe) — switch to JLCPCB dru only if the eMMC BGA forces it"
2 USB input & protection USB-A plug, VBUS TVS, D+/D− ESD array, eFuse with soft-start and fault flag, hold-up capacitors, VBUS sense divider to an ADC pin, shield/chassis strategy
3 Power supplies 3.3 V buck, core buck(s) / PMIC, 1.8 V for DDR (B2), enable sequencing, power-good → reset, NTC, test pads on every rail
4 SoC core the SoC, decoupling per Espressif/Allwinner checklist, crystals, boot straps / mode pins, reset, the debug test pads (UART, JTAG/SWD), the two LEDs
5 Storage eMMC BGA-153 with its 8-bit bus, VCC/VCCQ, series termination, pull-ups; (B2) SPI NAND boot
6 Wi-Fi the pre-certified module on SDIO, its enable/reset, antenna keep-out note, the ESP-Hosted / SDIO wiring
7 Mechanical board outline reference, fiducials, mounting/case contact pads (the case is the heatsink: exposed copper pours under the SoC and eMMC with thermal vias to a case-contact area), NC and DNP notes

Net names per the template README (+5V, +3V3, +1V1/+0V9, +1V8, USB_D+/USB_D-, SDIO_*, EMMC_D0..7/EMMC_CLK/EMMC_CMD). Net classes: the six from the template; add USB_HS for the pair (90 Ω, length-matched) and EMMC (short, matched) as project classes.

6. Layout notes (for the first board)

4-layer, 1.0 mm, JLCPCB 04161H stackup if the USB pair needs the impedance (likely: HS is 480 Mb/s), else 2-layer 1.0 mm to fit the stick case — this is the one place the JLCPCB rule file may be required; the safe-everywhere set is tried first. USB-A plug at one end, Wi-Fi module antenna at the far end away from the case metal (or a case with a plastic cap over the antenna), eMMC and SoC in the middle under the case's thermal pad.

7. Order of work

  1. Spike (task 225) → 2. platform decision (226) with a measured write rate → 3. parts into the ERP with IPNs → 4. pages 2, 3, 5, 7 (platform-independent) → 5. page 4 and 6 per the decision → 6. review per SOP-021 step 11 → 7. five prototypes.

Competitors

(to be filled by task 227)

Path

  1. Spike with TeslaUSB (task 225) → 2. hardware decision (task 226) → 3. market + compliance (task 227) → 4. product repo from Project_Template (SOP-021/022) → 5. first 5 prototypes → 6. tutorial note + Tindie listing → 7. run of 50. Fits products-business as the first product with a radio, worth its paperwork because the demand is real and specific.

Log

  • 2026-09-15: idea promoted to task 224 with three child tasks.
  • 2026-09-15: repo EmbeddedEra/Dashcam_Drive from Project_Template; ERP EE-A-0001 (assembly) + EE-P-0001-A (main board), BOM linked; first real use of SOP-022.

8. Boot, flashing and updates (T113-S3 route)

  • Boot ROM order: SD/eMMC boot area → SPI flash → FEL (USB recovery mode built into the ROM, on the OTG port = our USB-A plug). A blank board is programmable with nothing added.
  • Chain: U-Boot SPL → U-Boot → mainline Linux (sunxi, T113 supported) → Buildroot rootfs (USB gadget, sync service, Wi-Fi driver). Start from the MangoPi MQ device tree.
  • Boot medium: SPI NAND (16 MB) for bootloader + kernel and the rootfs on eMMC, or all on the eMMC boot partitions. Decide at bring-up; the SPI NAND keeps the system alive if the eMMC is ever reformatted by the car.
  • Bench flashing: xfel (open source) over USB in FEL mode; a pogo-pin pad pulls FEL so a working image can be bypassed. Production: the same tool from a fixture (pogo pins on the FEL pad and USB), write + verify; fits the Universal Tester pattern. Field: OTA over Wi-Fi with A/B system slots (RAUC or SWUpdate), signed images, automatic fallback; the car-facing storage partition is separate from the system slots.
  • Add to page 4: the FEL pad, the SPI NAND (page 5), and the boot-select strap.

9. The Wi-Fi module, concretely

Module Radio Linux driver Certs Size Why / why not
Murata Type 1DX (Infineon CYW4343W) 2.4 GHz b/g/n + BT 4.2, SDIO brcmfmac, mainline FCC / IC / CE modular grants 6.95 × 5.15 mm LGA the radio in the Raspberry Pi Zero W, so the exact driver path TeslaUSB runs on today; industrial temp; first choice
Murata Type 1MW (CYW43455) 2.4 + 5 GHz, SDIO brcmfmac, mainline modular grants 12 × 12 mm the Pi 3B+/4 radio; only if 5 GHz is needed (a congested 2.4 GHz garage); bigger, pricier
Realtek RTL8189FTV module (Fn-Link / Ai-Thinker) 2.4 GHz, SDIO rtl8189fs, out-of-tree, in the sunxi BSPs some modules carry FCC IDs — check per module ~12 × 12 mm the LCSC-cheap option, ~$1.5; driver is not mainline, which costs maintenance
ESP32-C6-MINI-1 2.4 GHz Wi-Fi 6, SDIO/SPI esp-hosted (Espressif, out-of-tree) FCC / CE modular 13 × 16 mm a second processor in disguise; against the one-brain rule

Plan on the Murata 1DX. Antenna: a 2.4 GHz chip antenna at the plug-far end of the board with the keep-out from the module's reference design, under a plastic end cap in the metal stick case; or a small PCB inverted-F antenna if the length allows. Supply: 3.3 V, plus a 32.768 kHz LPO clock from the SoC or a crystal; WL_REG_ON and BT_REG_ON to GPIOs.

10. Storage options

Option What it is For / against
eMMC 5.1, 128 GB, BGA-153, industrial temp (first choice) soldered managed NAND with its own controller and wear levelling; 8-bit bus at HS200 soldered = no card to wiggle loose in a hot car; controller handles wear and bad blocks; two sources: Kioxia THGBMNG/THGBMJG (industrial, −40…+85 °C) and Foresee/Longsys FEMDNN (the LCSC route, check the temperature grade per part). Against: 0.5 mm-pitch BGA-153 (11.5 × 13 mm) needs a 4-layer board with 0.2 mm vias and dog-bone escapes — the one part that forces the JLCPCB rule file and a 4-layer stackup
eMMC 64 GB same, half the size meets Tesla's 64 GB minimum with no room for the archive; only as a cheaper variant later
microSD slot the card is the storage cheap, user-replaceable, the community's own pain point: cards wear out, get corrupted, vibrate loose, and quality varies by card — the "it stopped recording" support ticket. Keep only as an additional slot if a customer wants their own capacity
SD NAND (LGA-8, 1–8 GB) tiny soldered NAND with an SD interface too small for video; not an option
Raw NAND + software FTL cheapest per GB a file-system wear-levelling project of its own; not for a two-person shop

Endurance: a dashcam writes continuously while driving; Sentry adds bursts. Assume ~20 GB/day worst case → ~7 TB/year. A 128 GB TLC eMMC rated ~3,000 P/E cycles gives ~380 TB written before wear-out; MLC-based industrial parts far more. eMMC comfortably outlasts the car's warranty; SD cards often do not, which is the product's whole argument.

Layout consequence: page 5 (storage) is the reason the board is 4-layer and JLCPCB-rule; the T113's SDC2 8-bit bus wants short, matched traces (< 30 mm) to the eMMC, with VCC 3.3 V and VCCQ at 1.8 V (HS200) from the PMIC's 1.8 V rail.

eMMC — manufacturer and part numbers (looked up 2026-09-15)

Grade Manufacturer Part number Temp Where / price seen Note
Industrial, first choice Kingston EMMC128-IY29-5B101 (128 GB, TLC, eMMC 5.1 HS400, 153-FBGA) −40…+85 °C DigiKey $225 @1 / $195 @100, Mouser $268; in stock the -IY29 is the industrial grade; -TY29 is −25…+85
Industrial, second source Swissbit SFEM128GB2ED1TB-I-EF-121-STD (EM-30, 153-BGA) industrial DigiKey $281 / Mouser $280; low stock pSLC-class endurance, the premium option
Industrial, second source Kingston EMMC128-TY29-5B102 (128 GB, pSLC, HS400) −25…+85 °C Mouser $240 pSLC = far higher endurance for a dashcam
Volume / Asia route Samsung KLMDG4UCTA-B041 (128 GB, eMMC 5.1 HS400, 153-FBGA) −25…+85 °C (consumer) via LCSC-side sellers ~$11.6 @1, stock 10,000 the price the BOM estimate assumed; consumer temp grade — acceptable if the case keeps the die under 85 °C (to be measured in the spike)
Volume SanDisk / WD SDINBDV4-128G (iNAND EM141) −25…+85 °C Mouser $101 (small-qty US pricing) Asia pricing is a fraction; same grade as Samsung

Decision for the first five prototypes: Samsung KLMDG4UCTA-B041 (cheap, plentiful, the same footprint as the industrial parts). Decision for the product: measure the eMMC case temperature in the parked-car test; if it stays under ~80 °C, ship the Samsung part and offer an industrial (Kingston -IY29) variant at a higher price; if not, the Kingston is the only option and the price moves up ~$15. All four share the JEDEC 153-ball 11.5 × 13 mm footprint, so the board does not change.

11. Cost, recalculated (2026-09-15, 50-piece run, per unit)

Prices are what the distributors showed today; "Asia" = LCSC-side sellers through Nexar, the route the shop actually buys through for small runs. US small-quantity prices for memory and radios are 5–20× the Asia price and are shown only as the ceiling.

Item Part Asia route US route (@100)
SoC Allwinner T113-S3 (LCSC) ~$3.60 Mouser $66 (new listing, not a real price)
eMMC 128 GB Samsung KLMDG4UCTA-B041 ~$10–11.60 Kingston EMMC128-IY29 $195
Wi-Fi Murata 1YN (LBEE5KL1YN-814; the 1DX is EOL, 1YN is its successor, same driver) ~$8–10 DigiKey $10.37
SPI NAND 16 MB Winbond W25N01 class $0.90 $1.50
PMIC AXP2101 class $1.20 $2.50
eFuse TPS2553 class $0.90 $1.20
TVS + ESD SMF5.0A + USBLC6 (in library) $0.30 $0.60
Crystals (24 MHz, 32 kHz), chip antenna, NTC, 2 LEDs $0.80 $1.50
Hold-up polymer caps ×2 $1.00 $1.60
0402 passives (~80) $1.20 $2.00
USB-A plug $0.40 $0.80
ICs + parts ~$29 (memory alone breaks the US route)
PCB, 4-layer, 50 × 18 mm, JLCPCB, 50 pcs $1.50
Stencil + assembly consumables, amortised $0.40
Assembly + test on our line (labour, ~6 min/unit) $4.00
Metal stick case with plastic cap, laser-marked $1.80
Packaging, label $0.60
Landed cost per unit ~$37

Price by the 3× rule: $109 → sell at $99 and accept 2.7×, or at $119 and hold 3.2×. The eMMC is a third of the cost and the only lever: a 64 GB Samsung part (~$6) drops the landed cost to ~$32 and allows a $89 entry model; a 256 GB variant (~$20) at $149 is the upsell. The memory is not "a lot": it is the product. A plain 128 GB USB stick costs the customer $15–20; the $99 buys the Wi-Fi and the never-pull-the-stick behaviour.

The earlier "$8 eMMC / $9 board" figure was wrong: it assumed 16 GB pricing. Corrected here.

12. Cost at prototype quantity (5 units, 2026-09-15)

At five pieces nothing amortises: the board order, stencil and shipping are paid once, parts are bought at the @1 price, and a couple of spares of every part are needed because BGA rework is not free. Per-unit numbers are misleading here, so this is the total cash for the prototype batch.

Item Qty bought Unit @1 (Asia route) Cost
T113-S3 7 $4.00 $28
eMMC 128 GB Samsung KLMDG4UCTA-B041 6 $11.60 $70
Murata 1YN Wi-Fi module 6 $12.00 $72
SPI NAND, PMIC, eFuse, TVS/ESD, crystals, antenna, NTC, LEDs, polymer caps 7 sets ~$7.50 $53
0402 passives (reels already on the shelf cover most; buy the gaps) $15
USB-A plugs 10 $0.50 $5
PCB 4-layer 50 × 18 mm, JLCPCB, minimum 5 pcs + stencil 1 order $45
Shipping (LCSC + JLCPCB, one combined order, DDP) $35
Stick cases, 10 $2.50 $25
Total for 5 prototypes ~$350

That is ~$70 per prototype in parts and boards; the labour is the real cost: about a day of assembly and bring-up per board the first time, less after the second. Nothing in this batch is wasted at the 50-piece run: the same reels, the same board data, the same case.

What changes versus the 50-piece table: memory and the radio bought at @1 instead of @100 (+$4 each), board and shipping paid once across five instead of fifty (+$15/unit), spares (+$10/unit). Order the eMMC and the Murata module a week early; the rest is stock or LCSC.

13. Cheapest possible: off-the-shelf, no size limit (2026-09-15)

Build Parts Cash per unit Work Notes
Pi Zero 2 W + TeslaUSB Pi Zero 2 W $15, 128 GB A2 microSD $12, USB-A to micro-USB data cable or a "Zero-to-USB-A" adapter $5, aluminium case/heatsink $6 ~$38 one evening, zero design; TeslaUSB's one-step installer the spike is this; it becomes a sellable v0 in a branded case with our image and instructions, ~$99 retail, ~2.5×
MangoPi MQ-Dual (T113-S3 board with Wi-Fi) + TeslaUSB port board $12, microSD $12, cable $5, case $6 ~$35 a week: bring TeslaUSB up on the sunxi image the same silicon as the product; this board is the development platform for the real firmware, so the work is not throwaway
Pi Zero 2 W + USB eMMC/SSD instead of microSD + $20 for a small USB SSD ~$55 same evening fixes the microSD wear complaint, but the Pi's single USB port is the car's — needs a hub, so no

Recommendation: buy two Pi Zero 2 W kits and one MangoPi MQ-Dual now (~$110 total). The Pi goes in the car this week (task 225) and can be sold as v0 if the demand is there; the MangoPi is where the T113 firmware gets written while the custom board is designed. Nothing here is lost when the flash-drive-sized board arrives: the firmware moves over, the case changes.

14. Once it is a Linux box in the car — what else it can do (2026-09-15)

Same hardware, firmware only, in rough order of value:

  1. Event digest to the phone. When the car comes home: "3 Sentry events today, 1 saved clip" as a push (ntfy, which the shop already runs) with thumbnails; tap to watch from the NAS.
  2. Never fill up. Archive to the NAS, then prune the car partition oldest-first, keep every Sentry event; the customer never formats a drive again.
  3. Music partition. The second USB partition the car reads as a music drive, synced from a NAS folder — TeslaUSB already does it.
  4. Home Assistant / NAS dashboard. The device reports "home, synced 04:12, 118 GB free, 41 °C" as an MQTT sensor; a fleet view for a small business with several cars is the same page with more rows.
  5. Tamper and impact alerts. A cheap IMU on the board (product rev B) turns a parked-car bump into an immediate push with the clip, before Sentry's own delay.
  6. Upload on the road. Phone hotspot or an LTE stick: clips upload from anywhere, Sentry events first. This is the paid tier: cloud archive as a subscription (the recurring-revenue model the shop wanted) — our storage, their clips, $4–6/month.
  7. Clip tools. Trim, combine the four cameras into one view, blur a plate, export for the insurance claim — done on the NAS or the device, delivered as a link.
  8. The general product. The board is a "Wi-Fi USB drive": anything that records to a USB stick — CNC and laser machines, oscilloscopes, 3D printers, PA recorders, older cameras — gets automatic sync to a share. One firmware setting: which folder layout to expect. That is a bigger market than Tesla, with the same board.

  9. Car control over Bluetooth (sibling product, not the drive). The USB port controls nothing. Tesla's published vehicle-command protocol over BLE (the phone-key protocol; Linux CLI exists) does: media volume/play/next, climate, locks, charging. Our module has BT, so the device could be paired as a virtual key. Needs: pairing from the screen (a real setup step), signed commands, and a trigger — a knob or buttons, or an automation — which makes it a "Tesla button box" product rather than a drive feature. Rev B or a sibling; note the shop already holds Fleet API credentials for the cloud side.

Rule from products-business.md still applies: ship 1–3 with the first unit; 5–8 are rev B and the subscription, after the first 50 have sold.