I write this with a heavy heart and disappointment. Having worked with Arduino for decades, a transition to Espressif seemed natural. My first ESP project was a weather station using the Esp32 devkit and some specialized sensors using an odd collection of communication protocols. I needed a serial port, ISP, i2c, modbus and Bluetooth classic. Wifi was required to enable a time server. A second Bluetooth channel communicates with Android that runs the high level app. The ESP has most of the hardware on a single chip so that was the intuitive choice.
My immediate problem was that running wifi as well as Bluetooth simmultaniously is virtually impossible. So I had to choose between BT and wifi. I dropped wifi from the equipment. Disappointment no. 1. Then, while BT is running, a significant number of IO pins are not available, including primary i2c. Some of the functions can be rerouted to other pins but this creates enormous complexity with my hardware setup. So I dropped i2c required for SD card access: Disappointment no 2. When I started to use BT to communicate with slave equipment that gathers some of the climatic data, the range was impossibly short, less than 5 meters. This necessitates an external HC05 on a serial port. Signal strength much better now: disappointment no. 3. So, I cannot use either wifi functionality of native BT on the ESP. With the native BT, it has a mind of its own. Having connected to Android, it breaks the BT connection whenever it wants. Remote equipment like a weather station cannot function with BT equipment that randomly drops the connection: disappointment no 4. Using the analog to digital converter, the erratic behavior is so bad that, with extensive filtering, I get slightly less than 20 bit resolution, quite a bit less than the advertised 12 bits and not useful for a weather station due to loss of resolution and instability. Disappointment no 5. I am now so far down the road with this design that I cannot restart from fresh. None of these issues are new. They are all well documented on Espressif and Arduino discussion groups. I am now using an ESP of which I can use a small subset of its advertised features, surrounded by two external BT boards, hardware RTC, and hardware Adc with Arduino controller. If I could have restarted this project I would probably move over to STM32 which much more well defined. I would have liked to see a fully functional ESP controller. Maybe this is under development with Espressif? But, as it is at the moment, it is not suitable for my needs. I would have liked to move over to RTOS and Espressif's own IDE. But if I cannot get the ESP to work with the obvious Arduino starting environment, I am not going to spend time learning a new IDE for the ESP.
Suitability of Esp32 for rapid deployment projects
Re: Suitability of Esp32 for rapid deployment projects
Can you elaborate a bit on this? There's some issues with coexistence stemming from the fact that the ESP32 physically only has one radio, but it doesn't sound like you would be running into this.My immediate problem was that running wifi as well as Bluetooth simmultaniously is virtually impossible.
That does not make sense. To my knowledge, BT doesn't disable any GPIO pins. Even if it would, I2C could be redirected to other pins. Where did you get this information?Then, while BT is running, a significant number of IO pins are not available, including primary i2c.
SD cards generally do not use I2C. Do you mean SPI or MMC?So I dropped i2c required for SD card access:
What hardware are you using? There's known issues with some (non-Espressif-made) devboards that affect the range of the radio.Disappointment no 2. When I started to use BT to communicate with slave equipment that gathers some of the climatic data, the range was impossibly short, less than 5 meters.
The original ESP32 has some issues, for sure, that are mitigated in later ESP32s. See here for more info. It may help you mitigate the issue in your original ESP32, or it'll tell you what ESP32 to migrate to.Using the analog to digital converter, the erratic behavior is so bad that, with extensive filtering, I get slightly less than 20 bit resolution, quite a bit less than the advertised 12 bits and not useful for a weather station due to loss of resolution and instability.
Re: Suitability of Esp32 for rapid deployment projects
What you are attempting to do has been done may times already with no issues. I suspect you jumped in both feet without reading to much first. The biggest thing I see Arduino people fail to learn is Threading. You have two cores here, and if your still thinking "Arduino" it can bit you by doing everything on one core.
I would suggest going with ESP-IDF instead of Arduino. There is an option called menuconfig that Arduino does not expose.
Think of menuconfig as the BIOS for the ESP32. There are a zillion settings in there, and with arduino most of them are fixed and you cant tweak them.
I would suggest going with ESP-IDF instead of Arduino. There is an option called menuconfig that Arduino does not expose.
Think of menuconfig as the BIOS for the ESP32. There are a zillion settings in there, and with arduino most of them are fixed and you cant tweak them.
Who is online
Users browsing this forum: Google [Bot], Qwantbot and 3 guests
