Device Drivers


  • There are various transducers in the system that control and monitor physical aspects of the system. Drivers are needed for the control of valves, and pumps as well a monitoring of temperatures and flow rates.

These transducers interface to the Pi through various interfaces.  Regardless of the interface or function, all drivers provide a similar interface.

The interface to each driver provides direct control and event monitoring of state. Any change of state emits an event that will trigger all attached listeners.

Event listeners can be used to:

  • Monitor current status and provide graphical view of the process.
  • Feed higher level models that control the process.
  • Send information to a logger attached to a database .


Extractor Fan

Output from I2C Gpio Expander connected to 240Vac relay driving a  3A mini circuit breaker connected to the fan.

Flow Sensor

Each sensor has a dedicated input bit to I2C Gpio Expander

Heating Element

Motorized Valve


Output from I2C Gpio Expander connected to 12V relay.


All sensors are connected to single wire into a GPIO pin.


Both the halt button and the flashing watchdog LED are connected through the I2C interface.

Weigh Scales

Two signals from the scales (Data & Clock) are connect to GPIO pins.

Fully automated brewing system using NodeJS