XIAO ESP32S3 & Wio-SX1262 Meshtastic impossible to update firmware

Hello,

I bought on aliexpress a couple XIAO ESP32S3 & Wio-SX1262 for meshtastic
it works very well but it is impossible to change the firmware,
on the ESP32S3 model there is no boot and reset button as indicated.
Only 1 button on the SX-1262 so it reboots but impossible to switch to boot loader mode to change the firmware. The com port is there for the flash and available on the computer.
There is nothing indicated on the wiki except if you have the 2 button model on the XIAO ESP32S3…
I may have missed something …
Thanks in advance for your answers

1 Like

Hi there,
and Welcome here…

Ok So, is it a real Xiao from Seeed studio?
If so Is it a two board sandwich ? The bottom board is the Xiao and the top Board is the Mesh_radio. The buttons are tiny and check the WiKi for more info it’s all there.
Check this too… “1:40:00” Listen closely and do exactly this way… Success will be yours :index_pointing_at_the_viewer:

HTH
GL :slight_smile: PJ :v:

Hi
I have updated the Meshtastic FW using the tiny buttons okay basically holding down the program button while inserting the USB cable.

The issue for me is that the boards have to be separated every time you need to undate the firmware.

Has anyone got the 1200 BPS reset to work?

Is this something Meshtastic would have to put in thier FW or is this a Seeed issue?,

Merry Xmas to all

but here push little button on sx1262 long time, moderate or short nothing for state change
I have see youtube video ok but nothing more

This is the kit that i have
Method 1

I use this

Method 2

can’t be use for me no button on my ESP32-S3

Any more idea please ?

Thanks by advance

go to https://flasher.meshtastic.org/

Also read wiki

Reset and boot button should not be needed… but they are small and next to USB

May have to separate two boards… also may have to remove power

also press and hold boot… press reset… release boot

Thanks to all answers
I found the 2 buttons on the ESP32S3 but it doesn’t look like buttons … they are filled with solder, nothing protrudes from the button as indicated on the wiki, but by insisting I see that it sinks slightly.
not easy …

1 Like

I’ve found it’s still impossible to update the firmware using Meshtastic’s web flasher (Mac/Chrome). Following the instructions in the videos on the Wiki for this product, the device refuses to reconnect after the reboot/rest button sequence shown (which is a pain to accomplish to start with - it’s basically a 3 hand procedure). I’m left with “Connecting…” and that’s it. After 2 hours, I gave up. Thankfully, an older version of Meshtastic firmware comes pre-installed, but my hopes of updating it are nil. Searching on the web I find there are many others with the same issue.

Does this flash the esp32s3 or does it also change firmware on the sx1262?

Having the same problem. Does your computer recognize the board when you plug it in? When I connect to the computer it does not open a com/serial port.

check your cable… is it power only? What OS can you try on another computer / OS do you have arduino IDE installed?

Thanks for the response.
Cable is power/data and It will connect to other meshtastic device.
I did try another computer; it did not recognize it either.
One computer is running Windows 10 Pro Education and the other is running Windows 10 Enterprise.
I do have IDE installed on the Pro Education computer.

The tracker A/B/C only has 2 pins… and therefore is power only… you can only communicate with it via bluetooth

Hi there! I wasn’t able to create a topic for my question, but I saw that you reply to a lot of XIAO-related issues, so I’m hoping you can help me.

I’m working on a project to monitor soil moisture using a XIAO ESP32S3 and a WIO-SX1262. I have an expansion board where both are connected, along with a soil moisture sensor and an AHT20 sensor for humidity and temperature readings.

I already have an Arduino code that works fine and gives me the sensor readings, but my goal is to place this “kit” in a plantation and receive the sensor values in the SenseCraft app.

My problem is connecting the XIAO ESP32S3 and the WIO-SX1262 to the app. I can’t get the Bluetooth connection to work, and I also can’t find or generate the appKey, devEUI, and appEUI.

i got my kit but have not done the soldering yet

When I program with Arduino, at the end of uploading to the board I get the error exit status 1 or 2 how can I fix this, I already had the board receiving the code without these problems.

Hi there,

SO, I have found this also occasionally to occur while stacked. Placing the Xiao in Bootloader mode manually(button Press) and retrying overcomes it. I have only noticed this phenomenon with the IDE version 2.3.5 Arduino. YMMV :crossed_fingers:
Subsequent uploads complete normally :+1:

HTH
GL :slight_smile: PJ :v:

And do you have any solution for me not being able to connect the [XIAO ESP32S3 & Wio-SX1262] to the SenseCraft app?

Hi there,

So the issue sounds like a Bluetooth issue , you’ll need THAT to do what your asking… Post the code you are using and we can look and make some recommends.

Correct BSP and LIB vers. i.e “radio.lib” is essential to any success…btw :grin:

HTH
GL :slight_smile: Pj :v:

Do use the code tags "</> " paste it in there. :+1:

#include <Wire.h>
#include <Adafruit_AHTX0.h>

#define LORA_SERIAL Serial1
#define LORA_BAUD 9600
#define RXD2 7 // XIAO GPIO7 → Wio-E5 TX
#define TXD2 6 // XIAO GPIO6 → Wio-E5 RX

Adafruit_AHTX0 aht;

const char* DEV_EUI = “XXXXXXXXXXXXXXX”;
const char* APP_EUI = “XXXXXXXXXXXXXXX”;
const char* APP_KEY = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”;

// Sensor analógico de humidade do solo
#define SOIL_SENSOR_PIN A0

void sendAT(String cmd, int wait = 1000) {
LORA_SERIAL.println(cmd);
delay(wait);
while (LORA_SERIAL.available()) {
Serial.write(LORA_SERIAL.read());
}
}

void joinLoRaWAN() {
sendAT(“AT+ID=DevEui,” + String(DEV_EUI));
sendAT(“AT+ID=AppEui,” + String(APP_EUI));
sendAT(“AT+KEY=APPKEY,” + String(APP_KEY));
sendAT(“AT+MODE=LWOTAA”);
sendAT(“AT+DR=EU868”); // Ajusta conforme a tua banda
sendAT(“AT+JOIN”, 5000);
}

void setup() {
Serial.begin(115200);
delay(1000);

LORA_SERIAL.begin(LORA_BAUD, SERIAL_8N1, RXD2, TXD2);
delay(1000);

if (!aht.begin()) {
Serial.println(“:x: Erro ao inicializar o sensor AHT20.”);
} else {
Serial.println(“:white_check_mark: AHT20 iniciado com sucesso.”);
}

joinLoRaWAN();
}

void loop() {
sensors_event_t humidity, temperature;
aht.getEvent(&humidity, &temperature);

float temp = temperature.temperature;
float hum = humidity.relative_humidity;
int soil = analogRead(SOIL_SENSOR_PIN);

Serial.printf(“:thermometer: Temp: %.2f°C | :droplet: Hum: %.2f%% | :seedling: Solo: %d\n”, temp, hum, soil);

// Codificar dados
uint16_t temp_int = (uint16_t)(temp * 100);
uint16_t hum_int = (uint16_t)(hum * 100);
uint16_t soil_int = (uint16_t)soil;

char payload[20];
sprintf(payload, “%04X%04X%04X”, temp_int, hum_int, soil_int);

String cmd = “AT+MSGHEX=”" + String(payload) + “”";
Serial.println(":satellite: Enviando: " + cmd);
sendAT(cmd, 3000);

delay(10 * 60 * 1000); // Espera 10 min
}

The code is like this right now, and it’s reading the sensors values.

Yea, that looks NOT good…Can’t tell what is code and what is AI or comments? , Please Edit it and we can see better :v: