Home › Forums › Mayfly Data Logger › Wifi Bee AT Firmware and Baud Rates
Tagged: AT Firmware, ESP32, WiFi
- This topic has 3 replies, 2 voices, and was last updated 2026-03-16 at 3:25 PM by
GChafe.
-
AuthorPosts
-
-
2026-03-16 at 12:39 PM #19608
Hi, I have a Mayfly 1.1 and a ESP32 WiFi Bee purchased from EnviroDIY recently, also a Hydros21 CTD. Having lots of trouble getting it to work. Using the EnvirDIY_Monitoring_Kit sketch from https://github.com/EnviroDIY/ModularSensors/commit/f149a372ae47d95d474971abc25dd378bd332ecf. Though I have also tried other ones (possibly older) from EnviroDIY including menu-a-la-carte
All credentials and UUIDs are correct and in the correct order. I believe I’ve narrowed the issue down to the communication between the Mayfly and the Bee which doesn’t seem to occur. I have tried pass through sketches and do not receive and OK when I enter AT (or anything else), but sometimes, not nearly all the time, some garbled text. So I wonder (and I’m new to this so hopefully reasonable questions):
1. Are the Wifi Bees from EnviroDIY already flashed with the AT firmware?
2. If not, how best to do that? I assume I have to do it through the Mayfly. Or perhaps the FTDI rail?
3. I used the auto-bauding and understand,if I have this correct, that it should find the baud that works, use that to set it to 9600 for the Mayfly, then remove auto-bauding and go straight to 9600 for second and subsequent instances. I haven’t had the auto-bauding work, hence my questions about AT firmware.
– I’ve done the adjust and now sketches, have the coin cell in and a charged 3.7 Lipo plugged in as well. It logs to the SD card properly.Thanks for any help or suggestions.
-
2026-03-16 at 2:44 PM #19611
The WiFi bee should have the AT firmware on it. The problem probably is the baud rate. The default baud rate for the ESP32 (the brain on the WiFi bee) is 115200. That’s too fast for stable communication with the 8MHz Mayfly. The Mayfly can usually *talk* fairly accurately at 115200, but it can’t listen that fast. The auto-baud function depends on the Mayfly hearing an ‘OK’ to detect the baud rate so it’s iffy at best.
Assuming you’re using the Monitoring Kit sketch as it is currently on the master branch of the repo, try replacing the auto-baud section with a fire-and-forget attempt to change the baud rate.
That is, replace lines 485-505 with something like this:
C++12345678910111213141516171819202122#ifdef USE_WIFI_BEE/** Start [setup_esp] */PRINTOUT(F("Attempting to force the ESP32 to switch from 115200 to 9600 baud.."));modemBaud = 9600;for (uint8_t i = 0; i < 10; i++) {modemSerial.begin(115200);delay(50);modem.gsmModem.sendAT(GF("+UART_DEF="), modemBaud, F(",8,1,0,0"));modem.gsmModem.waitResponse();modemSerial.end();delay(50);modemSerial.begin(modemBaud);delay(50);if (!modem.gsmModem.testAT()) {PRINTOUT(F("Attempt"), i, F("failed to switch baud rate"));} else {PRINTOUT(F("Attempt"), i, F("successfully switched baud rate"));break;}}modem.modemWake(); // NOTE: This will also set up the modem/** End [setup_esp] */#endifThe WiFi bee does not have a built-in FTDI or other TTL-to-USB converter on it, so to flash it or talk to it directly, you have to use a separate adapter of some kind. If you do have an adapter, it’s easy to change the baud rate from your PC. Connect the bee’s TX, RX, power (3.3V!), and ground to your adapter and that to your PC. Set your terminal to 115200, check that you can get an “ok” back from an “AT” and then send the command
AT+UART_DEF=9600,8,1,0,0. After you get an ‘OK’ back from that, stop your terminal, restart it at 9600 and make sure you can get an ‘OK’ after an ‘AT’ at that baud rate.If you can’t get the modem to respond to anything, it’s possible there is something wrong with your firmware. The easiest way to flash is using espressif’s Flash Download Tool and the ESP32-WROOM-32 AT firmware binary. The programming UART uses bee pins 18/17 as TX/RX and you need to hold bee pin 9 (ESP32 IO0) low as you apply power to get the ESP into ‘download’ mode where it can accept new firmware . You can’t flash the bee through the Mayfly, you need a direct connection to your computer.
-
2026-03-16 at 2:50 PM #19612
Once you’ve successfully changed the WiFi bee’s baud rate, it will stay at the slower baud. You should only have to reset the baud rate if you factory reset the bee or update it’s firmware – neither of which you can do by accident.
-
2026-03-16 at 3:25 PM #19613
Thank you very much Sara. I have tried something like that before (but likely not quite rightly coded). This failed to switch baud rates too unfortunately. I have tried this on 3 out of 4 wifi bees that I have (but just one with you sketch so far) and no luck, that’s how I ended up asking about the firmware.
Did your sketch in a hurry, so will have another go at it, and on other wifi bees later.
One question though, in the snippet you provided it has “modemBaud = 9600″ that doesn’t compile with the modemBaud being defined earlier in the sketch. I commented that out and put 9600 inthe UART_Def line as<span data-olk-copy-source=”MessageBody”>modem.gsmModem.sendAT(GF(“+UART_DEF=”), 9600, F(“,8,1,0,0”));</span>
Not sure that’s the right way to handle it. Will report back when I have a bit more time to go through it carefully.
Thanks
-
-
AuthorPosts
- You must be logged in to reply to this topic.
Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of