I'm making up a project based on a T2_L4A_8650C module (which is a FM & DAB radio decoder). For prototyping, I have made a simple PCB to mount the module, along with some LDO's to deliver 3.3, 1.8, and 1.2v. Each LDO has a handful of capacitors across their output power rails and ground. The PCB also includes 3.3v pull-ups for UART serial communications, some filter caps on the audio output, and some RF stuff.
The prototype has this custom PCB, an Arduino Nano, a 20x4 LCD with I2C interface, and a level converter for the UART comms. There's also a couple of rotary encoders with hardware debouncing. The project is mounted in a couple of breadboards, with some wires going over to the PCB. Power is provided through a phone charger and a Frankenstein power cord.
Admittedly my current antenna setup isn't the best (it's a paperclip) as I stuffed up the RF Tee components on the PCB and can't drive an active antenna. I'm in the process of fixing that.
But OMG, the noise that's coming out of the FM module.. Some of it is "snow" courtesy of a poor antenna, but there's a crap load of digital noise in there too. Anyway, not content to sook about it, these are the results of my troubleshooting steps:
I noticed that on local, close-by FM stations, there is no noise. No "snow" and no digital noise.
When tuning to a more distant FM station, there's snow that can be minimised by holding the antenna while touching your nose and performing the usual ritual to try and improve the radio clarity. But there's also heaps of digital noise that is not helped in this way.
When I turn off the LCD backlight, about half of the digital noise goes away.
If I turn off the Arduino by disconnecting the +5v line, all the digital noise goes away... Even if the LCD backlight is still on.
I have tried using some capacitors between the +5v and Gnd to provide some filtering - a 0.1uF ceramic helped a little, and a 47uF electrolytic didn't do anything.
The only lines between the arduino side of things, and the prototype PCB are +5v, Gnd, UART Rx & Tx, and a enable signal to the LDO regulators.
There is a smallish ground loop on the PCB, however since I can mitigate the noise by tuning to a close station, or disabling the Arduino, I'm discounting that as a cause.
I'm not sure where I should go from here. I'm fairly sure that the noise is coming along either power or ground, but have no access to a scope and can't verify this. I would have expected the caps on the other side of the LDO's to filter out noise on the power rails. I suppose it's also possible that noise is coming along the LDO enable line (it's tied high on +5v to enable the LDO's, but I will eventually move it to an Arduino digital pin), or even the UART lines..