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


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.


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 as of 12 June 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 and if you have any questions feel free to contact me.