Barbell Velocity Tracker PCB

KiCad · nRF52840 · LSM6DSOX · Bluetooth LE


What it is

The barbell velocity tracker firmware was developed against two nRF52840 development kits with LSM6DSOX breakout boards wired on. That works for validating the algorithm, but it’s obviously not something you’d mount on the end of a barbell. This is the PCB that replaces it: one board per bar end, integrating the nRF52840 and LSM6DSOX onto a single footprint compact enough to live inside a bar collar enclosure.


Starting point: the PCA10056 reference schematic

Nordic publishes the full schematic and PCB files for the nRF52840-DK (PCA10056, revision 3.0.3), which is exactly what I’ve been developing against. It’s a six-sheet schematic covering the nRF52840 MCU, an Interface MCU (an nRF5340 acting as the on-board USB-to-UART bridge and programmer), miscellaneous signal switches and user interface, connectors, and a fairly involved power supply section.

That reference schematic is where this board’s nRF52840 section starts. The decoupling network, crystal circuits, and RF matching from the reference are taken more or less directly: Nordic’s application engineers have done that work already and there’s no benefit in second-guessing decoupling strategies on a 2.4 GHz radio without a full RF characterisation setup.


I’m removing:

The nDK52840DK is a development kit, and about half of it is infrastructure that exists to make development convenient rather than to do anything like a final product (as you’d expect from a development kit).

Interface MCU. The entire nRF5340 sub-system (USB-to-UART bridge, virtual COM port, the second SWD routing tree, IMCU_BOOT logic) is going. On a dev kit this is what lets you plug a single USB cable in and get both a programming interface and a serial terminal. For programming on the eventual board, I’m going to route directly to the nRF52840’s USB connection, and/or implement OTA flashing.

Arduino shield connectors. The dev kit breaks out GPIO in an Arduino-compatible header arrangement to accommodate shields. Goodbye Arduino headers

Complex power switching network. The dev kit has a multi-source power input scheme (USB bus power, external supply, Li-ion cell) with a boost regulator, a buck regulator, multiple TCK105AG load switches, and sense circuitry for measuring the nRF52840’s power consumption from the host PC. Almost all of this is test and measurement infrastructure. I will probably end up copying some of the same power input system, as I need to power it from all three of those options, but I will see as development progresses.


I’m adding: LSM6DSOX, Memory, ???

At the moment I’m just using an LSM6DSOX dev board, but that’ll need to go onto the PCB just by itself. I’ll probably end up adding some more memory, but I need to see how the software development goes, but keeping that option open is useful. I’m not sure what else needs to go on at the moment, I’ll see how the project goes really.


Power supply

The simplified power chain for a sealed, battery-powered sensor:

  • Input : small LiPo cell (single cell, 3.7V). I need to find a suitable battery and encase it properly to prevent damage.
  • Charging: USB-connected LiPo charger IC. A USB-C connector on the edge of the board handles charging, but I’m looking for ICs that can handle the lipo charging as well as voltage regulation as I think I’ll need a few voltage levels (5, 3.3, 1.8) for different peripherals.
  • VDD regulation:the nRF52840 has an internal DC-DC converter that can run the core from supply voltages above ~1.7V. The LiPo cell voltage is within range and the internal regulator avoids needing a separate LDO for the MCU supply.

Form factor

The board will eventually go inside a barbell collar, so will have to be quite small and compact, including the mechanical dampening that I’m going to have to include to stop it getting obliterated when it’s dropped or slammed. That’s going to be a bit hard and end up with lots of dead boards I feel. Either way, the board will be circular and something less than 50mm, so probably around 40mm in diameter is what I’m working with at the moment. I need to figure out how best to do the bluetooth antennae, whether I keep that on the board, or have a u.FL connector with a pre-built antennae so I can use more board space.


Status

Early design stage. The schematic is being built up from the PCA10056 reference: nRF52840 MCU sheet first, then power, then the LSM6DSOX peripheral. Layout hasn’t started. This page will be updated with schematic captures, layout progress, and eventually a board photo once the first revision comes back from the fab.