[Sprite_tm]‘s three-component FM transmitter

When the Regency TR-1 transistor radio came out onto the market in the 1950s, it was hailed as a modern marvel of microelectronics. With only four transistors and a handful of other components, the TR-1 was a wonder of modern engineering. [Sprite_tm] may have those old-timers beat, though. He built an FM transmitter with the lowest parts count of any transmitter ever.

Like most of [Sprite_tm]‘s builds, it’s an unimaginably clever piece of work. [Sprite] overclocked the internal RC oscillator of an ATtiny45 to 24 MHz. After realizing the PLL running at four times the frequency of the oscillator was right in the middle of the FM band, he set about designing a tiny FM transmitter.

[Sprite_tm] remembered his work on MONOTONE and made a short song for hit ATtiny. The firmware for the build takes the notes from his song and varies the 96 MHz PLL frequency a tiny bit, thereby serving as a tiny FM transmitter.

Does it work? Well, if you want to compare it to a Mister Microphone, the range is incredibly limited. That being said it works. It’s an FM transmitter built out of a microcontroller and a battery, and that’s very impressive. Check out [Sprite_tm]‘s demo after the break.

51 thoughts on “[Sprite_tm]‘s three-component FM transmitter

    1. LOL :) I know hack could have as many definitions as there are persons defining it. AFAIK this used new off the shelf components, IMO it’s build. Not that I would ever say builds don’t have a place on Hackaday. Even novelty builds.

      1. But it is using a component for something that it was never intended to do. That’s pretty close to the definition in my book.

  1. Cool. Good observation about a use of the PLL.

    One might argue however (only for the fun of it) that there are an awful lot of components in this FM transmitter. They’re just encapsulated in one package.

  2. damn, Sprite’s hacks get me every time. the next time I say I live in a country of stupid people could someone please remind me of Sprite’s work?

    Go netherlands!:P

    @DanJ: how about “the 3 package fm transmitter”?

    1. Sprite(tm) is one in 16 million, believe me there are enough idiots walking around here.

      also: Ahhh damn, i just got rickrolled by low part count Attiny fm transmitter

  3. Actually, the song isn’t mine. It was distributed with Monotone; I think Trixter mentioned somewhere who tracked it. Hmm, I think I’m gonna look the name up and edit my article, I hate taking credit where it isn’t due.

  4. OMG, sprite_tm is the man! A CPU that makes music by overclocking itself and broadcasts it at the same time. Such an amazing contraption, it made my day!

    1. That’s actually one of the first things they did with the Altar 8000 personal computer. Someone noticed it produced radio interference, and they programmed it to play tunes through the radio.

      1. This SO reminds me of one of my favorite(!!) TRS-80 video games, “ROBOT-ATTACK!!”.
        It was found that the program generated RF noise and the audio for the game could be heard by tuning a radio to the right spot.

        Would like to play that again but I never bought a TRaSh-80, school “computer lab” had them and of course endless hours spent at Rat-Shack.

        Not sure how you can over-clock something where the parts (time-base crystal) is built in, and software set.

        I have seen PLL modulation tricks when “MagicBoxes.com” was making Jerrold “test-cubes”. Very entertaining… while it lasted.
        Wish someone was “testing” on /\/\otorola cft’s.

      2. Actually it goes back to the old IBM mainframes in the 60s(tho they probably used AM radios!).

        It might go back even further. I wrote a program on my 8-bit computer in the 80s that made RF interference music just using FOR loops in BASIC. Of course, it sounded terrible.

    1. but it was so well done, I don’t even mind.

      The only way to do better than this would be to publish instructions so that lots of other people build it themselves, (not knowing what it would play).

    1. Hey Travis,

      I can’t find the ATtiny code on the link you provided for the AM morse code teansmitter. Do you know where I can find it?

      1. the code is right on the forum in a in a box listed “Code:”
        maybe you have an ad blocker disabling it or a older, suckier browser like internet explorer?

  5. …I made an FM trans with a dual JK flipflop and a battery when I was seven, be it a mistake – It can be done in a bunch of ways!

  6. Brilliant! Add signal through ADC and you can broadcast music. Also, what about setting a pin HIGH/LOW and a load resistor to increase the current consumption and then longer power wires/inductor to increase range?

    1. Don’t think you’d be able to toggle a pin at clock frequency, tho you could probably use some strong harmonics. Possibly adding a wire to the +v line would do as an aerial. It doesn’t really matter though, nobody really needs a long-range software-based FM Rick Astley transmitter.

      1. …nobody really needs a long-range software-based FM Rick Astley transmitter.

        Oh really? I beg to differ!

        You know those people that put up synchronized-to-music xmas lights, and a sign that says TUNE TO 88.5 FM TO HEAR THE MUSIC…

        Well, how about just a sign that says TUNE TO 88.5 FM TO HEAR THE MUSIC and the sign itself has the RICK ROLL device on it. The sign could be placed anywhere. Curious tuners would get a nice surprise!

  7. Well, this is pretty interesting. Instead of blasting out a song, you could transmit a short message in morse, maybe a URL? There are other popular ways to do this – the amateur radio guys are currently using the hell out of PSK-31. A small device like this could provide news or other information in a novel way, kind of like the USB dead drops. “Go to starbucks on main st, and tune to 88.3″

  8. Lol I have a 1 component one, it’s called an FM transmitter.

    Just because it’s in a few packages, doesn’t make it few components.

  9. This is excellent though I contest that just putting everything in a one package means a low parts count. If I epoxied my entire PC it’d be pretty hard to claim is a computer made of a single part!

  10. The output is a square wave that’ll likely cause interference to other devices. A simple low-pass filter can get it closer to a sine wave, but making it useful is going to require additional parts. Good trick FM’ing the frequency through the oscillator tuning register, though. We need more hacks like this.

  11. I became an electronics engineer because radio was magical. This HACK brings back the magic. I’ve just ordered 3 ATtiny85′s! Sprite_tm is king.

  12. Hmmmm…

    How far can we push this frequency up?
    Would be nice to have a low power/mini package gps jammer, so it wouldnt affect further away than your fone

  13. This is cool, but I’m a little disappointed by the mistakes in this post. I know it’s probably just an oversight but this matters to some of us, Brian Benchoff. [Sprite] didn’t over-clock “the internal RC oscillator of an ATtiny45 to 24 MHz.”!! “After realizing the PLL running at four times the frequency of the oscillator” this is wrong. The PLL runs at 8 times. If you read his post you’ll see that he clocked the 8MHz internal oscillator to 12MHz which (with the 8x PLL) gives him a 96MHz timer (which IS right in the middle of the FM band) and which gives him (with the internal 4x division) a 24MHz system clock (4MHz higher than the rated speed).

  14. A web search for something else brought me back to this older post. With respect to sprite mod’s cleverness here, I no see why I didn’t bookmark either this HAD post or the sprite mod page for this. There are better solutions for low power FM transmitters that have more flexibility. I do think this would make a more interesting introduction creating code for these sort of μprocessors after the blinking LED after the baby step has been taken.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s