DIY LoRa & Wi-Fi Module for Raspberry Pi Pico
by by1ronin in Circuits > Raspberry Pi
998 Views, 7 Favorites, 0 Comments
DIY LoRa & Wi-Fi Module for Raspberry Pi Pico
I have designed a proto shield for the Raspberry Pi Pico Board before. Raspberry Pi Pico has a very powerful microcontroller, but it has some shortcomings about wireless communication. Although Pico has released the W model, this is not very useful. So I designed a module to combine two of the most popular units in wireless communication. One of them is ESP8266; ESP8266 is perhaps one of the most widely used Wi-Fi communication modules in the world. Maybe you can find thousands of examples and projects on the internet, that's why I didn't write a Wi-Fi sample code on this board.
Another wireless communication method is the "LoRa" Long Range communication type, which provides low power communication. I used two different communication modules for LoRa, one is Ra-01 and the other is RFM95. So I designed two different boards.
Another thing is that I tested these modules whether they work underwater. If you want to make both test results and these boards yourself, follow the steps.
How It Works?
Both modules I designed basically work with the Wi-Fi enabled ESP8266 MCU. RFM95 or Ra-01 module embedded for LoRa communication. There are 2 buttons for Flash and Reset on the board, and 4-pin headers for Serial communication. With the serial TX-RX pins, you can easily connect this module to any development board or project you want. You do not have to connect these modules to a development board, this module is actually a development board by itself. You can make your own LoRa gateway by clicking this link. Or you can connect the modules to a computer with the help of Serial converter and make a LoRa listener. Don't forget to let me know about these projects you've done :)
Required Hardware and Components
Click for PCB production; Ronin/PCBWay
The required components and equipment to be used in this project are as follows.
- ESP8266EX 32-VFQFN 1 pcs
- XMC flash 250hb0bSoic-8 1 pcs
- nx3225sa-24mhz 3225 1 pcs
- 22pf Cap 0402 2 pcs
- 2450AT45A100E 2450 1 pcs
- 5.6pf Cap 0402 1 pcs
- 12K Resistor 0402 2 pcs
- 22nf Cap 0402 1 pcs
- 100uf Cap 1210 2 pcs
- 10K Resistor 0402 4 pcs
- 100nf Cap 0402 1 pcs
- 1uf Cap 0603 1 pcs
- 10uf Cap 0805 2 pcs
- LED 0603 1 pcs
- Header 1x4 ML2.54-90 1 pcs
- Button-SMD 3X4X2.5MM-4pin 2 pcs
Required Tools:
- Soldering Iron
- Soldering Wire
- Stencil for PCB
- USB-Serial Converter
- Hot plate or Soldering Air Gun
Soldering Printed Circuit Board
First, order the PCBs on PCBWay. I must admit that the soldering process is quite difficult. It is very important that you order a stencil when ordering, or you can solder it by hand like me. There is a guide to guide you about which component to place where among the pictures. You can solder better by watching videos on YouTube.
Software & Some Variables
To program the board, we first need to install the ESP8266 on the Arduino IDE. ESP8266 quick installation guide...
After installing, connect the module to the computer with the help of USB-Serial. First, hold down the Boot button and then press and release the Reset button once. Module ready to programing. Install the Lora Lib for Arduino. Upload the LoRaSender_Receiver code to the module. For more detailed information GitHub/byronin. For simple communication, you need to load it into at least two modules. LoRa modules are of various frequencies. Correct the frequency of the LoRa module you purchased in line 13 of the code. This code works both as a receiver and a transmitter. You can also use a simple 8.2cm long cable as an antenna.
Downloads
Testing & Results
In this project, I used Raspberry Pi Pico Proto Shield project and Wi-Fi Sensor Board project as helper equipment. You can test this module with a simple usb serial converter or arduino or directly include it in your project. I included my old projects for testing purposes only. If you have any questions or project idea feel free to contact me.