Software Defined Television on an ESP32

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”

Laser Galvo Control via Microcontroller’s DAC

Mirror galvanometers (‘galvos’ for short) are the worky bits in a laser projector; they are capable of twisting a mirror extremely quickly and accurately. With two of them, a laser beam may be steered in X and Y to form patterns. [bdring] had purchased some laser galvos and decided to roll his own control system with the goal of driving the galvos with the DAC (digital to analog) output of a microcontroller. After that, all that was needed to make it draw some shapes was a laser and a 3D printed fixture to hold everything in the right alignment.

The galvos came with drivers to take care of the low-level interfacing, and [bdring]’s job was to make an interface to translate the 0 V – 5 V output range of his microcontroller’s DAC into the 10 V differential range the driver expects. He succeeded, and a brief video of some test patterns is embedded below.

Continue reading “Laser Galvo Control via Microcontroller’s DAC”

ESP32, We Have Ways to Make You Talk

One of our favorite scenes from the [James Bond] franchise is the classic exchange between [Goldfinger] and [Bond]. [Connery] (the One True Bond) says, “You expect me to talk?” And the reply is, “No Mr. Bond, I expect you to die!” When it comes to the ESP32, though, apparently [XTronical] expects it to talk. He posted a library to simplify playing WAV files on the ESP32. There is also a video worth watching, below.

Actually, you might want to back up to his previous post where he connects a speaker via one of the digital to analog converters on the board. In that post, he just pushes out a few simple waveforms, but the hardware is the same setup he uses for playing the WAV files.

Continue reading “ESP32, We Have Ways to Make You Talk”

ESP32 Makes for World’s Worst Radio Station

We can say one thing for [bitluni]: the BOMs for his projects, like this ESP32 AM radio transmitter, are always on the low side. That’s because he leverages software to do jobs traditionally accomplished with hardware, always with instructive results.

In this case, the job at hand is creating an RF oscillator in the broadcast AM band and modulating some audio onto it. From his previous experience using an ESP32 to watch video on an oscilloscope, [bitluni] knew that the microcontroller’s DACs were up to the task of producing an 800-kHz signal, and he managed to produce a more-or-less sine wave carrier with some clever code. His sketch takes data from a header file, modulates it onto the carrier, and sends it out over the ether using a short stub of wire for an antenna. The range is severely limited, but for what it is, it gets the job done and shows the basics. And as a bonus, [bitluni] included a bit of JavaScript that turns an audio file into a header file that’s ready to go out over the airwaves for all your trolling needs.

If you’re looking for a little more range for your low power transmitter and you’re a licensed amateur operator, you might want to explore the world of QRP radio.

Continue reading “ESP32 Makes for World’s Worst Radio Station”

Ocelot Arcade System Illustrates the Scope of Vector Graphics

Who knows how far the Vectrex system, or vector graphics gaming in general could have gone if not for the crash of ’83? The console wars might have been completely different if not for this market saturation-based reset button.

[Matt Carr] doesn’t own a Vectrex, but he does have a Tektronix 465 oscilloscope. After an intense labor of love and documentation, he also has a shiny new vector graphics arcade system that he built himself. It’s based on a dsPIC33 and uses a dual-channel DAC to produce wire frame 3-D graphics and send X-Y coordinates to the ‘scope via phono outputs. The PIC’s internal DAC is meant for audio and didn’t do so well with graphics, so [Matt] used a TLV5618A piggybacked on the PIC’s DAC pins.

The Ocelot doesn’t take cartridges, though it might someday. For now, changing games means getting out the PICkit. There are currently two to choose from: Star Lynx, an awesome flying shooter where you get to save a feline population, and Mattsteroids, which is exactly what it sounds like. There’s only one Ocelot in existence, and although it isn’t for sale, [Matt] has terrific technical documentation should you care to replicate it. One thing you might not be able to replicate is the awesome vintage advert he made for the Ocelot, which is cued up after the break.

Don’t have a ‘scope? You can do vector graphics on a CRT with an FPGA.

Continue reading “Ocelot Arcade System Illustrates the Scope of Vector Graphics”

Watch Video on a Oscilloscope with an ESP32

[bitluni] got a brand new scope, and he couldn’t be happier. No, really — check the video below; he’s really happy. And to celebrate, he turned his scope into a vector display using an ESP32.

Using a scope in X-Y mode is nothing new, of course. The technique is used to display everything from Lissajous patterns from an SDR to bouncing balls from an analog computer. Taken on as more of an exercise to learn how to use his new tool than a practical project, [bitluni]’s project starts by using two DACs on an ESP32 to create simple Lissajous patterns to learn about the scope’s controls. Next he built some code to display 3D point clouds, but learned that the native DAC code wasn’t up to the job. A little hacking improved the speed 27-fold, which was enough for great 3D images and live video from an I²S camera module. The latter was accomplished by grabbing frames from the camera and rendering them pixel by pixel, CRT style. The results are pretty clean, and there’s a lot to be learned about both using scopes as X-Y displays and tweaking the ESP32 for maximum performance.

Need more background on the ESP32? Start by checking out these ESP32 tutorials.

 

Continue reading “Watch Video on a Oscilloscope with an ESP32”

Hackaday Links: September 24, 2017

This is it. After twelve years we finally have a new Star Trek. Star Trek: Discovery (we’re using ST:DSC as the abbreviation) is airing right about when this post goes up. Next week, you’ll have to pay CBS $6USD a month to get your Star Trek fix, and today might be the last time a new episode of Star Trek is aired on broadcast TV ever. Enjoy it now, and hope the theme song doesn’t have lyrics. Also, hope The Orville is a tenth as good as a Galaxy Quest series could be.

What’s the best way to describe Delta Sigma PLLs? The Cat In The Hat (PDF, page 31). [Dr. Tune] found a Seuss reference in a TI app note. Personally, I’m a fan of hand-drawn cartoons, but we’ll take what we can get.

This weekend the Prusa I3 MK3 was announced. A good printer just got better. Now here’s the video.

The Raspberry Pi is a great media storage device, but it’s absolutely insufficient for audiophile tomfoolery. Here’s a neat Pi DAC/amp/DSP thingy. The VoltaStream turns the Raspberry Pi into a WiFi-connected pair of speakers with low-latency audio in and a TOSLINK connector.

SpaceX! There is serious consideration being given to starting an ‘Elon Musk column’ here on Hackaday. There will be SpaceX updates coming this week from the International Astronautical Congress in Adelaide. What will we find out? I don’t know bruh, but I just got back from Burning Man and I realized it was a whole lot like Mars and I was wondering Elon, like, have you ever been to Burning Man because it’s really dusty and a whole lot like Mars and there’s not much water… Please, organizers of the IAC, I implore you: give more idiots microphones. That was hilarious.

How was the World Maker Faire in New York this weekend? In one word, empty. Abnormally so. Maker Faire was not as crowded as last year, and you could actually move around. My agoraphobia didn’t kick in until the afterparties, and lines for the $5 bottles of water were short. Bay Area Faire attendance was down 16% from 2016-2017, and I would bet attendance for the NY Faire would be down a similar amount. Even a 10% decline in attendance would be noteworthy; the weather last year was cold and rainy and this year was beautiful. There are rumors, speculation, and people wondering how long Maker Faire will continue, but except for Intel pulling out of the maker market, no actual information. Millennials are killing the Maker Faire industry?