The enclosure is part of the edge model
Which is exactly why the bench numbers lie to you. A board that idles cool on a desk is not the same object once it's sealed into a plastic box on a cabinet wall through a full summer. The chip didn't change. The box did, and it decides sustained clock speed more than any quantization choice you agonized over.
Write the four-line job before the board arrives
Start with the job: event, input, output, deadline. "Put AI on the camera" is a wish, not a spec. "When something sits in the porch zone for twenty seconds, fire one local notification with a thumbnail" can be tested, and usually shows what never needed a model.
Test with the real room, mic, camera angle, and network. The recurring mistake is validating cooling on an open desk, then sealing that same board into a sunlit box nobody can reach to clean. Keep a log: board, OS, supply, cooling; model and runtime version; real inputs and expected action; latency cold and warm, sustained rate; memory, temperature, wall power; every false and missed action, and the recovery. Accuracy alone isn't the bar.
Keep the model out of the parts that can hurt someone
A model can interpret a request or rank options; it should never stand alone between a person and a lock, a heater, an alarm, a valve, a battery. Put ranges, permissions, timeouts, confirmations, and interlocks in deterministic code; treat camera text, calendar entries, webpages, MQTT payloads, and voice transcripts as data, never as instructions.
Privacy needs the same full-path thinking: local inference stops one upload, but recordings, logs, thumbnails, backups, and a remote dashboard still leave copies. Decide what gets kept, how long, and who can pull it. The most private frame is the one the camera never captures.
Treat it like an appliance someone else has to maintain
Run it under a service manager or a small, pinned container, config apart from the model files, with a health check that proves the function works, not just a live port. Back up controller state, model hashes, and a known-good storage image for hard-to-reach nodes.
Power and heat belong in the acceptance test: run it to thermal equilibrium with the real peripherals attached and measure at the wall. If it throttles, swaps, corrupts storage, or eats the CPU your home-automation host needed, it isn't ready.
The vent problem I have not solved
The rule that's held up for me is boring: design for the install environment, and make the system less clever, not silent, when the model goes away. The point was never proving a cheap board can run a model, but building one small thing that still works after the benchmark numbers stop mattering.
What I still don't have a clean answer for is the vent problem. Seal the box tight enough to keep dust out and you've usually sealed out the airflow the chip needed. Mesh vents clog. Fans add a moving part that fails first. I haven't found a version that doesn't trade one failure mode for another.