In a world where standards come and go with alarming speed, there’s something comforting about VGA. It’s the least common denominator of video standards, and seeing that chunky DB15 connector on the back of a computer means that no matter what, you’ll be able to get something from it, if you can just find a VGA cable in your junk bin.
But that’s the PC world; what about microcontrollers? Can you coax VGA video from them? Yes, you can, with an ESP32, a handful of resistors, and a little bit of clever programming. At least that’s what [bitluni] has managed to do in his continuing quest to push the ESP32 to output all the signals. For this project, [bitluni] needed to generate three separate signals – red, green, and blue – but with only two DACs on board, he had to try something else. He built external DACs the old way using R/2R voltage divider networks and addressed them with the I2S bus in LCD mode. He needed to make some compromises to fit the three color signals and the horizontal and vertical sync pulses into the 24 available bits, and there were a few false starts, but the video below shows that he was able to produce a 320×240 signal, and eventually goosed that up to a non-native 460×480.
It’s a pretty impressive hack, and we learned a lot about both the ESP32 and the VGA standard by watching the video. He’s previously used the ESP32 to build an AM radio station and to output composite PAL video, and even turned his oscilloscope into a vector display with it. They’re all great learning projects too.
Continue reading “Back to Video Basics with an ESP32 VGA Display”
Composite video from a single-board computer? Big deal — every generation of Raspberry Pi has had some way of getting composite signals out and onto the retro monitor of your choice. But composite video from an ESP32? That’s a thing now too.
There are some limitations, of course, not least of which is finding a monitor that can accept a composite input, but since [bitluni]’s hack uses zero additional components, we can overlook those. It really is as simple as hooking the monitor up to pin 25 and ground because, like his recent ESP32 AM radio station, the magic is entirely in software. For video, [bitluni] again uses his I²S tweaks to push a lot of data into the DAC really fast, reproducing the sync and image signals in the 0-1 volt range of the PAL composite standard. His code also supports the NTSC standard, but alas because of frequency limitations in the hardware it’s monochrome only for both standards, at least for now. He’s also got a neat trick to improve performance by running the video signal generation and the 3D-rendering on separate cores in the ESP32. Check out the results in the video below.
It looks like the ESP32 is getting to be one of those “Is there anything it can’t do?” systems. Aside from radio and video, we’ve seen audio playback, vector graphics, and even a Basic interpreter easter egg.
Continue reading “Software Defined Television on an ESP32”
The Teenage Engineering Pocket Operators are highly popular devices — pocket-sized synthesizers packed full of exciting sounds and rhythmic options. They’re also remarkably affordable. However, this comes at a cost — they don’t feature MIDI connectivity, so it can be difficult to integrate them into a bigger digital music setup. Never fear, little-scale’s got your back. This Max patch allows you to synchronize an Ableton Link network to your Pocket Operators.
little-scale’s trademark is creating useful software and hardware devices using cheap, off-the-shelf hardware wherever possible. The trick here is a simple Max patch combined with a $2 USB soundcard or Bluetooth audio adapter. It’s all very simple: the Pocket Operators have a variety of sync modes that sync on audio pulses, essentially a click track. They use stereo 3.5mm jacks on board, generally using one channel for the synth’s audio and one channel for receiving sync pulses. It’s a simple job to synthesize suitable sync pulses in Ableton, and then pump them out to the Pocket Operators through the Bluetooth or USB audio output.
The Pocket Operators sync at a rate of 2 PPQN — that’s pulses per quarter note. little-scale says that KORG volcas & monotrons should also work with this patch, as they run at the same rate, but it’s currently untested. If you happen to try this for yourself, let us know if it works for you. Video below the break.
We’ve seen pocket synths on Hackaday before, with this attractive mixer designed for use with KORG Volcas.
Continue reading “Sync Your Pocket Synth with Ableton”
It figures. You spend a ton of time making a cool set of costumes and then you can’t get your kid to pose for a picture. It’s okay though, we still get the point. This themed set of costumes dresses the little one as a Roomba vacuuming robot while mom and dad are suited up as virtual walls (modules that are used to keep the bot from falling down stairs, etc.). It’s fun and unique, but had it not been for some additional electronics this would have been relegated to a links post. For safety sake each costume was outfitted with a ring of LEDs. As a challenge, the lights were given the ability to sync up patterns with each other.
Each costume has a circular frame at the top with a set of RGB LED strings attached. To get them to display synchronized patterns an IR transmitter/receiver board was designed and ordered from OSHPark. Each costume has four of these modules so no matter where the wearers are facing it should not break communications. A demo of the synchronized light rings can be seen after the break
Continue reading “Roomba and virtual walls make up this theme family Halloween costume”
[Jeff Clymer] owns a Ford Focus, and while he’s generally happy with the car, the “My Ford Touch/Sync” system can be buggy at times. He spends a lot of time in the car each day, so when the entertainment center locks up as it is frequently known to do, he has to turn off the car and pull a fuse to reset the system. Since pulling a fuse while on the road is pretty impractical, he decided to install a reset button, making system reboots a breeze.
He started by disassembling various fuses until he found one with an easy to remove fusible link. Once it was in pieces, he soldered a pair of wires to the fuse terminals and connected everything to a normally closed momentary pushbutton switch. After adding an inline fuse holder and reinserting the original fuse, he installed the button into the back of his glove box
Now instead of physically removing the fuse each time his stereo locks up, he can simply push a button and be on his way. Here’s hoping a software fix is coming for [Jeff’s] car sooner rather than later!
The Dell Streak is an Android tablet. [Collin Meyer] wanted to use an original SNES controller to play emulated games on the device. What he came up with is a controller that is a dock for he handheld.
Several things have to come together to make this happen. The Streak uses a standard PDMI dock that connects to a computer via a USB connection. [Collin] repurposed a sync cable by connecting a couple of pins on the dock connector which forces the device to use USB host mode. From there he used a Teensy microcontroller to convert the SNES controller into a USB device (very similar to this hack). The Teensy and shortened sync cable find a new home inside the SNES controller body and, in the video after the break, it looks like he used something like sugru to add a bit of support for the Streak.
Continue reading “SNES controller dock for Dell Streak”
[Emuboy] lets us know about some software advances that will make iPhone and iPod Touch syncing possible under Linux. Apple made big changes to how the iPhone syncs compared to legacy iPods. Locking out all communications other than through iTunes was surely part of their motivation. This has left Linux users out in the cold with shoddy sync capabilities which should be coming to an end. If successful, syncing will be be possible with phones that have not been jailbroken.
One of the biggest hurdles in reverse-engineering the new protocol is the non-standard way in which the devices communicate over USB. The usbmuxd developers have been working to implement communications and now have a Release Candidate for the 1.0.0 version. Along with testing of this package, libgpod is now being updated to play nicely with the new database format and hash of the iPhone.
This isn’t quite at the plug-and-play level of convenience yet but if you’re comfortable working with Linux packages you should be able to get this working and help report any bugs you might find. But if you’re tired of open source playing cat and mouse with Apple you can always switch over to a device based on Android.