Hi Guys,
I recently got my BrewPi Spark brewing temperature controller through a CE test.
The BrewPi Spark combines a photon with a TFT touch screen, a OneWire bus master for temperature sensors, an RS485 driver to talk to other microcontrollers, 5V output drivers for SSRs, a buzzer and a DC-DC converter.
It was not a success on first try, CE-tests are pretty brutal. They zap your board with 8 kV, test immunity to strong electromagnetic fields in a wide frequency range and of course your emissions have to be under a strict limit (among other things).
Here is a video of the CE guy zapping the board for the ESD test:
The Spark Photon is CE certified, but that does not mean if you put it on a board, it will hold up to all tests. If you change the environment, the test results change too, due to parasitic capacities.
My point of this post is to share a problem I encountered and the solution we came up with. First, let me show you a photo of the board:
When my board communicated over RS-485 (just behind the photon in the photo above), my emissions were over the limit. We narrowed down the issue to USB cable, which was plugged into the Photon. It was acting as an antenna and/or had a parasitic capacity to the environment. It was not grounded well enough.
Here is how the photon connects to the shield, with standard headers (high quality gold plated ones):
The USB connector on the Photon is connected to the ground plane, it should be fine, but it wasn’t.
Then we tried this fix:
We connected the USB connector of the photon to the BrewPi shield with a large piece of copper. The emission were much lower and the test passed.
So we narrowed down the problem: their was a difference between the Photon ground and the shield ground. These two ground planes are connected via the Photon headers, there are 2 ground pins connecting the two. But apparently, this was not enough. Maybe the ground pins are not close enough to the USB connector, maybe they have a too high resistance.
Connecting the two boards with a piece of metal is an expensive solution and I am happy to report that we found an alternative. Next to the USB connector are these pins: 3.3V, RST, VBAT, VIN (and 2x GND).
These pins are not GND, but 3.3V, RST, VBAT and VIN all have a fairly large capacitor to ground. So they are GND for high frequency signals!
The solution was therefore to also put a 100nF capacitor (low resistance for high frequencies) on the shield for these pins, close to the header. So we went from 2 ground pins to 6 for high frequencies! This brought the emissions under the limit and the board passed the tests!
This is a very cheap solution, just 4 extra capacitors. You can see 3 of them in the photo above (C16, C17, C18). So if you make a PCB for a Photon with headers, just include them.
Cheers!