Starling: A modular internet connected LED display

Hackable wifi enabled modular LED display to showcase messages that matter to makers, hobbyists and everyone else!

Similar projects worth following
Starling, aims to be a modular Wifi connected hackable LED Display board. It can be used out of the box to display text messages and custom characters. It can be used from anywhere you're. It should also be able to expand and display messages from web; sports, schedules, social network notifications, whether data, news and anything else you want. The display should be able to expand without changes in the software. The display blocks can be added or removed on the fly.


Starling is live on Crowd Supply. Back us and help get Starling to life :)

Campaign Video:

Use Cases: These are just a few, you can hack it all the way!

Demo Videos

[update: IFTTT support for Starling using maker channel]: Now display messages that matter to you without code. Looking forward to have a dedicated channel for starling.


An Overview:

The Hardware Design Choices:

Atmega8 based Display Driver.

Since there the software needs to be adaptive the display driver board cannot have a ASIC like MAX7219. Here are reasons for choosing a controller over an ASIC:

  1. It can store ASCII tables and character patterns in lookup tables, this will make programming extremely easy.
  2. The display modules can communicate among-st each other and share data. In fact the master display module receives data. It check how many slave modules are connected, enumerates them and sends the data to be displayed. It can make smart decisions and make the hardware modular. I will speak more about this aspect later.
  3. It can be cheaper in large volumes.
  4. Firmware allows us to add features as we go along.

ESP8266 Wifi:

This choice was obvious. For the price and features it is a no brainier.

The Software Design Choices:

  1. The Master Firmware:The master display module which handles the Wifi, device enumeration, communication etc will be written in Arduino. I am pondering over this this choice as of now. One reason to do this is, it will be easier for people to hack. On the other hand if do it in 'C'. It can be more efficient. If you want to suggest a choice do comment below with a reason.
  2. The Slave Firmware: This will be written in C for sure. It will make the code efficient, run fast and probably people would not want to fork around with it.
  3. Smartphone Apps: I will be using a combination of JavaScript (AngularJS), node, Ionic and HTML 5 in order to write cross platform apps for Android and IOS. Since the apps will be simple it should work. However I might latter attempt to write native android and IOS apps; depending on the scope and interest in the project.
  4. The Protocol (MQTT): I wanted to make the display real time. Using HTTP for initial tests showed that it was slow and had lot of overhead. The request response structure isn't simply enough especially on slow networks. Hence I tried MQTT. It works beautifully even on slow networks and where bandwidth is a concern. The MQTT works on publish, subscribe model. The complexity is in the broker (the server), the apps, the display hardware are all the clients. The clients can simply subscribe to a Topic and receive messages. The broker does all the hard work of authentication and authorization. I will speak more about this later.
  5. The Broker (Mosca or Mosquitoo): Both of these work pretty well. Have tried hosting them on a local network as well as on the clould. They work reliably well as you will see in some of the tests.
  6. The Web APIs: There are lot things that I believe people would like to display depending on their interests. Hence giving out web APIs is a good option for all the hackers out their. I am comfortable with PHP and laravel and this what I am thinking of using. Even direct MQTT device access should be a good option. If you've any suggestions on this, please do comment below.

The phone Apps:

Ionic is beautiful to work with. You can build professional apps with just web technologies. It was first time I was doing a phone app. It is turning out to be an incredible experience. After shuffling embedded bits, where there is lot of uncertainty of what is working and what is not, web development and phone apps in a higher language comes as a breeze. It takes a little time to get you head around the programming languages, the framework and the architecture. However once that is done; you type, it simply works. If it does not you can simply check the log and figure out what is happening. If you're from electrical/electronics/embedded background and wanting to do...

Read more »

  • 5 × 8 x 8 matrix Red LED Matrix display AB23881CSR
  • 5 × Display Driver Board Atmega8 based
  • 1 × ESP8266 Wifi Master Board
  • 1 × 5v 1A Power supply

View all 11 project logs

Enjoy this project?



TrinadhKandula wrote 06/23/2017 at 13:16 point

Hi Sandeep, i would like to know if the module can be purchased & customised ?

  Are you sure? yes | no

childofthehorn wrote 02/08/2016 at 05:43 point

