uChip Simple VGA Console (uSVC)

Portable, DIY, open hardware retro-gaming console

This project is coming soon. Sign up to receive updates and be notified when this project launches.


uSVC is part of the Microchip Get Launched design program.

With Support For USB Gamepads & Keyboards

uSVC is a simple, do-it-yourself game console that allows you to create and play 8-bit, retro-style games. It comes as a kit, and all you need to assemble it are basic, through-hole soldering skills. The microSD card socket is the only surface-mount component on the whole board, and we’ve taken care of that one for you. In fact, all you really need is a soldering iron and some solder. You’ll have "basic, through-hole soldering skills" by the time you’re done.

We’ve produced three games for uSVC so far, and we might even consider allowing you to play them. We’re kidding, of course. Fair Play Race, Redballs, and Tetris are all open source. As are the demos we’ve created to show off the capabilities of our hardware. As is our game editor, which you can use to generate and export the graphics, sound, and music for your games.

A graphics demo for uSVC and two games: Fair Play Race and Redballs

Do With It What You Will

Already quite good at soldering? Don’t want to design retro-style games? Not even interested in playing retro-style games? Unmoved by the thought of connecting two uSVCs and gaming with a friend? We still think you might find value in the uSVC development platform.

You might, for example, connect some RGB LED strips, synchronize those strips with the frames you are generating, and light up a wall. Or add a serial-to-parallel shift register and some relays to create a home automation control panel. Or build a karaoke machine you can carry around in your pocket. Or something else entirely!

Graphics

  • Standad resolution of 320x200 pixels at 57 Hz
  • 400 lines supported with a pixel aspect ratio of 2:1
  • Up to 256 on-screen colors

Video modes

  • 8x8 pixels tiled modes with 16 or 256 colors
  • 2 bits per pixel (bpp) bitmapped mode supports up to 256 on-screen colors by changing the palette every 8 horizontal pixels

Sprites

  • Sprites up to 128 pixels in width or height are automatically handled by the graphics engine, so you don't need to join smaller sprites to achieve larger ones
  • Up to 128 8x8 sprites can be drawn in one 256-color frame if they are 8-pixel aligned
  • For arbitrary alignment, up to 66 sprites can be displayed in one 256-color frame
  • Horizontal and vertical sprite flipping is supported in all tiled modes
  • 256-color tiled mode supports 90°, 180°, and 270° Sprite rotation and as x-y swapping
  • Custom blending of sprites and background graphics in 256-color mode supports partially transparent sprites, explosions, lighting effects, etc.
  • Prioritize sprites over tiles or vice versa

Other Features

  • Smooth, full-screen arbitrary x-y scrolling in tiled modes
  • The color-change engine for 16-color mode supports per-line changes to the entire palette or to any one of the 16 colors
  • Color-change also works at high resolution (400 vertical lines), which allows for smoother dithering effects and up to 256 on-screen colors
  • Per-line vertical row remapping can be used to create water or mirror effects, split or flipped screens, etc.
  • Row remapping also works at high resolution (400 vertical lines)
  • Supports independent, per-line and per-tile horizontal scroll for water deformation, parallax, etc.
  • Optional bottom- or top-fixed section to display status information such as a running score

Audio

  • Four 8-bit PCM channels mixed to a 10-bit mono channel
  • 30 ksps
  • Optional global low-pass filter with per-frame selectable low-pass frequency

Technical Specifications

  • uChip
    • ATSAMD21E18 @ 48 MHz
    • 256 kB of flash (232 kB available for the game)
    • 32 kB of RAM
  • MicroSD: Can store games and game data
  • VGA output: 57 Hz vertical frequency, 30 kHz horizontal frequency
  • Audio: 3.5 mm, 10 bit output jack
  • Controllers: Uses standard USB Gamepads and Keyboards
  • Power Input: 5 V via USB cable, 100 mA (up to mA observed)
  • Dimensions (W x L x H): 48 x 86 x 17 mm (without 1 cm hex standoffs or solder joints)

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: