Teensy 4.0 Serial/ RF interference


New member
Running into an issue using a Teensy 4.0 as a replacement for the 3.2.

I'm using a Teensy 4.0 along with a 900Mhz XBee XSC S3B module to remotely communicate with some other equipment. Due to space constraints the Xbee and Teensy are located inside a small plastic enclosure in relatively close proximity to each other, but on opposite sides of the PCB with a ground plane in between. I've used this exact setup for years with the Teensy 3.2 with no issues (slight tweak to the PCB due to the slight difference in RX2/TX2 pins).

Teensy and radio communicate on Serial2 @ 57600baud, and the Xbee has it's own 3V reg. The wire antenna is routed exactly the same as before, away from the microcontroller and other circuitry.

For some reason, when the XBee transmits I'm picking up a lot of garbage 'incoming' data in the Serial2 RX pin. I've taken steps to mostly ignore this data via software tricks but would like to get to the root of the problem. Changing the baud rate seems to help a little, but the problem remains across all baud rates that I've tried.

Any ideas why the 4.0 might be more sensitive to this than the 3.2 and any steps I could take to try to fix it? RF stuff is kind of voodoo magic to me so any help is appreciated.

Perhaps the Teensy 4.0 emits more radiation than a Teensy 3.2?
A Teensy 4.0 runs at 600MHz clockrate. What happens if you compile your code with the processor clock set to 150MHz [via Tools > CPU Speed: 150 MHz]?

Due to space constraints the Xbee and Teensy are located inside a small plastic enclosure in relatively close proximity to each other, but on opposite sides of the PCB with a ground plane in between.

Just having a ground plane in-between isn't a Faraday cage, the plane is acting as a coupler I suspect.

The 4.x teensy puts out way more EMI than your previous setup (its 600MHz clocked and drawing ~100mA), both distance and shielding are required I suspect. Normally this sort of setup would require separate fully shielded compartments for each section, separate power rails. This is way up in the UHF region for both RF board and the microcontroller clock... Definitely give up on plastic enclosure, a diecast box is usually the way for RF stuff. Does this module have an external antenna? That's much more amenable to shielding the antenna from the rest of the electronics.
First check the GND pin. Maybe cold solder?

If you suspect RF interference, the first very easy thing to try is setting Tools > CPU Speed differently, and of course upload again.
So I tried clock speeds all the way down to 24Mhz - same issue. It's happening on multiple setups so likely not a soldering issue.

Sounds like you guys are suspecting the Teensy itself is producing RF noise that's getting picked up by the radio? I would assume if that were the case I would see more randomness to the timing of the interference. I'm currently only getting the garbage data in the incoming Serial buffer right when the radio transmits (haven't looked at exact timing yet but I suspect it's concurrent w/ transmission) and otherwise everything works fine. My software 'fix' throws out all incoming data for 500us after transmission.

It's also not consistent at all but I imagine that's the nature of this kind of thing. I can easily go 200 transmissions (@1hz) with no problem and get it for 25 out of 30 right after.
Clocking the chip slower won't reduce the bandwidth of the RFI, just the amount of it. Fast chips have fast edges and fast edges spray harmonics all up through the microwave spectrum. You need to screen/shield really - if you look inside a mobile phone you'll see absolutely every RF or fast logic chip is in a metal screening can.
Chances are that the T3.2's RX pin is fairly deaf to what the XBee XSC S3B emits. The T4.x is faster everywhere so I bet it aint so deaf to the XBee XSC S3B.

With a baudrate of 57600 I think there's scope to kludge some low-pass between XBee XSC S3B TX and T4.x RX. Ferrite bead? Some series R at the T4 Rx pin? Some C to ground on T4 Rx pin? External pullup resistor on Teensy RX pin, mindful of the current sink capability of the TX pin of the XBee XSC S3B.

You might post some pix of your setup including the antenna to give us something tangible to meditate on..