Stay away from Arduino, go for ESP32!

Tags: #<Tag:0x00007f7392268cb8>

Hi *,

I want to share some experience about building your own MQTT gadget.

For our new home, I started to develop some custom hardware to control rollershutters, radiators, temperature & humidity sensor, irrigation valves & pumps and what ever I come up with in the future.

Since I do not like to have this all working on battery and WiFi but with PoE, there literally are no products in the market. However, I installed about 500m of Cat5e cable. To every radiator, rollershutter, etc.

Before we began renovating the new home, I developed prototypes for every purpose, to find a suitable platform.

I went for Arduino and MQTT.
My prototypes worked and convinced me that Arduino was the platform of choise. After one and a half year later now, I dropped the Arduino platform. I never managed to get them to work reliably. The majority of applications involves relays. Arduino Nano and Mega combined with a w5500 Ethernet shield have been the base of my prototypes. The connection to my MQTT broker, established with the PubSubClient Arduino library on top of the Arduino Ethernet library always fails after some time when a relay had been turn on. I have not been able to fix this, although I spent months on hardware and software debugging.

Now I switched to the ESP32 platform and it works out of the box. Ethernet and PoE are onboard, no need for PoE splitters or an w5500 Ethernet shield. I tested relay boards with it. Flawlessly!

The prize (not counting the debugging hours) is equal!
25€ for one ESP32 PoE ISO vs. 25€ for one Arduino device (10€ PoE splitter + 3€ Ard Nano + 12€ w5500).

So keep away from Arduino + Ethernet. It is horrible.
Go for ESP32!

I hope I can save someone a lot of time and headaches…


A lot of the W5100 and W5500 Ethernet shields from eBay/Aliexpress/China have design problems. It is very common for the 49.9 ohm resistors at the RJ45 to actually be 500 ohm resistors which causes link problems. Whomever made the original mistake has been cloned by most of the other producers. Brand name Ethernet shields are typically OK.

The less said about the ENC28J60 based shields, the better. I have never been able to make them work reliably. The ENC28J60 chip has known errata, most of the shields are poor quality with inadequate regulators, and because the TCP/IP stack gets offloaded to the host processor, say goodbye to about 1K of memory (a big deal on 2K UNOs and Nanos).

Or, the Wemos D1 mini for $5.

1 Like

I second that. I’ve been using ESP8266 for dozens of IoT projects. I prefer the NodeMCU development boards. I have one ESP32 with an included OLED screen that I used to build a pulse oximeter. I even run a 900 Pixel / 2700 LED animated christmas tree using a single NodeMCU. Pretty amazing little devices. Lately, I’ve been using MicroPython for various projects. I have one that reads my gas meter dial uploads data to Emoncms running on a raspberry pi. I also found these WiFi power adapters on clearance for $4. I opened them up and they were esp8266 controlled. I build a device that I could place over the chip and program it with custom code that I could control using MQTT.

Wemos D1 and ESP8266 both come only with WiFi onboard, that would mean to use one of the afore mentioned bad ethernet designs again. Thus, no alternative to an ESP32-PoE. But for battery powered WiFi solutions certainly a good choise.

Hi, Christoph,
Could you give a link to the ESP32 with PoE that works reliably, please? :slight_smile:

I previously looked at ESP32-PoE for a location where I had no power but the cheapest I could find was $55 US. NodeMCUs go for under $3 US. I ended up using a WiFi AP I had laying around and was able to get a reasonable signal.

I found out that the ESP8266 devices do have an ethernet controller and it’s possible to easily connect them to an ENC28J60. With an ENC28J60 You could do poor mans PoE with 10/100 and drop 3.3V the two unused cables in the CAT5e cable to power the ENC28J60 and the ESP8266 or ESP32.

There are severale solutions to get PoE. But I have not seen anything compared to the simplicity of:

Thanks Chris, I think I’ll get one of these and have a play!

And is the ISO version linked to several times in this thread priced around €25 infinitely preferable to the non-ISO version priced at around €18?

This is the difference:

Important notice: ESP32-POE has no galvano isolation from Ethernet’s power supply, when you program the board via the micro USB connector the Ethernet cable should be disconnected (if you have power over the Ethernet cable)! Consider using Olimex USB-ISO to protect your computer and board from accidental short circuit. Also consider instead using Olimex ESP32-PoE-ISO board which is insulated.

I have a few Olimex ESP32-POE boards running ESPHome and they work great,

Anyone found any alternatives to the Olimex ESP-32-POE ? They are too big to fit in my application (UK switch backbox is 70x70mm). Thanks