Transmits AM radio on computers without radio transmitting hardware
github.com
github.com
True story, back in the cave person days, when television only came over the air waves and if you wanted to "own" a computer you shelled out anywhere from $500 to $5000 for something with an 8 bit processor that ran between 1 and 4 MHz and had, usually, much less than 65,536 bytes of RAM, peripherals for these things were few and far between. A couple of serial ports and a couple of parallel ports was considered a "lot" of I/O. You might have stored your programs on an 8" or 5" floppy disk, but if it was before 1978 you most likely stored programs on cassette tape. Anyway ...
One of the things you could always count on was that these things radiated all sorts of spurious energy and being relatively low frequency beasts to begin with, finding a harmonic that you could pick up with an AM radio held "near" (where near could be 1' to 10' (.3 - 3m)) that interference and with the judicious use of delay loops cause that interference to modulate to "tones" and thus create recognizable "music."
As a kid in high school with just such a computer I can tell you that "playing music" (no matter how poorly) on a nearby AM radio was orders of magnitude more impressive than pointing out by the pattern of lit and unlit LEDs that your amazing machine had just calculated a logarithm. (even though the latter was significantly more difficult from a programming perspective!) Once I got a printer, being able to print out NSFW pictures was a neat trick but for crowd appeal and cheap accessories, music over an AM radio was still the top demo of the time :-)
Very interesting indeed! The title of the video translates to "Electromagnetic festival music".
I've already watched this cover of New Order's Blue Monday three times today: https://www.youtube.com/watch?v=ANIDBu4B9so
One was a similar hack that played the xfiles theme and the star trek voyager theme over AM.
Like you say, nothing could come close to the coolness of sending audio to a radio set from your calculator.
https://en.wikipedia.org/wiki/Daisy_Bell#Computing_and_techn...
Fun fact: Radio Shack sold computer tape cassettes until the late 1980s for its TRS line. Incredible how they had decade old obsolete technology on the shelves.
I attached a low-pass filter to the GPIO pin and was able to control my ceiling fan with my Raspberry Pi.
[0] https://github.com/F5OEO/rpitx
Edit: This generates square waves which have harmonics. You will transmit signals on unintended frequencies if you don't use a filter.
If you like cheap hack sdrs, you might also want to check https://osmocom.org/projects/osmo-fl2k/wiki -- it is a repourposed HDMI sdr.
Or are there are popular configurations where people have something plugged in and then unwitting be open to an exfiltration attack?
Theoretically you could exfiltrate data with it, but if you have root access to the RPi already then I don’t see why you wouldn’t just use Wi-Fi.
[1] https://arstechnica.com/information-technology/2018/02/bitco...
https://www.ebay.com.au/i/184562911018?chn=ps&norover=1&mkev...
It means that all joints must be screwed or soldered, all doors to have tight joints, and low-pass filters fitted to all power leads, comms leads, etc.
And often you need two completely independent layers (connected at only one point) to achieve sufficient attenuation.
Your microwave oven's cage would like to have a word with you.
You can have an effective faraday cage using a metal fence/mesh depending on the frequency you're trying to attenuate and the thickness of the metal. [0]
[0]: https://www.quora.com/What-size-of-mesh-should-I-use-to-buil...
The types of mitigations described by the GP poster are also correct: see, for example, the description of issues for EMI shielding at https://celectronics.com/training/learning/basics/Noise-Prop...
> "These imperfections are:
(1) openings
(2) conductors going in or out and
(3) finite thickness of the shield"
700MHz is a 42cm wave. A hole 1/10th of the wavelength is about an inch and a half. Not exactly tight tolerances.
Perfection generally isn't necessary - mitigation is usually sufficient. Reducing the interference signal by some percentage (likely a very, very high percentage) goes a long way.
Dropping a wire cage around a device broadcasting in the 700MHz band is going to very significantly reduce the signal.
I lost that bet.
While we were at it, we tried all sorts of metal containers one can find in a household, and couldn't find anything that would make that GSM call drop.
Sure, that's true. But the point is that even a high percentage may not be sufficient; a 90% reduction only improves the situation by 10 dB; a 99% reduction is an improvement of only 20 dB. As the sibling post illustrates, today's receivers are very, very sensitive; cell phones, I believe, have sensitivities below -80 dBm.
The same computer could also play music using the line printer: https://www.youtube.com/watch?v=Lu4SxJqU9I4
I discuss how the line printer music worked here: http://www.righto.com/2019/09/risky-line-printer-music-on-vi...
I remember playing with Tempest probably 20 years ago. It worked on a CRT monitor, the bigger the monitor the better, I had a 21"! Even with that I had to get my computer's speakers literally right next to the monitor for it to barely work, but it was absolutely fabulous when it did!
Out of curiosity, can you dump the relevant disassembly of the square_am_signal function (using `$ objdump -d mybinary`)?
Note that this instruction (_mm_stream_si128) is a SSE instruction that will write 128 bits to memory, more or less bypassing the cache (as long as you write whole cache lines). This instruction is highly specific to the memory architecture in Intel x86 CPUs. When compiling for ARM, I expect that this will just be compiled to a regular store instruction.
My first thought is to synchronize effort of the 8 CPU and maybe even the 8 GPU. That's +12dB right there. We have a multithreaded implementation in the project already.
If you want to achieve something similar to _mm_stream_xxx, ie. bypassing the caches and causing bursts of DRAM traffic, try making some uncached/write combined memory mappings and writing to them. I don't know how this can be done in user space. You could try creating memory mapped buffers with OpenGL or Metal, with certain arguments you could get an uncached mapping.
Another option is looking at ARM instructions for memory barriers and cache flushes. ARM's selection of instructions for dealing with caches is much richer than x86's.
Thanks for the info.
We just received the first field report of success with the M1 MacBook Pro here https://github.com/fulldecent/system-bus-radio/blob/master/T...
But why is the radiation not shielded by the computer? We have tons of regulation for this kind of stuff AND a metal body that should stop most of the signal.
Let me give you an example. non-industrial is not allowed to emmit more than 3V/m, but non industrial product are also not allowed to be disturbed by 3V/m. So far so good. This only applies to 'disturbances' or 'non use signals'. Let me explain:
Now, radio transmission is different (like a mobile phone). The use signal (which is not a disturbance) is allowed to be much higher, like 40V/m. (So there was a case where a coffee machine broke when putting the mobile on it). This is all in perfect compliance. (of course the manufacturer of the coffee machine hardened the device, but this was market forces).
So for the other direction, I am not too sure but it can perfectly fine that the allowed EMC disturbs the reception of a radio signal device. Also EMC is only tested in 'typical' situations.
About the legality by using Software to intentionally transmit signal (def not legal without HAM license or proper FCC testates) I have no idea who would be the liable party i n this case.
Engineering circuits to reduce EM is actually very difficult, and gets more difficult as you desire less radiation. The regulations are generally about “harmful” interference and being detectable over a short distance isn’t that.
There are regulations, but they don't mandate perfect attenuation. They only specify that your emissions shouldn't interfere with licensed users. Since the licensed users are pretty far away from your computer and the power is very low, it's generally not a problem.
(As for sensitivity, remember that GPS signals have a power of something like 10^-16 watts at the surface of the earth, and you can receive those just fine. Radios are very sensitive instruments!)
Waiting for an Air-FM paper now.
Just won't buy RTL's USB-Pin.
Wow! Does LimeSDR requires some additional hardware to be plugged into my laptop?
Or it would be able to 'reuse' some of built-in hardware on, says, 13 year-old laptop?[0]
[0] https://nitter.net/app4soft/status/1334266756643364864#m
https://circuitdigest.com/microcontroller-projects/raspberry...
The software dates to around 1975.
I heard of a project to do this where you send out an inaudible sound and receive it elsewhere
[0] https://photos.app.goo.gl/EumYVgyfMN1ncwkQ7
[1] https://github.com/siraben/ti84-forth/blob/master/programs/m...
https://www.ticalc.org/pub/83/asm/sound/
I think you want 'songplay.zip', as it includes an X-files tune. This is probably the one I remember... From the readme:
Here is a small song player on the TI-83 (the first I think). This works with
an earphone plugged in the link-port (a piezzo buzzer, etc), or with an AM radio...[1] and maybe SMS too, but I don't remember
And here's the program listing!
https://archive.org/details/your-computer-magazine-1982-03/p...
If not intended, then shielding and other mitigations are warranted.
If intended, making it clean and respectful of the spectrum are warranted.
Otherwise, it's a hack!
Simple AM radio is a fun tech to explore for a little. For many of us, it was the first real connection to the world and the people in it.
Late night AM with a long wire antenna, maybe directional loop, and or tuned coils, filters, is a great experience, particularly on older radios.
Starting sometime around the 80's, AM radios got kind of lousy. It varies a little by manufacturer too. Ford, oddly enough, produced great ones into the 00's.
Anyway, at night, you get the various stations, and depending on propagation, they could be very far away stations, and also the sounds of the world all mixed together.
I can remember late nights listening to all sorts of programs, people telling stories, music, talk programs on a wide variety of topics, and often frank in style and form.
And that electric fence, tick, tick, tick.
A car starting.
Storm brewing.
Electric appliances.
All sorts of things just added in.
As a purist interested in the program, these are all kind of crappy. Hard to ignore.
People like FM because it rejects most all of that stuff.
But, as a curious person? It is like another sense. Electro phenomena mapped into sound. Very fun, and an interesting way to perceive what's around you.
IMHO, this is a big part of why making computer sound on an AM radio is cool.
Everything I just wrote applies to the short wave bands too, though those are messy today. Best done away from a metro area.
If you want to experience this at all, score an early radio, even a vacuum tube one ( my favorite ), get a long wire and venture out somewhere and just listen.
Camping is a great time for it, and I still do every year. For an hour or two, it takes me way back to early times.
A portable, transistor one made a while ago is best and still cheap.
Older GE Super Radios are real good. The ones made prior to 2010 or so are best, and not expensive.