Tracker One M8 digital IO depends on CAN_PWR?

A few questions:

  • is enabling CAN_PWR required to use the 3 basic IO pins on the external M8 connector?
  • are the schematic and gerbers for the Tracker One PCB on github up to date with the Tracker One that’s shipping?

I’ve been fighting trying to get digital IO working on the Tracker One’s M8 connector for a while, and after a few days of debugging it seems like I can only output on D8/D9/D3 if I’ve also enabled CAN_PWR. Is that expected, and if so, is it documented anywhere?

Without CAN_PWR enabled I only see a few millivolts on those IO pins, rather than 3.3V, when setting any of those pins HIGH. I stumbled upon the fact that enabling CAN_PWR seems to allow them to work as expected, but I don’t think I’ve seen that documented anywhere, and ideally I’d like to use the IO without having to power the CAN transceiver and 5V boost converter. This also does not match the behavior of the Eval board, where those pins seem to work fine without having to enable CAN_PWR.

Would it be possible to update the schematic and gerbers at tracker-hardware/eagle-carrier at master · particle-iot/tracker-hardware · GitHub with the latest version? As far as I can tell those are an older revision, which added to my confusion when debugging; on that schematic those 3 IO pins go directly from the SoM to the JST connector, with a simple TVS diode to ground, so I initially couldn’t figure out any plausible reason that the outputs wouldn’t work.

Looking more closely at the board/schematic, I don’t see the 16-pin chip (labeled something like ZUN 01J?) that’s to the right of pins 6/7 of the JST connector on either the schematic or gerbers. Is this perhaps some kind of level-shifter or isolation device that’s powered/enabled by CAN_5V or CAN_PWR? I noticed that the 3.3V test point next to it also seems to be controlled by CAN_PWR as well?

Thanks for any insight!

Oops. Sorry about that.

You must enable CAN_5V in order to use GPIO on M8 pins 3, 4, and 5 (A3, D8/RX/SDA, D9/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.

The mystery chip is a TS3A5018 analog switch that isolates the MCU from the M8 pins when CAN_5V is not powered.

There are now several mentions of this in the docs. The updated Eagle files are now in in the tracker-hardware Github.

Thanks for the quick reply and documentation updates!