Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tracker Schematics

Important

SPI is the preferred protocol due to its better performance and energy efficiency. As a result, I2C may eventually be phased out and might not be supported in future firmware updates. Note that the magnetometer is not yet available over SPI.

Wemos D1 Mini

  • IMUs ranked from best - worst
    • - Very good and cheaper than LSM6DSV. Experimental
    • - Very good and slightly cheaper than BNO085
    • - decent and a little cheaper than ICM-45686 and LSM6DSV Experimental
    • - Great but expensive $$$. Not recomended.
    • - Adafruit version of BNO085. Not recomended.
    • - Very cheap but not very good performance DO NOT USE!
    • - Cheap but drifts quite a bit. DO NOT USE!
    • - Not terrible but plagued with fakes. DO NOT USE!
    • - Experimental cheaper MPU9250 equivalent. DO NOT USE!
  • - Allows for a second motion sensor to be connected.
  • - The device is able to sense the battery life remaining using a 180k resistor.
  • - Allows for usage even when charging, and is a recommended safety measure.
diode direction Note: If you are using the charge diodes the grey band goes on the side representated by the tip of the arrows in the diagram above.
LabelGPIOInputOutputDescription
A0ADC0Analog InputNoFor analog input from 0 to 3.3v and no output.
RXGPIO3YesRX pin onlyHigh at Boot.
TXGPIO1Tx pin onlyYesHigh at Boot.
D0GPIO16No interruptNo I2C, PWMUsed to wake up chip from deep sleep, High at Boot.
D1GPIO5YesYesOften used as SCL
D2GPIO4YesYesOften used as SDA
D3GPIO0Pulled upYesConnected to Flash button
D4GPIO2Pulled upYesConnected to built-in LED, High at Boot.
D5GPIO14YesYesSCLK pin for SPI interface
D6GPIO12YesYesMISO pin for SPI interface
D7GPIO13YesYesMOSI pin for SPI interface
D8GPIO15Pulled to groundYesCS pin for SPI interface

Cable layout recommendation for auxiliary tracker

Note that while schematics show SDA and SCL running adjacent to each other, make sure that they are not physically adjacent when running in the auxiliary tracker cable. This is to avoid crosstalk and ensure stable operation of both trackers when cable and allows the extension to safely reach more than 80cm.

Distance for each setup

If you are using a ribbon cable or similar layout, use the following cable layout as a reference:

Ribbon cable I2C layout

If you are using a twisted pair cable or similar layout, use the following cable layout as a reference:

Twisted pair cable I2C layout

Code put together by Carl (https://github.com/carl-anders), with images made by Lune#0241, nwbx01, Meia, Aed and Reclusious#2022 thanks to the help of the whole DIY community. Doc page integration by emojikage. Edited by calliepepper and Aed. Thanks to snapchat_hotdog for the testing on the extension lengths.