Portable and Minimal Setup for PROWL Notifications With Standalone ESP8266




Introduction: Portable and Minimal Setup for PROWL Notifications With Standalone ESP8266

When I started playing with the ESP8266 wifi/uart module I quickly realized that this is a very powerful small little and very cheap module for all kind of projects. With the great community support it is now possible to use this module as a standalone unit and it is very easy to program with alternative firmware such as the LUA interpreter. The goal of this instructable is to show you how in a couple of minutes you can make a standalone notifier using the PROWL service ...

Step 1: Video of Setting Up the ESP8266 and Triggering Notification

Watch the video to see the simple setup and working push button triggering a notification on an iPhone.

Step 2: What You Need ...

Hardware :

  1. ESP8266 module. I used the simplest version the ESP-01 !
    You can find them on ebay or from aliexpress for less than $5.
  2. 3.3V power source with sufficient current (200mA should be OK)
    I used a single cell LIPO battery and a small self-made 3.3V regulator based on the cheap Torex XC6206 with 2 ceramic capacitors (maybe I'll do a seperate instructable on this).
  3. push button

To prepare the ESP8266 for easy GPIO useage, you'll also need :

  1. 2 times 1.2Kohm 0805 smd resistors
  2. a 0805 smd LED (Iused green one)

On the software side in order to program the ESP8266 :

  1. LUA firmware : https://github.com/nodemcu/nodemcu-firmware
  2. LUA firmware flash tool : https://github.com/nodemcu/nodemcu-flasher
  3. LUA serial terminal to load files and configure wifi : http://benlo.com/esp8266/#LuaLoader

And of course also a USB/UART device to do the initial flashing & programming.

Step 3: Prepare ESP8266 Module for Easy GPIO Useage

With the ESP-01 you can easily solder some smd components between the existing pins !

See the picture on how to connect CH_PD and RST to VCC and then have a pull-up resistor on GPIO 0 and a LED connected to GPIO 2 ....

Step 4: Install Tool Chain

  1. Download LUA firmware and LUA flash tool !
  2. Connect the ESP8266 Rx and Tx pins (+GND) to a USB-UART converter.
  3. Connect GPIO 0 to ground (GND)
  4. Connect your 3.3V power source
  5. Run flash tool, configure COM port and choose the LUA firmware you downloaded, then flash
  6. Install the LUA terminal program
  7. Run LUA terminal program (LUAloader), configure COM port and connect
  8. disconnect GPIO 0 from ground and reboot (disconnect VCC and reconnect) the ESP8266
  9. If everything is right you should see the LUA interpreter welcome screen
  10. Enter your SSID and password on the right of the terminal program and connect to your wifi network
    The ESP8266 with LUA will automatically reconnect at startup.
  11. Check that you received proper IP address

Step 5: Load the LUA Init File and Trigger Program

Download the attached init.lua and interupt.lua files

Modify interupt.lua with a text editor and insert your own PROWL API key. I assume you have the app installed and already have a Prowl account !

(see http://www.prowlapp.com/ )

With the LUA teminal program use "upload file" to install init.lua and the modified interupt.lua on your device.

Disconnect everything and reconnect as per the video, you should get the prowl notification when pressing the button !

Enjoy ;-)

Be the First to Share


    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge
    • Leather Challenge

      Leather Challenge
    • Digital Fabrication Student Design Challenge

      Digital Fabrication Student Design Challenge



    5 years ago


    I wanted to say that I think that what you did here is very awesome.
    I try to replicate your project, but I am stuck! Since I am a total beginner I still need to ask :)

    Can you change the code to get pushover notifications instead of PROWL will be highly appreciated!

    Thank you in advance,


    6 years ago

    Can you please explain why you connected gpio0 to reset ? Whats that for ?

    Also you are writing pin 8 and 9 in the code. How do you get these numbers?



    6 years ago

    Thanks for the nice project.

    I made all steps from the description, but nothing happend if I pressed the button.

    I use the latesed firmware nodemcu_integer_0.9.6-dev_20150704.bin.

    Attached a screenshot from the Lualoader.


    7 years ago on Introduction

    Thanks for the useful and interesting project. I want to try out this project with my ESP8266 board. Will the code work for Android phones? If not, what are the changes to be made in the code?

    Eagerly awaiting your response.


    Reply 7 years ago on Introduction

    I believe the PROWL app is only available on iOS ... I am sure similar notification applications exist on Android, but I am not using Android ...


    7 years ago on Introduction


    I think this example doesnt work anymore, at least it did not for me.

    I always get Error Code 400: Bad Request

    Is it only me or is the Code broken?


    7 years ago on Step 5

    Thanks for your code! The interupt.lua seems to work, I get a Prowl message on my phone if i pressed the button. But only if i do it with "dofile" in LuaLoader. If i Press "dofile" for the init.lua it says " lua: init.lua:5: tmr 4000 does not exist " how can i fix this to run it standalone ? Tank you :)

    Bildschirmfoto 2014-12-16 um 23.55.43.png

    Reply 7 years ago on Step 5

    You are using a newer version of the LUA firmware which now provides several timers ! Hence you need to change :

    tmr.alarm(4000, 0, function() dofile("interupt.lua") end)

    by :

    tmr.alarm(1,4000, 0, function() dofile("interupt.lua") end)

    where 1 would be using timer 1 ...

    I hope that helps.


    Reply 7 years ago on Introduction

    Thank you! Now it works!

    Greetings from Germany !