I just completed an application-specific ESP32 based PoE board for a customer, and it got me thinking: how much interest would there be in a generic ESP32 PoE core board?
By using PoE, a single cable provides power as well as connectivity, easing deployment headaches for large installations. PoE can provide up to 12.95 W to a load while PoE+ specifies up to 25.50 W. Plenty for an ESP32 which takes only a watt or so, making it possible to power other loads. PoE capable network switches and injectors are also becoming quite common and have come down in price as well.
The nice thing about the ESP32 is that it's low cost and powerful, and provides WiFi and Bluetooth in addition to Ethernet. So even if a deployment would be mostly Ethernet and PoE based, it would still be possible to connect a node with WiFi powered from another source if necessary. Or it could be set up as an access point for other WiFi or Bluetooth LE based sensors.
While it would be nice to support as much power as possible, previous experience has taught me that high power opens all sorts of cans of worms related to heat dissipation and EMI. So it seems prudent to not start at the highest power levels possible. Some potential users also showed interest in compact, very low power systems, but there are plenty who were excited about the idea of having a decent amount of power available. So I decided to take the middle road and do a 12.95W PoE class 3 design to start with.
The ability to use local power instead of PoE is a nice feature, but also adds complexity and cost. The problem is that PoE uses 48V nominal to reduce wiring losses, but commonly available wall warts use lower voltages for safety. Supporting both would require the circuit to support for a wide input voltage range making things more complex.
So I settled for the following solutions: local power can provided either by adding a PoE injector, or through the (optional) USB port. Of course, from the USB port, only 5V will be available.
Talking about the USB port, several potential users expressed the opinion to not burden every board with something that would likely only be used during once during programming and never again after that. I agree, so I made the USB programming/terminal port an optional module.
Other than those concerns, I want this module to be fully isolated (to prevent issues with long cabling), full featured (Ethernet, WiFi, Bluetooth LE, many ESP32 pins exposed), low cost and small.
Hi, I’ve encountered an issue while trying to run an MQTT client on the wESP. I’m using the simple client library provided on the MicroPython GitHub repository and everything appears to be functioning flawlessly when testing the code in the MicroPython WebREPL. However I get a `IndexError: list index out of range` error as soon as I try running it in the `main.py` file or thought the serial prompt.
The issue seem to be related to the socket library failing when initiating the connection to the MQTT broker however I’m unable to find any way around this problem. Have you ever encountered something like this?
Btw I've provided more detail on this issue on this post: https://stackoverflow.com/q/65520905/9645937?sem=2
Cheers!