Skip to the content
PCBKitNew board
2 layers90 × 70 mmCarrier proto, the printed circuit board in 3D

Real Linux on a Raspberry Pi Pico, with its own PS/2 keyboard and VGA screen — the RP2040 emulates a RISC-V CPU, SPI PSRAM becomes system memory, and the guest drives real GPIO pins.

Size
90 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
18
Nets
28
Pads
108
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
15 Aug 2026
Updated
29 Oct 2026

Overview

Carrier proto is an open-source printed circuit board by flyboy-byte, from the flyboy-byte/riscv-pico repository on GitHub, published under the MIT licence. It is a 2-layer board of 90 × 70 mm with 18 parts on 28 nets.

Its parts include 4 resistors and 3 capacitors. It belongs with the keyboards and input and computers and single-board computers boards and the RP2040 boards of this library.

README

README.md

riscv-pico

A Raspberry Pi Pico running real Linux, with its own keyboard and screen.
The RP2040 emulates a RISC-V CPU, SPI PSRAM becomes system memory,
and the Linux guest drives real GPIO pins.

RP2040 Linux 6.6 RV32IMA 16MB PSRAM PS/2 + VGA

Website • Try it • How it works • Build one • Programming • Downloads • PLAN.md

The story, photos, full pin map and wiring diagrams: flyboy-byte.github.io/riscv-pico


[!NOTE] This is a build log, not an upstream improvement. It's my own vibe-coded "Linux on a Pico" project — the real projects below did the hard work; this repo forks, ports, and glues them together and writes down what happened. Posted in case it's useful to someone chasing the same idea. The code, docs, and this README were written by Claude Code; I directed it, tested on real hardware, and made the calls.

Built on

ProjectWhat it gave this repo
tvlad1234/pico-rv32ima + tiny-rv32imaThe fork point. Actively maintained, the emulator core, and the VGA and PS/2 console code.
ElectroBoy404NotFound/pico-linuxThe multi-chip PSRAM port and LCD console approach.
cnlohr/mini-rv32imaThe original RV32IMA-in-C emulator all of the above descends from.
xhackerustc/uc-rv32imaThe cache implementation this actually runs.
rswier/c4 via tvlad1234/c4The C compiler that runs on the machine itself.

Go star their repos, not this one.


The short version

A Pico has no MMU and about 264 KB of RAM. It was never meant to run an operating system. So: core 1 of the RP2040 runs a full RV32IMA interpreter, two SPI PSRAM chips stand in for system memory, and an SD card holds the kernel and root filesystem. Linux boots on top of that — and custom kernel drivers let the guest reach back out through the emulator to drive real hardware.

Add a PS/2 keyboard, a VGA monitor and a breadboard power supply, and it runs with no computer attached. You can write a program in nano on the Pico, run it, and have it blink an LED.

The build on a breadboard — Pico, PSRAM, SD card, and an OLED showing live stats

The OLED is reporting on the machine it's plugged into: 16 MB across 2 chips, live MIPS, uptime, 400 MHz clock.

And running on its own: PS/2 keyboard in, VGA monitor out, no PC anywhere.

sysinfo on the VGA monitor: Linux 6.6.18 on riscv32 with no MMU, 14 MB of RAMGNU nano editing hello.c on the VGA monitor
sysinfo: Linux 6.6 on an emulated RV32, 14 MB of RAMGNU nano editing hello.c, full screen
Tiny BASIC printing hello world, then c4 compiling and running hello.cMinesweeper in progress on the VGA monitor
Tiny BASIC, then c4 compiling and running that hello.cMinesweeper, in Lua

Status

What's actually verified, versus what merely compiles. No wishful thinking in this table.

