OpenELAB Wiki
  • 🚀Welcome to Our Wiki!
  • 1️⃣M5Stack
    • M5Stack Cardputer Kit w /M5StampS3
    • M5Stack Dial - ESP32-S3 Smart Rotary Knob
    • M5StickC PLUS2 ESP32 Mini IoT Development Kit
    • M5StickC PLUS ESP32-PICO Mini IoT Development Kit
    • M5Stack Core2 ESP32 IoT Development Kit for AWS IoT Kit
    • M5Stack Core2 ESP32 IoT Development Kit
    • M5Stack AtomS3 Lite ESP32S3 Dev Kit
    • M5Stack ATOMS3 Dev Kit w/ 0.85-inch Screen
    • M5Stack ATOM TailBat - Battery Accessory for ATOM
    • M5Stack ATOM Matrix ESP32 Development Kit
    • M5Stack ATOM Lite ESP32 IoT Development Kit
    • M5Stack ATOM Echo Smart Speaker Development Ki
    • M5Stack ENV III Unit with Temperature Humidity Air Pressure Sensor
    • M5Stack COMMU Module Extend RS485/TTL CAN/I2C Port
    • M5Stack ATOMIC PoE Base W5500
    • M5Stack Time-of-Flight Distance Unit (VL53L1X)
    • M5Stack LoRa Unit with Antenna(E220)
    • M5Stack Glass 2 Unit w/ 1.51inch Transparent OLED
    • M5Stack Temperature, Humidity, Pressure and Gas Sensor (BME688)
    • M5Stack Temperature Humidity Air Pressure Sensor (SHT40+BMP280)
    • M5Stack H-bridge Unit v1.1 (STM32F030)
    • M5Stack 8-Channel Servo Driver Unit (STM32F030)
    • M5Stack ATOMIC TTL-RS485 Base
    • M5Stack ATOMIC PortABC Extension Base
    • M5Stack Ext Encoder Unita (STM32F030)
    • M5Stack Single-phase DC SSR Unit (CDG1. 1DD-10A)
    • M5Stack Speaker 2 Hat (MAX98357)
    • M5Stack Glass Unit w/ 1.51inch Transparent OLED
    • M5StickC Vibration HAT
    • M5Stack RCA Audio/Video Composite Unit
    • M5Stack Barometric Pressure 2 Unit (QMP6988)
    • M5Stack 8-Angle Unit with Potentiometer
    • M5Stack 8-Encoder Unit (STM32F030)
    • M5Stack Flashlight Unit
    • M5Stack NCIR 2 Thermometer Unit (MLX90614)
    • M5Stack M5StickV K210 AI Camera (Without Wifi)
    • M5Stack Thermal Camera 2 Unit (MLX90640) -110 Degree FoV
    • M5Stack USB TypeC2Grove Unit
    • M5Stack Scales Unit with 20kgs Range (HX711)
    • M5Stack I/O Hub 1 to 6 Expansion Unit (STM32F0)
    • M5Stack Keyboard Programmable Unit V1.1 (MEGA8A)
    • M5Stack Red 7-Segment Digit Clock Unit
    • M5Stack Mechanical Key Button Unit
    • M5Stack ESP32 Ethernet Unit with PoE
    • M5Stack Encoder Unit
    • M5Stack MQTT PoE Unit with PoE Port
    • M5Stack Unit CamS3 Wi-Fi Camera 5MP
    • M5Stack Ultrasonic Distance Unit I2C
    • M5Stack Ultrasonic Distance Unit I/O
    • M5Stack Passive Buzzer Unit
    • M5Stack 2-Channel SPST Relay Unit
    • M5Stack Tube/Air Pressure Unit
    • M5Stack MQTT Unit with RJ45 Port
    • M5Stack Gesture recognition sensor
    • M5Stack Fader Unit with B10K Potentiometer
    • M5Stack I2C Hub 1 to 6 Expansion Unit
    • M5Stack Real Time Clock (RTC) Unit
    • M5Stack OLED Unit 1.3"Display
    • M5Stack RF UNIT 433MHz Transmitter
    • M5Stack ATOM Socket Kit
    • M5Stack Watering Unit with Mositure Sensor and Pump
    • M5Stack Digital RGB LED Strip
    • M5Stack M5StickC 18650C
    • M5Stack M5StickC SERVO HAT
    • M5Stack M5StickC Fingerprint HAT
    • M5Stack M5StickC ToF HAT
    • M5Stack Mini GPS/BDS Unit
    • M5Stack Finger Print Sensor Unit
    • M5Stack DAC Converter Digital
    • M5Stack RGB LED Unit
    • M5Stack Mini 3A Relay Unit
    • M5Stack Earth Moisture Sensor Unit
    • M5Stack Color Sensor RGB Unit
    • M5Stack Mini Angle Unit Rotary Switch
    • M5Stack PIR Motion Sensor
    • HEX RGB LED Board
    • M5Stack LoRa Module (433MHz) v1.1
    • M5Stack ATOMS3R Camera Kit
    • M5Stack ATOMS3R Development Kit
    • M5Stack Roller485 Lite Unit
    • M5Stack ATOMS3R Proto Kit
    • M5Stack M5Stamp Fly with M5StampS3
    • M5Stack M5Atom Joystick with M5AtomS3
    • M5Stack ATOMS3R Camera (OV3660)
    • M5Stack Battery Module
    • M5Stack Unit Cam Wi-Fi Camera
    • M5Stack PIR Motion Sensor
    • M5Stack RFID 2 Unit
    • M5Stack Mini Dual
    • M5StickV K210 AI Camera
    • M5Stack Glass 2 Unit
    • Hall Effect Unit
    • Voltage and Amperage Meter
    • M5Stack ENV Pro Unit
    • NCIR 2 Thermometer Unit
    • M5GO Battery Bottom2
    • M5Stack USB Module
    • M5Stack LoRa Module
    • M5Stack LLM Module
    • M5Stack Timer Power Unit
    • M5Stack 8-Encoder Unit
    • M5Stack LoRa Module
    • M5Stack 8-Angle Unit
    • Gesture recognition sensor
    • M5StickC ENV III HAT
    • M5StickC DAC 2 Hat
    • M5Stack Color Sensor
    • Time-of-Flight Distance
    • M5StickC ToF HAT
    • Neo HEX 37 RGB LED
    • M5Stamp ESP32S3
    • Tube/Air Pressure
    • 8-Channel Servo Driver
    • M5Stack Mini Angle Unit
    • M5Stack Mini Infrared Emitter
    • M5Stack NanoC6 Dev Kit
    • M5Stack ENV III Unit
    • Temperature Humidity Air Pressure
    • M5Stack 2-Channel SPST
    • M5Stack BLDC Motor
    • M5Stack Ultrasonic
    • M5Stack M5Stamp
    • M5Stack DAC
    • M5Stack Mini CAN Unit
    • M5Stack Ambient Light Sensor
    • M5Stack PIR Hat
    • M5Stack Speaker
    • M5Stack Weight
    • M5Stack Core2
    • M5StickC PLUS
    • M5Stack Barometric Pressure
    • M5Stack Ambient Light Sensor
    • M5Stack Passive Buzzer
    • M5Stack Mechanical Key Button
    • M5Stack Limit Switch
    • M5StickC Vibration HAT
    • PM5Stack RCA Audio/Video
    • M5Stack Flashlight
    • M5Stack COMMU Module Extend
    • M5Stack M5StampS3 with 1.27 Header Pin
    • M5Stack M5StampS3 with 2.54 Header Pin
    • ATOMIC Barcode/QR-Code Scanner
    • M5Stack Station ESP32 IoT
    • M5Stack ESP32 Core Ink
    • M5Paper ESP32 Development Kit
    • ATOMIC CANBus Base
    • M5Stack M5StickC ADC Hat
    • M5Stack LoRa
    • M5Stack H-bridge
    • ATOMIC GPS Base
    • M5Stack Ext Encoder
    • M5Stack Single-phase DC SSR
    • M5Stack Glass Transparent OLED
    • M5Stack Thermal Camera
    • M5Stack USB TypeC2Grove
    • M5Stack I/O Hub
    • M5Stack CardKB Mini Keyboard
    • M5Stack Red 7-Segment Digit Clock
    • M5Stack Extend I/O
    • M5Stack I2C Joystick
    • M5Stack ESP32 Ethernet
    • M5Stack 8-Channel Servo Driver
    • M5Stack Encoder
    • M5Stack MQTT PoE
    • M5Stack Ultrasonic
    • M5Stack I2C Hub
    • M5Stack MQTT
    • M5Stack Fader
    • M5Stack Real Time Clock
    • M5Stack OLED
    • M5Stack RF Unit
    • M5Stack Watering Unit
    • M5Stack Digital RGB LED
    • M5Stack JoyC Omni-directional Controller
    • M5Stack SERVO HAT
    • M5Stack Fingerprint HAT
    • M5Stack Finger Print Sensor
    • M5Stack RGB LED
    • M5Stack Mini 3A Relay
    • M5Stack Earth Moisture Sensor
    • M5Stack 1 to 3 HUB Expansion
    • M5Stack RS485 to TTL Converter
    • HEX RGB LED Board
    • M5Stack LoRa 433MHz with Antenna
    • M5Stack NB-IoT with Antenna
    • M5Stack Battery Bottom 110mAh
    • M5Stack Programmable Power Supply Module
    • M5Stack LAN Module
    • M5Stack RCA Audio/Video Module
    • M5Stack LAN Module W5500
    • M5Stack IoT Base
    • M5Stack AC Power Base
    • M5Stack GRBL Module Stepmotor Driver
    • M5Stack COM.LTE Module
    • M5Stack Proto Pegboard Module
    • M5Stack BaseX EV3 motor
    • M5Stack Proto Module
    • M5Stack M5GO/FIRE Battery
    • M5Stack PoE Camera with Wi-Fi
    • M5Stack UnitV K210 AI Camera
    • M5Stack UnitV2 M12 with Cameras
    • M5Stack ESP32 PSRAM Timer Camera Fisheye
    • M5Stack ESP32 PSRAM Timer Camera
    • M5Stack Universal IOT Experiment Kit
    • M5Stack Scale Kit
    • M5Stack AGV Mini Carkit Mecanum Wheels
    • M5Stack 6060-PUSH Linear Motion Control
    • M5Stack BugC2 w/ M5StickC PLUS2
    • M5Stack RoverC Pro
    • M5Stack BALA2 Fire Self-balancing Robot Kit
    • M5Stack 16 PCS M3 Screw
    • M5Stack Unbuckled Grove Cable
    • M5Stack RS485T T-Shaped Connector
    • M5Stack CM4Stack Development
    • M5Stack CoreS3 ESP32S3 loT Development
    • M5Stack M5StickC PLUS2 with Watch Accessories
    • M5Stack Mini GPS/BDS
    • M5Stack M5Stick T-Lite Thermal Camera
    • M5Stack UnitV2 - The standalone AI Camera
    • M5Stack ESP32 Fisheye Camera
    • M5Stack Voltage and Amperage Meter
    • M5Stack CardKB Mini Keyboard
    • M5Stack M5Stamp C3 (5pcs)
  • 2️⃣ESP
    • ESP8266EX
    • ESP8266 ESP-01S WiFi module
    • ESP32-WROOM-32E
    • ESP32-WROOM-32 Wifi Bluetooth Type-C Dev Kit
    • ESP32-S3-WROOM-1U
    • ESP32-S3-Nano - Development Board
    • ESP32-S3 Rotary Switch LCD 2.1 inch Round LCD Screen
    • ESP32-PICO-D4
    • ESP32-H2
    • ESP32-CAM Camera Module
    • ESP32-C6
    • ESP32 NODEMCU Module WiFi Development Board with CP2102
    • ESP32 D1 Mini Nodemcu Development Board
    • D1 Mini Nodemcu with ESP8266-12F WLAN module
    • D1 Mini V3 Nodemcu with ESP8266-12F WLAN module
    • Seeed Studio XIAO ESP32S3 WIFI Dev Board
    • XIAO SAMD21 Arduino Microcontroller
    • XIAO RP2040
    • XIAO ESP32-C3 WIFI
    • XIAO ESP32-C6 WIFI
    • 6x10 RGB MATRIX
    • XIAO nRF52840 Sense
  • 3️⃣DRONE / FPV
    • ZD850 850mm Compact Folding Hexacopter Drone Frame Kit Full Carbon Fiber
    • DXW 4114 400KV High Power Brushless Motors
    • DXW D4250 800KV 3-7S Brushless Motor
    • DXW D3536 1200KV 2-4S Brushless Motor
    • DXW A2212/C2826 3.17mm Outrunner Brushless Motor
    • Hobbywing Skywalker V2 Brushless ESC Speed Controller
    • Pixhawk PX4 Flight Controller
    • Holybro Pixhawk 6C
    • GPS Stand
    • Holybro GPS M8N
    • Holybro GPS M9N
    • Holybro GPS M10N
    • Radiolink M8N SE100 GPS Module
    • Radiolink M10N SE100 GPS for PX4/Pixhawk 2.4.8
    • Mateksys GNSS M9N-5883
    • MFD Crosshair Color OSD
    • 2 Pair Carbon Fiber CW CCW Propellers
    • 3-Axis Brushless Gimbal Frame With Motors & Storm32 Controller
    • 2-Axis Brushless Gimbal Frame With Motors & Storm32 Controller
    • RadioLink AT10 II 2.4Ghz 10CH RC Transmitter
    • Radiolink Mini PIX V1.2 Flight Controller M10N GPS TS100 SE100 (Pixhawk Alternative)
    • 2Pcs OVONIC 3S 4S 6S Lipo Battery For RC FPV
    • Gens ACE Lipo Battery with T/XT60 Plug
    • LiPo Battery 3S 11.1V for RC Drone
    • Holybro PM02 V3 Power Module 12S
    • Holybro PM06 V2 Power Module 14S
    • Holybro PM07 V2 Power Module 14S
    • Holybro Power Distribution Board (PDB)
    • Mateksys Power Distribution Board (PDB) XT60 W/ BEC 5V & 12V
    • Hawk eye FPV Monitor 5.8G 48CH 4.3 inch FPV HD Monito
    • RUSH TANK MAX SOLO 5.8GHz 2.5W High Power 48CH VTX Video Transmitter
    • RUSH TANK SOLO 5.8G VTX Video Transmitter CNC shell 1.6W
    • Happymodel EP1 Dual Receiver 2.4Ghz ExpressLRS RX
    • Mateksys BEC12S-PRO, 9-55V TO 5V/8V/12V-5A
    • ZD850 850mm 6-axis Drone with 6kg Payload
    • ZD550 550mm 4-axis Drone with 6kg Payload
    • YRRC 5.8G 2.5W 40CH VTX Drone FPV Analog Image Transmission
    • Hawkeye Firefly 8SE/8S 4K Screen WiFi FPV Action Camera
  • 4️⃣RASPBEERY PI
    • Raspberry Pi Pico W Wireless RP2040 MCU Board
    • Raspberry Pi 5
    • Raspberry Pi 4B
    • ELAB Raspberry Pi Card Reader
    • ELAB Raspberry Pi 5 Active Cooler
    • ELAB Raspberry Pi 4/5 Case (Acrylic case)
    • ELAB Raspberry Pi 4 Heat Sink (Copper)
    • Camera for Raspberry Pi
    • XIAO RP2350 Onboard RGB LED, Arm Cortex-M33 and Hazard3 RISC-V(Pre-Order)
    • Raspberry Pi Pico 2 RP2350
    • Seeed Studio Grove Starter Kit for LinkIt ONE
    • Seeed Studio ReSpeaker USB Mic Array
    • Raspberry Pi Zero 2W with Bluetooth 4.2 Onboard Antenna
    • Raspberry Pi Zero WH WiFi/Bluetooth 4.1 Bluetooth Low Energy
    • Seeed Studio XIAO RP2040 Supports Arduino
    • M.2 HAT for Raspberry Pi 5
    • EdgeBox Raspberry Pi IoT Edge Device 4GB RAM 32GB eMMC WiFi
    • Raspberry Pi Compute Module 4 with WiFi
    • Raspberry Pi 4 ReSpeaker Intelligent Speech Recognition 2 Microphone
    • Raspberry Pi 5 Vision Car AI Development Board Camera Recognition WIFI Kit
    • Waveshare RM500U-CNV Raspberry PI 5G/4G/3G Hat
    • Hailo-8 M.2 AI Accelerator Module Suitable for Raspberry Pi 5
    • Waveshare ESP8266 for Raspberry Pi Pico Wifi Module TCP UDP
    • Waveshare MAX-M8Q GNSS HAT for Raspberry Pi
    • Waveshare SX1262 LoRa HAT for Raspberry UART
    • Waveshare SX1268 LoRa HAT for Raspberry UART
    • Waveshare SIM7070G NB-IoT / Cat-M / GPRS / GNSS HAT for Raspberry Pi
    • Waveshare SIM7600G-H M.2 4G HAT for Raspberry Pi 4G/3G/2G GNSS
    • Waveshare SIM7600CE-CNSE 4G HAT for Raspberry Pi 4G 3G 2G GNSS
  • 5️⃣ARDUINO
    • ATmega328DIP Board Microcontroller Board
    • OpenELAB EASY PLUG RGB TCS34725 Color Sensor Module I2C
    • OpenELAB EASY PLUG Micro SD TFT card Read and Write Module
    • OpenELAB EASY PLUG CCS811 CO2 Air Quality Sensor
    • OpenELAB EASY PLUG SR01 Ultrasonic Sensor
    • OpenELAB EASY PLUG Education Robot Car Kit
    • OpenELAB EASY PLUG Sensor Learning Kit for Arduino
    • OpenELAB EASY PLUG Ultimate Starter Kit for Arduino
    • OpenELAB KEYBOT Programmable Education Robot Control Board
    • OpenELAB RJ11 EASY Plug Main Control Upgrade Board V2.0
    • OpenELAB Desktop Mini Bluetooth Smart Robot Car Kit V3.0
    • OpenELAB 4WD Mechanical Arm Robot Smart Car for Arduino
    • OpenELAB 4DOF Mechanical Arm Robot Car Learning Starter Kit
    • OpenELAB 4WD Mechanical Arm Robot Smart Car for Arduino
    • OpenELAB Desktop Mini Bluetooth Smart Robot Car Kit V3.0
    • OpenELAB RJ11 EASY Plug Main Control Upgrade Board V2.0
    • OpenELAB KEYBOT Programmable Education Robot Control Board
    • OpenELAB EASY PLUG Ultimate Starter Kit for Arduino
  • 6️⃣DISPLAYS
    • 1.3 inch OLED I2C 128 x 64 Pixel Display
    • 0.91 inch OLED I2C Display 128 x 32 pixels
    • WT32S3-86S touch display screen with temp and humidity sensor
    • LCD Display 1602 I2C
    • HW-140 DC-DC Buck Boost Converter Step Up/Down, LCD display
    • HD44780 2004 LCD Display Bundle 4x20 characters
    • ESP32-S3 Rotary Switch LCD 2.1 inch Round LCD Screen
    • 8*8 Matrix LED Display Module
    • 4 digit 7-segment LED Display
    • 3.5-inch 320x480 resistive touch display
    • 3.5-inch 320x480 capacitive touch display
    • 1.77 inch Spi TFT Display and 128x160 Pixels
    • 1.8 inch Spi TFT Display 128 x 160 pixels
    • 1 Digit 7-Segment LED Display 1 inch 25.4 mm
    • 0.96 inch OLED SSD1306 Display I2C 128 x 64 pixels
    • Waveshare 10.1 inch IPS Capacitive Touch Display
    • Waveshare 10.1 inch QLED Touch Display
    • Waveshare 9.7 inch IPS Capacitive Touch Display
    • Waveshare 10.1 inch IPS Capacitive Touch LCD
    • Waveshare 9.3 inch LCD Capacitive Touch Display High Brightness
    • Waveshare 9 inch QLED Quantum Dot Display
    • Waveshare 8 inch 2K IPS Capacitive Touch Display
    • Waveshare 8DP-CAPLCD 8 inch Capacitive Touch Display
    • Waveshare 7.9 inch IPS LCD Touch Screen, 400×1280 HDMI
    • Waveshare 8 inch DSI LCD Display Touch Screen I2C
    • Waveshare 7 inch IPS Integrated Display, With Touch Function
    • Waveshare 7HP-CAPQLED 7 inch QLED Quantum Dot Display
    • Waveshare 7 inch Capacitive Touch Screen HDMI
    • Waveshare 7 inch Capacitive Touch Screen with Case HDMI
    • 2.8inch USB Monitor,Water Cooler Screen/ PC Case Secondary Screen
    • Waveshare 5inch Desktop RGB Ambient Screen
    • Waveshare 5inch IPS Round Touch DisplayHDMI
    • Waveshare 5.5inch 2K Touch LCD Display HDMI
    • 2.1 inch USB Monitor, Water Cooler Screen/ PC Case Secondary Screen
    • Waveshare 8.8inch Desktop RGB Ambient Screen Type-C
    • Waveshare 8inch Desktop RGB Ambient Screen Type-C
    • Waveshare 7 inch Desktop RGB Ambient Screen
    • Waveshare 5inch HDMI Touch Screen LCD with Bicolor Case
    • Waveshare 65K RGB General 1.28inch Round LCD Display Module
    • 0.96 inch OLED Display Module, SPI / I2C Communication
    • 1.5 inch LCD Display Module, IPS Panel SPI 262K colors
    • Waveshare 1.8inch colorful display module for micro:bit
    • Waveshare 3.5inch RPi LCD (A)
    • Waveshare 5 inch LCD Touch Screen Display for Raspberry Pi
    • Waveshare 1.47inch LCD Display Module SPI
    • 7.3 inch 7 Color E-Paper
    • Waveshare 15.6 inch QLED Touch
    • Waveshare 7.5 inch NFC-Powered
  • 7️⃣CAMERAS
    • OV5640 Camera Board (A), 5 Megapixel (2592x1944)
    • OV2640 Camera Board (1622x1200)
    • Hawkeye Firefly 8SE/8S 4K Screen WiFi FPV Action Camera
    • ESP32-CAM Camera Module
    • DFRobot Gravity Huskylens AI Camera
    • IMX335 5MP USB Camera (B)
  • 8️⃣SENSORS
    • Rotation Sensor
    • WT32S3-86S touch display screen with temp and humidity sensor
    • Vibration Sensor
    • Ultrasonic Sensor
    • Thermistor Module
    • Soil Temperature and Humidity Module
    • Soil Moisture Sensor Hygrometer Module V1.2 capacitive
    • Shock Sensor Module
    • MQ-135 Gas Sensor
    • Motion Sensor Motion Detection Module HC-SR501 PIR
    • DHT11 Temperature-Humidity Sensor
    • DHT22 AM2302 Temperature sensor and humidity sensor
    • Current Sensor ACS712ELC-20A
    • VL53L0X Time-of-Flight (TOF) Laser distance sensor
    • GY-521 MPU-6050 3-axis gyroscope and acceleration sensor
    • DS18B20 digital temperature sensor
    • BME280 Humidity Pressure Temperature Sensors
  • 9️⃣IOT / COMMUNICATION
    • NodeMCU Lua Amica Module V2 ESP8266 ESP-12F WIFI
    • SIM7028 NB-IoT HAT
    • NRF24L01 with 2.4 GHz
    • Ai-Thinker AiPi-Eyes-S1 WifFi Camera
    • Ai-Thinker AiPi-Eyes-S2 WifFi Camera
  • 🔟MOTORS
    • CyberGear micromotor instruction manual
    • Servo Motor (SG90)
    • 5V DC Stepper Motor & ULN2003 Driver Board
    • 130 DC Motor
    • Xiaomi CyberGear Micromotor
  • 🇰🇳KITS
    • mBot Mega
  • ⚡POWER
    • HW-140 DC-DC Buck Boost Converter Step Up/Down, LCD display
    • MT3608 DC-DC power supply adapter step up module
    • LM2596S Step-down DC-DC Buck Converter
    • LM2596S DC-DC power supply adapter step down module
    • Hi-Link DC-DC 5V to xxV 1W Mini Converter Isolated Power Supply
    • Hi-Link AC-DC 5W Converter Power Supply
    • Hi-Link AC-DC 220V to xxV 3W Converter Power Supply
    • SunLit Austa Solar Module
  • 🔌ACCESSORIES
    • 4 digit 7-segment LED Display
    • 5V LED Traffic Signal Module
    • LED Ring 5V RGB WS2812B 12-Bit 50mm
    • 3D MKS Gen V1.4 Printer
    • USB 3.2 To 5GbE Adapter (WP-UT5) Realtek RTL8157
  • Heygears Reflex User Guide
