3
\$\begingroup\$

I made a little FM transmitter project a few months ago. I used an Arduino, a litle 4-digit serial LED display, a couple of buttons and an FM transmitter component with breakout board

I had this put together on a breadboard and was lazy so I never turned it into anything more permanent.

I used it in my car as a FM transmitter so I could listen to my phone's music through my car's FM radio.

Anyway, after about 6 months of it being operational, it mysteriously died. Everything seems to work, but no broadcasting. It occured out of the blue one day. I was driving and listening to music and it suddenly stopped broadcasting. When I got to my destination, I checked it and nothing appeared wrong. All the wiring was still in place and such.

The schematic was fairly simple. I used it's i2c mode of communication and had filter capacitors at the power lines. The whole circuit was powered by a 12V car USB adapter. A USB cable was hooked from that to the Arduino which I used for the 3.3v source. I also had some resistors on the i2c lines hooked to 3.3V (pull up resistors?). Also, it was just enclosed in a cardboard box, and the antennae was a simple piece of wire.

Honestly, I'm not for sure if the FM transmitter component died, but I don't really have any way to test if it's working without it broadcasting. There is no way to get the module to "return" data over i2c as far as I can see.

Anyway, what could have killed my FM transmitter and what should I do to keep it from happening when I order a new one? I'm thinking it could have been ESD, but I would've thought that'd happen when inserting or removing my phone from the 3.5mm jack.

Update

Well, before I went to order the part, I decided I'd try to get the FM transmitter working one last time. Amazingly, I plugged it in and it worked. I used it for about 15 minutes and it was working flawlessly. Then, I unplugged it and such. After about 6 hours or so, I went to try to get it to work again. This time, once again, the module appeared to just be dead. Everything worked, but no broadcast. I don't believe there was any kind of environment difference between the two times I tested it. Now I'm completely baffled.

Update 2

Ok, the module is definitely still in working condition. I tried changing the filter capacitors and that made it work a bit more often. Anyway, basically, it seems like sometimes the module just will not receive the i2c initialization code. If I continuously reset my Arduino to make it resend it, I will eventually get it to work(I mean sometimes I have to try 8 times).

This sounds like a noise issue. I'm not for sure what else I can do to fix it though. I'm pretty sure you can't put filter capacitors over i2c lines, and there are already filter capacitors on the power and ground lines.

\$\endgroup\$
6
\$\begingroup\$

The problem ended up being very simple. I followed a schematic/tutorial for the FM transmitter module online. One thing they tutorial left out is that the LA pin must be held either high or low. It selects the i2c address. So, what was happening was the module was randomly changing i2c address during operation. This lead to all of the problems I had. Now, I tie it to ground, and everything works great

\$\endgroup\$
2
\$\begingroup\$

Actually all IIC devices "return" data. The first byte of every IIC sequence is the address byte, which is always master to slave, which the slave therefore ACKs if it received it. That only verifies one piece of this module, but you can see if it sends ACK. I'm not sure what good that does to the larger problem though, since the whole system would still be dead.

Try replacing this module. If that works, then you know the module died. If that is the case, the look very carefully at how it is powered and make sure no spikes from the 12 V line make it to the 5 V line thru your USB adapter. In theory the USB adapter would already do this, but there are many cheap USB adapters out there. Have you checked that the 5 V power is still really 5 V?

\$\endgroup\$
  • \$\begingroup\$ Also see my update which is quite mind boggling \$\endgroup\$ – Earlz Jul 14 '12 at 4:40
  • \$\begingroup\$ @Earlz: Sounds like a bad solder joint somewhere. Or possibly a power sequencing startup problem, although that doesn't explain how it failed in the middle of operation. \$\endgroup\$ – Olin Lathrop Jul 14 '12 at 12:19
  • \$\begingroup\$ I tried to test the solder joints with a multimeter, but it's hard to be conclusive with it being such a small SMD part \$\endgroup\$ – Earlz Jul 14 '12 at 19:07
  • \$\begingroup\$ I have one more update now. Appears to be a noise issue, not for sure how to fix it though. Definitely not bad solder joints after all \$\endgroup\$ – Earlz Jul 14 '12 at 20:03
  • 1
    \$\begingroup\$ @abdullah: It is serious for intentional radiators, which this obviously is since it's intended to radiate, in the commercial FM band no less. Let us know what response you get from the seller. \$\endgroup\$ – Olin Lathrop Jul 14 '12 at 21:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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