The bright periodic table that listens to you.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Mandy - the periodic table you can talk to


Mandy is an interactive periodic table that takes voice commands to display various trends in the elements. A (teaser) trailer can be found here.


Mandy can be broken down into three components:

  • Simplified Command and Control (SCAC) a minimalist speech recognition package that I've designed which uses pocketsphinx
  • An Arduino which accepts serial commands to light RGB LEDs (aka Neopixels
  • Wolfram Mathematica scripts for crunching color codes, organizing the periodic-table data and communicating between SCAC and the Arduino, which relies on python-mathlink

scac - Simplified command and control

to be written

PTPixels - Wolfram code for pixel data and communication

to be written

python-mathlink - Communication between python and Mathematica

Cloned from here with the following changes:

  • sudo apt-get install python-dev libuuid-dev
  • Using version 11.0 of Mathematica
  • Still need to copy the library to /usr/local/lib

Directory Structure

  • arduino has the arduino sketch(es) needed to control the neopixels.
  • assets are items used by SCAC for speech recognition and language model generation
  • base contains core files used by SCAC, such as the text-to-speech engine, which in Mandy's case is the LCD display.
  • design holds files relevant to the physical structure (OpenSCAD scripts, graphics and Mathematica code).
  • library stores the functions to be run when a speech command is recognized.
  • systemd contains copies of Unit files used to make Mandy, speech recognition and some power switches work as services.
  • wl contains wolfram scripts and python mathlink code.