Long-Distance Relationship Light

Long-Distance Relationship Light

Timeline

May 2018

Project Background

A few weeks before my wife and I were to be apart for the summer (due to me studying abroad and her only able to join me there in the fall), my wife stumbled upon these “Long Distance Friendship Lamps.” I loved the idea, but I was less enthusiastic about the fact that the operation of the lamps depended on the continuous operation of the company servers. Also they were $150 for a pair, which was a bit much.

I decided to make a weekend project out of creating my own set! A brief bit of googling revealed that there are similar things out there, but I’m intentionally forging forward without looking at other implementations for the learning opportunity. I also set a $5 budget for myself, beyond which any parts would have to come from scrap or stuff I already had.

Project Description

The current design uses a pair of Wildfires (an Arduino-flavor board made by WickedDevice) with RGB LEDS inside of a pair of very cheap button lights from Amazon. The Wildfire is not super well-suited to this project, but it has an integrated ESP8266 wifi chip and a microSD thingy and also I had like 5 of them from work, so that’s what I used.

Wildfire board in situ with RGB LED module resting on top

The software side of things was supposed to be pretty simple. The Wildfire randomly generates 3 values (for RGB) when a button press is detected. These values are published via MQTT to a feed on io.adafruit.com. The device is also subscribed to the same feed, and will collect both values it publishes and values from other devices on the feed. When data is received through the subscription, the device parses the data and uses the RGB values to change its own color.

This was complicated by very buggy firmware on the Wildfire board which made it randomly stop talking to the ESP8266. In addition, for some reason, comments in certain parts of the code would completely prevent the board from subscribing to the MQTT feed. This makes no sense but I was able to work around it. This project would probably have been massively easier if I was able to buy a pair of Adafruit Feathers or even just two normal Arduino pro minis paired with two ESP8266 modules.

I managed to finish the project in time before my departure, and my wife and I were able to use the devices between Ohio and Belgium all summer long.

Future improvements include a migration to more stable hardware, and also custom prettier enclosures.

Project Links

Acknowledgements

Thanks to my wife for the idea, and for being patient as I cursed at vaguely defined compile errors.

Project Photos

Most recent version

Enclosure-less prototype next to the most recent version

Ugly undersides

Progress picture

It’s a tight fit…