cd ../projects

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.

PIC16F18877FlowcodeEmbedded SystemsDigital Systems

// 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.