Home Home Automation Marvelous notifications - Putting ESP8266 Jarvis into toy Ironman

Marvelous notifications – Putting ESP8266 Jarvis into toy Ironman

It's a mini Jarvis!

I was looking at my shelf the other day and I noticed an Ironman figurine given to me by a friend. Initially, I was only going to paint it, so it would look more pretty, but upon closer examination, I thought I could make a little more interactive. With that said – meet Ironman – the rock star of Marvelous Notifications!

The Marvelous Notifications

The idea is to make an IoT device which will blink the LED over the Internet. This way I can visualise any notification or data. Here are proposed uses:

  • monitor http://notenoughtech.com website
  • flash when a phone notification is received
  • flash when a doorbell is pressed
  • flash when the Amazon Dash button is used
  • more

There is enough space inside to fit an ESP-01 and an RGB LED (WS2812b) – the same LEDs I used in my Automated Staircase project. A couple of minutes later, the Ironman’s head was open. There was no sign of Jarvis. The ESP-01 may not have the Jarvis computing power, but it is enough to drive a single LED even without 5V logic.

The breadboard test was a success, so it was time to paint the shell. I appreciate the gold colour, but I can do so much better than this with my art degree! See? All these years at the university won’t go to waste! I have a 10 min timelapse of that. The entire process took about 3h! I used just regular acrylic paints and varnish to improve the looks.

The Hardware

The hardware is pretty simple:

If you want to learn how to connect and flash ESP8266 – I have you covered! Read this guide to learn more. I also used my DIY flash adapter to make the process much quicker.

Because I was short on space inside the Ironman, I glued the LED to the ESP8266. I also shortened the CH-EN and VCC, so I only have to use one cable to power it on. The plan is to power it all of a USB.

The USB has 5V which is too much for the ESP8266-01 board, and this is where inline 5V to 3.3V step-down module comes in. That’s the complete hardware.

The Software

I wrote a specific library to drive the WS2812b LED via MQTT protocol. In short, I use the MQTT pubsubclient to send a string containing the following information:

Format: (num:red:green:blue:LedON:LedOFF:Brightness:loop)

num:        int 0-255  // number of blinks
red:        int 0-255  // red channel (use color picker)
green:      int 0-255  // green channel (use color picker)
blue:       int 0-255  // blue channel (use color picker)
LedOn/Off:  int mills 100 - 1000 // LED and break timings
Brightness: int 0-255  // LED brightness
loop:       int 0,1,2  // mode (count/constant blinking/clear)

Based on this key a sample message like this:


Would translate to 3 Blue 1 sec blinks every 300 ms at the full brightness. Now that I have the firmware ready, it’s time to take care of the notifications. I created a flow in NodeRED (tutorial to NodeRED) to test the setup. It’s simple for now, but I will add the notification bit later.

Ironman notifications – interfacing with other systems

It’s time to make my IoT Ironman usable! The default way of sending the configuration string will be via HTTP POST. I added the nodes. I will assume that the incoming string is already configured.

I mentioned, that I want to monitor my website. I can ping my server every X seconds and compose a configuration string to send single flashing green light


When the website ping is below 1000ms or continuous blinking red when the website is down or it is taking over 1sec to get the ping back:


And this is how you can monitor the website with Ironman. Let’s talk about mobile notifications next.

Mobile Notifications

Obviously to capture messages and notifications I’m going to use Tasker and AutoNotification plugin. Each time I receive a message of a certain type – let’s do WhatsApp and SMS – I want the Ironman to blink x times in y colour.

For WhatsApp I’m going to blink LED 6 times, set the colour to green


For SMS I want  LED to turn blue and blink 10 times


When I receive the appropriate notification on my phone, Tasker will check what was the notifying app and will send the correct HTTP POST with one of the strings above.

TASKER PROFILE - Ironman Intercept
Profile: Iron Man Intercept 
	Event: AutoNotification Intercept [ Configuration:Event Behaviour: true
	Has Reply Action: true
	Notification Apps: WhatsApp,Messages ]
	Enter: IronMan Notify
	A1: HTTP Post [ Server:Port:%HTTPuser:%HTTPpass@%NODEREDIP 
		Data / File:led=6:15:224:99:600:100:254:0 
		Cookies: User Agent: Timeout:10 
		Content Type:application/x-www-form-urlencoded 
		Output File: Trust Any Certificate:On ] 
			If [ %anapp ~ WhatsApp ]
	A2: HTTP Post [ Server:Port:%HTTPuser:%HTTPpass@%NODEREDIP 
		Path:/ironman/notifications/ Data / File:led=10:15:96:226:1000:300:254:0 
		Cookies: User Agent: Timeout:10 
		Content Type:application/x-www-form-urlencoded 
		Output File: Trust Any Certificate:On ] 
			If [ %anapp ~ Messages ]

The Tasker task is simple and it will select the correctly formatted post based on the IF statement checked against the AutoNotification’s %anapp (contains the app name)


I love this project, as at heart, this is a very simple idea. By giving it an Ironman spin, it’s fun, and it gives the entire project extra depth. You can transform many toys like this. You can make the parts move, you can add more LEDs, whatever you like!

It’s all about making it personal and special. I hope you will come up with your own ideas and upcycle toys or items you still care for.

Project Download

Download project files here. Bear in mind that Patreon supporters have early access to project files and videos.


Nothing says "Thank you" better than keeping my coffee jar topped up!


Support me on Patreon and get an early access to tutorial files and videos.


Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

Smart Ideas with

Automate your space in with these ecosystems and integrate it with other automation services

Learn NodeRED

NodeRED for beginners: 1. Why do you need a NodeRED server?

To server or not to server? That's a very silly question!

Best Automation Projects

Sonoff R3 DIY mode & why it sucks

Long awaited Sonoff R3 DIY mode is even worse than I expected.

NEST your old thermostat under $5

Nest-ing up your older thermostat under $5

IKEA TRADFRI Wireless dimmer in NodeRED

Thanks to NodeRED you can use IKEA TRADFRI Wireless Dimmer to interact with everything

Alexa and NodeRED integration

Hey Alexa, turn the lights on!

Smart Home

A seriously connected relay! Netio 4PZ

Netio 4PZ could be called a jack of all trades, as it brings multiple functions to a single device. I'm sure some of you will be quick to point out that it doesn't have PoE or it doesn't make your morning toasts. You might...

Strip time! Sonoff L1 Lite RGB LED

New product from ITEAD - Sonoff L1 Lite - budget friendly connected RGB LED strip with a microphone

DIY Smart Heating v3.0

Anyone looking for Smart Heating in 2021 is spoiled for choice, providing money isn't an issue. My home has 30-year-old heating installed, but that didn't stop me from adding "smart" component to it for less than $5. In 3 years time, I had a...

A comprehensive guide to Grafana & InfluxDB

How to use Grafana and InfluxDB on Raspberry Pi for IoT sensors in home automation

SwitchBot just got better – SwitchBot API

SwitchBot products just got better thanks to API. Check out SwitchBot API in use with NodeRED