Explorer Hat PRO Noise on TX pin

I have a 433mhz radio module attached to an Explorer HAT PRO. Since installing Stretch the radio module’s outputted frequencies are off by a couple of hertz.

This does not happen if I hook up the chip directly to the Raspberry Pi. Something has happened with the output mechanisms or voltage in the Explorer HAT Pro in Stretch, or maybe my board is somehow defective now?

How can I check?

Are you running any software when using it via the Explorer HAT Pro that you’re not when testing it directly?

Have you downgraded to Jessie to see if the problem still occurs?

What are you connecting the 433mhz radio to on the Explorer HAT Pro?

I have downgraded to a clean install of Jessie and I still get the issue. Maybe something happened during the upgrade process that messed up the board?

I think the Explorer HAT hardware is introducing some noise into the signal or not outputting the right commands from RCSwitch/wiringPi through the data connection.

The 433mhz hardware chip connects to 5V, GND and Output 1 (WiringPi 22). It is this chip https://www.amazon.com/SMAKN®-433Mhz-Transmitter-Receiver-Arduino/dp/B00M2CUALS/ref=cm_cr_arp_d_product_top?ie=UTF8

Using a breakout connector to a breadboard the chip works fine, but with the explorer pro it emits signals

This is what a BAD signal looks like when connected through the HAT. (Ignore that I repeated the signal multiple times)

This is what a GOOD signal looks like when connected directly.

It’s pretty unlikely the update process could have changed Explorer HAT Pro in any way. The input and output buffers are just hardware, and fairly robust and simple at that.

I’m confused though- how were you getting any signal at all when connected to Output 1 on Explorer HAT? It’s a ULN2003A buffer chip with darlington transistor pairs, and as such only ever connects the output pin to ground. It can’t function as an input.

At a guess- if you’re asserting Output 1 (WiringPi 22) to HIGH, that will be inverted to LOW by the output buffer, and will be connecting the input pin of your transmitter to the ground plane of the Explorer HAT Pro/Pi. If there’s any noise coupled into that ground plane, then that’s what will get broadcast as your signal.

I am transmitting, not receiving. Before I used to use the TX pin on the board, but when I upgraded to Stretch it started emitting a constant noise in that pin (I assume the Serial console got turned on or something) that is when I switched pins.

The data pin of the 433 transmitter chip is connected to Output 1. When I use it through the Explorer HAT Pro, the signal is completely different than when I use it without it.

What you see in the screenshots is me using a SDR radio to see what is happening at 433mhz, what the raspberry pi with its chip is emitting.

This is the code that sends it: https://github.com/timleland/rfoutlet/blob/master/RFSource/codesend.cpp and

https://github.com/timleland/rfoutlet/blob/master/RFSource/RCSwitch.cpp (to see what APIs are being called in that initial file)

Presumably because Output 1 is inverting your signal at best, or intermittently connecting it between GND and undefined at worst since when it’s set “LOW” the darlington pair transistors will be off, and their output will be floating.

Alternatively- if you’re using the Pi’s UART hardware, you might find that on the Pi 3 and Pi Zero W it’s, by default, used by onboard Bluetooth. Perhaps you need to add dtoverlay=pi3-disable-bluetooth into /boot/config.txt. From what I understand, the timing of the (software based, I think?) mini UART that the Pi uses in place of the real hardware leaves much to be desired.

What port do you recommend on the Explorer HAT Pro to control this chip? TX with Serial Console disabled on raspi-config?.

The TX port seems to work after I send an initial command, otherwise it sends out tremendous noise before this initial transmission is sent. But this only happens with the Explorer HAT Pro, it introduces a tremendous amount of noise to the TX port.

I have a Raspberry Pi 2 by the way.

Sorry for the delay getting back to you, I needed to rig up a proper test to see if I could replicate your problem and I’ve been away from the office.

Do you have i2s audio enabled? You could be seeing the 1.4mhz PCM clock being coupled into the TX pin. This manifests itself as a 50mV square wave in my setup which includes a ribbon cable. Without the Explorer HAT it’s still coupled in- via the ribbon -but not quite so severely at about 25mV.

PWM, RX and TX are routed quite closely as a bus on Explorer HAT which could easily be causing this signal to couple in.

You should try:

gpio mode 1 in

This will set BCM 18 (Wiring Pi pin 1) from Alt0 (PCM Clock) to a floating input. It might possibly make your noise issue disappear.

I got a new Explorer Pro and I notice the labels on RX and TX have changed. Now I only notice noice on the RX (wiringPI 16).

Can you confirm newer Explorer HAT Pros have changed the order of the labels to be correct? Please escalate if necessary, this may have been what has been causing me so much confusion.

See picture.

Here is my current gpio readall. On the original Explorer Pro I was plugging into the labeled TX port, which in reality was the RX port marked In and with V = 1 on gpio readall.

03

I have found that the noise on the Rx port stops if I do gpio mode 16 down. Which turns the V column from 1 to 0. The IN/OUT mode can be changed on the fly later and does not affect anything. This was the cause of the noise, that and a mislabeled Explorer HAT Pro.

You are correct- earlier versions were mislabelled and this was corrected in a revision. Sorry for the confusion!