Difference between revisions of "Pusher"

From Kevin Darrah Wiki
Jump to: navigation, search
(Replaced content with "* <span style="color:red">NOTE!! This is a legacy page - this board is now called "trigBoard" Go to the TrigBoard page for the latest. If you need references to old...")
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
−
...Back to [[Projects:]]
+
* <span style="color:red">NOTE!! This is a legacy page - this board is now called "trigBoard" Go to the [[TrigBoard]] page for the latest.  If you need references to old revisions, please contact me [http://www.kdcircuits.com HERE]</span>
−
 
 
−
[[File:PusherHeader.png|600px]]
 
−
 
 
−
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. 
 
−
 
 
−
= Latest Release Version 4 =
 
−
 
 
−
[[File:PusherHookedUp.png|600px]]
 
−
 
 
−
* Simple IoT development board that was designed to trigger "Push Notifications" on a smart phone/tablet based on a trigger event.
 
−
* Unique low-power front-end to enable sub 1uA sleep current - uses a pulse to trigger wake-up, so even if door/window/etc is opened, the same ultra low currents can be maintained.  Compare to standard pull-up/down resistor based digital input designs with significantly higher leakage current.
 
−
* The board will wake itself up once an hour to check the battery voltage - if running low, a push notification is sent to warn the user.  This timer can be used to check other things as well - temperature changes, accelerometers, or other environmental sensors.
 
−
* Based on ESP8266 WiFi Module (ESP-12S) - all source code is available for download and developed in the popular Arduino IDE. 
 
−
* Battery Input can be any Lithium Polymer 3.7V - standard micro JST connector jack is used (please double check polarity),any of [https://www.adafruit.com/category/574 these] would work nicely.
 
−
* Sensor input to trigger the "Wake Up" can be any passive switch.  Typically a standard magnetic door/window switch is used and the board can be configured to wake on the "opening" (Normally Closed) or "closure" (Normally Open) of the contact.  Solder jumpers set this - Normally Closed is Default, so standard door/window switches wake the board up when opened. 
 
−
* Dimensions only 0.8" x 1.6 "  (20.32mm x 40.64mm)
 
−
 
 
−
[[File:PusherV4diagram.png|700px]]
 
−
 
 
−
== What is the Pusher Board? ==
 
−
coming soon...
 
−
 
 
−
== Pusher Board Operation ==
 
−
coming soon...
 
−
 
 
−
== Pusher Board Base Firmware ==
 
−
coming soon...
 
−
Code Here
 
−
 
 
−
== Pusher Board Projects ==
 
−
coming soon...
 
−
 
 
−
== Pusher Projects ==
 
−
coming soon...
 
−
 
 
−
== Testing and Programming ==
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://youtu.be/UXrrbPTy5oA
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
 
 
−
= Version 1 =
 
−
 
 
−
[[File:Screen Shot 2017-06-04 at 1.38.08 PM.png|600px]]
 
−
 
 
−
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. 
 
−
* <span style="color:red">Note: this board does require re-work in order to exercise all of the functionality.  Please watch assembly videos below for detailed information</span>
 
−
 
 
−
Here's a quick demo!
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=uZfLxPxB040
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
Installed on my door for testing:
 
−
 
 
−
[[File:PusherOnDoor.png|400px]]
 
−
 
 
−
== Schematic ==
 
−
 
 
−
[[File:PusherV1SCH.png|800px]]
 
−
 
 
−
== Purchase ==
 
−
given to [https://www.patreon.com/kdarrah Patrons]
 
−
 
 
−
== Parts ==
 
−
 
 
−
Parts list [http://www.kevindarrah.com/wp-content/uploads/2017/06/PusherV1.xlsx HERE]
 
−
 
 
−
== Assembly ==
 
−
 
 
−
Soldering the board together:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=By7cdjjjARA
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
The rework changes:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=FK6x7CBLZwU
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
Battery Voltage Measurement Circuit Change:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=GjaDDxgOrZs
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
== Tutorials ==
 
−
 
 
−
Programming and Testing the board:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=4uPHQPIezF8
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
That Sample Code [http://www.kevindarrah.com/download/arduino_code/pusherV1_Sample.ino HERE]
 
−
 
 
−
Pusher Board Sending Push Notifications with Pushbullet and hardware walkthrough
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=-HtSMk6jyEo
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
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 [http://kevindarrah.com/download/arduino_code/pusher_PUSHBULLET.ino 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
 
−
  <span style="color:red">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</span>
 
−
 
 
−
And if you're having problems getting the Arduino IDE setup, check out this video:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=dgw8tnPFGSY
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
The .json url  [http://arduino.esp8266.com/stable/package_esp8266com_index.json HERE]
 
−
 
 
−
= Version 2 =
 
−
 
 
−
[[File:PusherV2gerb.png|600px]]
 
−
 
 
−
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 [https://www.amazon.com/gp/product/B0167X4D9M/ref=oh_aui_detailpage_o08_s00?ie=UTF8&psc=1 these]
 
−
 
 
−
== Schematic ==
 
−
 
 
−
[[File:PusherV2sch.png|800px]]
 
−
 
 
−
== Parts ==
 
−
 
 
−
Parts list [http://www.kevindarrah.com/wp-content/uploads/2017/08/PusherV2.xlsx HERE]
 
−
 
 
−
== Assembly ==
 
−
 
 
−
Soldering the board is pretty much the same as V1.
 
−
 
 
−
The Q4 Rework Change:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://youtu.be/MQ7WJsdvSTA
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
= Version 3 =
 
−
 
 
−
[[File:PusherV3front.png|300px]] [[File:PusherV3back.png|278px]]
 
−
 
 
−
* 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 ==
 
−
 
 
−
[[File:PusherV3schemo.png|800px]]
 
−
 
 
−
== Parts ==
 
−
 
 
−
Parts list [http://www.kevindarrah.com/wp-content/uploads/2017/09/PusherV3-BOM.xlsx HERE]
 
−
 
 
−
[https://youtu.be/hRYtdxOmJgk Ordering Stencils Tutorial]
 
−
[https://youtu.be/UpQykPK9-ks Ordering Parts Tutorial]
 
−
 
 
−
== Assembly ==
 
−
 
 
−
Since this board is all surface mount - a top paste stencil is recommended.  [http://www.kevindarrah.com/wp-content/uploads/2017/09/PusherV3_1_SolderPaste_Top.GTP_.zip HERE] is the file to get this made.
 
−
 
 
−
I usually get my stainless stencils from [http://www.electrodragon.com/product/pcb-stencil-service-frameless/ Electrodragon], but you can go with [https://www.pcbway.com PCBway] or you could even get a plastic stencil from [https://www.pololu.com/product/446 Pololu].  I would only recommend a stainless stencil for this job though. 
 
−
 
 
−
Before you take start the assembly, check [https://www.youtube.com/watch?v=qqoHTKhIBRo this video] out I made a while back
 
−
 
 
−
Tools I use:
 
−
Soldering Station [https://www.amazon.com/gp/product/B00ANZRT4M/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1 Hakko FX888D] and I like a [https://www.amazon.com/Hakko-T18-BR02-Soldering-FX-8801-Conical/dp/B00762AGYU/ref=pd_sim_328_2?_encoding=UTF8&pd_rd_i=B00762AGYU&pd_rd_r=K5RJ0Q1JNNW5W4P97F4K&pd_rd_w=YbtRE&pd_rd_wg=tC0mS&psc=1&refRID=K5RJ0Q1JNNW5W4P97F4K 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 [https://www.amazon.com/gp/product/B000LDG2HQ/ref=oh_aui_search_detailpage?ie=UTF8&psc=1 Loupe]
 
−
Quality [https://www.amazon.com/gp/product/B00FZPEWI6/ref=oh_aui_search_detailpage?ie=UTF8&psc=1 tweezers]
 
−
And some good [https://www.amazon.com/gp/product/B01GRJ92T2/ref=oh_aui_search_detailpage?ie=UTF8&psc=1 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:
 
−
 
 
−
[[File:PusherV3topASSY.png|400px]] [[File:PusherV3botASSY.png|400px]]
 
−
 
 
−
Full Assembly Video:
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://www.youtube.com/watch?v=kSt96169Z2U
 
−
|dimensions=560x315
 
−
}}
 
−
 
 
−
== Programming ==
 
−
 
 
−
{{#evt:
 
−
service=youtube
 
−
|id=https://youtu.be/AAt3OcIzOUI
 
−
|dimensions=560x315
 
−
}}
 
−
[http://kevindarrah.com/download/arduino_code/pusherV3_Sample.ino Pusher V3 Sample]
 

Latest revision as of 13:22, 6 January 2018

  • NOTE!! This is a legacy page - this board is now called "trigBoard" Go to the TrigBoard page for the latest. If you need references to old revisions, please contact me HERE