FeatureNotes
✅Linux boots on a real PicoRP2040, 16 MB PSRAM, 60 MB rootfs off SD. Shell in well under a minute.
✅Runs standalonePS/2 keyboard in, VGA out, its own power supply. Files edited and saved with no PC attached.
✅GPIO from Linux → real pinsBoth /dev/gpiochipN (chardev + libgpiod) and /sys/class/gpio. Verified lighting an actual LED.
✅Runs real softwareTiny BASIC, Lua 5.4.7, GNU nano 7.2 (full-screen), sysinfo, and minesweeper.
✅nano on the VGA screenFirmware v6 rewrote the VGA terminal as a VT102, so nano draws correctly at 53×30. Verified on hardware. On v5, nano over VGA is unusable.
✅Custom kernel driversBlock device, GPIO, second console channel — real Linux drivers, not shims.
✅Desktop harnessBoots the same kernel on your PC in a few seconds. No hardware needed.
✅SSD1306 OLED panelA live stats visualizer. Not essential, just fun.
✅Programming on the PicoLua with sleep and raw key input, GPIO from Lua and the shell, the c4 C compiler, BASIC's BYE, and minesweeper. All verified on hardware.
✅Slimmer kernelNetworking removed, about 1 MB of RAM back. Boots on hardware.
🚧pico2 / pico2_w (RP2350)Builds clean for all four board targets. Never actually flashed.
❌Networking on the PicoRemoved on purpose for the RAM. The stack and a half-built host bridge live on in net-v1.
❌I²C / SPI / PWM / ADC for the guestDocumented as an idea in PLAN.md. Deliberately not built.

Try it in 60 seconds (no hardware)

A desktop build of the real emulator core, booting the same SD card image the Pico uses.

sh
git clone https://github.com/flyboy-byte/riscv-pico && cd riscv-pico
harness/build.sh

mkdir images
REL=https://github.com/flyboy-byte/riscv-pico/releases/download/sdcard-v2
curl -L $REL/riscv-pico-sdcard-v2.tar.gz | tar xz -C images

# lay the three files out on a FAT image, the way the firmware expects
dd if=/dev/zero of=harness/disk.img bs=1M count=80
mformat -F -i harness/disk.img ::
mcopy -i harness/disk.img images/IMAGE images/DTB images/ROOTFS ::

python3 harness/desktop_terminal.py harness/disk.img

Needs mtools, plus PyQt6 and python-pyte (sudo pacman -S python-pyte on Arch). Boots to a shell in a couple of seconds. Then try:

CommandWhat happens
lua /root/blink.lua 3Blinks GPIO line 0 three times. The harness prints each pin change
c4 /root/hello.cCompiles and runs C on the emulated machine
basicTiny BASIC. BYE gets you back out
lua /root/mines.luaMinesweeper. Arrow keys, space digs, f flags, q quits
nano, sysinfo, gpioinfo gpiochip0Editor, system banner, the GPIO chip

[!IMPORTANT] These images won't boot under stock mini-rv32ima. This project's emulator core adds custom block-device and console CSRs that upstream doesn't implement, so harness/build.sh builds this repo's own desktop copy of the real core instead. Background in CLAUDE.md.


How it actually works

The interesting part isn't that Linux boots. It's that the emulated guest can reach real hardware — so echo 1 > /sys/class/gpio/gpio512/value, typed into a Linux shell, ends with current flowing out of a physical pin.

text
┌─────────────────────────────────────────────────────────────────┐
│  RISC-V Linux guest                                 (emulated)  │
│                                                                 │
│      shell  ·  BASIC  ·  Lua  ·  c4  ·  nano                    │
│                       │                                         │
│      Linux 6.6, nommu, RV32IMA                                  │
│                       │                                         │
│      drivers:  gpio-tinyrv32  ·  block  ·  console              │
└───────────────────────┬─────────────────────────────────────────┘
                        │   CSR instructions   (GPIO = 0x1a0-0x1a3)
┌───────────────────────┴─────────────────────────────────────────┐
│  RP2040  @ 400 MHz                              (real silicon)  │
│                                                                 │
│      core 1  ──▶  tiny-rv32ima, the RV32IMA interpreter         │
│      core 0  ──▶  CSR handlers, VGA, PS/2, OLED                 │
└───────────────────────┬─────────────────────────────────────────┘
                        │
     ┌──────────────────┼──────────────────┬──────────────────┐
     ▼                  ▼                  ▼                  ▼
 2x SPI PSRAM      microSD card        GPIO pins        console I/O
 16 MB = RAM     kernel + rootfs     LEDs, buttons    PS/2, VGA, OLED

