MIT has an organization called TechX that, among many other events, organizes an annual career fair where many well-known companies come to campus for recruiting. What makes this fair unique, however, is the fact that students are also invited to present and display their own personal projects. There’s even funding available to pursue these projects! When I found out about the opportunity late last year, I put in an application to fund a homemade dorm room automation system, which would allow me to control lighting and other features of my room from my phone. My project was selected for funding, and I was granted a few hundred dollars to build it.
Most of the time was spent on designing printed circuit boards. The system was planned to be quite expansive. It would feature modules that control lighting, with up to 32 PWM channels for RGB LED strips or relays for AC loads. A window module provides weather sensors and an H-bridge motor driver for operating window blinds. The door module can activate an electric strike and monitor room occupancy.
All of the system’s components communicate via Ethernet; each of the modules contain an Atmel XMega and a Microchip Ethernet transceiver. I was successfully able to port Guido Socher’s open-source AVR UDP/IP stack to the XMega and successfully communicate with my boards over the internet! The choice of Ethernet was because off-the-shelf equipment and libraries are easily available and cheap. (Who doesn’t have a spare switch and some CAT5 cords lying around?) SPI Ethernet modules cost less than $5 on eBay and the software for using them is well-known. I evaluated several other networks, including RS-485 and CAN and found them to be more expensive.
A Raspberry PI is the central controller and runs a Node.js webserver that serves up a user interface and then sends UDP datagrams to the correct module.
xFair was a great success. Stay tuned for a more in-depth article about the system!