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.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
src
.gitignore
LICENSE
platformio.ini
readme.md
upload.sh

readme.md

Big Red Slack Button

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

What You Need

Hardware

NodeMCU. I used the LoLin v3 board on AliExpress.

Software

  • 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

Hardware

  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.

Slack

  1. Go to https://YOUR-TEAM.slack.com/apps/build/custom-integration.
  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 🔴.

PlatformIO

  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.

esptool

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 git@github.com:themadinventor/esptool.git.
  2. Run python setup.py install inside the esptool directory to install esptool and pyserial.
  3. Make sure the esptool executable is in your system $PATH.

Upload

  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 ./upload.sh to compile and upload with esptool instead.

PUSH THE BUTTON

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.

Docs

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

License

MIT

You can’t perform that action at this time.