NES Light Gun Turned (Video) Synthesizer

[Russell Kramer] made our day today. We’re tremendous fans of minimalism in electronics design, dirty noise hacks, and that old NES  light gun. He’s posted up a project that combines all three to make a light-gun controlled, VGA video display that makes bleepy-bloopy noises to boot. Check out the video below!

To appreciate this hack, you really need to read through the project logs in detail. Start with the VGA signal creation, for instance. The easiest way to go these days is to throw a microcontroller at the problem. But because he’s done that to death, [Russell] takes a step back thirty years and generates the sync pulses periodically with a relaxation oscillator and a binary counter IC. The rest of the build follows this aesthetic choice: everything is op amps and CMOS logic. The rainbow effect, for instance, is created from the audio signal through a three-stage, 120-degree phase-shift oscillator sent to the R, G, and B channels. Kudos!

The high-level overview is that the light intensity and position hitting the gun’s sensor is converted into a voltage that drives an audio-frequency oscillator. This audio output is then piped back into the video generator. Watching the video, it’s obvious that pointing the gun at different parts of the screen changes the pitch, but playing a given pitch is nearly impossible on this thing with all the feedback going on. [Russell] added a bit of more control into the system — when the gun’s trigger is pulled, it registers full-brightness regardless of the video input — but even so, we’d be hard-pressed to play “Mary Had a Little Lamb”.

But that’s not the point. The point is awesome, light-gun-waving noisy madness set to a responsive colorful video background. And that’s been achieved in spades!

7 thoughts on “NES Light Gun Turned (Video) Synthesizer

  1. I like Kramer’s idea using stuff from his junk box (a real fracker?). This reminds me of a low-tech method of setting a zoned motion detector for a CCTV cam video stream. I know you can do it with a video capture app but this method was q&d (quick and dirty) – well kinda’ sorta’.

    Take a Radio Shack telephone induction suction cup audio sensor used to record phone calls. Gut it as you don’t need the transducer. Put it in your junk box. You just need the chassis and it’s suction cup. Now drill a hole through the center. Install two (side by side) tiny CdS photo cells. You will need to replace the cable too to get at least shielded 3-4 conductors (stereo?) as the existing one only has shield and center conductor.

    Now you need to make a electronic circuit that supplies 5 volts or less to the cells and ADC board in your PC/MAC. The CdS cells will react to changing light contrasts on the video monitor wherever you stick it on the screen. You may have to adjust brightness and contrast for optimal balance with differing light levels of the scene your watching. You don’t need a PC/MAC you can do this with a Arduino (etc). You just need to write code that watches 2 channels on ADC and detect a difference voltage level between the two cells – which constitutes motion in your tightly targeted area.

    Then you need to play a .wav file when the program has a bona-fide hit. You can be monitoring a front door but only want to be alerted to someone’s hand touching the door knob, or going in your mailbox, or a particular box in a warehouse. I think I got this from Forest Mims.

    1. Maybe you don’t need any more than two conducters if you make the two tiny CdS cells into a voltage divider circuit that has a range of 0-5 volts. 0-2.4 Volts would indicate more bias to let’s say the left cell and 2.6 to 5 volts indicates more bias to right cell. 100% balance would be 2.5 volts (both cells getting same amount of light). Rapid change from lets say 1.0 volts to 2.0 volts over a short milliseconds would indicate rapid motion from left to right at your targeted location. You can make more to monitor multiple targets but you will need more ADC channels.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.