Linux sees ordinary devices — a block device, a gpiochip, a console. The RP2040 does the translating underneath. Full GPIO walkthrough, including wiring an LED and the exact ioctls, is in docs/GPIO_AND_BASIC_TUTORIAL.md. The website draws the whole machine, including where the 16 MB of memory actually lives.


Build one yourself

The whole path, start to finish. No compiler needed: the firmware and the SD card image are both prebuilt.

StepDo thisWhere
1Buy the partsParts
2Wire it: PSRAM and SD card first, keyboard and VGA afterWiring
3Flash the firmware: hold BOOTSEL, plug in, copy one .uf2 fileFirmware
4Put three files on a FAT32 microSD cardSD card
5Power on, press any key, wait for the ~ # promptFirst boot
6Blink an LED, edit a file, play minesweeperProgramming on the Pico

Parts — about $20 for the core

Everything here is what's on the verified build. No minimum order quantities, all single-quantity friendly. Prices drift; this isn't a live feed.

PartQtyNotes
Raspberry Pi Pico1Verified on a Pico H (RP2040). Builds for pico_w/pico2/pico2_w too, but RP2350 is untested.
APS6404L-3SQR-SN PSRAM, SOP-828 MB each → 16 MB. ProtoSupplies, ~$2.39 ea.
SMD→DIP 8-pin adapter1 pack~$0.79 for 5. Headers not included. The PSRAM is surface-mount; these get it onto 0.1" pitch.
microSD breakout, SPI1Any 3.3 V module labelled 3V3 CS MOSI CLK MISO GND.
microSD card14–32 GB, FAT32. Not SDXC/exFAT — Petit FatFs only speaks FAT12/16/32.
10 kΩ resistor1Pull-up for SIO2/SIO3 on both chips. One resistor covers all four pins.
SSD1306 OLED, 128×640–1Optional. Must be the I²C 4-pin variant, not SPI.
Decoupling capsa few100 nF ceramic + 10–100 µF bulk. Cheap insurance — see the power warning below.
Breadboard + jumpers—
Micro-USB cable1Flashing the firmware, and the serial console.

To run it without a PC, add:

PartQtyNotes
Serial Wombat PCB_0024 VGA breakout1Resistors already fitted. Plug in an ordinary VGA cable; six jumpers to the Pico.
VGA monitor + cable1Anything that takes 640×480 at 60 Hz.
PS/2 keyboard1A real PS/2 keyboard, not a USB keyboard on a passive purple adapter.
PS/2 socket breakout0–1Or do what this build did: cut the keyboard's cable and solder its four wires to a scrap of perfboard with jumper wires.
Logic level converter, BSS138 4-channel1PS/2 is a 5 V bus. Only the keyboard needs it.
USB-C breadboard power supply15 V rail powers the Pico and keyboard; 3.3 V rail powers the SD card and OLED.

[!CAUTION] Get the -SN (SOP-8) suffix, not -ZR. Same silicon, but -ZR is USON-8 — a 3×2 mm leadless package that is genuinely painful to hand-solder or rework. Plain APS6404L-3SQR with no suffix is bare die, not a packaged part at all.

Substitutes work fine. ESP-PSRAM64H, LY68L6400, and IPUS equivalents share the SOP-8 pinout and the 0x5D known-good-die ID the firmware checks for. For stock across distributors, try Findchips or Octopart.

Wiring

The core build is 3.3 V native and its console is USB serial, so no adapter is needed. The website has the full 40-pin map, a power and ground diagram, and a VGA wiring bench card.

[!WARNING] On the SD card module, MOSI and CLK cross over. The module's header order does not match the Pico's pin order. This is the single easiest mistake to make on the whole board, and it costs you an afternoon.

