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.

The new new

There are quite a few changes and improvements on this new design. 

  • 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.

  • 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

Yes it pains me that there are four unused I/O lines on the right there, and I did briefly/originally break two of them out, but for now, I don't think there's any point unless I added another level convertor... and it's getting a bit crowded to do that on a single sided board.... unless I moved the JTAG to the reverse, and used the bottom left and.... NO. STOP. STEP AWAY...

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.

Latest render

Not quite final board actual picture:

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.
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. 


Just skip the parts marked in green and connect VBAT_IN to VBAT_OUT (in red)
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.

For RAK track, the website server software is here. and the firmware for the rak board is here.


Popular posts from this blog

seven month update

Tracking running Part #2

back from the brink