Powered by GitBook
On this page
  • Waveshare SX1268 LoRa HAT for Raspberry UART
  • Product Link
  • Introduction
  • Features
  • Specification
  • Hardware description
  • Working with PC
  • Terminal
  • Working with Raspberry Pi
  • Working with STM32
  • Resources
  • FAQ

Was this helpful?

PreviousWaveshare SX1262 LoRa HAT for Raspberry UARTNextWaveshare SIM7070G NB-IoT / Cat-M / GPRS / GNSS HAT for Raspberry Pi

Last updated 8 months ago

Was this helpful?

Waveshare SX1268 LoRa HAT for Raspberry UART


Product Link

Introduction

  • This product is a Raspberry Pi expansion board based on SX1268/SX1262 chip, a wireless serial port module with LoRa modulation function.

  • With multi-level relay to achieve ultra-long-distance communication, low power consumption wake-up communication, encrypted transmission, etc.

  • This product uses a private protocol and does not support LoRaWAN.

Features

  • Support global license-free ISM 433/470/868/915MHz frequency band.

  • Supports wake-on-air, that is, ultra-low power consumption, suitable for battery-powered applications.

  • Support point-to-point transmission, broadcast transmission, channel monitoring, and multi-level relaying for ultra-long-distance communication.

  • Support RSSI signal indicator for evaluating signal quality and improving communication network.

  • Support the LBT function, and monitor the channel environmental noise before sending, which can greatly improve the communication success rate of the module in harsh environments.

  • LoRa spread spectrum technology, up to 84 channels/81 channels (SX1268/SX1262).

  • Support waking on radio, online configuration, carrier sense, automatic relay, communication key, low power sleep.

  • In an ideal environment, the communication distance can reach 5KM.

