Stufin
Home Quick Cart Profile

ESP32 LoRa with 0.96 Inch Blue OLED Display ( Type C- Connector)

Buy Now on Stufin

Microcontroller

ESP32 dual-core 32-bit LX6

Clock Speed

Up to 240 MHz

LoRa Frequency

433 MHz or 868 MHz (depending on region)

LoRa Range

Up to 10 km

Display

0.96-inch blue OLED, 128x64 pixels

Memory

4MB flash, 520KB SRAM

Interface

USB Type-C

Power Supply

5V DC

Operating Temperature

-20C to 80C

Conclusion

The ESP32 LoRa with 0.96 Inch Blue OLED Display (Type C- Connector) is a powerful and feature-rich IoT development board that offers a wide range of capabilities and functionalities. Its compact size, low-power consumption, and high-performance capabilities make it an ideal choice for building innovative IoT projects.

Pin Configuration

  • ESP32 LoRa with 0.96 Inch Blue OLED Display (Type C Connector) Pinout
  • The ESP32 LoRa board with a 0.96-inch Blue OLED Display and Type C Connector is a versatile IoT development board that combines the popular ESP32 microcontroller with LoRa wireless communication and a compact OLED display. Here's a detailed breakdown of the pins and their functions:
  • ESP32 Microcontroller Pins
  • 1. VIN (Voltage Input): This pin is used to supply power to the board. It can accept a voltage range of 2.2V to 3.6V.
  • 2. 3V3 (3.3V Output): This pin provides a stable 3.3V output voltage, which can be used to power external components.
  • 3. GND (Ground): This pin is the ground reference point for the board.
  • 4. EN (Enable): This pin is used to enable or disable the ESP32 microcontroller. It is an active-low pin, meaning it needs to be connected to GND to enable the microcontroller.
  • 5. IO0 (GPIO0): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 6. IO1 (GPIO1): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 7. IO2 (GPIO2): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 8. IO4 (GPIO4): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 9. IO5 (GPIO5): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 10. IO12 (GPIO12): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 11. IO13 (GPIO13): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 12. IO14 (GPIO14): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 13. IO15 (GPIO15): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 14. IO18 (GPIO18): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 15. IO19 (GPIO19): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 16. IO21 (GPIO21): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 17. IO22 (GPIO22): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 18. IO23 (GPIO23): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 19. IO25 (GPIO25): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 20. IO26 (GPIO26): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • 21. IO27 (GPIO27): This pin is a general-purpose input/output pin that can be used for various purposes, such as digital input/output, analog-to-digital conversion, or PWM output.
  • LoRa Module Pins
  • 22. NSS (Chip Select): This pin is used to select the LoRa module.
  • 23. SCK (Clock): This pin provides the clock signal for the LoRa module.
  • 24. MISO (Master In Slave Out): This pin is used for data transmission from the LoRa module to the ESP32 microcontroller.
  • 25. MOSI (Master Out Slave In): This pin is used for data transmission from the ESP32 microcontroller to the LoRa module.
  • 26. RST (Reset): This pin is used to reset the LoRa module.
  • OLED Display Pins
  • 27. SCL (Serial Clock): This pin provides the clock signal for the OLED display.
  • 28. SDA (Serial Data): This pin is used for data transmission to the OLED display.
  • Type C Connector Pins
  • 29. VBUS (USB Bus): This pin is used for USB communication.
  • 30. GND (Ground): This pin is the ground reference point for the USB connection.
  • 31. D- (Data -): This pin is used for USB data transmission.
  • 32. D+ (Data +): This pin is used for USB data transmission.
  • Other Pins
  • 33. ANT (Antenna): This pin is used to connect an external antenna for LoRa communication.
  • 34. BOOT (Boot Mode): This pin is used to select the boot mode of the ESP32 microcontroller.
  • Pin Connection Structure
  • When connecting the pins, make sure to match the pin numbers and functions correctly. Here's a general structure to follow:
  • ESP32 microcontroller pins: Connect the VIN pin to a power source, and the GND pin to a common ground. Connect the EN pin to GND to enable the microcontroller.
  • LoRa module pins: Connect the NSS pin to a digital output pin on the ESP32 microcontroller. Connect the SCK, MISO, and MOSI pins to the corresponding SPI pins on the ESP32 microcontroller. Connect the RST pin to a digital output pin on the ESP32 microcontroller.
  • OLED display pins: Connect the SCL pin to a digital output pin on the ESP32 microcontroller, and the SDA pin to a digital output pin on the ESP32 microcontroller.
  • Type C connector pins: Connect the VBUS pin to a USB power source, and the GND pin to a common ground. Connect the D- and D+ pins to a USB host device.
  • Remember to consult the datasheets for the ESP32 microcontroller, LoRa module, and OLED display for specific pin connection requirements and any necessary pull-up or pull-down resistors.

