PuffPacket is a system for capturing electronic nicotine delivery systems (ENDS) usage. The system piggybacks the existing electrical signals (voltage and current) to determine when a puff happens and how long it is. The code in this repository works with the RFD22301 and has a iOS application that can be used to capture other useful data while analyzing ENDS use. This includes GPS, Activity, and Accelerometer data. Below are more details about how to implement the three different PuffPacket Systems (left to right):
- PuffPacket-I: Current Monitoring, powered by the ENDS internall battery
- PuffPacket-VD: Volatge monitoring with a dispposable battery
- PuffPacket-VR: Volatge monitoring with a rechargable battery
To running arduino files, you will need to install the RFDuino board library.
Other libraries needed can be found in the Arduino folder and installed as Zip libraries.
The board was designed using AutoDesk Eagle, which can be download for free here.
You will also need xCode to run the iOS app, be sure and change the "Team" to your developers account or personal account.
- RFD22301 microprocessor and BLE module
- RFDuino programming Module
- Surfacemount resistors and capacitors
- Flat Flexible Cable (FFC)
- ENDS of your choice
- Kapton and Double Sided Tape
- Heat Shrink
- LiPo Battery (VR only)
- LiPo Charger (VR Only)
- CR2032 coin cell battery (VD only)
- Coin Cell battery holder (VD Only)
- INA219 Current Monitor IC (I Only)
Putting it together
Strip and solder the other end of the Leads to the PuffPacket-V voltage input (+ and - on image below). Double check the polarity with a MultiMeter
Insulate and secure the Board with Kapton
- Solder the GND terminal of the modified coin cell Holder directy to the ground plane or the ground ternimal of the board. The coin cell holder should also be secured to the ENDS with double sided tape, using katop to keep the exposed part of the tape from sticking to the battery.
- Connect the positive terminal of the coin cell holder the the VD + input (goes to the Transitor Power Protection line instead of the LDO regulator)
- The entire circuit can then be covered in heat shrink, Leave a battery in while heat shriking (! be careful not to apply to much heat to the battery!!!)
- Cut a slit by the open end of the modified coin cell holder so you can slide the battery in and out
For Puff Packet-VR
- Secure the battery, then place the charger on top and secure.
- Attach the Battery leads to the + and - ternimals where the JST connector used to be attached. Then run wires from ground and the 5V terminal on the modified LiPo charging circuit to female headers that will connect to the modified charger.
- Connect Bat and GND to the LDO regulator pad on the PuffPacket-V Circuit.
- Test connections and secure with Heat Shrink.
Modifying the Wall Charger
- To modify the wall/usb charger for the ENDS, simply add conductive tape from the leads up to a surface you can mount male headers. Solder the headers to the conductive tape and glue everything in place. We used a piece of acrylic to reinforce everything as it will be used frequently.
Modyfing the LiPo Charger
- To Modify the Micro-LiPo charge, just remove the JST connector and Micro usb connect, then sand or cut away the excess board without removing any of the traces as show below.
Modyfing the Coin Cell Holder
- To allow the coin cell holder to slide batteries in and out, simply snip off the front clips as show below.
Using the Programmer
- The programmer fits directly in the 1.25 mm pitch pin header on the PuffPacket device as shown below. Be sure and remove or do not connect the +3v pin on the rfDuino programmer.