[!WARNING] The PS/2 keyboard runs at 5 V, and RP2040 pins are not 5 V tolerant. Route CLK and DATA through the level converter. Before the Pico is connected, meter the converter's low-voltage outputs: they must idle at 3.3 V, never 5 V. A resistor divider does not work on this bus.

PSRAM — two chips on a shared SPI bus

They differ only in chip-select:

Chip pinSignalChip 1Chip 2
1/CEGP13 (pin 17)GP14 (pin 19)
2SOGP12 (pin 16)GP12 — shared
5SIGP11 (pin 15)GP11 — shared
6SCLKGP10 (pin 14)GP10 — shared
3, 7SIO2, SIO3→ 3V3 via one shared 10 kΩsame
4, 8VSS, VDDGND, 3V3GND, 3V3

SIO2/SIO3 go unused in SPI mode. Pull them high, not low — some pin-compatible parts put an active-low /RESET or /HOLD on SIO3. One 10 kΩ covers all four pins; nothing ever drives them.

Default build is two-chip / 16 MB (PSRAM_TWO_CHIPS 1 in hw_config.h, EMULATOR_RAM_MB 16 in vm_config.h). Going single-chip? Set them to 0 and 8. Mismatching them is a compile-time #error, not a silent address-wrap bug that bites you three hours later. PSRAM_SPI_SPEED_MHZ defaults to 20, which stays stable even on messy breadboard leads.

microSD card module
ModulePico
CSGP0 (pin 1)
MOSIGP3 (pin 5)
CLKGP2 (pin 4)
MISOGP4 (pin 6)

⚠️ MOSI and CLK cross over — see the warning above. The module's header order does not match the Pico's pin order.

The card itself is plain FAT32 with IMAGE, DTB, and ROOTFS in the root. No special formatting.

PS/2 keyboard, through the level converter
Keyboard (mini-DIN-6)ConverterPico
Pin 1, DATAHV1 → LV1GP26 (pin 31)
Pin 5, CLKHV2 → LV2GP27 (pin 32)
Pin 4, +5 VHV5 V rail of the breadboard supply
Pin 3, GNDGNDCommon ground
—LV3V3 OUT (pin 36)

Wire colours are not standardised, so identify pins with a meter rather than by colour. Getting DATA and CLK swapped is harmless; if no keys arrive, swap them. The driver only receives, so Caps Lock and Num Lock lights never come on. No firmware change is needed — the keyboard driver is already in the firmware.

VGA, through the Serial Wombat PCB_0024 breakout

Use the breakout's outer header column, which is its 3.3 V input. The inner column is sized for 5 V and gives a dim picture.

BreakoutPico
VGP16 (pin 21)
HGP17 (pin 22)
GND headerGND (pin 23)
RGP18 (pin 24)
GGP19 (pin 25)
BGP20 (pin 26)

Reading the column bottom to top lands on the Pico's pins in order, so the jumpers run straight. Leave the five round pads along the top and the solder jumpers on the back unconnected. Green and blue aren't configurable in firmware: they always follow red on the next two pins. The picture is 320×240 in eight colours, and the terminal is 53×30 characters.

SSD1306 OLED status panel (optional)

Four separate jumpers — there's no free adjacent GPIO pair left on the board:

ModulePico
VCC3.3 V from a separate supply, not pin 36 — see the power warning below
GNDGND (pin 28), tied to that supply's ground at one point
SDAGP28 (pin 34)
SCLGP21 (pin 27)

Shows RAM/PSRAM config, boot stage, live MIPS, uptime, and clock — a stats panel, not a second console. It runs on core 0, which the emulator never touches, and probes at boot: with nothing attached, the firmware behaves exactly as if the code weren't there. Disable entirely with CONSOLE_OLED 0 in hw_config.h. If a panel is wired but stays blank, try OLED_I2C_ADDR 0x3D. It runs alongside VGA without conflict.

Running without a PC

