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.
54 thoughts on “[Sprite_tm]’s Three-component FM Transmitter”
NOW THIS IS A HACK!
MORE OF THIS AND LESS OF THAT!
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.
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.
Those who can, hack.
Those who can’t, argue semantic trivia.
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.
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?
@DanJ: how about “the 3 package fm transmitter”?
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
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.
That’s pretty cleaver! If only AVR had a CLK_OUT pin outputting PLL output. You could then attach an antenna to it and get better range :)
AVR has a clkout pin on PB0,only the fuse bits need to be set
I guess this wouldn’t work.. found this in the datasheet:
6.4 Clock Output Buffer
The device can output the system clock on the CLKO pin (when not used as XTAL2 pin). To enable the output, the
CKOUT Fuse has to be programmed. (…) Internal RC Oscillator, WDT Oscillator, PLL, and external clock (CLKI)
can be selected when the clock is output on CLKO. (..). If the System Clock Prescaler is used, it is the divided system clock that is output.
Probably the single geekiest rickroll in history. Nicely done.
THAT’S TOTALLY AMAZING! Very cool.
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!
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.
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.
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.
PDP-1 did it. Circa 1959, but not sure exactly when somebody wrote the program for it.
Damn… just got Rick Rolled! ;-)
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).
that’s totally awesome !!!!
Holy s**t that’s clever! Hats off to you, sprite! Excellent work!
Here’s a similar AM morse code transmitter
It’s hosted on the Arduino site, but also runs on a standalone attiny + battery + wire.
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?
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?
This code seems to be for the Arduino’s Atmega chip not the ATTiny chip unless I’m missing it.
very nice, clever find.
Microphone into an analog input. Single part bug.
…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!
A bunch of ways huh? Show us one.
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?
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.
…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!
“Unlicensed broadcasts on the FM broadcast band (88 to 108 MHz) are limited to a field strength of 250 µV/m at a distance of 3 meters from the antenna. This is equivalent to 0.01 microwatts.”
There you go. Source:
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”
– …. . –. .- — .
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.
Hack or build really is just semantics. It is observation and creativity and that is what HAD should be. Hats off to you sir!
mmm 3 parts i think macgyver is stil alive
thats just bad ass, I love the roll. I love the hack, i love it.
more of this, less of that.
The Russians are still the greatest hack on my list :P
Sprite_tm’s work is some of the most consistently excellent stuff I’ve ever seen. Always love to see what he’s been working on.
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!
So… what would be one part in your opion?
all devices produce rf interferences, so you can alter the firmware to get a sound or music.
Clever, clever stuff
OMG, i got rick rolled .____.
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.
I’ve never been rick rolled in such a nice way :D
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.
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
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).
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.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)