Project:Notification Board

From London Hackspace Wiki
Revision as of 00:55, 15 January 2019 by Kraptv (talk | contribs) (This would likely benefit from a rewrite using and removing the Arduino using only the Raspberry Pi.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search



This is the board that hangs in the space.

It sends visual and audible notifications to the space, and also publishes notifications to the network: temperature, movement etc

Current version 0.2.2


  • Phase 1: Allow messages to be displayed on the LED board from IRC.
  • Phase 2: Add sounds when the message changes.
  • Phase 3: Add strobe beacons.
  • Phase 4: Daemon the arduino and allow connection via MQTT, add idle messages.

Moved to separate project/arduino:

*Phase 5: Add temperature, light level and PIR sensors.
*Phase 6: Add i-wire, inc i-buttons.


Arduino Code: [1]
Arduino Lib: [2]
IRC Script: [3]

Change Log


  • Allow messages up to 162 chars long
  • Scroll for messages longer than the screen


  • Include full ascii support
  • Add initText
  • Remove update speed delay


  • Initial proof of concept
  • Limit to a-z A-Z and 0-9

Protocol Specification

Sending a message

Currently, messages are sent directly over serial.

They are up to 160 chars long, and can only be from regular ASCII. The message is terminated with a line return.

This is a test msg\n

Proposed new protocol

There are 2 types of message:

  • Idle - for rolling messages, i.e. temperature, currently playing song, number of irc users. Will keep last value till updated.
  • Alert - for one time shown messages, allows sounds


The settings for idle messages are:

  • Message slot [0-5] - (see list below for reserving a slot)
  • Time sensitive? [0-1] - If you need to bump the idle message to be the next shown, i.e. currently playing song changes
  • Message [up to 21 chars]

Examples: (Substituting STX, ETB and EOT for their respective ascii chars.)

So to send, Temperature: 21.5, you would send:

STX1ETB0ETBTemperature: 21.5EOT

Or to send, Iron Maiden - Prowler, time sensitive:

STX2ETB1ETBIron Maiden - ProwlerEOT


The settings for alert messages are:

  • Message slot [A] - Denotes alerts from idle messages
  • Blink [0-1] - Blink the display for more attention
  • Sound [0-5] - Set off a sound, see list
  • Display timeout - The length of time to display the message for
  • Message [up to 21 chars]

Examples: (Substituting STX, ETB and EOT for their respective ascii chars.)

To send, Ping: Jaunsicle, with sound ping and blinking for 5 seconds:


Message slots

see also User:Ms7821
TfL API (beta) docs [4] [5] (p13) but seems to be currently offline [6].
  • 4 -
  • 5 -


  • 0 - None
  • 1 - PING.WAV

Feature Requests

  • Dynamic font loading
  • Individual pixel mapping
  • Scrolling to allow for longer messages
  • A fortune/motd feature - when the board has been unchanged for a while, display a random message from a file, e.g. 'clean up your own mess', 'shut the fire door when you leave' or 'do not leave the chuck key in the lathe'.
  • Audio notification of new message.... Similar to Glados voice from doorbot