ESP32 + LORA 868 + 0.96 OLED

This ESP32 development board is a SX1276 chip based on the ESP32 WIFI, featuring an OLED, together with a LoRa remote modem, running on a 868-915MHz frequency, sensitivity is rated at over-148dBm, + 20dBm output power, this gives high reliability as well as a long transmission distance. Furthermore this board features a lithium battery charging circuit, CP2102 interface and USB serial chip, the perfect support for the Arduino development environment, can be used for program checking and product development as it is very easy to use.

Quick Spec

  • Operating voltage: 3.3V to 7V
  • Operating temperature range: -40 ° C to + 90 ° C
  • Support for Sniffer software protocol analysis, Station, SoftAP, and Wi-Fi Direct modes
  • Data rates up to 150 Mbps @ 11n HT40.
  • Receiver sensitivity up to -98 dBm
  • UDP sustained throughput of 135 Mbps

Pinout

Heltec-WIFI-Lo-Ra-32-Diagram-Pinout

Sample Code

868mhz / 915MhzOLED LoRaSender



#include 'SSD1306.h'
#include 'images.h'

#define SCK 5 // GPIO5 - SX1278's SCK
#define MISO 19 // GPIO19 - SX1278's MISO
#define MOSI 27 // GPIO27 - SX1278's MOSI
#define SS 18 // GPIO18 - SX1278's CS
#define RST 14 // GPIO14 - SX1278's RESET
#define DI0 26 // GPIO26 - SX1278's IRQ (interrupt request)
#define BAND 868E6 // 915E6

unsigned int counter = 0;

SSD1306 display (0x3c, 4, 15);
String rssi = 'RSSI -';
String packSize = '-';
String packet;


void setup () {
  pinMode (16, OUTPUT);
  pinMode (2, OUTPUT);
  
  digitalWrite (16, LOW); // set GPIO16 low to reset OLED
  delay (50);
  digitalWrite (16, HIGH); // while OLED is running, GPIO16 must go high
  
  Serial.begin (9600);
  while (! Serial);
  Serial.println ();
  Serial.println ('LoRa Sender Test');
  
  SPI.begin (SCK, MISO, MOSI, SS);
  LoRa.setPins (SS, RST, DI0);
  if (! LoRa.begin (868)) {
    Serial.println ('Starting LoRa failed!');
    while (1);
  }
  //LoRa.onReceive(cbk);
// LoRa.receive ();
  Serial.println ('init ok');
  display.init ();
  display.flipScreenVertically ();
  display.setFont (ArialMT_Plain_10);
  delay (1500);
}

void loop () {
  display.clear ();
  display.setTextAlignment (TEXT_ALIGN_LEFT);
  display.setFont (ArialMT_Plain_10);
  
  display.drawString (0, 0, 'Sending packet:');
  display.drawString (90, 0, String (counter));
  display.display ();

  // send packet
  LoRa.beginPacket ();
  LoRa.print ('hello');
  LoRa.print (counter);
  LoRa.endPacket ();

  counter ++;
  digitalWrite (2, HIGH); // turn the LED on (HIGH is the voltage level)
  delay (1000); // wait for a second
  digitalWrite (2, LOW); // turn the LED off by making the voltage LOW
  delay (1000); // wait for a second
}





868mhz / 915Mhz OLED LoRaSender



#include 'SSD1306.h'
#include 'images.h'

#define SCK 5 // GPIO5 - SX1278's SCK
#define MISO 19 // GPIO19 - SX1278's MISO
#define MOSI 27 // GPIO27 - SX1278's MOSI
#define SS 18 // GPIO18 - SX1278's CS
#define RST 14 // GPIO14 - SX1278's RESET
#define DI0 26 // GPIO26 - SX1278's IRQ (interrupt request)
#define BAND 868E6 // 915E6

SSD1306 display (0x3c, 4, 15);
String rssi = 'RSSI -';
String packSize = '-';
String packet;



void loraData () {
  display.clear ();
  display.setTextAlignment (TEXT_ALIGN_LEFT);
  display.setFont (ArialMT_Plain_10);
  display.drawString (0, 15, 'Received' + packSize + 'bytes');
  display.drawStringMaxWidth (0, 26, 128, packet);
  display.drawString (0, 0, rssi);
  display.display ();
}

