iot-embedded
Design embedded/IoT systems — firmware, sensors, edge computing, device connectivity, OTA updates — with reliability, security, and constrained resource awareness.
Goals
- Design for constrained hardware (RAM, CPU, power)
- Plan secure device communication and firmware updates
- Define edge vs. cloud processing split
- Ensure observability of distributed devices
Contract
Input
An IoT system to design: device type, connectivity, processing requirements.
Output
An IoT architecture with:
- Device hardware profile and constraints
- Communication protocol (MQTT, CoAP, HTTP)
- Edge/cloud processing split
- Security model and update strategy
Device Constraints
| Resource |
Microcontroller |
Edge Device |
Edge Server |
| RAM |
2–512 KB |
256 MB–2 GB |
4–64 GB |
| Storage |
16 KB–8 MB |
8–256 GB |
100 GB+ |
| Power |
Battery/solar |
Plugged |
Plugged |
| Connectivity |
LoRa, BLE, WiFi |
WiFi/Cellular |
Ethernet |
Steps
- Profile the device — understand constraints upfront
- Choose communication protocol — MQTT (pub/sub), CoAP (constrained), HTTP (request/response)
- Split processing — edge (real-time, low latency) vs. cloud (batch, storage)
- Design the protocol — message schemas, QoS, retain, last-will
- Plan OTA updates — secure boot, delta updates, rollback
- Add observability — device health, connectivity, firmware version
Security Checklist
References
../../networking/networking/SKILL.md — network protocols
../../sec/sec-cryptography-applied/SKILL.md — device security
../../platform/monitoring-alerting/SKILL.md — device observability
1---2name: iot-embedded3description: Design embedded/IoT systems — firmware, sensors, edge computing, device connectivity, OTA updates — with reliability, security, and constrained resource awareness.4---56# iot-embedded78Design embedded/IoT systems — firmware, sensors, edge computing, device connectivity, OTA updates — with reliability, security, and constrained resource awareness.910## Goals11- Design for constrained hardware (RAM, CPU, power)12- Plan secure device communication and firmware updates13- Define edge vs. cloud processing split14- Ensure observability of distributed devices1516## Contract1718### Input19An IoT system to design: device type, connectivity, processing requirements.2021### Output22An IoT architecture with:23- Device hardware profile and constraints24- Communication protocol (MQTT, CoAP, HTTP)25- Edge/cloud processing split26- Security model and update strategy2728## Device Constraints2930| Resource | Microcontroller | Edge Device | Edge Server |31|---|---|---|---|32| RAM | 2–512 KB | 256 MB–2 GB | 4–64 GB |33| Storage | 16 KB–8 MB | 8–256 GB | 100 GB+ |34| Power | Battery/solar | Plugged | Plugged |35| Connectivity | LoRa, BLE, WiFi | WiFi/Cellular | Ethernet |3637## Steps38391. **Profile the device** — understand constraints upfront402. **Choose communication protocol** — MQTT (pub/sub), CoAP (constrained), HTTP (request/response)413. **Split processing** — edge (real-time, low latency) vs. cloud (batch, storage)424. **Design the protocol** — message schemas, QoS, retain, last-will435. **Plan OTA updates** — secure boot, delta updates, rollback446. **Add observability** — device health, connectivity, firmware version4546## Security Checklist4748- [ ] Secure boot with signed firmware49- [ ] TLS/DTLS for data in transit50- [ ] Device authentication (certificates or keys)51- [ ] OTA updates with rollback capability52- [ ] No hardcoded credentials5354## References55- `../../networking/networking/SKILL.md` — network protocols56- `../../sec/sec-cryptography-applied/SKILL.md` — device security57- `../../platform/monitoring-alerting/SKILL.md` — device observability