Skip to content
it's a big red button that posts to Slack
C++ Other Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Big Red Slack Button

It's a big red button that posts a message to Slack when you push it.

What You Need


NodeMCU. I used the LoLin v3 board on AliExpress.


  • PlatformIO to compile and upload your code. It's Arduino code, so it should compile just fine using Arduino IDE too.
  • esptool if the PlatformIO uploader for ESP8266 doesn't work.
  • A Slack team that doesn't mind you making a mess of their #random channel.

Let's Build a Button


  1. Acquire a Big Red Button.
  2. Solder some jumper wires to its terminals.
  3. Connect the jumpers to pin 0 and ground on your NodeMCU. Your pin numbers may differ from what's printed in silk on the board—on my LoLin v3 board, I had to use pins D3 and GND.


  1. Go to
  2. Create an Incoming Webhook and configure it to post to your channel.
  3. Optional: Give your webhook a friendly name and icon, such as Big Red Button and 🔴.


  1. Edit the constants in slack_button.ino to configure your wifi network and your Slack webhook URL.
  2. Install PlatformIO.
  3. Install support for NodeMCU: platformio platforms install espressif.


This bit is optional. You only need to install and use esptool to upload to your NodeMCU if PlatformIO fails.

  1. Clone esptool with git clone
  2. Run python install inside the esptool directory to install esptool and pyserial.
  3. Make sure the esptool executable is in your system $PATH.


  1. Connect your NodeMCU via USB.
  2. Inside the project directory, type platformio run to compile the script.
  3. Once the compile succeeds, type platformio run --target upload to upload to NodeMCU.
  4. If the upload fails with PlatformIO, run ./ to compile and upload with esptool instead.


Just push it. You know you really want to.

But don't push it too many times or your boss will fire you.

Shout Outs

NodeMCU: If you want to connect something to the internet, this is easily the cheapest and easiest way to do it. The dev board is crazy good—and it's $4 on AliExpress for just one.

PlatformIO: If you're looking to write, compile, and upload Arduino scripts, PlatformIO is the best tool I have ever used. It's got an awesome interface and is much nicer to use than Arduino IDE.


ESP8266 Arduino Core: If you want to write more ESP8266 Arduino code, here's where you'll find the API docs.



You can’t perform that action at this time.