Feed the breadboard supply's 5 V rail into VSYS (pin 39). Never feed 3.3 V into pin 36: that is the output of the Pico's own regulator, not an input. With USB unplugged there's no serial console, so the VGA screen shows the boot. Before pulling power, run sync or halt, or the ext2 root filesystem can be damaged.

[!WARNING] Breadboard power is the thing that will actually bite you. Wiring up the OLED destabilised the PSRAM bus and crashed boot — despite the two sharing no GPIO pins at all. The cause was a single 3V3 supply pin feeding PSRAM VCC, both chips' pull-ups, the SD card and the OLED, so any load spike on that node bled into everything else on it.

The fix was a single-point (star) power layout: separate supply for OLED/SD, PSRAM on its own clean VCC/GND, short jumpers, and decoupling caps at each chip's supply pins. If you see random resets or PSRAM failures that only appear once a second peripheral is wired up, check power distribution before you suspect the chip. Full writeup — including the wrong theories tried first — in PLAN.md and docs/HARDWARE_SCHEMATIC.md.

Firmware

Just want to flash something? Grab pico-rv32ima-boards-v6 — prebuilt .uf2 for all four board variants, ready to go. It includes the VGA, PS/2 and OLED consoles, and a VGA terminal that full-screen programs like nano can draw on.

Or build it from source
sh
# once — Pico SDK, shallow clone with just the tinyusb submodule (~65 MB)
git clone -b 2.1.1 --depth 1 https://github.com/raspberrypi/pico-sdk.git ~/pico-sdk
git -C ~/pico-sdk submodule update --init --depth 1 lib/tinyusb

firmware/build.sh              # all four boards → firmware/out/*.uf2
firmware/build.sh pico2_w      # or just one

About 150 KB per board. Flash by holding BOOTSEL while plugging in the Pico — it mounts as a USB drive called RPI-RP2 — then copy the .uf2 across.

SD card

  1. Format a 4–32 GB microSD card as FAT32.
  2. From sdcard-v2, download IMAGE, DTB and ROOTFS. The same three files are also bundled as riscv-pico-sdcard-v2.tar.gz.
  3. Copy all three to the root of the card, not into a folder. Their names must stay exactly as they are.

First boot

Plug the Pico into a PC over USB and open its serial console: screen /dev/ttyACM0 115200 on Linux, or PuTTY on the new COM port on Windows. With the VGA screen attached you can skip this and watch the monitor instead.

  1. The console prints PSRAM OK, then SD init OK, and waits for a keypress. Press any key, on the serial console or on the PS/2 keyboard. On the VGA screen, all you see before that is the pico-rv32ima, compiled … banner.
  2. Loading kernel image, then Starting RISC-V VM, then the Linux boot log.
  3. A ~ # shell prompt, in well under a minute. Try sysinfo.

Before unplugging, type halt, or at least sync. The root filesystem is ext2 and doesn't survive a hard power-off well.

If it doesn't boot
You seeLikely cause
Nothing at all over USB serialFirmware not flashed, or the console opened too late. Press a key; the boot waits for one anyway.
PANIC: PSRAM ERR, repeatingPSRAM wiring or power. Check /CE on GP13/GP14, the 10 kΩ pull-up, and that each chip has 3.3 V and ground.
PANIC: Error initalizing SDMOSI/CLK swapped (the most common mistake), the card isn't FAT32, or the module isn't 3.3 V.
PANIC: Error opening image fileThe card is readable but IMAGE isn't in its root, or it was renamed.
Boots, then random resets once the OLED or SD is addedPower distribution. See the warning above.
VGA monitor says "no signal"Check V and H on GP16/GP17 and the ground jumper. The monitor must accept 640×480 at 60 Hz.
Keyboard does nothingSwap DATA and CLK. Check the converter's low side idles at 3.3 V.
System hasn't been cleanly shutdownHarmless warning after a power-off without halt.

Programming on the Pico

You can write and run programs on the machine itself: open a file in nano, save it, run it. No PC.

