E22 module is now working.
This commit is contained in:
6
Boards.h
6
Boards.h
@@ -1041,11 +1041,11 @@
|
|||||||
#define INTERFACE_COUNT 1
|
#define INTERFACE_COUNT 1
|
||||||
|
|
||||||
#define HAS_NP true
|
#define HAS_NP true
|
||||||
const int pin_np = 21;
|
const int pin_np = 21;// 21 on Waveshare ESP32 S3 Pico, 48 on ESP32-S3-DevKitC-1
|
||||||
#if HAS_NP == false
|
#if HAS_NP == false
|
||||||
#if defined(EXTERNAL_LEDS)
|
#if defined(EXTERNAL_LEDS)
|
||||||
const int pin_led_rx = 16;
|
const int pin_led_rx = 18;
|
||||||
const int pin_led_tx = 17;
|
const int pin_led_tx = 33;
|
||||||
#else
|
#else
|
||||||
const int pin_led_rx = 21;
|
const int pin_led_rx = 21;
|
||||||
const int pin_led_tx = 21;
|
const int pin_led_tx = 21;
|
||||||
|
23
CHANGELOG.md
23
CHANGELOG.md
@@ -11,6 +11,29 @@ All notable changes to this project will be documented in this file.
|
|||||||
Fixed : for any bug fixes.
|
Fixed : for any bug fixes.
|
||||||
Security : in case of vulnerabilities.
|
Security : in case of vulnerabilities.
|
||||||
|
|
||||||
|
### 2025-03-30
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
Both SX1278 and SX1268 modules are now working.
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
Pinout changed to make room for RXEN pin of E22 module.
|
||||||
|
|
||||||
|
|pin|GPIO|
|
||||||
|
|---|----|
|
||||||
|
|NSS|10|
|
||||||
|
|MOSI|11|
|
||||||
|
|SCK|12|
|
||||||
|
|MISO|13|
|
||||||
|
|RST|14|
|
||||||
|
|DIO|15|
|
||||||
|
|BUSY|16|
|
||||||
|
|RXEN|17|
|
||||||
|
|RX LED|18|
|
||||||
|
|TX LED|33|
|
||||||
|
|
||||||
### 2025-03-10
|
### 2025-03-10
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
@@ -332,6 +332,123 @@ When the rnode is flashed, it is signed with a key. If you connect the RNode to
|
|||||||
$ rnodeconf /dev/ttyACM0 --eeprom-wipe
|
$ rnodeconf /dev/ttyACM0 --eeprom-wipe
|
||||||
$ rnodeconf /dev/ttyACM0 -r --platform ESP32 --model a4 --product f0 --hwrev 3
|
$ rnodeconf /dev/ttyACM0 -r --platform ESP32 --model a4 --product f0 --hwrev 3
|
||||||
|
|
||||||
|
## Adding support for SX1268 module
|
||||||
|
|
||||||
|
### Boards.h
|
||||||
|
|
||||||
|
Change the following section:
|
||||||
|
|
||||||
|
````
|
||||||
|
const uint8_t interfaces[INTERFACE_COUNT] = {SX1278};
|
||||||
|
const bool interface_cfg[INTERFACE_COUNT][3] = {
|
||||||
|
// SX1278
|
||||||
|
{
|
||||||
|
false, // DEFAULT_SPI
|
||||||
|
false, // HAS_TCXO
|
||||||
|
false // DIO2_AS_RF_SWITCH
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const int8_t interface_pins[INTERFACE_COUNT][10] = {
|
||||||
|
// SX1278
|
||||||
|
{
|
||||||
|
10, // pin_ss
|
||||||
|
12, // pin_sclk
|
||||||
|
11, // pin_mosi
|
||||||
|
13, // pin_miso
|
||||||
|
-1, // pin_busy
|
||||||
|
15, // pin_dio
|
||||||
|
14, // pin_reset
|
||||||
|
-1, // pin_txen
|
||||||
|
-1, // pin_rxen
|
||||||
|
-1 // pin_tcxo_enable
|
||||||
|
}
|
||||||
|
};
|
||||||
|
````
|
||||||
|
|
||||||
|
with this:
|
||||||
|
|
||||||
|
````
|
||||||
|
#if BOARD_VARIANT == MODEL_F1
|
||||||
|
const uint8_t interfaces[INTERFACE_COUNT] = {SX1278};
|
||||||
|
const bool interface_cfg[INTERFACE_COUNT][3] = {
|
||||||
|
// SX1278
|
||||||
|
{
|
||||||
|
false, // DEFAULT_SPI
|
||||||
|
false, // HAS_TCXO
|
||||||
|
false // DIO2_AS_RF_SWITCH
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const int8_t interface_pins[INTERFACE_COUNT][10] = {
|
||||||
|
// SX1278
|
||||||
|
{
|
||||||
|
10, // pin_ss
|
||||||
|
12, // pin_sclk
|
||||||
|
11, // pin_mosi
|
||||||
|
13, // pin_miso
|
||||||
|
-1, // pin_busy
|
||||||
|
15, // pin_dio
|
||||||
|
14, // pin_reset
|
||||||
|
-1, // pin_txen
|
||||||
|
-1, // pin_rxen
|
||||||
|
-1 // pin_tcxo_enable
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#elif BOARD_VARIANT == MODEL_F2
|
||||||
|
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
|
||||||
|
const bool interface_cfg[INTERFACE_COUNT][3] = {
|
||||||
|
// SX1262
|
||||||
|
{
|
||||||
|
false, // DEFAULT_SPI
|
||||||
|
true, // HAS_TCXO
|
||||||
|
true // DIO2_AS_RF_SWITCH
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const int8_t interface_pins[INTERFACE_COUNT][10] = {
|
||||||
|
// SX1262
|
||||||
|
{
|
||||||
|
10, // pin_ss
|
||||||
|
12, // pin_sclk
|
||||||
|
11, // pin_mosi
|
||||||
|
13, // pin_miso
|
||||||
|
16, // pin_busy
|
||||||
|
15, // pin_dio
|
||||||
|
14, // pin_reset
|
||||||
|
-1, // pin_txen
|
||||||
|
17, // pin_rxen
|
||||||
|
-1 // pin_tcxo_enable
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
````
|
||||||
|
|
||||||
|
### Radio.cpp
|
||||||
|
|
||||||
|
Add the following statement to the function **sx126x::enableTCXO()**.
|
||||||
|
|
||||||
|
// Board added by Mees Electronics
|
||||||
|
#elif BOARD_MODEL == BOARD_MEES_ESP32_S3
|
||||||
|
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
|
||||||
|
|
||||||
|
#### Makefile
|
||||||
|
|
||||||
|
Change the following section:
|
||||||
|
|
||||||
|
````
|
||||||
|
# Added board from Mees Electronics
|
||||||
|
firmware-mees-esp32-s3:
|
||||||
|
arduino-cli compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=cdc" $(COMMON_BUILD_FLAGS) --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x61\""
|
||||||
|
````
|
||||||
|
|
||||||
|
with this:
|
||||||
|
|
||||||
|
````
|
||||||
|
# Added board from Mees Electronics
|
||||||
|
firmware-mees-esp32-s3:
|
||||||
|
arduino-cli compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=cdc" $(COMMON_BUILD_FLAGS) --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x61\" \"-DBOARD_VARIANT=0xF2\""
|
||||||
|
````
|
||||||
|
|
||||||
|
If you want to compile the board for the SX1278 just change **BOARD_VARIANT** to *0xF1*.
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
(C) 2025 M.T. Konstapel https://meezenest.nl/mees
|
(C) 2025 M.T. Konstapel https://meezenest.nl/mees
|
||||||
|
17
README.md
17
README.md
@@ -1,14 +1,16 @@
|
|||||||
# RNode Firmware - Mees Electronics Edition
|
# RNode Firmware - Mees Electronics Edition
|
||||||
|
|
||||||
|
This version of the RNode firmware is made to add support for the E22-400M33S LoRa module. With an output power of 33 dBm this module is suitable for ham radio applications.
|
||||||
|
|
||||||
This is a copy of the community maintained fork of the open firmware which powers RNode devices found on [https://github.com/liberatedsystems/RNode_Firmware_CE](https://github.com/liberatedsystems/RNode_Firmware_CE). The copy has been created to add support for hardware designed by [Mees Electronics](https://meezenest.nl/mees). The original repository by Mark Qvist can be found [here](https://github.com/markqvist/RNode_Firmware).
|
This is a copy of the community maintained fork of the open firmware which powers RNode devices found on [https://github.com/liberatedsystems/RNode_Firmware_CE](https://github.com/liberatedsystems/RNode_Firmware_CE). The copy has been created to add support for hardware designed by [Mees Electronics](https://meezenest.nl/mees). The original repository by Mark Qvist can be found [here](https://github.com/markqvist/RNode_Firmware).
|
||||||
|
|
||||||
The first new board is a combination of a Waveshare ESP32 S3 Pico and an Ra-02 SX1278 LoRa transceiver. See [./Documentation/HOWTO-change-firmware-and-compile-it_MeesElectronics.md](https://git.meezenest.nl/marcel/RNode_Firmware_CE/src/branch/master/Documentation/HOWTO-change-firmware-and-compile-it_MeesElectronics.md) for more information about adding a new board to the code.
|
Support is added for **ESP32 S3** boards with either an **SX1278** or an **SX1268** LoRa module. It is tested with a **Waveshare ESP32 S3 Pico** and a **LilyGO T7-S3 ESP32-S3 Development Board**. But it is expected to work with all ESP32 S3 boards which expose the proper GPIO pins. LoRa modules that are tested are the **Ra-02 SX1278** transceiver and the **E22-400M33S SX1268** transceiver. See [./Documentation/HOWTO-change-firmware-and-compile-it_MeesElectronics.md](https://git.meezenest.nl/marcel/RNode_Firmware_CE/src/branch/master/Documentation/HOWTO-change-firmware-and-compile-it_MeesElectronics.md) for more information about adding a new board to the code.
|
||||||
|
|
||||||
The Waveshare firmware also works on the LilyGO T7-S3 ESP32-S3 Development Board. And it is expected to work on all ESP32-S3 boards which expose the proper GPIO pins.
|
More information about this project can be found on: [https://www.meezenest.nl/mees-elektronica/projects/reticulum_design_my_own_rnode/index.html](https://www.meezenest.nl/mees-elektronica/projects/reticulum_design_my_own_rnode/index.html)
|
||||||
|
|
||||||
Pinout between ESP and Ra-02:
|
Pinout between ESP and LoRa module:
|
||||||
|
|
||||||
|Ra-02|ESP32 GPIO|
|
|LoRa|ESP32 GPIO|
|
||||||
|---|----|
|
|---|----|
|
||||||
|NSS|10|
|
|NSS|10|
|
||||||
|MOSI|11|
|
|MOSI|11|
|
||||||
@@ -17,8 +19,11 @@ Pinout between ESP and Ra-02:
|
|||||||
|RST|14|
|
|RST|14|
|
||||||
|DIO|15|
|
|DIO|15|
|
||||||
|BUSY|16|
|
|BUSY|16|
|
||||||
|RX LED|17|
|
|RXEN|17|
|
||||||
|TX LED|18|
|
|RX LED|18|
|
||||||
|
|TX LED|33|
|
||||||
|
|
||||||
|
Note: **BUSY** and **RXEN** are only necessary when using the SX1268 module.
|
||||||
|
|
||||||
# What it is
|
# What it is
|
||||||
|
|
||||||
|
@@ -409,6 +409,7 @@ void setup() {
|
|||||||
|
|
||||||
// Validate board health, EEPROM and config
|
// Validate board health, EEPROM and config
|
||||||
validate_status();
|
validate_status();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lora_receive(RadioInterface* radio) {
|
void lora_receive(RadioInterface* radio) {
|
||||||
|
@@ -711,6 +711,9 @@ void sx126x::enableTCXO() {
|
|||||||
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
|
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
|
||||||
#elif BOARD_MODEL == BOARD_HELTEC_T114
|
#elif BOARD_MODEL == BOARD_HELTEC_T114
|
||||||
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
|
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
|
||||||
|
// Board added by Mees Electronics
|
||||||
|
#elif BOARD_MODEL == BOARD_MEES_ESP32_S3
|
||||||
|
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
|
||||||
#else
|
#else
|
||||||
uint8_t buf[4] = {0};
|
uint8_t buf[4] = {0};
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user