Project showcase
Notification IoT Using NeoPixel and Smartphone

Notification IoT Using NeoPixel and Smartphone © LGPL

Show important notifications from your smartphone using a NeoPixel ring and Arduino.

  • 1 comment
  • 8 respects

Components and supplies

Necessary tools and machines

Android Smartphone

Apps and online services

About this project

These days, we get too many notification messages from our smartphones, such as: SNS; email; messenger; and so on. Sometimes we cannot catch their important notification messages when we place our smartphone in our pocket or somewhere else around the home. Also, the sound and vibration of smartphones are very annoying for us when we receive the multiple notification messages.

So, I made different way to get notifications using Arduino and Neo Pixel to represent notifications with different RGB color LED.

The project uses HC-06 Bluetooth, Arduino Uno, Neo Pixel and Android App.

I made Android app to get notification messages and filter out their messages based on the user settings to send any values to Arduino through bluetooth.

I attach the video here to show my project and how it works.

It is very simple to make such a Notification IoT platform using Arduino and the app.

You can make any rules and send values to Arduino to turn on different colors of LED. For example, you can set the blue color LED whenever you receive Facebook notification, or you can select the yellow color LED whenever you receive messages from Messenger. You can select any apps that are installed in your smartphone using the app I developed and send any values to Arduino through bluetooth.

It is better to watch video to understand how the project works.


Notification IoT platform using Neo Pixel and Notiduino AppC/C++
This code shows how to receive the values from Notiduino App when it gets important notification messages.
#include <SoftwareSerial.h>
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#define PIN            10
#define NUMPIXELS      24

#define rxPin 4
#define txPin 3

SoftwareSerial BT(txPin, rxPin);
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 50; // delay for half a second

void setup() {
  pixels.begin(); // This initializes the NeoPixel library.

void loop() {
  if (BT.available() >0)

    //Receive values from Notiduino Android App whenever it gets notification messages
    //Use semicolon and comma as seperator to retrieve header message and RGB color value
    String BT_receive_data = BT.readStringUntil((char)3);
    String Message_Head = getValue(BT_receive_data, ';', 0);
    String ColorValue = getValue(BT_receive_data, ';', 1);
    int R = getValue(ColorValue, ',', 0).toInt();
    int G = getValue(ColorValue, ',', 1).toInt();
    int B = getValue(ColorValue, ',', 2).toInt();


      for (int i = 0; i<NUMPIXELS; i++)
        pixels.setPixelColor(i, pixels.Color(R, G, B)); // Moderately bright green color.; // This sends the updated pixel color to the hardware.
        pixels.setPixelColor(i, pixels.Color(0, 0, 0));

#pragma region get Value
String getValue(String data, char separator, int index)
  int found = 0;
  int strIndex[] = { 0, -1 };
  int maxIndex = data.length() - 1;

  for (int i = 0; i <= maxIndex && found <= index; i++){
    if (data.charAt(i) == separator || i == maxIndex){
      strIndex[0] = strIndex[1] + 1;
      strIndex[1] = (i == maxIndex) ? i + 1 : i;

  return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
#pragma endregion


Notification IoT platform Circuit
This picture shows how to connect bluetooth, neopixel and Arduino to make it as Notification IoT platform.
Notiduino circuit


Similar projects you might like

IoT Blink - Getting started with IoT

Project showcase by AppShed Support

  • 11 respects

SmartQ Notification with Azure IOT Hub and Virtual Shields

Project showcase by vincent wong

  • 6 respects

Stereo NeoPixel Ring VU Meter

Project showcase by ericBcreator

  • 70 respects

IoT Garage Door Monitor/Opener with Finger Print Scanner

Project tutorial by

  • 41 respects
Add projectSign up / Login