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.
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.
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.