Reagent Tracker is designed so that the end user has as little work to do as possible. There are only three requirements for to use Reagent Tracker.
- A small identification (NFC) sticker needs to be placed on the bottom of the reagent bottle to be tracked.
- The reagent/bottle identity needs to be set up on the back-end monitoring / notification system.
- The bottle needs to be placed on the tracker for a few seconds at appropriate times (i.e. after use).
When the a bottle of reagent is placed on the tracker an accelerometer detects the "tap" as the bottle is placed on the scale, this allows the unit to be in a very low power mode, the micro-controller is then woken, the NFC tag is read, the weight of the bottle taken and a double beep emitted to notify the user the bottle should be removed.
Once the bottle has been removed the empty weight is taken (this drifts so you can't use a fixed value) and hence the actual bottle weight is determined, this information is then pushed to the Particle Cloud and onto an appropriate back-end system (for now I'm using Tinamous.com).
Each NFC tag has a unique id and the weight of the bottle is published as a measured field against that id, this allows Tinamous to track individual bottles, once a bottle has been seen by Tinamous it can be given a more friendly label (rather than the NFC tag) and a working range set. This allows a notification to be triggered to re-order the reagent when it falls below this level.
Naturally this all assumes you know the empty weight of the bottle which you probably wont until it's empty which is too late, so an assumption needs to be made about the empty weight or the point at which the restock should occur.
The intention is to build a dedicated tracking web site that can not only track the reagent weight but have meta details assigned to it such as the reagent type, re-order information, location of the scales/reagent, and to perform more predictive analysis such as an estimate of when the reagent will be empty based on usage patterns etc.
This project is made up of a variety of bits, these include:
- 3D Printed case made in two halves.
- Electronics, a main sensing PCB with a Particle Photon as internet connected micro-controller and NFC reader on the top half of the case and battery/power management in the lower half.
- Firmware, written and deployed to the device using the Particle build platform.
- Back-end system, for now the project is using Tinamous.com to monitor the scales and reagents, however a more specific website and open source version is planned.
The build logs cover each of these parts individually.
The Hardware is licensed as Creative Commons Share Alike 4.0, schematic and PCB layout are provided in Eagle CAD format (V7.4).
SparkFun Eagle Libraries were used under license:
- Source: https://github.com/sparkfun/SparkFun-Eagle-Libraries
- License: Creative Commons ShareAlike 4.0 International
The firmware uses the following licensed libraries:
- Source: https://github.com/eliteio/HX711ADC
- License: GNU GENERAL PUBLIC LICENSE Version 2
- Source: https://github.com/sparkfun/SparkFun_MMA8452Q_Particle_Library
- Licence: MIT
- Source: Particle Library Manager and https://github.com/adafruit/Adafruit-PN532
- Licence: BSD
- Source: Particle Library Manager and https://github.com/adafruit/Adafruit_NeoPixel
- License: GNU Lesser General Public License Version 3
- Source: Particle Library Manager and http://www.pjrc.com/teensy/td_libs_OneWire.html
- License: As per OneWire.cpp header (Believe 'Free to distribute freely')
Given the HX711 Library is GPL I think that means the main BottleBuddy Firmware requires a GPL license as well, hence:
BottleBuddy Firmware License: GNU GENERAL PUBLIC LICENSE Version 2
(BottleBuddy is the original name given to the Reagent Tracker scale/NFC unit).
3D Printed Case:
The .scad and .stl files for the case are released under the Creative Commons Share Alike 4.0 license....Read more »