Specification

Consumption
Transmit Current
100mA (Transient current)

Receive Current

11mA

Sleep Current

2uA (LoRa module deep sleep)

MAX Transmit Power

22.0dBm (10, 13, 17, 22dBm Selectable)

Transmit Length

240 Bytes (32, 64, 128, 240 Bytes Selectable)

Buffer

1000 Bytes

Working Bands

410.125~493.125MHz or 850.125~930.125MHz

Receive Sensitivity

[email protected] (On air)

Air Speed

0.3K~62.5Kbps (software selectable)

Interface

UART

Range

5KM (Sunny day; open area; Antenna: AUX 5dBi, Height 2.5m; Air Speed: 2.4kbps)

Working Voltage

5V

Logic Voltage

3.3V

Working Temperature

-40 ~ 85°C

Hardware description

Hardware description of SX1268 LoRa HAT

  1. SX1268/SX1262 LoRa module

  2. 74HC125V: voltage level translator

  3. CP2102: USB TO UART converter

  4. Raspberry Pi GPIO connector: for connecting with Raspberry Pi

  5. USB TO UART port

  6. UART header: for connecting MCU

  7. SMA antenna connector

  8. IPEX antenna connector

  9. Indicators:

    • RXD/TXD: UART RX/TX indicator

    • AUX: auxiliary indicator

    • PWR: power indicator

  10. UART selection jumpers

    • A: control the LoRa module through USB TO UART

    • B: control the LoRa module through Raspberry Pi

    • C: access Raspberry Pi through USB TO UART

  11. LoRa mode selection jumpers

    • short M0, short M1: transmission mode

    • short M0, open M1: configuration mode

    • open M0, short M1: WOR mode

    • open M0, open M1: deep sleep mode

