There's a lot jam-packed into this shield! Let's take a look at what we've got going on.
- GND - Common power/logic ground.
- 3V - this is the output from the 3.3V regulator. The regulator can supply 500mA peak but half of that is drawn by the ESP32, and it's a fairly power-hungry chip.
- 5V - This is the input to the regulator
- IOr - This is IORef, the IO voltage we will communicate with and is required.
Both ESP32 and SD card use SPI to send and receive data. These pins are labeled CLK MISO MOSI and have level shifting so you can use this shield with 3.3V or 5V microcontroller boards.
By default the 2x3 pin ICSP header on the right hand side is where the SPI signals are found.
Required Control Pins:
- BUSY - this pin is an input from the AirLift, it will let us know when its ready for more commands to be sent. This is 3.3V logic out, can be read by 3-5V logic. This pin must be connected.
- RST- this pin is an output to the AirLift. Set low to put the AirLift into reset. You should use this pin, even though you might be able to run for a short while without it, it's essential to 'kick' the chip if it ever gets into a locked up state. Level shifted so can be 3-5V logic
Optional Control Pins:
- GPIO0 - this is the ESP32 GPIO0 pin, which is used to put it into bootloading mode. It is also used if you like when the ESP32 is acting as a server, to let you know data is ready for reading. IIt's not required for WiFi, but you'll need to connect it to use BLE mode. Solder the pad on the bottom of the shield to connect it.
- RX & TX - Serial data in and Serial data out, used for bootloading new firmware, and for communication when in BLE mode. Leave disconnected if not using BLE or when not uploading new WiFi firmware to the AirLift (which is a rare occurrence). You'll need to solder the two pads on the bottom of the shield to use these pins.
There's a lot of space available on this shield so we also stuck on a micro SD card holder, great for datalogging or storing data to transmit over WiFi.
In addition to the shared SPI pins, the SD (chip select) pin is also used. It can be re-assigned to any pin by cutting the trace underneath the board and rewiring. If the SD card is not used, the SD pin can be used for any other purpose
There is a small RGB LED to the left of the ESP32. These RGB LEDs are available in the Arduino and CircuitPython libraries if you'd like to PWM them for a visual alert. They're connected to the ESP32's pins 26 (Red), 25 (Green), and 27 (Blue).