Engineering version: 1.2v
1. Repair the burning circuit
2.LED direction of D27 pin
3. Modify some PCB layouts
4. The size of the PCB version of this project is approximately 6.6cmX3.5CM
Note: Two LoRa modules are needed to communicate. You can make two ESP_LoRa, or Arduino and SMT32 to boast the platform (the protocols are the same). I will draw an Arduino_LoRa and SMT32_LoRa in the next version, so look forward to it!
Project description:
This is a lorawan simple gateway based on ESP32S main control, plus a 0.96OOED display
Main control: ESP32-S LoRa module: Ra: RA-01 (SX1278)
ESP32S
RA-01(SX1278)
While studying, I discovered LoRa, another protocol related to the Internet of Things. I personally like to play with it. After a period of study, I will make a development board for it. I hope more people will play LoRa.
Note: This project is a single transmission gateway, which means that ESP_LoRa can be adjusted to receive mode or transmit mode according to needs (determined by the code).
It mainly uses Essence’s RA-01, which is a non-duplex module. Essence’s latest module that supports LoRa is the RA-07 series. Interested friends can study and learn.
The corresponding pin diagram of this project module:
ESP32 Pins | Ra-01 Pins |
D5 | NSS |
D23 | MOSI |
D19 | MISO |
D18 | SCK |
D14 | RST |
D2 | DIO0 |
Features:
1.Arduino language development, making it easier for novices to get started
2. Use three components, including a Zener diode, a 6V self-restoring fuse ( optional ), and ESD electrostatic protection ( optional ), to protect the circuit.
3. Use CH340C (disadvantage: large size) for serial port downloading, eliminating the need for crystal oscillator.
4. Adopt advanced Type-c interface (manual dog head).
5. Reserve a four-pin OLED screen for display. (Four pins 0.96, 1.3, etc. - pay attention to the pin order when making a board)
6. The module supports automatic burning, which is convenient and fast.
7. There are three types of LoRa module antennas to choose from (SMA, direct plug-in, IPEX4).
8. All available pins are lead out to facilitate secondary development.
9. The power supply adopts AMS1117-3.3. The measured voltage drop can be accepted at about 3.3V without affecting the use.
10. The M3 copper pillars are not suitable for fixing. I plan to paint a shell to beautify them.
11. Resistors and capacitors are all packaged in 0603, which is easier to weld than 0402, and 0805 takes up space (manual dog head again).
12. Reserve the test LED (D27) pin.
PCB precautions:
There are two types of PCB designs for this project:
1. Direct plug-in antenna + IPEX4
2.SMA antenna (recommended)
3. Use TX as the guide light for downloading the serial port. When using the Arduino program, the serial port Printf will light up.
4. The marked silk screen has been drawn out, and some modules and OLED pins have been hard-coded. You can change the PCB yourself if you have personal needs.
5. The leftmost side of my OLED package is GND. If yours is different from mine, refer to the tutorial below to change the pin settings.
Precautions for novice welders:
1. esp32s has many pins. Remember not to use too much solder paste to prevent short circuits on the pins.
2. It is recommended to solder Type-c first and use the buzzer setting of a multimeter to test whether there is a short circuit.
3. Solder other components first, test them and see if there is any problem, and finally solder the two modules.
Other notes:
1. The LoRa antenna must be welded, otherwise the module will be easily damaged.
2. It is not recommended to use the BOM list to place orders. Some goods numbers and packaging are incorrect.
3. It is recommended to solder the 5.1k resistor connected to Type-c, so that the computer can recognize the C To C protocol, otherwise it can only be used by plugging in one side!
4. The outermost pin of the OLED screen is GND, and the first pin of some OLEDs is VCC. You can change the pin sequence by yourself. If you don’t know how, please read the following tutorial:
5. Antenna selection, the welding on the PCB board is (external screw inner pin deflection angle, spacing 1.6, tooth length 8MM) and the external antenna is the inner pin.
ESP32 IO port precautions
Compared with esp8266, esp32 has many more IOs. Some IOs can only be used for input. Here is a brief design description:
1.IO numbers: 0-19, 21-23, 25-27, 32-39.
2. Among them, GPIO 34-39 are only used as input pins.
3.IO13 and IO14 are JLINK debugging interfaces and need to be initialized before use.
4.ESP_LoRa used the IO port
IO0,IO2,IO5,IO14,IO18,IO19,IO21,IO22,IO23,IO27 |
Acknowledgments:
The ESP_LoRa project uses the following information from netizens for reference (in no particular order):
2.Arduino -Lora
3.NodeMCU -projects
6. ESP32 minimum system board (actual verification)
Thank you for your open source sharing.
The API of the program of the Arduino-LoRa library file has been Chineseized to make it easier for novices to learn. Click me to open LoRa-API
Author's original address: Click here to open the LoRa library address
image display:
Front view
Front view
PCB front and back pictures
Startup interface diagram
Main program interface diagram
Program testing
The one I made uses a bmp180 sensor to obtain temperature, air pressure and lora signal strength.
The following platforms are mainly used
1.EMQ’s MQTT
2.Node-RED Platform
3. Use the Node-RED platform to display data
Attachment test results:
Attachment content
1.Arduino_LoRa library
2. Example program
3.Module pin diagram
4. Picture materials
If you have any questions, please leave a message below. If you like it, don’t forget to click three times! ! !
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet