Remove these ads by
Signing UpStep 1Purpose
I Looked into the Ambient Orb, but I have to admit, I wasn't particularly thrilled with the fact that it has a monthly subscription, and you can't talk directly to it with your computer. So I started to teach myself electronics in the hope that I would be able to build one of these devices on my own. After a month or so, I ran into the Arduino platform, which struck me as the perfect platform for building an orb from scratch. This is the end result of my project is this, The Arduino Orb Build Warden.
| « Previous Step | Download PDFView All Steps | Next Step » |











































http://www.instructables.com/id/Arduino-Orb-controlled-via-serial-port/
Rather than use 9 LEDs, I picked up 2 'full color' RGB LEDs from Radio Shack:
http://www.radioshack.com/product/index.jsp?productId=3020765 They combine red, green, and blue LEDs in a single package, they're very bright, and have a great viewing angle, so you don't need a diffuser. They have a common anode, so you run that pin (the long one) to the Arduino's 5V pin rather than ground. I used 100 ohm resistors to hook up each of the other three pins to the PWM pins. You then have to invert the value that the PWM pins are set to: analogWrite(redPin,0) now turns the red to full brightness, and analogWrite(redPin,255) turns it off. (I changed the code to do this automatically.) A lot less wiring, and the three colors are pretty well balanced: mine produces a pretty good white.
Since each color of the 3-color LED can draw 30-50mA, and the Arduino PWM pins can only source 40mA, to hook up the second LED (for extra brightness), I used the 3 other PWM pins (3,5,6) to drive it (and modified the software to handle this).
I'm working on other mods as well - right now I've got a toggle switch hooked up, and may try a rotary switch. The idea is to have the app on the PC side fetch data from multiple sources (eg. load, # of errors, commits/hour, etc.), and use the switch to select which one to "view" on the orb.
A great project, with a lot of room for customization!
ambientsvr requires python, twisted and python-serial
ambientctl is a command line program that can send commands to the server. It requires python.
I built a custom PCB that I detailed here: http://www.evilsoft.org/?p=83
I picked up some cheap emery boards and spent about a minute each on the LEDs. When done, the whole LED lens looks "frosted." I put the glass orb right over these without anything else and the mix is really delightful.
Another note:
I used 2 each of the high-intensity Red Green and Blue LEDs from SparkFun.
I have yet to do the final assembly (it's all on a mini prototype board with prototype jumper wires going to the Arduino board) but I'm very very happy with the results.