Citizen Dialog Kit includes technical tools and a complete workplan. You can find more information about the work plan on the Methodology-page.

The Citizen Dialog Kit consists of off-the-shelf hardware, firmware and a back-end setup to manage your polling and visualization devices. For the latest version of the documentation and code, visit our Github page.

On the Github page you will find:

  • Off-the-shelf hardware components list,
  • E-ink display firmware for polling and visualization (C++, Arduino based),
  • Back-end solution and API for display management (Node JS based),
  • Boilerplate front-end web browser interface for display management (HTML, Javascript),
  • Vector designs to laser cut enclosures for the devices out of plexiglas (pdf),
  • White-label designs to add color, call-to-actions or branding to your devices (pdf).

You can find a more illustrated version of the technical documentation in this booklet.



We use e-ink displays to minimize power consumption. Together with 3G connection through Particle.io microcontrollers, the polling and visualization devices are easy to install and move.

The main components are:

  • Particle.io Electron 3G microcontrollers
  • WaveShare e-ink displays (7.5 and 4.2 inch, black-white, black-white-red, black-white-yellow supported)
  • Voltcraft Solar powerbank (8000 mAh)



The Particle.io microcontrollers run Arduino code. They check-in with the back-end according to their schedule to receive new content and to submit polling results.



The back-end is based on Node JS and a MySQL database. The display management API allows you complete control over the displays, their scheduling and polling data. The API uses basic authentication for all non-GET calls.

The repository includes some convenient back-up scripts and a basic content management system.