Bas Pijls' RGBeacon Flashes Its RGB LED for Data Transfer via Webcam — for Easy Network Connectivity

Originally developed to quickly find a device's assigned IP, the RGBeacon may have other uses — up to and included indoor positioning.

Maker Bas Pijls has come up with a novel, and colorful, approach to communicating information from an embedded device to an external system: the LED-based blinking RGBeacon.

"One thing that always remains a nuisance is to find your device on the world wide web of connected computers by determining its IP address. To obtain the IP address, a user must often resort to having a display or opening up another communication channel to your device, typically a serial connection," Pijls explains.

"I have this problem quite often when students have to connect a large number of devices simultaneously in a classroom setting. This made me start looking for an answer to the following question: How can I communicate a device’s IP address or other unique identifier to an end-user?"

The RGBeacon uses an RGB LED to transmit data to a host PC via webcam, entirely wirelessly. (📹: Bas Pijls)

There are a range of answers to the problem, of course, ranging from using local DNS addresses or fixed DHCP allocations and printing a simple label for each device to adding a display capable of showing the current IP address to every device or communicating it automatically to a known central server. These, however, failed Pijls' three key requirements: That the solution be cheap; easy to use; and not require access to a router's DHCP table.

The solution: a communication system that uses a single RGB LED. "The microcontroller flashes an RGB LED in a specific pattern," Pijls explains. "A JavaScript application is written to analyze the pattern [from a webcam video feed], interpret the bits and bytes and convert it back into readable data."

The project was originally developed as a means to quickly find a device's assigned IP address. (📹: Bas Pijls)

While the project delivers a fix for the problem of determining an embedded device's IP address, Pijls believes it could have broader uses too — suggesting its suitability for sending device ID information as well as IP address, sending small quantities of data over relatively large distances, or even for indoor positioning.

"At this point sending data using and RGB LED and a webcam is quite slow and error prone," he admits, "but there is a lot of room for refinements and improvements."

A full write-up of the project is available on the Fab Academy website, along with source code and a live demonstration running in-browser.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire:
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles