1btn is a Battery Powered Open Source ESP8266 WiFi Button

Orange Pi Development Boards

If you have some WiFi power switch like Sonoff TH16 at home, you’d normally control them using a mobile app or a web interface. This is all good, but getting your phone, unlocking it, and launching the app to turn on or off an appliance is not the most efficient way to operate, and in some cases, some people in the household may not know how to use a smartphone. Physical WiFi buttons are the solution, but there aren’t so many for sale. We’ve seen previously it was possible to hack an Amazon Dash, but it’s not really that flexible, and 1btn could potentially be a better option, as it’s open source and based on Espressif ESP8266 WiSoC.

1btn specifications:

  • WiFi Module – ESP-12F based on Espressif ESP8266
  • MCU – Microchip Atmel ATmegaxx8 AVR MCU
  • Connectivity – 802.11 b/g/b WiFi up to ~50 meter range
  • USB – 1x USB port for charging and programming (via on-board USB to Serial chip)
  • Misc – User button, multi-color LED, power on/off switch
  • Expansion –
    • AVR MCU – 2x 8-pin headers with ADC, I2C, SPI, RESET, 3.3V, and GND signals
    • ESP8266 – 1x 8-pin header with GPIO, Tx/Rx signals, 3.3V and GND signals
  • Battery – Rechargeable 3.7V/500mAh battery
  • Dimensions – Around 60 mm side to side
  • Weight – ~50 grams

The hardware design files, mechanical design, and NodeMCU (Lua) based firmware can all be found on Github, releases under an MIT license. The button can be used to send an email, text message (via Twilio SMS), or a tweet, as well as invoke an URL action allowing to use all sort of APIs and services such as IFTTT.


The Atmel MCU is used to keep battery life under check, as the button will only connect to WiFi then you press the button. It takes about 5 to 7 seconds to wake up from sleep, and send the message, after which the button goes back to sleep. The battery will last around 300 presses before it needs to be recharged, or about 5 months if you use the button twice a day.

1btn sells on Tindie for $40 plus shipping. That’s a little more than expected, so tried to look for alternative beside Amazon Dash, and I found “ESP8266 IFTTT WiFI Button Dev Kit” – aka Abutton – on Aliexpress going for $13.43 shipped. The button can be re-programmed with custom firmware, and is based on Apixel  ESP8266 dev board with an ESP8266, but no MCU, so it has to rely on ESP8266 low power mode, meaning battery life is likely to be quite lower than 1btn. Talking about batteries, there are none, and instead there’s a compartment for 2 AA batteries. The Arduino or NodeMCU source code for Abutton can also be found on Github.

Click to Enlarge

WiFi is not exactly the ideal wireless solution for this, that’s why Bluetooth buttons are much more common, and quite cheaper, so maybe having a ESP32 wireless power switch with WiFi and Bluetooth, plus a BT button would be both a better and cheaper solution. The only problem is that AFAIK ESP32 wireless switches don’t exist right now, except in board form factor, and not in a neatly packaged product like the Sonoff switch.

17
Leave a Reply

avatar
16 Comment threads
1 Thread replies
15 Followers
 
Most reacted comment
Hottest comment thread
15 Comment authors
PuceBaboonSchmurtztheguyukMichael Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Blair Thompson
Guest