So, what is unique to this that isn't in the LEDgoes/BriteBlox  ( product that was on Kickstarter like 2.5 years ago?  It happens to be one of my inventions FYI.

 Maybe we can do some stuff to merge the two together. Did we help inspire this product?  The layout, concept and overall implementation is incredibly similar if not near identical and surely price wouldn't be that different.  It even seems the communication must be similar as well. 

Take a look at our code for some optimizations I guess. Could be cool if we can make some standards and have one set of software work for both and more than happy to help on sourcing components cheaper, especially LED panels that are more bright and efficient. 

Feel free to hit me up on 

  Are you sure? yes | no

Sandeep Patil wrote 02/08/2016 at 06:52 point

Thanks for the comment! 

The uniqueness is optimization in the Hardware and Firmware. Ease of use with the web app and easy integration inside projects with REST APIs. It is driven by single Atmega8, comes with built-in WiFi, cloud support and a simple Acrylic case.  The price will be better too. The firmware is written in simple 'C' rather than Arduino.  The communication enumerates over UART and data is sent over I2C, which results in faster scroll speeds and more persistent display.   Yes, Ledgoes did inspire us. We wanted to make Starling cost effective with single color. We though people would like to plug it in and use right out of the box. Please do check our gitHub repo for the design and suggestions; we can speak more on the email about integrating the projects and supporting them together.  

  Are you sure? yes | no

childofthehorn wrote 02/08/2016 at 17:03 point

Very cool. 

I would imagine that space on the ATmega8 for the Bootloader would be a problem. If you notice, our code doesn't actually use Arduino libs and can be built as "straight C". The reason behind the ATmega168 being used is that we actually found that at Scale, the ATmega168 was actually CHEAPER to procure. Our original design used the ATmega8. Including the Arduino Bootloader added to the reconfigurability and teaching platforms of it as well as making it much easier for users to upgrade firmware without needing additional components beyond what was originally bought (the serial communicator can be used to program the boards easily). 

I can't imagine the scrolling getting smoother than 1mil baud... We had tried using the I2C but found that it really limited the ways that the system could be connected. By supporting almost all serial baud rates and using 5V TTL serial, we can connect to any radio system or wired system using extremely cheap off the shelf components. It makes it much more configurable for a variety of uses. 

We have had users put it integrated with their Zigbee and Zwave for their home automation, turned portable using a Bluetooth Radio and battery pack, and using ESP8622 Wifi Xbee-platform pinouts. 

Hit us an email on the one I provided. We would love to work on a modular system software. Maybe we could start something here and make it so that people don't have to write from scratch for a variety of panels. 

  Are you sure? yes | no

Jeroen van der Velden wrote 11/26/2015 at 12:51 point

Nice project! It would be cool if it could show specific Twitter feed :)

  Are you sure? yes | no

Sandeep Patil wrote 11/26/2015 at 13:24 point

Yes, that should be possible. We will expose out APIs. For those who do not want to program. An option to integrate twitter would be nice. But for now, I want to get the system up and running and open source it so that others can contribute to add services as required.

  Are you sure? yes | no

Jeroen van der Velden wrote 12/04/2015 at 12:18 point

Very cool! I`d would love to use your product to follow the latest tweets on specific HASHTAGS, very impressed by your work!

  Are you sure? yes | no

Sandeep Patil wrote 12/04/2015 at 19:57 point

@Jeroen vd Velden yes #tags would be great. Was just looking into IFTTT. was able to make it post all the tweets with the #tag to a URL. Next step would be handle that post request and send it to starling. It sounds really interesting, especially with their maker channel. I think I should be able to set it up  in a couple of days. If that works it would be awesome anyone can create recipes for starling and display messages that 'matter' to them. 

(PS: If you've not heard of IFTTT, please check here:

  Are you sure? yes | no

christian.martinez wrote 11/26/2015 at 06:55 point

It works... thx for reactivity !

I will follow this project.

  Are you sure? yes | no

christian.martinez wrote 11/26/2015 at 06:07 point

Nice work !!

Links to project's details don't seem to work ??

  Are you sure? yes | no

Sandeep Patil wrote 11/26/2015 at 06:19 point

Thanks. I am updating the pages on the server. Please check back after some time.  Will message you once they are up.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates