ESP32-Based GPS and Sensor Data Logger with LoRa and NeoPixel Display
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This document provides a detailed overview of a circuit design that includes various sensors, communication modules, and microcontrollers. The circuit is designed to interface multiple components such as GPS modules, accelerometers, gyroscopes, and communication modules with ESP32 microcontrollers. The document includes a component list, wiring details, and documented code.
Component List
ESP32 Lolin32
- Pins: 3.3V, EN, VP, VN, 32, 33, 34, 35, 25, 26, 27, 14, 12, 13, 5V, GND, TX, RX, 22, 21, 15, 2, 0, 4, 16, 17, 5, 18, 23, 19, B+, B-
- Description: A versatile microcontroller with Wi-Fi and Bluetooth capabilities.
- Purpose: Central microcontroller for interfacing with various sensors and modules.
FireBeetle 2 ESP32-E
- Pins: RST, 3V3, GND, EN, 18, 23, 19, 22, 21, 2, 13, 14, 0, 26, 25, 1, 3, VCC, SCL, SDA, 39, 36, 12, 4, 15, 35, 34, 16, 17
- Description: A compact ESP32-based microcontroller.
- Purpose: Secondary microcontroller for additional interfacing.
neo 6m gps
- Pins: VCC, GND, RXD, TXD, PPS
- Description: GPS module for location tracking.
- Purpose: Provides GPS data to the microcontroller.
BMP280
- Pins: SDO, CSB, SDA, SCL, GND, VCC
- Description: Barometric pressure sensor.
- Purpose: Measures atmospheric pressure and temperature.
MPU6050 Accelerometer + Gyroscope (Wokwi Compatible)
- Pins: INT, AD0, XCL, XDA, SDA, SCL, GND, VCC
- Description: 6-axis motion tracking device.
- Purpose: Measures acceleration and gyroscopic data.
APC220
- Pins: GND, VCC, EN, RXD, TXD, AUX, SET
- Description: RF communication module.
- Purpose: Wireless communication.
EBYTE LoRa E220
- Pins: M0, M1, RXD, TXD, AUX, VCC, GND
- Description: LoRa communication module.
- Purpose: Long-range wireless communication.
Adafruit NeoPixel Stick
- Pins: GND, DATAOUT, +5V, DATAIN
- Description: RGB LED stick.
- Purpose: Visual indicators.
Resistor (4700 Ohms)
- Pins: pin1, pin2
- Description: 4700 Ohm resistor.
- Purpose: Current limiting.
Resistor (470 Ohms)
- Pins: pin1, pin2
- Description: 470 Ohm resistor.
- Purpose: Current limiting.
Micro SD Card Module
- Pins: cs, sck, mosi, miso, vcc, gnd
- Description: SD card interface module.
- Purpose: Data storage.
18650 Li-ion Battery
- Pins: -, +
- Description: Rechargeable lithium-ion battery.
- Purpose: Power supply.
Wiring Details
ESP32 Lolin32
- 5V connected to Adafruit NeoPixel Stick (+5V)
- GND connected to BMP280 (GND), MPU6050 Accelerometer + Gyroscope (GND), APC220 (GND), EBYTE LoRa E220 (GND), Adafruit NeoPixel Stick (GND), neo 6m gps (GND), Micro SD Card Module (gnd)
- TX connected to APC220 (RXD), Resistor (pin2), EBYTE LoRa E220 (RXD)
- 3.3V connected to BMP280 (VCC), MPU6050 Accelerometer + Gyroscope (VCC), APC220 (VCC), Resistor (pin1), EBYTE LoRa E220 (VCC), neo 6m gps (VCC), Micro SD Card Module (vcc)
- 22 connected to BMP280 (SCL), MPU6050 Accelerometer + Gyroscope (SCL)
- 21 connected to BMP280 (SDA), MPU6050 Accelerometer + Gyroscope (SDA)
- 16 connected to neo 6m gps (TXD)
- 4 connected to Resistor (pin1)
- 5 connected to Micro SD Card Module (cs)
- 18 connected to Micro SD Card Module (sck)
- 23 connected to Micro SD Card Module (mosi)
- 19 connected to Micro SD Card Module (miso)
- B+ connected to 18650 Li-ion Battery (+)
- B- connected to 18650 Li-ion Battery (-)
FireBeetle 2 ESP32-E
- 3V3 connected to Micro SD Card Module (vcc), Resistor (pin2), EBYTE LoRa E220 (VCC), APC220 (VCC)
- GND connected to Adafruit NeoPixel Stick (GND), Micro SD Card Module (gnd), EBYTE LoRa E220 (GND), APC220 (GND), MPU6050 Accelerometer + Gyroscope (GND), neo 6m gps (GND), BMP280 (GND)
- 18 connected to Micro SD Card Module (sck)
- 23 connected to Micro SD Card Module (mosi)
- 19 connected to Micro SD Card Module (miso)
- 1 connected to Resistor (pin1), EBYTE LoRa E220 (RXD), APC220 (RXD)
- VCC connected to Adafruit NeoPixel Stick (+5V)
- SCL connected to MPU6050 Accelerometer + Gyroscope (SCL), BMP280 (SCL)
- SDA connected to MPU6050 Accelerometer + Gyroscope (SDA), BMP280 (SDA)
- 4 connected to Resistor (pin1)
- 16 connected to neo 6m gps (TXD)
neo 6m gps
- GND connected to ESP32 Lolin32 (GND), FireBeetle 2 ESP32-E (GND)
- VCC connected to ESP32 Lolin32 (3.3V), FireBeetle 2 ESP32-E (3V3)
- TXD connected to ESP32 Lolin32 (16), FireBeetle 2 ESP32-E (16)
BMP280
- GND connected to ESP32 Lolin32 (GND), FireBeetle 2 ESP32-E (GND)
- VCC connected to ESP32 Lolin32 (3.3V), FireBeetle 2 ESP32-E (3V3)
- SCL connected to ESP32 Lolin32 (22), FireBeetle 2 ESP32-E (SCL)
- SDA connected to ESP32 Lolin32 (21), FireBeetle 2 ESP32-E (SDA)
MPU6050 Accelerometer + Gyroscope (Wokwi Compatible)
- GND connected to ESP32 Lolin32 (GND), FireBeetle 2 ESP32-E (GND)
- VCC connected to ESP32 Lolin32 (3.3V), FireBeetle 2 ESP32-E (3V3)
- SCL connected to ESP32 Lolin32 (22), FireBeetle 2 ESP32-E (SCL)
- SDA connected to ESP32 Lolin32 (21), FireBeetle 2 ESP32-E (SDA)
APC220
- GND connected to ESP32 Lolin32 (GND), FireBeetle 2 ESP32-E (GND)
- VCC connected to ESP32 Lolin32 (3.3V), FireBeetle 2 ESP32-E (3V3)
- RXD connected to ESP32 Lolin32 (TX), **FireBeetle