Interference Between an Arduino Chip And A ESP-01 WiFi Module

Recently I made a board for a weather station that has an Arduino chip on it with an ESP8266 WiFi module mounted right next to it.
When I power the board, the ESP8266 seems to be unable to connect to my WiFi network.
It took me a while to figure out why as the module worked perfectly fine when connected directly to a USB-to-serial converter and writing AT commands directly to it.

So I tried to connect the ESP8266 module to my board using a ~15cm ribbon cable and suddenly it all works.
Seems like there is some electromagnetic interference when the Arduino (board) and ESP8266 are placed close to each other.

Has anyone encountered this before and is there another solution than placing the 2 parts away from each other?

These are the boards:

(Left one doesn’t work) (Right one works)

My thoughts are heading in the direction of supply rail decoupling, ground planes, etc. I don’t have an ESP8266, but as far as I’m aware, one can work happily with an emonTx, in the form of the emonESP

It would certainly be worth looking into decoupling all the supply rails, because although you’ve said it’s electromagnetic coupling, at least some of it might actually be conducted. What you’ve done with the ribbon cable is add a bit of inductance and capacitance, which might just have been enough to allow the ESP to work. So it might be worth adding some filtering to the supply to the ESP. I think that, in the long term, if you replace the prototype breadboard with a custom pcb that observes all the standard layout precautions, then you’re much more likely to have success.

@siaa the ESP-01 is a particularly “nasty” board and it’s only merit that I know of is the size. Price doesn’t really come into it when a decent ESP can be purchased for a broadly similar price. I have found that ESP-01’s can cause all manner of problems even crashing the WiFi network or certainly other devices connected to the network.

As far as I know none of them have FCC or CE approval and that’s probably why Open Energy Monitor use the “Huzzah”.

I’m not familiar with the ESP8266, but in general those PCB trace antennas don’t want any traces, planes or copper under them or to the side of them. That’s why you’ll almost always see them hanging off the edge of the mainboard:

You’ve met that requirement by dangling it in space on the end of the ribbon cable.