Bitvision Video Synthesizer
bitvision is a compact visual synthesizer designed for audiovisualization. it creates a composite video output signal which displays a 32x32 pixel image using the currently selected 16-color palette. bitvision is available as an assembled unit or a kit for diy assembly.
transformations can be applied to the current color palette and horizontal/vertical display modes in realtime, creating animation and movement. the manner in which the external audio and the internal counter transform the image can be changed via various modulation modes.
the goal of this project was to create a versatile video generator with a vintage/imperfect response to color and shape, such as what you might see when playing your atari 2600 on an old crt television in 1977. colors will bleed and slew due to the voltage-controlled color phase shifter, giving a degree of chaotic analogue response and noise missing when viewing simple pixel graphics on a modern computer.
in addition to generating the video image, we packed in as many modulation capabilities and controls as we could in such a small package. in the tradition of the atari video music, an analogue envelope follower and frequency counter track external audio signals and can modulate shape and color via many variable modulation routings. we wanted an audiovisualizer that could potentially provide live video for an entire musical performance, so 16 separate preset image/palette options are stored inside.
finally, we wanted bitvision to be an expandable and continually useful tool for creating video art. to this end we’ve included an avr-isp programming header on the circuit board which can be used to reprogram bitvision with new images, palettes, or entirely alternate applications.
features
- a 32x32 pixel frame buffer which can display internal shapes and images in many colorization modes.
- 8-bit color palette, although thousands more can be revealed from the analog color phase shifter.
- an analog envelope follower/generator that responds to an external audio or clock signal, with gain and decay controls to modulate video.
- a frequency counter also derived from the audio input, which can modulate video based on the frequency of the input signal.
- program and mode selection pushbuttons, as well as two arbitrary knobs and one pushbutton to control parameters dependent on the currently selected display program and mode.
- integrating programming header allows savvy users to upload their own images and animation routines.
- 1/8" jack audio input.
- ntsc composite video output (pal version may be available in the future.)
operation & assembly manual
download a pdf copy of the bitvision operation and assembly manual below. if you are assembling a kit, please download the manual which matches the version number on your bitvision circuit board.
bitvision operation & assembly manual v1.2
bitvision operation & assembly manual v1.0
diy assembly resources for newcomers
if it’s your first time building an electronics kit, you may want to visit these links to learn more about soldering techniques and component identification.
sparkfun, soldering 101 club, component identification guide
source code and development utilities
bitvision makes an excellent video generator platform for alternate applications or modification of internal images and palettes. we’ve developed a simple utility in adobe flash for decoding images and palette colors into code which can be copy & pasted directly into the source code before compiling.
bitvision source code & editor utility v1.0
in order to modify your bitvision with new images and palettes, you will need to follow these steps:
-
purchase an avr programmer. here are usb programmers available from sparkfun and pololu.
-
download and install avr studio. you will need to register.
-
download and install winavr.
-
download and unzip the source code & editor utility files located above to a folder on your hard drive.
-
open bitvision.aps using avr studio and view bitvision.c source code file.
-
open bitvision.html in your flash-supporting web browser of choice to use the editor utility. upload a prepared 32x32 image (created with your graphics software of choice) and make any adjustments you’d like to the image or palette.
-
select and copy all the contents of the palette code box to your clipboard. navigate back to avr studio and find the locations in the source code labelled “palette #1”, etc. select and replace the code of the desired palette with the new palette code.
-
repeat the same process for the image code, making sure to replace code found under sections labelled “image #1”, etc.
-
in avr studio, press f7 to build your project, ensuring that there are no errors.
-
connect your powered on bitvision to your computer using your avr programmer via the 6-pin isp header on the bitvision board.
-
in avr studio, navigate to tools > program avr. it should locate the attached programmer (if not, please refer to the programmer’s documentation.) under the program tab and flash section, load the compiled bitvision.hex file in your project’s folder in the “default” directory, and then click “program”.
-
if there were no complications during uploading the new program, your bitvision is now reprogrammed.
pal source code
you can download an experimental version of the source code for pal here. it is largely untested and probably still has some bugs to work out. the only required hardware change is the crystal part, which needs to be changed from the original bom to a 17.73mhz crystal. if you test this out, let us know how it worked for you.
Videos