RTL-SDR brought cheap and ubiquitous Software Defined Radio (SDR) to the masses, opening up whole swaths of the RF spectrum which were simply unavailable to the average hacker previously. Because the RTL-SDR supported devices were designed as TV tuners, they had no capability to transmit. For the price they are still an absolutely fantastic deal, and deserve to be in any modern hacker’s toolkit, but sometimes you want to reach out and touch someone.
Now you can. At OsmoDevCon [Steve Markgraf] released osmo-fl2k, a tool which allows transmit-only SDR through cheap USB 3.0 to VGA adapters based on the Fresco Logic FL2000 chip. Available through the usual overseas suppliers for as little has $5 USD, these devices can be used unmodified to transmit low-power FM, DAB, DVB-T, GSM, UMTS and GPS signals.
In a demonstration on the project page, one of these USB VGA adapters is used to broadcast a GSM cellular network which is picked up by the adjacent cell phones. Another example shows how it can be used to broadcast FM radio. A GitHub repository has been set up which includes more examples. The signals transmitted from the FL2000 chip are obviously quite weak, but the next step will logically be the hardware modifications necessary to boost transmission to more useful levels.
To say this is a big deal is something of an understatement. For a few bucks, you’ll be able to get a device to spoof cellular networks and GPS signals. This was possible before, of course, but took SDR hardware that was generally outside the budget of the casual experimenter. If you bought a HackRF or an Ettus Research rig, you were probably responsible enough not to get into trouble with it, but that’s not necessarily the case anymore. As exciting as this technology is, we would be wise to approach it with caution. In an increasingly automated world, GPS spoofing can have some pretty bad results.
Did you ever wonder what your monitor and your computer are talking about behind your back? As it turns out, there’s quite a conversation going on while the monitor and the computer decide how to get along, and sniffing out VGA communications can reveal some pretty fascinating stuff about the I²C protocol.
To reverse engineer the configuration information exchanged between a VGA monitor and a video card, [Ken Shirriff] began by lopping a VGA cable in two. The inside of such cables is surprisingly complex, with separate shielding wires for each color and sync channel and a host of control wires, all bundled in multiple layers of shielding foil and braid to reduce EMI. [Ken] identified the clock and data lines used for the I²C interface and broke those out into a PocketBeagle for analysis using the tiny Linux machine’s I²C tools.
With a Python script to help decode the monitor’s Extended Display Identification Data (EDID) data, [Ken] was able to see everything the monitor knows about itself — manufacturer, serial number, all the supported resolution modes, and even deprecated timing and signal information left over from the days when CRTs ruled the desktop. Particularly interesting are the surprisingly limited capabilities of a VGA display in terms of color reproduction, as well as [Ken]’s detailed discussion on the I²C bus in general and how it works.
Old-school handheld gaming platforms have a certain charm, but it’s fair to say that their relatively tiny screens don’t lend themselves to wider viewing. This presented a problem to [uXe] who wanted to display Arduboy games on the big screen, so he took a MyStorm BlackIce FPGA board and created a converter that emulates a SSD1306 OLED display and has a VGA output.
Having proved the viability of the idea, it was ported to a dedicated PCB with onboard ancillaries such as a level shifter for a 5 volt input. In an exciting twist, with a few modifications it’s also emulated a GameBoy screen, allowing full-sized playable games from that platform too. But the power of this hack isn’t relegated to gaming. SSD1306 is just one of a few different common standards for embedded displays. The FPGA work in this project is the blueprint for building a VGA adapter for any number of display replacements. We’d love to see an HD44780 mod of this!
The result as you can see in the video below the break is very much more in the spirit of the OLED than an HD immersive experience. But it does have a very pleasing air of an older arcade machine about it.
For the last thirty or so years, the demoscene community has been stretching what is possible on computer systems with carefully crafted assembly and weird graphical tricks. What’s more impressive is hand-crafted assembly code pushing the boundaries of what is possible using a microcontroller. Especially small microcontrollers. In what is probably the most impressive demo we’ve seen use this particular chip, [AtomicZombie] is bouncing boing balls on an ATtiny85. It’s an impressive bit of assembly work, and the video is some of the most impressive stuff we’ve ever seen on a microcontroller this small.
First, the hardware. This is just about the simplest circuit you can build with an ATtiny85. There’s an ISP header, a VGA port with a few resistors, a 1/8″ audio jack driven by a transistor, and most importantly, a 40MHz crystal. Yes, this ATtiny is running far faster than the official spec allows, but it works.
The firmware for this build is entirely assembly, but surprisingly not that much assembly. It’s even less if you exclude the hundred or so lines of definitions for the Boing balls.
The resulting code spits out VGA at 204×240 resolution and sixty frames per second. These are eight color sprites, with Alpha, and there’s four-channel sound. This is, as far as we’re aware, the limit of what an ATtiny can do, and an excellent example of what you can do if you buckle down and write some really tight assembly.
Human beings like pictures which is probably why there’s the old adage “A picture’s worth a thousand words.” We take computer graphic output for granted now, but even in the earliest days for Teletypes and line printers, there was artwork made from characters ranging from Snoopy to Spock. [Wenting Z] continues the tradition by creating an FPGA that converts VGA video to ASCII art and outputs it via DVI.
The device uses a Xilinx Virtex device and uses about 500 LUT (look up tables) which is not much at all. You can see a video (that includes an overlay of the source video) of the device in action below.
In fact, we think of art like this as a computer phenomenon, but [Flora Stacey] created a butterfly on a typewriter in 1898 and ham radio operators were doing art using paper tape for the last half of the twentieth century. Even before that, In 1865, Alice in Wonderland had a certain passage that was typeset to suggest a mouse’s tail. Perhaps the pinnacle is the famous ASCII version of Star Wars.
When we announced the Hackaday Prize with its Best Product category, [PK] polled his wife and co-workers about the idea of making a desktop monitor using 6″ 800×600 ePaper, which he has since built and calls the PaperBack. One such requirement for a monitor is to be able to connect to it using one of the usual desktop methods: VGA, DVI or HDMI. Given his previous experience making his own VGA card for the 2015 prize, he went with that. HDMI is in the works.
But it ended up being more than a desktop monitor. He first made a power and breakout board that a VGA input board would eventually connect to. To test it, he included a socket for plugging in an ESP32. With only one bodge he had the Hackaday logo displayed on the ePaper. He also now had the option of using it as a wireless internet connected display.
Moving on to VGA support, [PK] made a VGA input board using the MST9883 chip, which does the A/D conversion of the VGA RGB graphics signal and also recovers a pixel sampling clock from the HSYNC. His new VGA ePaper monitor has to identify itself to the VGA source, telling it dimensions, resolution and so on. This is called the EDID and was handled by the addition of an Atmel ATmega328 to the board. To finish it off, an LCMXO1200C FPGA does the high-speed conversions with the help of a 4 MBit SRAM framebuffer.
His very first test involved simply displaying the Hackaday logo using the ESP32, but now with the VGA input board he has it displaying Doom. Since it’s using ePaper it has only a 1-second refresh rate but it’s hard to come up with a more awesome way to proved that it works. He can also unplug it at any time and walk away with the latest screenshot intact. See it for yourself in the video below.
I’m always on the lookout for a quality addition to my lab that would respect my strict budget. Recently, I’ve found myself pushing the Hertz barrier with every other project I do and hence desperately wanted a high bandwidth scope. Unfortunately, only recently have 70 MHz to 100 MHz become really affordable, whilst a new quad channel oscilloscope in the 500 MHz to 1 GHz range still costs a fortune to acquire. My only option was to find an absolute miracle in the form of an old high bandwidth scope.
It seemed the Gods of Hand Me Down electronics were smiling upon me when I found this dumpster destined HP 54542C. It appeared to be in fairy good shape and was the Top Dog in its day. But something had to be broken right? Sure enough, the screen was clearly faulty and illegible. Want to know how I fixed it? Four letters: FPGA.