LoRa & LoRaWAN

What's LoRa

  • The spread spectrum modulation technology used by LoRa (abbreviation of long-range) is derived from chirp spread spectrum (CSS) technology, which is one of the long-distance wireless transmission technology and LPWAN communication technology. At present, LoRa in the ISM frequency band mainly includes 433, 868, 915 MHz, etc.

  • Integrating digital spread spectrum, digital signal processing, and forward error correction codes, the performance of long-distance communication in LoRa has been improved a lot. Moreover, the link budget in LoRa, the main factor that determines distance under a given environment, is better than any other standardized communication technology.

What's LoRaWAN

  • Class A/B/C node devices in the MAC cover all the applications for the Internet of Things. The difference between them is that the time slots for nodes to send and receive are different.

  • The LoRaWAN coverage in the city or other areas requires a node (LoRa node radio frequency chip), gateway (or base station, LoRa gateway radio frequency chip), server, and cloud. As shown in the following figure:

    • First, DEVICE (node device) sends network access data package to GATEWAY and then to the server. After the authentication is passed, it can send and receive application data with the server normally.

    • GATEWAY (gateway) can communicate with the server through a wired network, 3/4/5G wireless network.

Application

LoRa devices and networks such as LoRaWAN enable smart IoT applications to help the planet's present challenges such as energy management, natural resource reduction, pollution control, infrastructure efficiency, disaster prevention, and so on. Semtech's LoRa devices have been successfully applied in many aspects such as smart cities, homes and buildings, communities, metrology, supply chain and logistics, agriculture, and so on. LoRa networks reach hundreds of millions of devices in more than 100 countries for a smarter planet.