433mhz devices are much better suited for this purpose. I currently use an arduino based device programmed with the rflink firmware (http://www.nemcon.nl/blog2/). EV1527 remote controls don’t consume any power at all until they are pressed, so batteries should last longer still.

Itead has a rflink device just out (I am waiting for one), there are details on their wiki already (https://www.itead.cc/wiki/Sonoff_RF_Bridge_433). I reckon this will be an ideal already built solution. I am looking forward to hacking the firmware on it. Should be easy too with programming headers and good documentation.

Blair Thompson
Guest

@cnxsoft

This is true. I guess your level of paranoia would vary though with the application. For non critical tasks rf I think is absolutely fine. You would need an attacker to be nearby, aware of the use of RF and have an understanding of what effect the RF signal was having (i.e. feedback). Even then, how much do you care if someone operates your lights?

If you were using the RF to enable a lock or something of that ilk, perhaps you should look at something more secure.

Bram van den Hout
Guest
Bram van den Hout

Don’t forget rf is fire and forget. There is no confirmation that the signal you sent has actually been received. Big disadvantage over protocols like WiFi(MQTT) or Zwave.
Just my .02$

anon
Guest
anon

> I guess your level of paranoia would vary though with the application.

Dude, R U nutz? Heard something about recent worldwide ransomware waves? Next step is your 433MHz house which will flash your lights, flush your toilet, play imperial march on your window curtains and ask for some “donation”.

RAJ Kumar
Guest
RAJ Kumar

A small soldering and push button will do
And will work even with out internet.
This solution will not work with out internet.

prob_dude
Guest
prob_dude

Great. But if you are remotely interested in security, latency, range, data transfer and battery life then read on.

I’d like to have my house setup with sensors and buttons. The current solutions are quite impractical. The only real contender I’ve found is Bluetooth 5.

WiFi:
Power hungry, good range, encrypted, authentication. Generally a bad idea if you wifi pass code sits on garden sensor for example, or door bell. An attacker could take these and have access to your network. Advances have been made in battery life but its still not that great. Possible full access to WAN (Do you want your Chinese IoT device access to your network and WAN?).

433 devices:
No security, no encryption, no authentication. Good range. Battery life is okay. But an attacker could easily mess around with all your devices using a few off the shelf items costing $8. Data transfer sucks. Restricted number of devices. No standard of communication between devices. Communication is normally unidirectional (one way).

Bluetooth:
Has authentication. Has encryption. Good range with BLE 5. Data transfer is brilliant for all for IoT. Restrict access to WAN per device if needed. Tokenized authentication means you can revoke per device if it gets stolen. Battery life? Look at BLE, months of battery life. No access to your network. BLE 5 supports many devices. Bidirectional comms.

Bluetooth is the clear winner and is an off the shelf solution available today. We need BLE 5 IoT not WiFi for consumer applications.

TC
Guest
TC

anon :
> I guess your level of paranoia would vary though with the application.
Dude, R U nutz? Heard something about recent worldwide ransomware waves? Next step is your 433MHz house which will flash your lights, flush your toilet, play imperial march on your window curtains and ask for some “donation”.

would invite people to watch that and ask for entrance fees

Athar
Guest
Athar

Ha ha ha.. For a little more than $13.43 ($17-21) I might as well order an Android Box, with accessories included, on sale !

Btw, Monday 9pm- Tue July 11 is Amazon Prime Day. If you get lucky as with the previous Prime Days, you might land a $0.99 Dash button. It is still hackable with BT included.

Apolonio
Guest
Apolonio

Won’t the Android chew through batteries quickly?

Jako
Guest
Jako

I use Alexa Voice control from my firestick to control various sonoff’s.

Can’t get any simpler than saying light on/off

Michael
Guest
Michael

What I really want is a similar device, but AC powered.
Imagine a device the size of the socket it is plugged in with a push button on top of it.
I really wonder why nobody ever made such a device.
The pricing is also quite offensive.
This thing shouldn’t cost a cent over 20$.
In fact I am getting so desperate that I started to think to make it myself.
Get some kind of a gang switch, a simple development board with gpio, and a simple, small usb power adapter.

theguyuk
Guest
theguyuk

@Michael
If you do a internet search there are already several WiFi button examples.

Schmurtz
Guest
Schmurtz

@prob_dude
A good alternative is Zigbee.
You can buy a xiaomi gateway (26€) and buttons (6€), all your parameters are here : security, latency, range, data transfer and battery life then read on.

A french guy has hacked the protocol and he is about to make an universal gateway for all Zigbee devices.
More info on his website (google translate will be probably usefull for you 😉 )
http://faire-ca-soi-meme.fr/hack/2017/04/24/hack-xiaomi-mi-smarthome-decouverte-de-clef/

PuceBaboon
Guest

Very peculiar. There’s a button. It has to be pressed before any action occurs …so you use a P-channel MOSFET (something like the AO3415) to switch on the power to the ESP8266 only when the button is pressed. The ESP latches the MOSFET on when it starts up. It does whatever it is you want it to do and then turns the MOSFET off when it’s finished. No power used at all until the button is actually pressed. The battery life is limited only by how many presses per week/day/hour you get. They’re already using a MOSFET in the battery control circuitry, so they’re not scared of using extra hardware.

Member

@PuceBaboon

All of the commercial buttons use the MOSFET scheme. TI make a special chip that is even better, it has leakage in the picoamps. Amazon buttons are rated for something like 1,000 presses, not number of years.