Code Examples

ESP32 LoRa with 0.96 Inch Blue OLED Display (Type C- Connector) Documentation
Overview
The ESP32 LoRa with 0.96 Inch Blue OLED Display is a versatile Internet of Things (IoT) component that combines the popular ESP32 microcontroller with a LoRa transceiver and a 0.96-inch blue OLED display. The module features a Type-C connector for easy connectivity and programming. This documentation provides an overview of the component's technical specifications, pinouts, and code examples for various applications.
Technical Specifications
Microcontroller: ESP32 (Dual-core 32-bit LX6 microprocessor)
 LoRa Transceiver: SX1276 (Long-range, low-power LoRa transceiver)
 Display: 0.96-inch Blue OLED display (128x64 pixels)
 Connector: Type-C connector
 Operating Frequency: 868 MHz (EU) / 915 MHz (US)
 Power Consumption: 10mA (average) to 250mA (peak)
Pinouts
The ESP32 LoRa with 0.96 Inch Blue OLED Display has the following pinouts:
Type-C Connector:
	+ USB (D+/D-/VCC/GND)
	+ UART (RX/TX)
	+ GPIO (16 pins)
 LoRa Antenna Connector: U.FL connector
 OLED Display Connector: 7-pin FPC connector
Code Examples
### Example 1: Basic LoRa Transceiver Example with OLED Display
This example demonstrates how to use the ESP32 LoRa module to send and receive LoRa packets, while displaying the status on the OLED display.
```c
#include <LoRa.h>
#include <SPI.h>
#include <U8x8lib.h>
// OLED display settings
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE);
// LoRa settings
#define freq 868E6  // EU frequency
#define bandwidth 125E3
#define spreadingFactor 7
#define codingRate 5
#define preambleLength 8
void setup() {
  Serial.begin(9600);
  u8x8.begin();
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.setCursor(0, 0);
  u8x8.print("LoRa Transceiver");
  
  // Initialize LoRa module
  LoRa.setPins(RX, TX, RST);
  LoRa.begin(freq, bandwidth, spreadingFactor, codingRate, preambleLength);
}
void loop() {
  // Send a LoRa packet
  LoRa.beginPacket();
  LoRa.print("Hello, world!");
  LoRa.endPacket();
  
  u8x8.setCursor(0, 1);
  u8x8.print("Packet sent!");
  delay(1000);
  
  // Receive a LoRa packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    u8x8.setCursor(0, 2);
    u8x8.print("Packet received!");
    while (LoRa.available()) {
      char c = LoRa.read();
      Serial.print(c);
    }
  }
  delay(1000);
}
```
### Example 2: IoT Sensor Node with LoRa and OLED Display
This example demonstrates how to use the ESP32 LoRa module as an IoT sensor node, sending temperature and humidity data to a remote LoRa gateway, while displaying the sensor readings on the OLED display.
```c
#include <LoRa.h>
#include <SPI.h>
#include <U8x8lib.h>
#include <DHT.h>
// OLED display settings
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE);
// LoRa settings
#define freq 868E6  // EU frequency
#define bandwidth 125E3
#define spreadingFactor 7
#define codingRate 5
#define preambleLength 8
// DHT sensor settings
#define DHTPIN 15
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  u8x8.begin();
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.setCursor(0, 0);
  u8x8.print("IoT Sensor Node");
  
  // Initialize LoRa module
  LoRa.setPins(RX, TX, RST);
  LoRa.begin(freq, bandwidth, spreadingFactor, codingRate, preambleLength);
  
  // Initialize DHT sensor
  dht.begin();
}
void loop() {
  // Read temperature and humidity data
  float temp = dht.readTemperature();
  float humi = dht.readHumidity();
  
  // Display sensor readings on OLED display
  u8x8.setCursor(0, 1);
  u8x8.print("Temp: ");
  u8x8.print(temp);
  u8x8.print(" C");
  u8x8.setCursor(0, 2);
  u8x8.print("Humi: ");
  u8x8.print(humi);
  u8x8.print(" %");
  
  // Send LoRa packet with sensor data
  LoRa.beginPacket();
  LoRa.print("T=");
  LoRa.print(temp);
  LoRa.print("C H=");
  LoRa.print(humi);
  LoRa.print("%");
  LoRa.endPacket();
  
  delay(10000);
}
```
Note: These code examples are for illustrative purposes only and may require modifications to suit your specific use case. Additionally, ensure that you have the necessary dependencies installed, such as the LoRa and U8x8 libraries.