Starling is modular WiFi Enabled, IoT enabled display. You can configure starling to work with IFTTT. IF This Than That is pretty neat service that allows you to send messages from any of the popular services like gmail, twitter etc to send messages directly to Starling. Wouldn't you like to hack this open source project?
We are raising funds to manufacture starling in bulk, so that manufacturing costs comes down. If you feel it is worth a hack do support the campaign on crowd-supply :)
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Building Starling One : Single LED Matrix Driver Using Atmega8
As I said in the beginning, Starling is modular. That means if we build one unit(Starling One). We will be able to chain the displays together to make a larger display.
The hardware primarily consists of two things.
- The Atmega8 micro-controller based driver
- The 8x8 LED matrix display
We choose a micro controller instead of a standard ASIC driver for the display, as it allows lot of flexibility in developing the firmware, which I will speak about in the next sections. If you're looking to build one, I would recommend making a PCB as it would be easy to chain together PCBs. The design along with the gerber files is attached.
At this point in time, the firmware is capable of doing the following things.
- Detect the newly connected Starling one on the chain using UART and assign it a ID.
- Display message coming on the UART on the matrix display.
Step 2: Making It Modular
So now lets make a chain and make them modular. If you've looked at the design carefully, you should have observed that the PCB has male connector on one end and female on the other side. With this you'll be easily able to chain the displays.
You need not update any firmware for this to happen. You need a single firmware on all the modules. This was one of the reasons for choosing a controller.
The other important reasons are as below:
- The character fonts for displaying letters/numbers etc are stored in the micro-controller flash. This allows you to simple send a ASCII value on the UART(serial port) of first display and it will display the message.
- It will first check the number of displays connected. If the number is greater than than length of message sent, it will scroll the message automagically. The firmware is agian open source, so look at the gihub repo for more details.
Step 3: Driving Starling With ESP8266 WiFi
Now that the display is up and running and displaying messages coming on the serial port. It's time to bring in the glorious ESP8266 Wifi module. We did a small PCB for the ESP-01 so that it fits aptly below the driver. It also has 1A power supply circuit to power up the displays.
To hook up the board you just need to plug the Power-supply/WiFi unit at the bottom connector of the driver display as shown in the image.
The ESP8266 firmware does the following things.
- Sets up a WiFi hot spot, so that you can connect to it from your phone/computer and configure the WiFi credentials of Starling
- With above set up you might connect it to any of the available networks it shows.
- Once connected, it reboots itself and connects to the Starling Server over MQTT.
- Once that is done, you can register your device at starling.exploreembedded.com Which I will speak about in the next steps.
Before we do do that let us put a a beautiful acrylic case on the unit in the next step.
Step 4: Acrylic Case for Starling
We have designed cases for Starling One, Starling Five and Starling Ten. You can download the files attached to cut them on your own. You will require a bunch of 3mm screws and nuts to put them together.
Step 5: Registering on Starling Cloud and Sending Messages
The next step is to register devices on the starling cloud service. You will have to put the MAC address of the ESP and give it a name to register the device. Once that is done you can send messages form the mobile friendly web app.
Step 6: Configuring IFTTT Service to Use With Starling
With IFTTT, you can configure various services to send messages to starling as I had said earlier. I have written a separate article on how to accomplish this do check it out.
Step 7: Support Starling
You can build Starling from scratch own you own as this is an Open Source Project. We believe this can be useful to number of people hence manufacturing it in bulk will get the prices down and everyone can own, build and hack starling. Hence we are raising funds to manufacturing starling, watch the campaign video below and click here to back us on Crowd-Supply.
Also if you're building it own your own, feel free to comment. Since this a full stack hack you might have several questions, and the instruct-able could have been a little more in-depth. However we are here to help :)