projects/microcontroller-design.mdx·2025-05·Team — Control Logic & Programming
Embedded Home Monitoring System
A team-built PIC16F18877 smart-home prototype — sensing, alarm, and actuation — nominated for the Brunel Engineering Plus showcase.
// highlights
- PIC16F18877 smart-home prototype with motion, temperature, and humidity sensing
- Keypad-secured alarm system with LCD status output and servo-driven doors
- Led the control-logic programming in Flowcode
- Nominated for the Brunel Engineering Plus showcase event
Background
A group project for the Microcontroller Group Design module at Brunel University London: design and build a working smart-home monitoring prototype around a PIC16F18877 microcontroller — combining hardware interfacing, embedded programming, and systems integration into a single physical device.
What we built
The prototype monitors and secures a model home:
- Sensing — motion detection plus temperature and humidity monitoring
- Security — a keypad-secured alarm system, so arming and disarming requires a code
- Output — an LCD displaying live readings and system status
- Actuation — servo-driven doors responding to the system's state
Bringing these together on one microcontroller meant managing real embedded constraints: pin allocation across peripherals, timing between sensor reads and display updates, and state transitions that had to behave predictably on physical hardware.
My role
I led the control-logic programming in Flowcode — a graphical embedded development environment where logic is built as flowchart-style diagrams and compiled to the PIC. The control logic tied every peripheral together: reading sensors, evaluating alarm conditions, handling keypad input, and driving the LCD and servos through the system's state machine.
We followed a tight iterative loop: define the behaviour, implement it in Flowcode, deploy to the PIC, test against the physical system, refine. The feedback from real hardware demanded a precision that purely software projects rarely do.
Recognition
The project was nominated for the Brunel Engineering Plus showcase — a university-wide recognition programme for innovative, high-quality student engineering work, selected from across all engineering disciplines.
Learnings
Flowcode abstracts away much of the low-level complexity of microcontroller programming, but understanding what the generated code does underneath still matters — especially when debugging timing issues or unexpected hardware behaviour. Working in a team also reinforced how much clear communication matters when hardware and software decisions are made by different people.