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...")
 
(29 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 latestIf 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:PusherV4diagram.png|800px]]
 
 
 
 
 
= 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 12: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