Working with PC

SSCOM connection test

1. Prepare two SX126x LoRa HAT modules (here called Lora HAT), two Micro USB cables, assemble SMA antennas, place the jumper cap on A, and connect M0 and M1 to GND.2. Install the CP2102 driver on the WINDOWS PC, and connect the two Lora HATs to the PC using Micro USB.3. Open the PC device manager, find the two COM ports corresponding to the CP2102, use the SSCOM serial port software to connect the two Lora modules respectively, and set the baud rate to 9600.4. Input data in the input field of one SSCOM serial port software, click the send button, and you can see the data received by the LoRa module in the display field of the other SSCOM serial port software.

Terminal

This test uses a Windows PC to connect to the LoRa HAT, and the jump settings will not change according to the factory location.

1. Install python3 on Windows, then enter cmd in the startup bar to search and open the Windows terminal.

2. Enter the path of python3 into the terminal, the default address is generally as shown in the picture below, pay attention to check your python3 path, and install pyserial.

path=%path%;C:\Users\zhongshaohua\AppData\Local\Programs\Python\Python37\Scripts\
path=%path%;C:\Users\zhongshaohua\AppData\Local\Programs\Python\Python37\
pip3 install pyserial

3. Use the upper computer software to set up LoRa HAT, unplug the M1 jumper when setting, connect to the M1 jumper, and close the serial port of the upper computer after the setting is completed. Set the parameters as follows:

