

Picovic
Vic-20 emulation on a Raspberry Pi Pico
- Size
- 54.6 × 53.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 22
- Nets
- 39
- Pads
- 101
- Tracks, vias
- 137, 20
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 8 Jul 2021
- Updated
- 23 Oct 2023
Overview
Picovic is an open-source printed circuit board by jfoucher, from the jfoucher/picovic repository on GitHub, published under the MIT licence. It is a 2-layer board of 54.6 × 53.3 mm with 22 parts on 39 nets, routed with 137 tracks and 20 vias.
It is built around the 74HC14 and RP2040-ZERO. Its parts include 14 resistors, 3 connectors, 2 capacitors and 1 IC. It belongs with the retro computing and games boards and the RP2040 boards of this library.
Main components
2README
README.mdPICOVIC
This is a Commodore Vic-20 emulator for the Raspberry Pi Pico

Most of the 6502 emulation code is from fake6502.
A PS/2 keyboard can be plugged in to the pico according to the schematic and is used as an input device.
VGA output is based on the scanvideo code from pico-extra
The emulation is extremely basic and for example the VIAs are only emulated so that the cursor works in BASIC. The VIC chip only has the most simple functionality, in the interest of speed and laziness. However since for the time being the emulated speed is higher than the original VIC-20, more functionality will be added in the future.

Hardware
I designed a PCB to go with it. You can check out the hardware folder to get the source, or download the schematic and gerber files.
Parts
22| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 250R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R3, R6, R8, R11, R12, R13, R14 |
| 3 | 500R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R5, R7 |
| 2 | 0.1uF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C1, C2 |
| 2 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R4 |
| 2 | 2k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R9, R10 |
| 1 | 74HC14 | Package_DIP:DIP-14_W7.62mm_Socket | U1 |
| 1 | Conn_01x06 | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Horizontal | J2 |
| 1 | DB15_Female_HighDensity | Connector_Dsub:DSUB-15-HD_Female_Horizontal_P2.29x1.98mm_EdgePinOffset3.03mm_Housed_MountingHolesOffset4.94mm | J1 |
| 1 | Mini-DIN_6pins_ver2 | Custom_Footprints:Connector_Mini-DIN_Female_6Pin_2rows | P1 |
| 1 | RP2040-Zero | RP2040-Zero:RP2040-Zero | RZ1 |
The 21 most common of 22 parts.
Questions
How big is the Picovic PCB?
It measures 54.6 × 53.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Picovic use?
22 parts, built around the 74HC14 and RP2040-ZERO. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Picovic KiCad files?
From the jfoucher/picovic repository on GitHub, at the commit this page was made from: the board is hardware/picovic.kicad_pcb and its schematic hardware/picovic.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Picovic design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers132.3 × 94.9 mm

- 2 layers321 × 92.3 mm

- 2 layers255.9 × 99.3 mm

Zerosprey42
beekeeb/zerosprey42
Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.
96 parts140 - 2 layers146.3 × 69.5 mm

- 2 layers54 × 64 mm

DonConIOmini
ravinrabbid/DonCon2040
RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers
96 parts66MIT - 2 layers52 × 50 mm

RP2040-TestPatternGenerator VGA
nmur/RP2040-TestPatternGenerator
A simple test pattern generator running on the RP2040 microcontroller
12 parts64GPL-3.0 - 2 layers120 × 40 mm

Buinchiez40
ChrisChrisLoLo/bunchiez40
A pocket keyboard that makes use of mouse switches to achieve a miniscule size
90 parts56GPL-3.0 - 2 layers305.2 × 76.2 mm