LanguageTryNotes
Lua 5.4lua blink.luaAdds sys.sleep(seconds), sys.ms() and sys.raw(), which stock Lua lacks. GPIO goes through /sys/class/gpio.
C, via c4c4 gpio_set.c 1Compiles C to bytecode and interprets it. This copy adds for and write, and it can compile itself.
Tiny BASICbasicLine-numbered BASIC. BYE returns to the shell.
Shellsh script.shbusybox hush, not bash.

Every command for all of this is on one page in docs/CHEATSHEET.md. A shorter copy sized for the VGA screen is on the card: nano -v /root/help.txt pages through it when there's no PC attached.

The examples are in /root on the SD image. Blinking an LED in Lua looks like this:

lua
local function put(path, text)
  local f = io.open(path, "w"); f:write(text); f:close()
end

put("/sys/class/gpio/export", "512")                 -- GPIO line 0 = Pico GP1, pin 2
put("/sys/class/gpio/gpio512/direction", "out")
for i = 1, 10 do
  put("/sys/class/gpio/gpio512/value", "1"); sys.sleep(0.2)
  put("/sys/class/gpio/gpio512/value", "0"); sys.sleep(0.2)
end
put("/sys/class/gpio/unexport", "512")               -- release it, or gpioset says busy

There's a game, too: lua /root/mines.lua is minesweeper on the VGA screen. Arrow keys move, space digs, f flags, r restarts, q quits. Board size is optional — lua /root/mines.lua 20 14 40. Single keypresses need sys.raw(), another call the Lua build adds; where that isn't available it falls back to typed commands, so it works over a pipe too.

os.execute and io.popen don't work from Lua here: they need fork(), which a no-MMU machine doesn't have. Details on c4's language and limits are in apps/c4/README.md.

Cross-compiling bigger programs on a PC

There's a real cross-compiler for this target — riscv32-buildroot-linux-uclibc-gcc, producing the bFLT no-MMU binary format the kernel needs. apps/ holds the hand-written pieces: Tiny BASIC (basic.c), the Lua sys extension (lua_sys.c), c4, a GPIO chardev smoke test (gpiotest.c), and sysinfo.sh. Lua 5.4.7 and GNU nano 7.2 build straight from unmodified upstream sources and aren't vendored here.

The toolchain isn't checked in; grab toolchain-v2. The rebuild recipe and the gotchas already solved live in PLAN.md's "Cross-compile toolchain", "Real GNU nano" and "apps/" sections.


Downloads

Build outputs ship as GitHub releases rather than committed binaries, which keeps git clone fast.

ReleaseContents
sdcard-v2Current SD card image. No-network kernel; rootfs with Lua, c4, BASIC and examples, with the console sized for the VGA screen. Hardware-verified.
pico-rv32ima-boards-v6Current firmware, all four boards — 16 MB two-chip, VGA with a rewritten VT102 terminal, PS/2 with working Home/End/Delete/Page keys, OLED panel, GPIO CSRs.
toolchain-v2The cross-compiler, wchar-enabled (needed for nano/ncurses).
rv32harness-v1Desktop harness binaries, x86-64 Linux.
kernel-gpio-v2Previous kernel + rootfs, with networking. Hardware-verified.
net-v1The networking reference: TCP/IP stack and the second console channel's SLIP work.
apps-v1, apps-v2Older loose binaries. Everything current is in sdcard-v2.

Firmware -v5 boots sdcard-v2, but nano on its VGA screen is unusable. -v3/-v4 still boot too. -v1/-v2 are superseded single-chip 8 MB builds that don't boot the current rootfs.


Repo layout