4. Unzip the sample demo to the desktop, open the main.py file to modify the COM port, and then run the demo.

Working with Raspberry Pi

In this chapter, we will demonstrate two examples. Demo 1: the test of two LoRa HATs connect to two Raspberry Pis for receiving and sending. Demo 2: The test of using 3 LoRa HATs for relay communication receiving and sending.

Hardware Connection, Install Function, Enable Raspberry Pi Serial Port, Download Demo

1. Hardware connection: After powering on Raspberry Pi, connect LoRa HAT as shown below:

Enter the following commands one by one to install the Python library, the first command enables the Raspberry Pi serial port.

#The system higher than version 2021.10.30 no longer needs to install the serial library.
#sudo apt install python-serial
sudo raspi-config
cd Documents
wget https://files.waveshare.com/upload/1/18/SX126X_LoRa_HAT_CODE.zip
unzip SX126X_LoRa_HAT_CODE.zip

2. Enable serial port.

Open the Terminal of Raspberry Pi.Run command sudo raspi-config to open Configure interface.Choose Interfacing Options -> Serial -> No -> Yes.

Demo 1

After executing the following command, the node will automatically print to the terminal when it receives the data sent by other nodes. When the node needs to send data to other nodes, press the keyboard i, and then enter the input according to the prompt, as shown in the figure below:

cd ~/Documents/SX126X_LoRa_HAT_Code/raspberrypi/python/
sudo python3 main.py
  • first node

  • second node

  • transpareant transfer diagram

Demo 2

Relay communication is a method for ultra-long-distance communication. Setting up the LoRa module to relay mode, and its address register would be only for forwarding pairing, no more active transceiver function, and no low power consumption.

【Note】 To test the Relay example, you require at least three LoRa HATs.

  • Assume the three LoRa modules as LoRa module A, LoRa module B, and LoRa module C.

  • relay transfer diagram

  • lora module B setting

  • lora module C setting

  • lora module A setting

After LoRa module A is connected to the Raspberry Pi, open the main.py file, change line 66, change realy=False to realy=True, and execute the following command, LoRa module C will print the data from the serial port after receiving the data, and relay the LoRa module B will not print any data from the serial port, enter the following command:

cd ~/Documents/SX126X_LoRa_HAT_Code/RaspberryPi/python/
# node = sx126x.sx126x(serial_num = "/dev/ttyS0",freq=868,addr=0,power=22,rssi=True,air_speed=2400,relay=True)
sudo python3 main.py

Working with STM32

This demo uses STM32F103CBT6 based on the HAT function.

Hardware connection

Connect the jumper cap to B, and remove the M0, and M1 jumper caps instead of using the GPIO of STM32F103C.

SX1268 LoRa HAT
STM32

5V

5V

GND

GND

RXD

PA10

TXD

PA9

M1

PB15

M0

PB14

2. Example

  • The settings of the LoRa module connected to the computer USB are the same as in the above three demos.

  • Open the Keil project document and use different definitions in communication methods in lines 75 to 77 of the main.c file.

#define TRASNSPARENT
//#define RELAY
//#define WOR
  • Select the communication method above and press F7 to compile, press F8 to download to STM32.

Demo Brief Analysis

