Back in 2001, a new company called Ambient Devices (See: https://en.wikipedia.org/wiki/Ambient_Devices) was started as a spin-off from the MIT Media Lab. Their goal was to create devices that allowed information to be communicated while having to expend less mental energy to perceive it. The first device they created was the Ambient Orb device. (See: https://en.wikipedia.org/wiki/Ambient_device)
The device was truly innovative in its technology. It consisted of a frosted glass globe that contained a small circuit board containing some LEDs and a radio modem that operated on “pager” frequencies. The company made a deal with some paging network(s) that allowed them to piggyback their information on those frequencies. By using their website to configure the choice of information you wished to see, a user could determine what source controlled the color of the LEDs/Orb. The color was calculated remotely and the control information was transmitted to the device over those frequencies. Besides color, some device control information could be sent, e.g. if weather forecast was the control, the presence of precipitation in the forecast would cause the Orb to slowly fade down/up.
The company stopped production of the Orb in 2012. The company tried to build other devices, but ultimately has disappeared. I see items from founding member David Rose on LinkedIn from time to time. Plenty of detailed info on their Wikipedia pages. Strangely, the information is still being transmitted, but you haven’t been able to change what the information source is for a long time.
In 2014, a Kickstarter effort started called Advanced Lumonics Labs. They decided that the Orb idea warranted an upgrade and designed the ORBneXt device, ultimately raising 22,700 USD from 263 backers.. It was basically the same design, although slightly smaller and had a cube-shaped option. It had a microcontroller based on the Electric Imp IoT platform (See: https://www.electricimp.com). That provided IP-based internet color change data, replacing the pager frequency method. It also allowed remote software update download to the devices. The color was still computed remotely based on the data source selected on a web site by the user and sent remotely.
The web site and data generation have since stopped working, but Electric Imp continues to compute and transmit any information sent to them. Although the company has disappeared, enterprising individuals in the community have figured out some of the message formats required to update the color on the device.
So… the Circuit Playground Express seemed like a good option to create my own Orb-like device. I plan to put some more work into this as I have time, but I thought I would share what I have so far, rough as it is, because it’s a no-solder, no-extra-equipment use of the Playground. The only hardware it requires is a USB connection between a computer running Python 3 and a Circuit Playground Express. I have attached 3 Python files: 2 for the computer and one (code.py) for the Circuit Playground Express. You do need to have an API key from openweathermap.org; you can get one free on their web site.
The code on the computer gets current temperature information from openweathermap.org, reformats it, and sends it over the serial port (USB) to the Playground which is sitting there waiting for it. Once received, it gets converted to a color from within a spectrum ranging from blue, the coldest, to red, the warmest. That color is then used to fill the pixels for display.
1. Connect your Circuit Playground Express to the USB port on your computer
2. Copy the code.py file to the CIRCUITPY directory on the Playground
3. A single red NeoPixel should illuminate indicating it’s waiting on input.
4. In the secrets.py file, add your openweathermap.org API key
5. In the Orb_OWMAPI_send.py file:
a. Verify the COM port for your serial connection. It might be “COMn” on Windows.
b. Update your location in the URL for api.openweather.org. You can select one of the three location methods examples in the file: Lat/Lon, CITY ID, or ZIP code
c. Adjust the high and low temperature range limits based on your location. Temperatures that occur outside those limits are OK, it will just be all blue or all red.
6. Start the computer’s Orb_OWMAPI_send.py code in Python3
7. You should see all the NeoPixels change color.
8. The process will update the color every 10 minutes and will run until an error occurs (future enhancement), you disconnect the Playground, or you terminate the Orb_OWMAPI_send.py code.
If you plan on having this near your computer, you can optionally put the Playground inside a frosted globe, cube, etc. Have fun, and for those of you original Orb or ORBNeXt owners, I hope it brings back some nostalgia with the benefit that you will continue to control it as you wish.