Skip to the content
PCBKitNew board
6 layers36 × 77 mmUpico, the printed circuit board in 3D

uConsole RP2040 Expansion Card

Size
36 × 77 mm
Copper layers
6
Thickness
0.71 mm
Parts
72
Nets
101
Pads
344
Tracks, vias
1,120, 139
Pours
472
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
8 Oct 2023
Updated
22 Jun 2024

Overview

Upico is an open-source printed circuit board by dotcypress, from the dotcypress/upico repository on GitHub, published under the Apache-2.0 licence. It is a 6-layer board of 36 × 77 mm with 72 parts on 101 nets, routed with 1,120 tracks and 139 vias.

It is built around the RP2040 and USBLC6-2P6. Its parts include 23 capacitors, 23 resistors, 7 ICs, 6 connectors and 1 diode. It belongs with the RP2040 boards of this library.

Main components

2

README

readme.md

μPico

What is it?

uPico is a RP2040 powered expansion card designed to enhance the capabilities of Clockwork's uConsole.

⚠️ Only R-01 and CM4 core are supported by control application. Work in progress for A04/A06 core modules.

Second project name is atto, cause 10−6 * 10-12 = 10-18 🤓

Features

  • Internal Speakers Support
  • Type-C (USB 2.0) port with programmable power switch and overcurrent protection
  • 3.3V and 5V external power out with programmable switch and overcurrent protection
  • RP2040 with extenal double-double PMOD compatible connector
  • RP2040 controllable LED

Resources

I sell on Tindie

Control app installation

  1. Download latest build from Releases page
  2. Extract installer: mkdir dist && tar -xzf upico_%version%.%core%.tar.gz -C dist
  3. Install: cd dist && sudo ./install.sh
  4. Cleanup: cd .. && rm -rf dist
  5. Print help: upico help

Building control app from sources

  1. Install rustup by following the instructions at https://rustup.rs
  2. Clone this repo: git clone git@github.com:dotcypress/upico.git && cd upico
  3. Build: cargo build --release
  4. Install app: sudo cp target/release/upico /usr/local/bin/
  5. Install service: sudo cp upico.service /etc/systemd/system/
  6. Enable service: sudo systemctl enable upico
  7. Start service: sudo systemctl start upico
  8. Setup uPico extender USB device: echo 'SUBSYSTEM=="usb",ATTRS{idVendor}=="1209",ATTRS{idProduct}=="bc07",MODE="0660",GROUP="plugdev"' > /etc/udev/rules.d/50-upico-permissions.rules
  9. Reload udev: udevadm control --reload-rules
  10. Print help: upico help

Flash firmware

  1. wget https://rptl.io/pico-blink
  2. upico install pico-blink or upico install -m pico-blink if automount is disabled for hot-plug devices.

See other examples: https://github.com/raspberrypi/pico-examples

High level design diagram

GPIO Header Pinout

text
╔══════╦══════╗
║ AUX  ║ AUX  ║
╠══════╬══════╣
║ VDD  ║ VDD  ║
║ GND  ║ GND  ║
║ IO3  ║ IO7  ║
║ IO2  ║ IO6  ║
║ IO1  ║ IO5  ║
║ IO0  ║ IO4  ║
╠══════╬══════╣
║ IO27 ║ IO29 ║
║ IO26 ║ IO28 ║
║ IO18 ║ IO19 ║
╠══════╬══════╣
║ VDD  ║ VDD  ║
║ GND  ║ GND  ║
║ IO11 ║ IO15 ║
║ IO10 ║ IO14 ║
║ IO9  ║ IO13 ║
║ IO8  ║ IO12 ║
╚══════╩══════╝

Errata

CM4 core & uPico PCB rev:0x02

  • Overcurrent reporting feature isn't supported.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Parts