In this section, we briefly describe the working process and Python program of this product.

  • After powering on, and setting up /dev/ttyS0 serial port and 9600 baud rate, the M0 (BCM22) pin of the module is in low level, M1 (BCM27) pin is in high level, the module enters the configuration mode:

 def __init__(self,serial_num,freq,addr,power,rssi,air_speed=2400,\
                 net_id=0,buffer_size = 240,crypt=0,\
                 relay=False,lbt=False,wor=False):
        self.rssi = rssi
        self.addr = addr
        self.freq = freq
        self.serial_n = serial_num
        self.power = power
        # Initial the GPIO for M0 and M1 Pin
        GPIO.setmode(GPIO.BCM)
        GPIO.setwarnings(False)
        GPIO.setup(self.M0,GPIO.OUT)
        GPIO.setup(self.M1,GPIO.OUT)
        GPIO.output(self.M0,GPIO.LOW)
        GPIO.output(self.M1,GPIO.HIGH)

        # The hardware UART of Pi3B+,Pi4B is /dev/ttyS0
        self.ser = serial.Serial(serial_num,9600)
        self.ser.flushInput()
        self.set(freq,addr,power,rssi,air_speed,net_id,buffer_size,crypt,relay,lbt,wor)
 def set(self,freq,addr,power,rssi,air_speed=2400,\
            net_id=0,buffer_size = 240,crypt=0,\
            relay=False,lbt=False,wor=False):
        self.send_to = addr
        self.addr = addr
        # We should pull up the M1 pin when sets the module
        GPIO.output(self.M0,GPIO.LOW)
        GPIO.output(self.M1,GPIO.HIGH)
        time.sleep(0.1)

        low_addr = addr & 0xff
        high_addr = addr >> 8 & 0xff
        net_id_temp = net_id & 0xff
        if freq > 850:
            freq_temp = freq - 850
            self.start_freq = 850
            self.offset_freq = freq_temp
        elif freq >410:
            freq_temp = freq - 410
            self.start_freq  = 410
            self.offset_freq = freq_temp
        
        air_speed_temp = self.lora_air_speed_dic.get(air_speed,None)
        # if air_speed_temp != None
        
        buffer_size_temp = self.lora_buffer_size_dic.get(buffer_size,None)
        # if air_speed_temp != None:
        
        power_temp = self.lora_power_dic.get(power,None)
        #if power_temp != None:

        if rssi:
            # enable print rssi value 
            rssi_temp = 0x80
        else:
            # disable print rssi value
            rssi_temp = 0x00        

        # get crypt
        l_crypt = crypt & 0xff
        h_crypt = crypt >> 8 & 0xff
        
        if relay==False:
            self.cfg_reg[3] = high_addr
            self.cfg_reg[4] = low_addr
            self.cfg_reg[5] = net_id_temp
            self.cfg_reg[6] = self.SX126X_UART_BAUDRATE_9600 + air_speed_temp
            # 
            # it will enable to read noise rssi value when add 0x20 as follow
            # 
            self.cfg_reg[7] = buffer_size_temp + power_temp + 0x20
            self.cfg_reg[8] = freq_temp
            #
            # it will output a packet rssi value following received message
            # when enable eighth bit with 06H register(rssi_temp = 0x80)
            #
            self.cfg_reg[9] = 0x43 + rssi_temp
            self.cfg_reg[10] = h_crypt
            self.cfg_reg[11] = l_crypt
        else:
            self.cfg_reg[3] = 0x01
            self.cfg_reg[4] = 0x02
            self.cfg_reg[5] = 0x03
            self.cfg_reg[6] = self.SX126X_UART_BAUDRATE_9600 + air_speed_temp
            # 
            # it will enable to read noise rssi value when adding 0x20 as follows
            # 
            self.cfg_reg[7] = buffer_size_temp + power_temp + 0x20
            self.cfg_reg[8] = freq_temp
            #
            # it will output a packet rssi value following the received message
            # when enable eighth bit with 06H register(rssi_temp = 0x80)
            #
            self.cfg_reg[9] = 0x03 + rssi_temp
            self.cfg_reg[10] = h_crypt
            self.cfg_reg[11] = l_crypt
        self.ser.flushInput()

        for i in range(2):
            self.ser.write(bytes(self.cfg_reg))
            r_buff = 0
            time.sleep(0.2)
            if self.ser.inWaiting() > 0:
                time.sleep(0.1)
                r_buff = self.ser.read(self.ser.inWaiting())
                if r_buff[0] == 0xC1:
                    pass
                    # print("parameters setting is :",end='')
                    # for i in self.cfg_reg:
                        # print(hex(i),end=' ')
                        
                    # print('\r\n')
                    # print("parameters return is  :",end='')
                    # for i in r_buff:
                        # print(hex(i),end=' ')
                    # print('\r\n')
                else:
                    pass
                    #print("parameters setting fail :",r_buff)
                break
            else:
                print("setting fail,setting again")
                self.ser.flushInput()
                time.sleep(0.2)
                print('\x1b[1A',end='\r')
                if i == 1:
                    print("setting fail,Press Esc to Exit and run again")
                    # time.sleep(2)
                    # print('\x1b[1A',end='\r')

        GPIO.output(self.M0,GPIO.LOW)
        GPIO.output(self.M1,GPIO.LOW)
        time.sleep(0.1)
*The serial port sends application data to the LoRa module and sends other LoRa nodes wirelessly.
 # The data format like as follows
 # "node address,frequency,payload"
 # "20,868, Hello World"
    def send(self,data):
        GPIO.output(self.M1,GPIO.LOW)
        GPIO.output(self.M0,GPIO.LOW)
        time.sleep(0.1)

        self.ser.write(data)
        # if self.rssi == True:
            # self.get_channel_rssi()
        time.sleep(0.1)
  • Data received by the receiver send to the controller from the serial output and pay attention to the third line of code. If the amount of received data is too large, please increase the delay accordingly and wait for all the data to be received before reading. Lines 10 to 15 are based on whether RSSI Enable to print RSSI value.

 def receive(self):
        if self.ser.inWaiting() > 0:
            time.sleep(0.5)
            r_buff = self.ser.read(self.ser.inWaiting())

            print("receive message from node address with frequence\033[1;32m %d,%d.125MHz\033[0m"%((r_buff[0] <<8)+r_buff[1],r_buff[2]+self.start_freq),end='\r\n',flush = True)
            print("message is "+str(r_buff[3:-1]),end='\r\n')
            
            # print the rssi
            if self.rssi:
                # print('\x1b[3A',end='\r')
                print("the packet rssi value: -{0}dBm".format(256-r_buff[-1:][0]))
                self.get_channel_rssi()
            else:
                pass
                #print('\x1b[2A',end='\r')
  • In the main.py file, after the program runs, wait for the user to press the keyboard to perform the corresponding operation, enter Esc to exit the loop, enter i to enter the application information to be sent, and enter s to broadcast the CPU temperature every 10 seconds:

 try:
    time.sleep(1)
    print("Press \033[1;32mEsc\033[0m to exit")
    print("Press \033[1;32mi\033[0m   to send")
    print("Press \033[1;32ms\033[0m   to send cpu temperature every 10 seconds")
    
    # it will send rpi cpu temperature every 10 seconds 
    seconds = 10
    
    while True:
        if select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []):
            c = sys.stdin.read(1)

            # dectect key Esc
            if c == '\x1b': break
            # dectect key i
            if c == '\x69':
                send_deal()
            # dectect key s
            if c == '\x73':
                print("Press \033[1;32mc\033[0m   to exit the send task")
                timer_task = Timer(seconds,send_cpu_continue)
                timer_task.start()
                
                while True:
                    if sys.stdin.read(1) == '\x63':
                        timer_task.cancel()
                        print('\x1b[1A',end='\r')
                        print(" "*100)
                        print('\x1b[1A',end='\r')
                        break

            sys.stdout.flush()
            
        node.receive()
        
        # timer,send messages automatically       
 except:
    termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_settings)

