LexIrie Ambient Display


LexIrie was inspired by the installation Listening Post by Mark Hansen and Ben Rubin. It was originally designed to be powered by the site We Feel Fine by Jonathan Harris and Sep Kamvar. The hardware it runs on is based on the Arduino electronics platform. A year after LexIrie was launched a similar (but not associated) product, the all-knowing Twitter orb, was demoed by Mark Frauenfelder on the Colbert Report.

When LexIrie is configured for use with Twitter updates occur every minute and it can be tuned to a faster or slower rate of updates. Used with We Feel Fine updates happen about once every five minutes. When used with Facebook it checks every five minutes for any new notifications.

The sites it accesses, the searches it does and the response to keywords found in the text can be configured for different use cases. For example, one could program it to display real time Twitter searches other keywords like ‘food’ or for certain hashtags and then pulse a color when a keyword is found in the results.


LexIrie Design. Information on the design of LexIrie so that you can build your own.

Hardware

LexIrie is based on the Arduino electronics platform. It is currently running on an Arduino Pro from SparkFun Electronics. The original design used an Arduino Diecimila but the 1k of SRAM on the ATMEGA168 microcontroller was only enough to handle getting the text and displaying it. To enable it to read and react on text the ATMEGA328 on the Arduino Pro (or other newer Arduinos with the 328 chip) provides enough SRAM for that additional task. The downside of the Pro is that its voltage regulator can only handle 150mA which is not enough to power the XPort Ethernet device server. The blue breadboard seen in the photos contains an additional LM7805 regulator to power the XPort.

The XPort is mounted on an Ethernet Shield from Adafruit Industries. A trace is cut on the shield so that the XPort can be powered by the regulator and not the Arduino.

The light comes from a BlinkM smart LED from thingm. The BlinkM contains a number of built in light scripts that are called when certain words are found, see the code for more info.

The LCD is a 4×20 character backlit display which is driven by an LCD117 serial LCD kit from Modern Device.

The case is a kitchen container found at a department store. Once a hole is cut in the lid the light diffuser will be mounted on it.

Software

The code that runs on the Arduino is based on Tom Igoe’s Making Things Talk book project on Web Scraping using a Microcontroller. That code connects to a HTTP server running a PHP script that grabs and formats the text from the different sites that LexIrie can pull data from.

Arduino files:
LexIrie_tw.pde Twitter
LexIrie_fb.pde Facebook
LexIrie_wff.pde We Feel Fine

PHP scripts:
tw.php Twitter
fb.php Facebook
wff.php We Feel Fine
LexIrieCode.zip zip of all 6 files

The terms that are used to search Twitter can be changed in the tw.php script so no reprogramming of the Arduino is necessary to change what gets displayed. The keywords as well as what type of lighting they trigger can be changed in the wordSearch function in the .pde files.

The fb.php script used to work with your friend’s status updates but since 2009 you can no longer get a link from your Facebook page to get your friend’s status updates as an RSS feed. If you previously the link to your friends status updates and were using a feed reader like Google Reader to view them then you can use that link here (still works for me at least). The notifications feed that’s currently available from Facebook will still work with it though.

All code and design information is provided as-is with no guarantee or warranty, use at your own risk. Please share any improvements made to the design or code. If you have any questions feel free to contact me.