Video Mangler For All Your Video Mangling Needs

Back in the ’70s and ’80s, before we had computers that could do this sort of thing, there were fully analog video effects. These effects could posterize or invert the colors of a video signal, but for the best example of what these machines could do just go find some old music videos from Top of The Pops or Beat Club. Stuff gets weird, man. Unfortunately, all those analog broadcasting studios ended up in storage a few years ago, so if you want some sweet analog effects, you’re going to have to build your own. That’s exactly what [Julien]’s Video Mangler does. It rips up NTSC and PAL signals, does some weird crazy effects, and spits it right back out.

The inspiration for this build comes from an old ’80s magazine project called the ‘video palette’ that had a few circuits that blurred the image, turned everything negative, and could, if you were clever enough, become the basis for a chroma key. You can have a lot of fun when you split a video signal into its component parts, but for more lo-finess [Julien] is adding a microcontroller and a 12-bit DAC to generate signals that can be mixed in with the video signals. Yes, all of this can still be made now, even though analog TV died a decade ago.

The current status of this project is a big ‘ol board with lots of obscure chips, and as with everything that can be described as circuit bending, there’s going to be a big panel with lots of dials and switches, probably stuffed into a laser-cut enclosure. There’s a mic input for blurring the TV with audio, and enough video effects to make any grizzled broadcast engineer happy.

A PIC And A Few Passives Support Breakout In Glorious NTSC Color

“Never Twice the Same Color” may be an apt pejorative, but supporting analog color TV in the 1950s without abandoning a huge installed base of black-and-white receivers was not an option, and at the end of the day the National Television Standards System Committee did an admirable job working within the constraints they were given.

As a result of the compromises needed, NTSC analog signals are not the easiest to work with, especially when you’re trying to generate them with a microcontroller. This PIC-based breakout-style game manages to accomplish it handily, though, and with a minimal complement of external components. [Jacques] undertook this build as an homage to both the classic Breakout arcade game and the color standard that would drive the home version of the game. In addition to the PIC12F1572 and a crystal oscillator, there are only a few components needed to generate the chroma and luminance signals as well as horizontal and vertical sync. The game itself is fairly true to the original, although a bit twitchy and unforgiving judging by the gameplay video below. [Jacques] has put all the code and schematics up on GitHub for those who wish to revive the analog glory days.

Think NTSC is weird compared to PAL? You’re right, and it’s even weirder than you might know. [Matt] at Stand Up Maths talked about it a while back, and it turns out that a framerate of 29.97 fps actually makes sense when you think it through.

Continue reading “A PIC And A Few Passives Support Breakout In Glorious NTSC Color”

ESP32 Video Tricks Hack Chat with bitluni

Join us Wednesday at noon Pacific time for the ESP32 Video Tricks Hack Chat!

The projects that bitluni works on have made quite a few appearances on these pages over the last couple of years. Aside from what may or may not have been a street legal electric scooter, most of them have centered around making ESP32s do interesting tricks in the analog world. He’s leveraged the DACs on the chip to create an AM radio transmitter, turned an oscilloscope into a video monitor, and output composite video. That last one was handy for turning a Sony Watchman into a retro game console. He’s also found ways for the ESP32 to output VGA signals. Looks like there’s no end to what he can make the versatile microcontroller do.

Although the conversation could (and probably will) go anywhere, we’ll start with video tricks for the ESP32 and see where it goes from there. Possible topics include:

  • Tricks for pushing the ESP32 DACs to their limits;
  • When to use an external DAC;
  • Optimizing ESP32 code by running on separate cores; and
  • What about HDMI on the ESP32?

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the ESP32 Video Tricks Hack Chat and we’ll put that in the queue for the Hack Chat discussion.

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, March 27, at noon, Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.

32 Shades Of Gray

The ATtiny85 is an incredible piece of engineering. In just eight pins, you get a microcontroller with just enough oomph to do some really heavy lifting. You get an Open Source toolchain, and if you’re really good, you can build your own programmer. It does have its limits though; there isn’t a whole lot of Flash, and of course you’re always going to need a few extra pins.

For his Hackaday Prize entry, [danjovic] is pushing whatever limits are left with the ‘tiny85. He’s using it as a test pattern generator, pushing out pixels to any old TV. The entire circuit is powered by a coin cell, and the entire thing fits in a Tic-Tac box.

The heart of the project, as you would expect, is a resistor ladder using all six available pins, using five for luminance and one for the sync. That is thirty-two shades of gray, if you’re keeping track. The trick is using the internal PLL and a bit of math to calculate the proper resistor values. The result is just a test pattern, yes, but [danjovic] managed to get a test pattern that has a resolution of 850 pixels across. That’s not bad by any measure.

Of course, if grayscale isn’t your thing, you can also use the ‘tiny85 to send Never The Same Color over the air or even push out the jams over a VGA port.

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”

Know Your Video Waveform

When you acquired your first oscilloscope, what were the first waveforms you had a look at with it? The calibration output, and maybe your signal generator. Then if you are like me, you probably went hunting round your bench to find a more interesting waveform or two. In my case that led me to a TV tuner and IF strip, and my first glimpse of a video signal.

An analogue video signal may be something that is a little less ubiquitous in these days of LCD screens and HDMI connectors, but it remains a fascinating subject and one whose intricacies are still worthwhile knowing. Perhaps your desktop computer no longer drives a composite monitor, but a video signal is still a handy way to add a display to many low-powered microcontroller boards. When you see Arduinos and ESP8266s producing colour composite video on hardware never intended for the purpose you may begin to understand why an in-depth knowledge of a video waveform can be useful to have.

The purpose of a video signal is to both convey the picture information in the form of luminiance and chrominance (light & dark, and colour), and all the information required to keep the display in complete synchronisation with the source. It must do this with accurate and consistent timing, and because it is a technology with roots in the early 20th century all the information it contains must be retrievable with the consumer electronic components of that time.

We’ll now take a look at the waveform and in particular its timing in detail, and try to convey some of its ways. You will be aware that there are different TV systems such as PAL and NTSC which each have their own tightly-defined timings, however for most of this article we will be treating all systems as more-or-less identical because they work in a sufficiently similar manner.

Continue reading “Know Your Video Waveform”

Fully-functional Oscilloscope on a PIC

When troubleshooting circuits it’s handy to have an oscilloscope around, but often we aren’t in a lab setting with all of our fancy, expensive tools at our disposal. Luckily the price of some basic oscilloscopes has dropped considerably in the past several years, but if you want to roll out your own solution to the “portable oscilloscope” problem the electrical engineering students at Cornell produced an oscilloscope that only needs a few knobs, a PIC, and a small TV.

[Junpeng] and [Kevin] are taking their design class, and built this prototype to be inexpensive and portable while still maintaining a high sample rate and preserving all of the core functions of a traditional oscilloscope. The scope can function anywhere under 100 kHz, and outputs NTSC at 30 frames per second. The user can control the ground level, the voltage and time scales, and a trigger. The oscilloscope has one channel, but this could be expanded easily enough if it isn’t sufficient for a real field application.

All in all, this is a great demonstration of what you can accomplish with a microcontroller and (almost) an engineering degree. To that end, the students go into an incredible amount of detail about how the oscilloscope works since this is a design class. About twice a year we see a lot of these projects popping up, and it’s always interesting to see the new challenges facing students in these classes.

Continue reading “Fully-functional Oscilloscope on a PIC”