Tracker One expansion

Designing on Particle is a series of video tutorials that center best practices across the Particle platform. This video covers the Tracker basics including Tracker Edge, adding custom data to location publishes, and adding new settings panels for your own custom settings to the Particle console using a configuration schema.

Tracker One M8 connector

The Tracker One can be expanded without opening the case by using the M8 connector.

Particle gateway devices, including the Tracker One, and it's larger relative, the Monitor One, are off-the-shelf designs that include an enclosed cellular module and a connector to attach additional sensors and other devices by protocols such as CAN bus, serial, or I2C interfaces.

Expansion Port

This connector can be used while maintaining the IP67 rating.

The 8-pin connector has these signals:

M8 Pin Function Function Function I/O Color
1 CAN_P IO2 Yellow
2 VIN3 I Red
3 Analog A3 GPIO D3 IO1 White
4 Serial1 RX Wire3 SDA GPIO D9 IO1 Green
5 Serial1 TX Wire3 SCL GPIO D8 IO1 Brown
6 CAN_5V4 CAN_PWR O Orange
7 CAN_N IO2 Blue
8 GND Black

1MCU GPIO is limited to 3.3V maximum.

2CAN Bus specifications can be found in the Tracker SoM datasheet. CAN Bus termination is provided on the carrier board.

36.0 to 30 VDC at 2A when using the M8 connector. 6.0 - 90 VDC at 2A when connecting directly to the board.

45V, 370 mA maximum. Controlled by the CAN_PWR GPIO.

M8 connector

View as looking into the M8 connector on the outside of the enclosure.

Interface details

Power (in)

While the picture above includes both USB-C and M8 cables, it's also possible to power the Tracker One from the M8 connector. In this case, supply 6.0 to 30 VDC at 2 A.

Power (out)

There is an optional 5V 370 mA power output (CAN 5V) that is controlled by the CAN_PWR GPIO. It is available in all power modes (battery, USB, and VIN); there is an on-board boost converter to produce 5V from the 3.7V LiPo battery.

If you are building an expansion device that is battery or USB powered, you can use CAN 5V to power your expansion device, eliminating the need to add a separate power supply. Note that this is limited to 370 mA at 5V and the Tracker SoM GPIO are limited to 3.3V, so you may need to add a 3.3V regulator on your expansion board to convert CAN 5V to 3.3V.

CAN

A CAN BUS interface is provided. The two differential CAN bus signals are provided (CAN+ and CAN-).

Multi-function pins

There are three multi-function pins:

M8 Pin Function Function Function
3 Analog A3 GPIO D3
4 Serial1 RX Wire3 SDA GPIO D9
5 Serial1 TX Wire3 SCL GPIO D8

You must enable CAN_5V in order to use GPIO on M8 pins 3, 4, and 5 (A3, D9/RX/SDA, D8/TX/SCL) on the Tracker One. If CAN_5V is not powered, these pins are isolated from the MCU starting with version 1.1 of the Tracker One/Tracker Carrier Board (September 2020 and later). This is necessary to prevent an issue with shipping mode, see technical advisory note TAN002.

For example: If you are using Serial1, you cannot use Wire3 (I2C) and can only use one other GPIO (D3).

If you are using Wire3 (I2C), you can't use Serial1 or D8 or D9.

If you aren't using Wire3 or Serial1, you can use all three pins as GPIO, or use D8 and D9 as GPIO and A3 as analog input (ADC).

If you are in need of more ports, the best solution is to use the multi-function pins as I2C, and include an I2C expander on your expansion board. Some things you can add using I2C:

  • More GPIO using a MCP23008 (8-port) or MCP23017 (16-port)
  • ADCs (like the MCP3021 single port)
  • PWM (pulse-width modulation output) using a PCA9685 (16-channel) for servos or LEDs
  • Temperature, humidity, and pressure sensors
  • Displays (LED, OLED, LCD, etc.)
  • Serial UART (SC16IS740)
  • FRAM non-volatile data storage

Note that Serial, I2C, GPIO, and ADC on the Tracker SoM can only be used at 3.3V maximum. The pins are not 5V tolerant!

Connecting your expansion device

The M8 (8mm) 8-pin connector is standard, however it's not common. Some other connectors like M12 are more common, however, the 12mm connector would have required a taller enclosure to fit the larger connector. To simplify designs, Particle will provide a M8 female-to-wires cable, similar to this.

M8 cable

Additional information can be found in the M8 Accessories Datasheet.

The common use case will be to include a cable gland in your expansion enclosure, pass the wires through the gland, and terminate them on your custom expansion board.

You'd typically connect those wires to your custom expansion board using one of several methods:

  • Terminate with pins in a PHR-8 to mate with a B8B-PH on your expansion board
  • Terminate with screw terminals on your board
  • Terminate by soldering the wires to your board

The following cables will be available:

SKU Description
M8CABEA Tracker One M8 Accessory Cable (Straight), (x1)
M8CABTY Tracker One M8 Accessory Cable (Straight), (x40)
M8CABRAEA Tracker One M8 Accessory Cable (Right Angle)
M8CABRATY Tracker One M8 Accessory Cable (Right Angle), (x40)
M8CONNEA Tracker One M8 Connector (Straight)
M8CONNTY Tracker One M8 Connector (Straight), (x40)

The color code is as follows:

M8 Pin Function Color
1 CAN_P Yellow
2 VIN Red
3 A3 White
4 RX_SDA_D9 Green
5 TX_SCL_D8 Brown
6 CAN_5V Orange
7 CAN_N Blue
8 GND Black