Resources

Documents

Demo codes

Related Links

Softwares

FAQ

【Note】 1. Combine M1 and M0 with high and low levels to determine the working mode. M1 and M0 are high when they are not connected to the jumper cap. After switching the working mode, if the module is idle, it will enter the new working mode. Otherwise, the current transmission will be processed and enter the new working mode after receiving. 2. Mode 0: Transmission mode, Module transmits data when users send data to the UART interface. Wireless receiving is enabled to receive data and send it to the UART interface when idle. 3. Mode 1: When it is defined to Transmit, the user needs to add wakeup codes before transmitting, receiving is the same as Mode 0. 4. Mode 2: Wireless transmit and wireless receive are disabled, users can configure configuration according to 5. Mode 3: Wireless transmit and wireless receive are disabled, and the module enters deep sleep mode. The module will configure when switching to other modes.

LoRa is IoT wireless platform with long-distance and low-power, generally referring to radio frequency chips in LoRa. The main features are as follows.

LoRa RF chips mainly include SX127X series, SX126X series, and SX130X series, of which SX127X, SX126X series are used for LoRa nodes, and SX130X is used for LoRa gateways. For details, please refer to product list.

is a low-power, wide-area networking (LPWAN) protocol based on LoRa Technology. It is designed to wirelessly connect battery-operated 'things' to the Internet in regional, national, or global networks, and targets key Internet of Things (IoT) requirements such as bi-directional communication, end-to-end security, mobility, and localization services. The node wirelessly connected to the Internet has network access authentication, which is equivalent to establishing an encrypted communication channel between the node and the server. For details of network access, refer to . The LoRaWAN protocol level is shown in the figure below.

The band parameters in Modulation, such as EU868 and AS430, are differnt in differnt contries. The regional parameters refer to .

The main operators on the server side include , etc. If you want to build cloud services by yourself, please refer to ,

Directly connected LoRa module A to the Raspberry Pi, set up LoR module B and LoRa module C by Windows .

Lines 11 to 77 in the following code set the LoRa module's low address, high address, network ID, frequency, airspeed size, cache size, power size, RSSI input enable, encryption key and whether it is enabled the relay mode parameters, click to check and . Lines 79 to 113 are the serial port sending configuration commands to the LoRa module. If the configuration is correct, pull down the M1 pin to enter the transceiver mode.

  • The ground absorbs and reflects radio waves, and the testing effect is poor near the ground; when there is a linear communication barrier, the communication distance will be attenuated accordingly.

  • There are metal objects near the antenna, or placed in a metal shell, the signal attenuation will be very serious; seawater has a strong ability to absorb radio waves, so the seaside test effect is poor.

  • Temperature, humidity, and co-channel interference will lead to increased communication packet loss rate; power supply low voltage at room temperature is lower than the recommended value, the lower the voltage the smaller the power generation.

  • Wrong setting of power register, too high setting of air rate (the higher the air rate, the closer the distance).

Set up the upper jumper cap to B; remove the lower jumper cap M2 and you can read the parameters:

Additional instructions: In the OSI model of a computer network, LoRa is located in the bottom physical layer, which generally refers to the radio frequency chip using LoRa technology; LoRaWAN is a set of protocol standards based on the MAC layer based on the LoRa transmission technology. With this standard, LoRaWAN becomes a network technology.

It may be the serial port issue, the default serial port used by the program is ttyS0, Raspberry Pi serial port may not be, you can use the following command to confirm (serial0 corresponds to the selected serial port):

ls -l /dev/serial*
  • No, the RF parameters of the LoRa module are not the same, also, there are differences among internal design, communication protocol, data encoder, and so on.

  • For example, Two or more SX1262 433M LoRa HATs are needed to realize the communication, used in pairs, can not communicate with other series of Lora

  • Therefore, please choose the same LoRa module to ensure the consistency of hardware and protocol.

  • Stream mode (non-acknowledgment mode):

In stream mode, LoRa devices do not wait for acknowledgment from the receiver after sending data. This mode is suitable for applications that require high real-time performance or have low requirements for data integrity.

  • Packet mode (acknowledgment mode):

In packet mode, LoRa devices wait for an acknowledgment (ACK) from the receiver after sending data. This mode is suitable for applications that need to ensure data integrity and reliability.

No If you need to support the LoRaWAN network protocol, buy this , which can be matched with

470M and 433M module demos are the same, and the default use of 433M program; 915M and 868M are used 868M program, the default program is 433M, change the comment:

It may be a system issue, please check it and use the stable

#Registers Configuration
Semtech's
Semtech's
LoRaWAN
source code
link
TTN
lorawan-stack
chirpstack
upper-computer
register description
LoRa Configuration
SX1268 LoRa Schematic
SX1268 Datasheet
SX1261-2 Datasheet
SX126X LoRa HAT Code
LoRa-HAT-Reg
LoRa-HAT-Control
Panasonic_SDFormatter
Win32DiskImager
putty
CP2102 Driver
SSCOM
RF Setting
Why is the transmission distance not ideal?
Why can't I read the parameters on the computer?
Do SX1262 and SX1268 support LoRaWAN network protocol?
Pico-LoRa-SX1262-868M
LoRaWAN gateway SX1302 LoRaWAN Gateway HAT
Why does it work in windows, but not in Raspberry Pi with the demo?
Raspberry Pi Buster system
Can it communicate with other LoRa modules?
What is the difference between stream mode and packet mode?
LogoWaveshare SX1268 LoRa HAT for Raspberry UARTOpenELAB