72
QtyValueFootprintReferences
12100nFCapacitor_SMD:C_0402_1005MetricC3, C4, C7, C8, C9, C10, C11, C12, C13, C18, C19, C20
710uFCapacitor_SMD:C_0603_1608MetricC14, C15, C16, C17, C21, C22, C23
7DNPResistor_SMD:R_0402_1005MetricR2, R6, R7, R8, R9, R12, R13
410KResistor_SMD:R_0402_1005MetricR17, R18, R19, R20
3AP22652_3xPackage_TO_SOT_SMD:SOT-23-6U5, U6, U7
2100KResistor_SMD:R_0402_1005MetricR21, R22
21KResistor_SMD:R_0402_1005MetricR1, R3
22.2KResistor_SMD:R_0402_1005MetricR10, R11
227RResistor_SMD:R_0402_1005MetricR4, R5
227pFCapacitor_SMD:C_0402_1005MetricC1, C2
24.7uFCapacitor_SMD:C_0402_1005MetricC5, C6
256KResistor_SMD:R_0402_1005MetricR15, R16
2MountingHoleMountingHole:MountingHole_5.3mm_M5H1, H2
2USBLC6-2P6Package_TO_SOT_SMD:SOT-666U3, U4
2uConsoleSpeaker@upico:speakerJ5, J6
1+3.3VTestPoint:TestPoint_Pad_D1.0mmTP2
1+5VTestPoint:TestPoint_Pad_D1.0mmTP3
112MHzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY1
147KResistor_SMD:R_0402_1005MetricR23
1510RResistor_SMD:R_0402_1005MetricR14
1BOOTTestPoint:TestPoint_Pad_D1.0mmTP6
1CameraConnector_FFC-FPC:Hirose_FH12-22S-0.5SH_1x22-1MP_P0.50mm_HorizontalJ4
1GNDTestPoint:TestPoint_Pad_D1.0mmTP1
1LEDLED_THT:LED_SideEmitter_Rectangular_W4.5mm_H1.6mmD1
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU2
1RUNTestPoint:TestPoint_Pad_D1.0mmTP5
1USB D+TestPoint:TestPoint_Pad_D1.0mmTP7
1USB D-TestPoint:TestPoint_Pad_D1.0mmTP8
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J3
1VDD ENTestPoint:TestPoint_Pad_D1.0mmTP4
1W25Q32JVUX@upico:USON-8_2x3mm_P0.5mmU1
1uConsoleEXT@upico:extJ1
1uPico ConnectConnector_PinSocket_2.54mm:PinSocket_2x16_P2.54mm_HorizontalJ2

The 71 most common of 72 parts.

Questions

How big is the Upico PCB?

It measures 36 × 77 mm and has 6 copper layers, 0.71 mm thick.

What parts does the Upico use?

72 parts, built around the RP2040 and USBLC6-2P6. 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 Upico KiCad files?

From the dotcypress/upico repository on GitHub, at the commit this page was made from: the board is pcb/upico.kicad_pcb and its schematic pcb/upico.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Upico design in my own project?

Its repository publishes it under the Apache-2.0 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

  • 4 layers180.8 × 300.3 mmDilemma, the printed circuit board in 3D

    Dilemma

    Bastardkb/Dilemma

    The Dilemma is a vertical stagger low-profile keyboard with mods.

    383 parts590
  • 4 layers70 × 72 mmSPINC AA Charger, the printed circuit board in 3D

    SPINC AA Charger

    CoretechR/SPINC

    DIY Automatic Battery Charger Using RP2040

    101 parts467GPL-3.0
  • 4 layers94.4 × 72.8 mmRP2040 base, the printed circuit board in 3D

    RP2040 base

    Twisted-Fields/rp2040-motor-controller

    A dual channel brushless motor controller based on the RP2040 microcontroller, designed in Kicad.

    325 parts419
  • 2 layers172 × 152.9 mmTrackpad, the printed circuit board in 3D

    Trackpad

    george-norton/peacock

    A big QMK powered trackpad

    102 parts309CERN-OHL-S-2.0
  • 4 layers95.6 × 73.6 mmMathpad, the printed circuit board in 3D

    Mathpad

    Summa-Cogni/Mathpad

    A mathematical keypad for students and professionals

    93 parts243
  • 4 layers114 × 87.7 mmHelios panel, the printed circuit board in 3D

    Helios panel

    0xCB-dev/0xCB-Helios

    rp2040 pro micro drop in

    887 parts119
  • 4 layers137 × 141 mmPcb panel, the printed circuit board in 3D

    Pcb panel

    0xCB-dev/0xCB-1337

    Mechanical macropad with OLED running QMK

    485 parts61
  • 2 layers64 × 21.6 mmGamepad, the printed circuit board in 3D

    Gamepad

    CoretechR/DIY-Portrait-Mode-Gamepad

    A USB-C Gamepad for Portrait-Mode

    53 parts60GPL-3.0