Note that CAN bus is differential and consists of two lines:

  • CAN_P (positive), CANH (high), or CAN+
  • CAN_N (negative), CANL (low), or CAN-

As the signals are differential you don't need to connect GND for CAN bus, but you do still need to connect it for Serial, I2C, or GPIO.

With the Tracker One carrier board

Inside the Tracker One is the Carrier Board. It can be purchased separately in case you want to use the Tracker One features in your own enclosure. The design for the Tracker One enclosure is open-source and can be modified to fit your needs. The Carrier Board has a B8B-PH 8-pin connector on the board, and a short cable that attaches to the M8 8-pin IP67 connector mounted on the side of the enclosure.

Carrier Board

Label Description
1 M8 Connector
2 B8B-PH Connector

When expanding on the Tracker One Carrier Board, you may prefer to connect your expansion device to the B8B-PH connector on the board directly, especially if you are putting your expansion board an the enclosure with your Tracker One Carrier Board using a PHR-8 to PHR-8 cable. This can be easily assembled or purchased and is inexpensive.

PHR-8 to PHR-8

Application notes

App Note 3.3V Qwiic GPIO 5V I2C DAC ADC Boost Description
AN012 1-Wire (DS18B20)
AN013 GPIO (3.3v or 5V)
AN015 Breakout Board
AN016 Keypad and LEDs
AN018 Tank Level Sensor
AN020 4-20mA single
AN021) 4-20mA quad
AN022 SHT3x Temperature/Humidity

M8 Breakout board

The AN015 Tracker Breakout application note shows how to build a simple breakout board to help prototype using the Tracker One M8 connector.

M8 breakout board

Adding GPIO using the M8

The AN013 Tracker GPIO shows:

  • Expanding the Tracker One using the M8 connector.
  • Interfacing with 5V I2C devices (optional).
  • Adding a MCP23008 to add 8 GPIO. Can be configured as 3.3V or 5V GPIO at board assembly time.

The Tracker One M8 connector only has three available pins for GPIO, and two of them are shared with serial and I2C. By using an external MCP23008 I2C GPIO interface, you can add many more GPIO pins.

The nRF52840 MCU GPIO is 3.3V only, and is not 5V tolerant. You can use the techniques in this application note to interface with 5V GPIO with true 5V logic levels.

The MCP23008 allows the pins to be configured for input, input pull-up, or output. In input mode the pins are high-impedance (Hi-Z) so you can use that to implement open-collector style output as well.

GPIO board

1-Wire (DS18B20) and using 5V I2C

The AN012 Tracker 1-Wire shows:

  • Expanding the Tracker One using the M8 connector
  • Interfacing with 5V I2C devices
  • Using the DS2482-100 I2C to 1-Wire interface to efficiently add 1-Wire devices
  • Using the DS18B20 temperature sensors
  • Adding custom data to your location publishes

1-Wire board

Tank level sensor

The AN018 Tracker Tank Level Sensor shows:

  • Adding additional GPIO (adds 3 ports of 3.3V GPIO using a MCP23008)
  • Adding additional ADC (adds 3 ADC inputs, 3.3V using an ADS1015 12-bit ADC)
  • Support for a tank level sensor (240-33 ohm, common in the US)
  • 12V boost converter, for powering low-power 12V sensors (needed for tank sensor)

Tank Level Sensor

Keypad and LCD

The AN016 Tracker Keypad LCD shows:

  • Using a MAX7360 to read matrix keypads and drive LEDs
  • Using a character LCD display with an I2C interface
  • Interfacing to 5V I2C devices
  • Using an I2C DAC (digital to analog converter), used to handle the contrast for the LCD
  • Implementing cloud-configurable settings (contrast)
  • Adding data to location events (keypad digits)
  • Showing GNSS lock and cloud connection status with custom LEDs

You probably won't want to build one of these as-is, but you may want to use some of the techniques in your own designs.

Keypad and LCD

Thermocouple (prototype to making your own board)

The AN019 Tracker Prototype to Board application note demonstrates how start prototyping with off-the-shelf I2C sensors and the Tracker SoM Evaluation Board and migrate to using a custom board for the Tracker One M8 Connector. While this specific example is for a thermocouple sensor, the techniques can be used with any sensor.

Thermocouple Board

4-20 mA current loop sensors

These two app notes, AN020 Tracker 4-20mA Sensor Single and AN021 Tracker 4-20mA Sensor Quad show how to connect a 4-20 mA current loop sensor to the Tracker One M8 port.

The single port design can be powered by the built-in LiPo battery or USB and uses the built-in ADC on the nRF52840, available on the M8 connector. It includes a boost converter to 24VDC for the 4-20mA current loop. It includes over-current protection, limiting the 4-20mA loop to 30 mA.

4-20mA Single

The quad port design requires an external 12V power supply, but this power supply can also power the Tracker One. It includes a boost converter to 24VDC for the 4-20mA current loop and separate current limiters for each current loop. It uses an external I2C ADC connected to the M8 connector.

4-20mA Quad

SHT3x Temperature and humidity sensor (5V I2C)

AN022 Tracker SHT3x Temperature/Humidity shows how to connect 5V I2C devices including the SHT30 and SHT31 temperature and humidity sensors to the Tracker One M8 connector and add data to location publishes. The board design should be compatible with all 5V I2C peripherals.

SHT30