Home

Awesome

ΞΌPico

<img width="500" src="docs/upico.jpg" />

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<sup>βˆ’6</sup> * 10<sup>-12</sup> = 10<sup>-18</sup> πŸ€“

Features

Resources

<a href="https://www.tindie.com/stores/quadbit"><img src="https://d2ss6ovg47m0r5.cloudfront.net/badges/tindie-mediums.png" alt="I sell on Tindie" width="150" height="78"></a>

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

<img width="500" src="docs/upico_hld.png" />

GPIO Header Pinout

╔══════╦══════╗
β•‘ 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

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.