IoT lab viva: the systems view
Every experiment is treated as a small system you could have designed: what it must do, how it was built, why each part was chosen over the alternatives, and how to read its circuit, code and output.
The route
- Foundations
The building blocks every experiment reuses, framed as choices: superloop, pins, signal encodings, timing, links, interaction patterns.
- 1. Arduino basics
Output and input on one GPIO each, plus a byte protocol over UART from the PC.
- 2. Buzzer and sensors
Three encodings in one experiment: on/off, PWM duty, and a distance carried in a pulse width.
- 3. Servo and relay
Closed-loop position control, galvanic isolation, and the siren design.
- 4. DHT and LDR
A smart sensor with its own protocol versus a dumb sensor with a hardware threshold.
- 5. Bluetooth
A wireless serial link: same byte protocol as Exp 1, different transport.
- 6. Wi-Fi server
The device as an HTTP server on a LAN.
- 7. GSM
A cellular modem driven by text commands over a second UART.
- 8. IoT Cloud
The device as a client of a cloud broker: publish/subscribe over TLS.
- Rapid-fire questions
Why and what-if questions across all experiments.
How each experiment page is laid out
- Objective: the problem as a spec: inputs, outputs, required behaviour.
- System: a block diagram of what talks to what, and what flows between them.
- Design decisions: each choice, why it was made, the alternative, and when you would switch.
- What we did: the steps, each with the reason it is needed.
- Reading the circuit: what every connection is for.
- Reading the code: structure first (state, control flow, timing), then line by line.
- Reading the outputs: what each screenshot and photo proves.
- Limits and redesign: what breaks, and how you would build it for real.
- Viva questions: weighted to why and what-if.