Development environment: Windows 10, Arduino IDE 2.1.0 with ESP32S3 BSP installed
Target: XIAO ESP32S3 with SX1262
I can flash the meshtastic firmware onto the xiao without error, and then access it with out incident through the serial port using client.meshtastic.org or via bluetooth with the iphone app, but after I upload a simple sketch, the xiao can’t be accessed with client.meshtastic.org or bluetooth.
Perhaps this a problem of my own making, as to even upload the simple sketch I must press and hold the boot button on the xiao when I insert the USB cable. No other sequence or setting change seems to work.
After a flash, I see the USB identified as: Tiny USB
After a sketch upload, I see the USB identified as: usb jtag/serial debug unit
The simple sketch works without incident and can access an attached device through an analog port, but the meshtastic bit seems to be inaccessible. I can reflash the xiao with the meshtasitic firmware and I can use the client.mestastic.org or iphone app.
When someone flashes a custom sketch (like an Arduino “Blink” or serial test) over Meshtastic firmware, they’re wiping out Meshtastic entirely. It’s no different than installing your own bare-metal firmware. That’s why afterward:
The device no longer shows up as TinyUSB or Meshtastic over serial.
It won’t respond to Meshtastic apps or commands.
It only boots your sketch — not the Meshtastic stack, not the radio, not the mesh.
So of course it looks “inaccessible” — you erased it.
So , you are overwriting the Meshtasic code on the xiao and it bombs?
What does the sketch look like ? Use the code tags and post it up “</>” paste it in there. Lets have a looksie
what is the end goal, I bet there is a different way to do it.
Thanks – I’m clearly misunderstanding the concepts here, as I thought I could upload a custom sketch onto the same xiao that hosted the mestastic firmware. The sketch is pretty simple – I just want to send 5 floating point numbers (read from a sensor) out as a message. Sounds like I need to load this on another xiao, and use the meshtastic xiao to send it.
to be correct you have to include your code into the master code that runs the whole meshtastic firmware… you may try just using LoRa… that might be something you could do with arduino IDE But it is an inportant area of study because it would be nice to get grove sensors to send custom reedings over the meshtastic
I’ll try that, but for now, I’ll just use a second arduino. Now my next problem is that I can’t correct my earlier mistake in setting the parameters for serial communication. I incorrectly configured the RX and TX pins as 9 & 8, but I believe they are 7 & 6 (if i have read the pinout diagram correctly). If I use the client.meshtastic.org interface I always receive a error message when I press save (an unhelpful ‘there was an error in the save’ message), and if i use the phone app, it does not give and error when i save, but changes nothing. Is the device just quirky, or is this user error, or do I only get one shot at doing this right and modification is just not supported?
So I have to hard reboot the device to make a configuration change? I can’t just use a client interface? It’s flashed just tine – I just can’t make a configuration change now. Even a change like disabling the serial output results in that unhelpful “there was an error” message.
So can you send them as canned messages? based on a GPIO state? The extra features built-in may address what you need if it’s simple, Things like if a GPIO pin is H or L it will send a canned custom message and , the revers is true also, if a message is received on the remote a GPIO pin can be asserted… ETC.