Product Overview

1/29/2018 ESP32 Thing Motion Shield Hookup Guide - learn.sparkfun.com
https://learn.sparkfun.com/tutorials/esp32-thing-motion-shield-hookup-guide?_ga=2.240586115.1022152466.1517244327-204410570.1509632255 7/17
The Motion Shield itself doesn’t use any special software. It relies on the SD card library from the ESP32 core, and
the LSM9DS1 library, plus whatever you attach to it. Make sure you’ve got the following installed before continuing on
to the examples.
ESP32 Thing Arduino Core – Follow the instructions from the ESP32 Thing Hookup Guide.
Arduino Libraries:
LSM9DS1 – Follow the LSM9DS1 Hookup Guide or use the library manager.
BME280 – Follow the BME280 Hookup Guide or use the library manager.
Your choice of NMEA parser, or do it yourself! – Examples are contained and need no libraries.
The example code used throughout this tutorial can also be found in the ESP32 Thing Motion Shield’s GitHub
repository.
ESP32 THING MOTION SHIELD EXAMPLE CODE
General Tips
Strapping Pins
The following pins are used to configure the CPU at power up to indicate various booting methods (known as
‘strapping’ pins). These are exposed to the user, but should be avoided for beginners. Attaching a device that
matches the default state during power up should not interfere with the boot procedure. If it seems like the ESP32
isn’t booting properly, investigate these pins.
Proper Usage: To get full functionality from these pins, attach a tri-state buffer, then enable the buffer with
software after the boot has completed. This advanced method is not covered here.
ESP32 Pin
Name
ESP32 Thing Pin
Name
Default
Pull
Description
MTDI GPIO12 High Internal LDO voltage
select
GPIO0 GPIO0 High SPI/Download boot
GPIO2 GPIO2 Low SPI/Download boot
MTDO GPIO15 High U0TXD toggling
mode/timing
GPIO5 GPIO5 High U0TXD timing
GPIO4 GPIO4 Low Unknown
If U0TXD, GPIO2, GPIO5 are floating, GPIO0 determines boot mode.
See the ESP32 Datasheet for more information.
Input-only Pins
GPIO34 through GPIO39 work only as inputs, with no internal pull capabilities (as of 10/31/2017).
Standard pin naming