Pusher
...Back to Projects:
The Pusher Board is an IoT project that does one thing - it pushes you a notification triggered by a digital input. Well, it's much more than that, but this is the inspiration. I wanted to design a WiFi board that essentially sleeps most of its life, but when that door switch, flood sensor, motion sensor, etc.. gets triggered, I just want a notification immediately on my phone. And that's about it... a perfect IoT device in the background doing its job.
Contents
Latest Release Version 4
Version 1
Very first prototype board
- Mostly through hole components for easy testing and assembly
- ESP8266 based (ESP-12S module)
- Wake on regular timer interval - set for 1hr during my testing.
- Wake on Digital Input - Normally Closed type contact, so works nicely with door sensors.
- Tested sleep current <1uA that's years and years of battery life.
- Max Battery Voltage is ~4.2VDC, so designed to be used with standard Lithium Batteries.
- Note: this board does require re-work in order to exercise all of the functionality. Please watch assembly videos below for detailed information
Here's a quick demo!
Installed on my door for testing:
Schematic
Purchase
given to Patrons
Parts
Parts list HERE
Assembly
Soldering the board together:
The rework changes:
Battery Voltage Measurement Circuit Change:
Tutorials
Programming and Testing the board:
That Sample Code HERE
Pusher Board Sending Push Notifications with Pushbullet and hardware walkthrough
I'm using Pushbullet for the Notifications: https://www.pushbullet.com (~$40/yr for unlimited pushes - 500/mo for free version) That's nice because you don't need to develop your own app or anything. Just set up an account with them and you're good to go. Go to settings, account, and API - generate your token and copy that whole thing into the code - should be something like o.xyz... THE CODE HERE Richard's Channel: https://www.youtube.com/channel/UCLgqthbPlZGr8DuHDKKr9EA And where I found the Pushbullet API code: https://steve0hh.github.io/2016/12/04/how-to-send-push-notifications-using-esp8266.html Update 7/28/17 I did have two instances where the board failed to go back to sleep after wake. I had to unplug the battery to resolve
And if you're having problems getting the Arduino IDE setup, check out this video:
The .json url HERE
Version 2
Changes to V2:
- Fixed up the issues from V1 - mostly the circuit to pulse-wake the board
- Added in support for Normally Open style contacts, so now with an on-board switch, the board can either be woken up from a contact closing or opening.
- JST connectors for battery and sensor input - can use these
Schematic
Parts
Parts list HERE
Assembly
Soldering the board is pretty much the same as V1.
The Q4 Rework Change:
Version 3
- Miniaturized version - all surface mount components
- Dimensions only 0.8" x 1.6 " (20.32mm x 40.64mm)
- Optimized circuit design from V2
- Battery Charging on board via MicroUSB connector
Schematic
Parts
Parts list HERE
Ordering Stencils Tutorial Ordering Parts Tutorial
Assembly
Since this board is all surface mount - a top paste stencil is recommended. HERE is the file to get this made.
I usually get my stainless stencils from Electrodragon, but you can go with PCBway or you could even get a plastic stencil from Pololu. I would only recommend a stainless stencil for this job though.
Before you take start the assembly, check this video out I made a while back
Tools I use:
Soldering Station Hakko FX888D and I like a these tips Hot Air Station here: https://www.amazon.com/gp/product/B00ITMPQS2/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1 Solder Paste: SMD291SNL10 (I keep mine refrigerated when not in use, then sit out for an hour or so before I need it) https://www.digikey.com/product-detail/en/chip-quik-inc/SMD291SNL10/SMD291SNL10-ND/2057272 Get a decent Loupe Quality tweezers And some good Flux
This board is so tiny and dense that I couldn't place the silk screen designators, so here's where all of the parts go:
Full Assembly Video:
Programming
Pusher V3 Sample