0
\$\begingroup\$

I was trying to make an FM transmitter and, because I have no mic, I thought I could just use an Arduino (Uno) to generate some tones for testing. It turned out I never got a signal from the circuit but from the Arduino alone.

I'm connecting it to pin 9, battery- to GND, battery+ to Vin and no other connections. The transmitter circuit is gone.

I tested it with multiple antenna lengths. Every time, it produces a signal that can clearly be picked up by my radio on multiple different FM frequencies. I know this radio works, since it can receive multiple radio stations in my area.

How could this be happening?

Here is the code I'm producing the sound with. Both times, the same thing happens.

void setup() {
  pinMode(9,OUTPUT);
}

void loop() {
  while(millis()%1000<500){
  delayMicroseconds(1136);
  digitalWrite(9,HIGH);
  delayMicroseconds(1136);
  digitalWrite(9,LOW);
  }
  while(millis()%1000>=500){
  delayMicroseconds(757);
  digitalWrite(9,HIGH);
  delayMicroseconds(757);
  digitalWrite(9,LOW);
  }
}
void setup() {
  pinMode(9,OUTPUT);
}

void loop() {
  delay(500);
  tone(9,440);
  delay(500);
  tone(9,660);
}
\$\endgroup\$
6
  • 2
    \$\begingroup\$ As of now, we don't know what physically exists. A schematic and description would be helpful. \$\endgroup\$
    – Bort
    Commented May 11, 2021 at 18:03
  • 2
    \$\begingroup\$ it would be nice ... and i would be glad ... are not questions ..... what exactly is your question? ... you said that you somehow connected an antenna to an arduino ... you did not say how you connected the antenna, and you did not ask a question about it \$\endgroup\$
    – jsotola
    Commented May 11, 2021 at 18:05
  • \$\begingroup\$ Schematic? Are you receiving tones or just noise? \$\endgroup\$ Commented May 11, 2021 at 18:31
  • \$\begingroup\$ How far from the Arduino can the radio be while still receiving the 'accidental' signal? Please show us a photo of your setup. \$\endgroup\$ Commented May 11, 2021 at 18:35
  • \$\begingroup\$ A very warm welcome to the site. Please edit your question and split it up into sentences. It's one big slab of words at the moment. The better the quality of your question, the better the quality of the answers you will attract. Again, welcome. \$\endgroup\$
    – TonyM
    Commented May 11, 2021 at 18:37

1 Answer 1

2
\$\begingroup\$

You're probably generating or monitoring the audio with a class D amplifier or other PWM system. This is the amplifier equivalent of a buck power supply, using the duty cycle of its switched output to modify the effective instantaneous amplitude. Many are unfiltered, and the leads to earphones or other circuits make excellent antennas.

Although they largely operate in the sub-MHz range, they can generate an impressive comb of harmonics easily reaching into FM broadcast or shortwave bands and be picked up by radios.

Now, modifying the duty cycle in accordance with the signal is actually an implementation of phase modulation, the lesser known cousin of frequency modulation. It's close enough that it can be detected by most FM receivers, if the bandwidth of the switched signal multiplied by the harmonic number is still within the channel spacing of the receiver.

And voila! you're an FM broadcaster on multiple channels at once! Mr. Microphone could only wish for such power.

\$\endgroup\$
3
  • \$\begingroup\$ It's perhaps not generating FM RF but rather IF that the radio is picking up and amplifying. \$\endgroup\$
    – jwh20
    Commented May 11, 2021 at 18:56
  • \$\begingroup\$ @jwh20 I've personally seen this happen specifically with broadcast FM. The front ends are pretty sensitive, and the IFs are usually reasonably shielded. Also, OP said it "can clearly be picked up by my radio on multiple different frequencies in FM mode," from which I inferred it wasn't on every channel. \$\endgroup\$ Commented May 11, 2021 at 19:02
  • \$\begingroup\$ it indeed almost certainly must be harmonics since the arduino only gets to 20mhz, and the code suggests a much lower frequency far below the AM an FM frequency. so it is impressive that it manages to generate such high harmonics. if the poster of the question reads this: these harmonics are formed because the Arduino outputs a square wave, this is due to several reasons such as actual acoustics and short oscillation in the capacitance of the antenna. however check the range, in many regions it can be seen as illegal to use a transmitter with such harmonics due to the jamming effect. \$\endgroup\$ Commented Feb 23, 2022 at 12:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.