PathWhatNotes
harness/this repoDesktop build of the real emulator core, plus a PyQt6 terminal app to drive it.
firmware/this repobuild.sh — one command, .uf2s for all four board targets.
apps/this repoPrograms for the target: Tiny BASIC, the Lua sys extension, examples.
apps/c4/rswier via tvlad1234The on-device C compiler, with for and write added here. GPL-2.0.
buildroot-overlay/this repoKernel config and the patches that create every custom device — block, GPIO, second console.
site/this repoThe website. Plain HTML, published to gh-pages.
docs/this repoGPIO and BASIC tutorial, hardware schematic handoff notes, images.
experiments/this repoSide quests, like a Raspberry Pi 4 pretending to be an SD card.
upstream/pico-rv32ima/tvlad1234The fork this builds on. No longer pristine — the PSRAM port lives here.
upstream/pico-rv32ima/tiny-rv32ima/tvlad1234The emulator core. Also edited by the same port.
upstream/pico-linux/ElectroBoy404NotFoundReference only, still pristine. Source of the PSRAM port logic.

All three upstream/ paths are git subtrees with full history, so git log -- upstream/<x> works and upstream changes can still be pulled — commands in CLAUDE.md.

PLAN.md is the living state doc — every decision, every bug, every dead end, and what's next. It's far more detailed than this file.


License

This repo's own code (harness/, apps/, firmware/, buildroot-overlay/, site/, docs) is MIT — see LICENSE — except apps/c4/, which is GPL-2.0 like the c4 it comes from. Everything under upstream/ keeps its original licensing (MIT / Apache-2.0 / BSD-3); see the LICENSE in each subtree.

Parts

18
QtyValueFootprintReferences
410kR_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4
2BSS138 4ch level converter -PinSocket_1x06_P2.54mm_VerticalJ_LVL_HV, J_LVL_LV
2PSRAM APS6404L on DIP-8 adapDIP-8_W7.62mm_SocketU_RAM1, U_RAM2
1100n RAM1C_THT_P2.54mmC1
1100n RAM2C_THT_P2.54mmC2
110u bulkC_THT_P5.08mmC3
13-way screw terminal 2.54mmTerminalBlock_Phoenix_MPT-0,5-3-2.54_1x03_P2.54mm_HorizontalTB1
1PS/2 socket breakoutPinSocket_1x04_P2.54mm_VerticalJ_PS2
1Pico LPinSocket_1x20_P2.54mm_VerticalJ_PICO_L
1Pico RPinSocket_1x20_P2.54mm_VerticalJ_PICO_R
1SSD1306 128x64 0.96inPinSocket_1x04_P2.54mm_VerticalJ_OLED
1Serial Wombat PCB_0024 VGA bPinSocket_1x06_P2.54mm_VerticalJ_VGA
1microSD SPI breakoutPinSocket_1x06_P2.54mm_VerticalJ_SD

Questions

How big is the Carrier proto PCB?

It measures 90 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Carrier proto use?

18 parts. 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 Carrier proto KiCad files?

From the flyboy-byte/riscv-pico repository on GitHub, at the commit this page was made from: the board is hardware/carrier/carrier_proto.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Carrier proto 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 layers27.9 × 16.5 mmPowerSSO-24 breakout, the printed circuit board in 3D

    PowerSSO-24 breakout

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    18 parts1.2k
  • 2 layers42.7 × 13.7 mmStm32-mini12864, the printed circuit board in 3D

    Stm32-mini12864

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    18 parts1.1kGPL-3.0
  • 2 layers41.2 × 46.6 mmThumb cluster left, the printed circuit board in 3D

    Thumb cluster left

    JesusFreke/lalboard

    A 3D-printed keyboard inspired by the DataHand

    18 parts993
  • 2 layers44 × 51.3 mm4272MAVcoder R4, the printed circuit board in 3D

    4272MAVcoder R4

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    18 parts915
  • 2 layers28.3 × 14.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    18 parts716GPL-3.0
  • 2 layers20.3 × 15.2 mmL0 stepper driver, the printed circuit board in 3D

    L0 stepper driver

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    18 parts546MIT
  • 2 layersMooltipass, the printed circuit board in 3D

    Mooltipass

    limpkin/mooltipass

    Github repository dedicated to the mooltipass project

    18 parts531
  • 2 layers42.5 × 28.8 mmC5VRX JACK DIY V2, the printed circuit board in 3D

    C5VRX JACK DIY V2

    Twotoz/C5VRX

    Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS

    18 parts515GPL-3.0