←back to thread

1901 points l2silver | 9 comments | | HN request time: 0.902s | source | bottom

Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.
Show context
sriram_malhar ◴[] No.35738249[source]
My MIL is 93, and the only tech she can really deal with is turning on the radio and TV and changing channels.

She is fond of music from old classics (from the 60's and earlier), so I hooked up a Raspberry PI with an FM transmitter and created her own private radio station. She tells me what songs she likes and I create different playlists that get broadcast on her station. It preserves the surprise element of radio, and there is nothing in there she doesn't like.

The tiny FM transmitter is surprisingly powerful. Her neighbours (of similar vintage) are very happy too, so their requests have also started coming in :)

EDIT: I wanted to add that I am the UI ... she doesn't get to choose the playlist. To make my life easier, I just created different playlists for different times of the day ... calm/spiritual/slower numbers in the early and late hours, peppy during the late morning and evening etc.

replies(25): >>35738302 #>>35738315 #>>35738393 #>>35738432 #>>35738542 #>>35738575 #>>35738587 #>>35738736 #>>35739651 #>>35739777 #>>35740536 #>>35740720 #>>35740775 #>>35740917 #>>35741401 #>>35741960 #>>35742554 #>>35742557 #>>35743709 #>>35744493 #>>35747963 #>>35748124 #>>35753931 #>>35755556 #>>35764329 #
1. sandreas ◴[] No.35738587[source]
Cool.

For the others: You don't even need a transmitter to do some experiments, you can use just one IO Pin for this:

https://nerdiy.de/en/raspberrypi-send-fm-signals-by-gpio-pin...

Furthermore, you can use something like https://volumio.com/en/ build an RFID Box https://pilabor.com/projects/labelmaker/#products-to-build-t... (my daughter used this when she was 2 years old)

replies(4): >>35739380 #>>35741564 #>>35743841 #>>35746742 #
2. nsteel ◴[] No.35739380[source]
Phoniebox is a great project, based on mpd and Mopidy. Hopefully Spotify playback will be fully supported again soon.
3. dicknuckle ◴[] No.35741564[source]
I am absolutely LOVING Volumio. It's running in a VM in my garage computer that does various other things. At the time, Volumio didn't have a clean way to do this so I just hacked away until it booted and played music.

A little USB sound card is passed through to the VM and it's been rock solid for about 2 years now. I use it exclusively as a Spotify chromecast type thing that cost me about $3.50 in parts.

4. runjake ◴[] No.35743841[source]
Any clue how powerful the "one IO pin" approach is compared to a dedicated FM transmitter?
replies(2): >>35743887 #>>35744063 #
5. sandreas ◴[] No.35743887[source]
No, I'm using this in my car just for a very short range (< 200mm)
6. svnt ◴[] No.35744063[source]
A standard 3.3V GPIO can typically push something like 30 to 60 mW. You won’t get all of that as transmitted signal — it will depend on how well your random antenna wire matches the impedance of the gpio and the frequency. I’m really not sure the audio quality is going to be anything more than just intelligible, but I’d guess you’d get at least 10 mW or so of useful power, which means it should generally work within a small house.
7. myself248 ◴[] No.35746742[source]
You should know this is heinously irresponsible and very illegal unless you apply proper filtering. Bashing the GPIO pin adds a ton of harmonics that fall outside the broadcast band, up into aircraft and military and who-knows-what other frequencies.

The README goes over this, but if people keep blindly ignoring it, expect regulators to figure out a way to make our lives a lot less fun.

replies(1): >>35748734 #
8. stavros ◴[] No.35748734[source]
This has a range of around ten feet, so I think people are fine to tinker a bit.
replies(1): >>35753605 #
9. myself248 ◴[] No.35753605{3}[source]
Unfortunately that's not that simple. Your observation may well be the case, but that has nothing to do with whether it's going to interfere with someone else. Here's why:

(tl;dr: The output of these "transmitters" contains spurs you're not equipped to detect but which can indeed be problematic for others. Transmitters are regulated for sound physical reasons, some which are enumerated here.)

The range at which your FM receiver can pick up an FM signal may indeed be ten feet, but that's a product of the transmitter power, the transmit antenna gain, the path loss, the receive antenna gain, and the receiver sensitivity. To infer anything about one of those parameters (for this discussion, the transmit power), you have to know the other four, and you don't. (And neither do I. Even the measurements I'm equipped to make require a lot of assumptions and have significant uncertainty.)

Secondly, FM (radio folks would call this wide-FM) is particularly power-hungry because it occupies a relatively wide swath of bandwidth. Typically limited to 75kHz and in practice somewhere around 50 for analog stereo or just shy of 60 with RDS (which pifmrds can do). For example, a 104.3MHz station is actually transmitting anywhere between 104.225 and 104.375 at any given instant. This means that the receiver has to demodulate the carrier which may be varying all over that range, and it requires a fairly strong signal to do that. If the FM receiver loses lock, it doesn't mean the signal doesn't exist, merely that it's below the receiver's sensitivity.

Other spectrum users, like radar for example, may be dramatically more sensitive, and pick up a signal of the same strength many miles away. A mode that occupies less spectrum generally requires less power. They may also have better antennas (radar dishes tend to be tightly focused, that's the whole point), better receivers (local self-noise can be minimized through careful-but-costly engineering), et cetera.

They may also be above you, so while you see the signal disappearing as soon as you get on the other side of some hedges, there's no foliage between you and an airplane.

So while _for you_, the effective range may be ten feet, but for someone else, the signal may be a problem dozens of miles away.

Furthermore, and the whole point here, is that you're not just interfering with other users in the 88-108MHz FM broadcast band. (If you were, frankly, I wouldn't care one bit; there's little actual harm to be done.) It's that as a digital pin being bashed up and down at those frequencies, the resulting signal is profoundly not sinusoidal. It has much faster rising and falling edges, which mean the signal has plenty of energy in harmonics, not just the fundamental frequency of the carrier. My spectrum analyzer only goes to 2.7GHz and I was able to see (admittedly diminishing) energy up beyond 1GHz, which is both impressive in that the BCM chip's GPIOs can slew that fast, and terrible in that you're interfering with _everyone_ when you do it.

So, say you've told pifm to transmit at 88MHz, right at the bottom of the broadcast band where off-the-shelf receivers can pick it up. Your little Pi and random-wire antenna are also producing quite a bit of energy at 176Mhz (maritime VHF ship-to-shore and stuff), 264MHz (military air-band, adjacent to a satellite-earth-station band), 352MHz (more military), 440MHz (amateur UHF), etc. All the way up.

This may be counterintuitive, but that's why radio is governed by regulations rather than YOLO, and why even unlicensed toy transmitters still have to comply with harmonic-content rules.

Filter your Pi to knock out all those harmonics, and the odds of the Coast Guard or Air Force knocking on your door will plummet.

(Also, I've measured the power coming out of one of these things, and if you can only pick it up ten feet away, either your antenna is total crap, your receiver is deaf as a post, or both. Even after applying proper filtering which eats some power, I was able to receive mine on a pocket radio out to about 200 feet, which surprised the heck out of me and I added lots more attenuation until my most sensitive receiver could no longer see it at the property line. It's a fantastic toy for exercising RDS/RBDS receiver and parser code, but it requires a little care and knowledge to use it responsibly.)

Anyone can learn this stuff, and everyone should, especially if they're going to put it on the air.