void cbk (int packetSize) {
  packet = '';
  packSize = String (packetSize, DEC);
  for (int i = 0; i  rssi = 'RSSI' + string (LoRa.packetRssi (), DEC);
  loraData ();
}

void setup () {
  pinMode (16, OUTPUT);
  digitalWrite (16, LOW); // set GPIO16 low to reset OLED
  delay (50);
  digitalWrite (16, HIGH); // while OLED is running, GPIO16 must go high,
  
  Serial.begin (9600);
  while (! Serial);
  Serial.println ();
  Serial.println ('LoRa Receiver Callback');
  SPI.begin (SCK, MISO, MOSI, SS);
  LoRa.setPins (SS, RST, DI0);
  if (! LoRa.begin (868E6)) {
    Serial.println ('Starting LoRa failed!');
    while (1);
  }
  //LoRa.onReceive(cbk);
  LoRa.receive ();
  Serial.println ('init ok');
  display.init ();
  display.flipScreenVertically ();
  display.setFont (ArialMT_Plain_10);
  
  delay (1500);
}

void loop () {
  int packetSize = LoRa.parsePacket ();
  if (packetSize) {cbk (packetSize); }
  delay (10);
}


Resources

Shipping List

  • 1 x ESP32 OLED
  • 1 x 868/915m Spring Antenna


ESP32 + LORA 868 + 0.96 OLED

  • Brand: Generic
  • Product Code: G711
  • Weight: 0.033kg
  • Product Status : Active
  • Stock

    Warehouse Stock Status Location
    Centurion No Stock
    Stellenbosch No Stock

    We ship free of charge between branches to complete your order.

  • R368.00 (Inc Tax: R423.20)


Related Products

ESP32 + Cam OV2640 Dev Board

ESP32 + Cam OV2640 Dev Board

ESP32 + Cam OV2640 Dev Board - Original Ai Tinker  The ESP32-CAM has a very competitive small-size camera module that can operate independently as a minimum system with a footprint of only 40 x ..

Centurion (No Stock)
Stellenbosch (No Stock)
Bulk Location (No Stock)
Part No: ESP32-CAM
Product Status : Active

R128.00 (Inc Tax: R147.20)

TTGO ESP32 + GSM 800l

TTGO ESP32 + GSM 800l

TTGO ESP32 + GSM 800l The TTGO T-Call is a new ESP32 development board that combines a SIM800L GSM/GPRS module. The new board combines ESP32 WiFi & Bluetooth WiSoC with SIMCom SIM800L GPRS modu..

Centurion (No Stock)
Stellenbosch (No Stock)
Bulk Location (No Stock)
Part No: TTGO-ESP32-GSM
Product Status : Active

R395.00 (Inc Tax: R454.25)

ESP32 + Cam OV2640 + 2.4GHz Antenna

ESP32 + Cam OV2640 + 2.4GHz Antenna

ESP32 + Cam OV2640 Dev Board + 2.4GHz Antenna The ESP32-CAM has a very competitive small-size camera module that can operate independently as a minimum system with a footprint of only 40 x 27mm and a..

Centurion (No Stock)
Stellenbosch (No Stock)
Part No: ESP32-CAM-ANT24
Product Status : Active

R269.00 (Inc Tax: R309.35)

ESP32 Dev Kit V4.1 - ESP32 WROOM 32D

ESP32 Dev Kit V4.1 - ESP32 WROOM 32D

ESP32 Dev Kit V4.1 - ESP32 WROOM 32D ESP32-WROOM-32D is a powerful, generic Wi-Fi+BT+BLE MCU modules that target a wide variety of applications, ranging from low-power sensor networks to the most d..

Centurion (No Stock)
Stellenbosch (No Stock)
Part No: ESP32-DEVKITC-32D
Product Status : Active

R245.00 (Inc Tax: R281.75)

MakePython ESP32 Colour LCD

MakePython ESP32 Colour LCD

MakePython ESP32 Colour LCD Python is one of the most widely used, simple, and easy-to-learn programming languages around. MicroPython is a lean implementation of the Python 3 programming language ..

Centurion (No Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: MAKR32L
Product Status : Active

R315.00 (Inc Tax: R362.25)

TTGO T-CAMERA Basic version

TTGO T-CAMERA Basic version

TTGO T-Camera Basic version This is the Basic version of  T-Camera from TTGO ( by LILLYGO) and includes an ESP32 module, 4MB flash, 8MB PSRAM , 0.96" OLED Display, PIR Sensor + 2MP Camera with..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: H295
Product Status : Active

R298.00 (Inc Tax: R342.70)

TTGO T-CAMERA PRO Version

TTGO T-CAMERA PRO Version

TTGO T-Camera PRO Version This is the PRO version of T-Camera from TTGO and includes an ESP32 module, 4MB flash, 8MB PSRAM, 0.96" OLED Display, PIR Sensor, 2MP Camera with a Fish Eye Lens, Mic..

Centurion (In Stock)
Stellenbosch (In Stock)
Part No: H311-L593
Product Status : Active

R816.00 (Inc Tax: R938.40)

Tags: esp32, ESP32-DISP, lora, 868