Tracker III (with a vengeance)
Following on from the last post which was about the process and building, this is just an overview of the latest design. The kicad project files along with the schematic, layout, and BOM can all be found on github.
The future
Firstly, and I think I've expressed these comments before - but I'm still absolutely dumbfounded that the software and facilities are available for a basic hobbyist to be able to design and create something like this now. Yes it wasn't simple and took a while, but still, a few years ago this would have been impossible/unthinkable.
New new design
This is the new design. I spent some more time tidying up and redesigned the charger module again since the original one was too basic/primitive.
- USB connection
I changed to a USB-C connector, and the USB connection can be switched between the NRF and BG96 chips, most of the time the NRF will be useful but if you need/want to diagnose the GPS data directly or update the BG96 firmware then you can move jumpers.
- Charger
Charger schematic
I changed the charger design to include a load share design and a power regulator with a "reverse current" protection shown on the schematic above.
When USB power is applied and the TP4056 starts charging, the MOSFET IC2 detaches the battery from the load and the power to the board is taken from the regulator U9.
When the USB power is removed and the battery (VBAT_IN) is the source then the MOSFET lets the power run through to VBAT_OUT directly, the reverse current protection on regulator U9 prevents it returning to the 5v line.
I changed to a USB-C connector, and the USB connection can be switched between the NRF and BG96 chips, most of the time the NRF will be useful but if you need/want to diagnose the GPS data directly or update the BG96 firmware then you can move jumpers.
Charger schematic |
When USB power is applied and the TP4056 starts charging, the MOSFET IC2 detaches the battery from the load and the power to the board is taken from the regulator U9.
When the USB power is removed and the battery (VBAT_IN) is the source then the MOSFET lets the power run through to VBAT_OUT directly, the reverse current protection on regulator U9 prevents it returning to the 5v line.
- Regulators
The board internally runs all devices and data lines at 1.8v but level shifts these for external interfacing to 3.3v. - IO Ports
Two Qwiic compatible connectors provide 3.3v I2C and general purpose IO lines. - Fuel Gauge
A MAX17048 fuel gauge chip is included to give an accurate and reliable power level info. - Flash
Onboard 8Gb Flash module, I'm still on the fence whether to replace this with an SDcard slot instead. - Temp & Humidity
Since I had a space on the board and it was next to the I2C lines, I changed my mind and decided to include a SHTC3 temperature and humidity chip. I found the temperature in tracker2 wasn't particularly useful so instead used an external ANT sensor, but the humidity was handy. - Button connectors
Four GPIO lines are exposed alongside a ground line to make it easy to add a set of buttons.
Pinouts
NRF52 pinouts |
Render
I've used the render overview quite a lot to check the layout feels and looks "sane" I'm a lot happier with this and it's amazing when I compare it to my very first KiCad layout and how scruffy that looked.
and a running screen:
Latest prototype build running |
Build notes
The build is a single sided board so quite straightforward to manufacture, although there are a few options to make it simpler.
Firstly optional parts, the fuel gauge can be omitted just skip U4 and C17, the pull-ups are still needed though for working I2C.
Similarly the temperature sensor can be skipped, omit U10 and C35.
Similarly the temperature sensor can be skipped, omit U10 and C35.
The flash isn't absolutely necessary, but it's an easy to solder part and it's really quite useful.
The entire charge circuit can be omitted if preferred and the battery charged externally, but again these aren't complicated parts to solder.
Alternatively the TP4056 can be replaced with a TP4057 which will charge at 500mA instead of 1000mA but can be easier to source. The R22 needs changing to 1.6kΩ.
Another option if it's impossible to obtain a BG96 (they were hard to acquire, but supply seems to have improved and prices dropped) is to use a BG95 instead, since they are software and pin compatible.
Difficult parts
Next up, difficult parts to solder.... the fuel gauge U4, and the ESD's U2 and U5 have very close contacts, these can bridge even with hotplate soldering so need inspecting although the pins can be easily fixed with the touch of a fine soldering iron since the pins are visible at the edges. Similarly the USB-C socket can be trouble and needs inspection.
It's a good idea to use low temperature solder since a full temperature reflow will also reflow the internals of the BG96 and Holyiot modules. Another possibility would be to get the board manufactured by someone else (or flowed yourself) in two stages, initially just all the components *except* the two modules using standard temperature solder. Then after the board is manufactured, apply low temp paste for the BG96 and Holyiot for a second low-temp reflow.
Software
As a starting point the software for the "RAKtrack" can be used after changing the pin numbers, when the IVRtrack code is polished I'll update and add to this github also.
When I have time I'll create a board file to enable an Espruino build to be used with the board for a more general purpose option rather than just the single purpose tracker firmware.