The connections shown in the diagram above are listed below. ``` Pico A GND -> Pico B GND Pico A GP2 -> Pico B SWCLK Pico A GP3 -> Pico B SWDIO Pico A GP4/UART1 TX -> Pico B GP1/UART0 RX Pico A GP5/UART1 RX -> Pico B GP0/UART0 TX Pico A VSYS -> Pico B VSYS ``` For more information on connecting the two Raspberry Pi Picos, the wiring loom between them and its connections, see the section _Appendix A > Wiring Loom_ in: [Getting Started with Raspberry Pi Pico][18] #### Raspberry Pi Pico Dev Board Alternatively, a custom printed Raspberry Pi Pico Dev Board can be used to enhance development, which includes: * Debug Probe Host (Raspberry Pi Pico) * Detachable Target (Raspberry Pi Pico) * Serial Interface * Reset Button * Breakout Pins * Selection of _VSys_ or _VBus_ Power Sources The custom printed Raspberry Pi Pico Dev board is shown below:
For more information on printing your own custom Raspberry Pi Pico Dev Board, see: [Raspberry Pi Pico Dev Board][19] ## Usage #### Running To run the firmware in debug mode: ```shell $ cargo run ``` To run the firmware in release mode: ```shell $ cargo run --release ``` #### Logging To change the default [`defmt`][5] log level, see `.cargo/config.toml`: ```toml [env] DEFMT_LOG = "trace" ``` You can also set the log level inline: ```shell $ DEFMT_LOG=debug cargo run $ DEFMT_LOG=error cargo run --release ``` ## Appendix #### Documentation * [Raspberry Pi Pico][1] * [Rust][3] * [Cargo][8] * [Rustup][15] * [Embassy][2] * [Knurling-RS `defmt`][5] * [Knurling-RS `flip-link`][6] * [Knurling-RS `probe-run`][7] * [Probe-RS `cargo-embed`][10] * [Probe-RS `probe-rs-debugger`][11] * [Raspberry Pi Pico `elf2uf2`][12] * [Raspberry Pi Pico `picotool`][13] * [CMSIS-DAP Firmware `DapperMime`][16] #### Resources * [Rust Embedded Book][20] * [Awesome Embedded Rust][21] * [Getting Started with Raspberry Pi Pico][22] * [Ferrous Systems Embedded Training][23] * [Ferrous Systems Embedded Teaching Material][24] * [RP-RS App Template][25] * [RP-RS Alternative Debug Probes][17] * [RP-RS Alternative Runners][14] * [Knurling-RS App Template][4] * [Probe-RS Probe Setup][9] * [Raspberry Pi Pico Dev Board][19] [1]: https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html [2]: https://embassy.dev/dev/index.html [3]: https://www.rust-lang.org/ [4]: https://github.com/knurling-rs/app-template [5]: https://github.com/knurling-rs/defmt [6]: https://github.com/knurling-rs/flip-link [7]: https://github.com/knurling-rs/probe-run [8]: https://doc.rust-lang.org/cargo/ [9]: https://probe.rs/docs/getting-started/probe-setup/ [10]: https://github.com/probe-rs/cargo-embed [11]: https://github.com/probe-rs/vscode [12]: https://github.com/JoNil/elf2uf2-rs [13]: https://github.com/raspberrypi/picotool [14]: https://github.com/rp-rs/rp2040-project-template#alternative-runners [15]: https://rustup.rs/ [16]: https://github.com/majbthrd/DapperMime [17]: https://github.com/rp-rs/rp2040-project-template/blob/main/debug_probes.md [18]: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf#picoprobe-wiring-section [19]: https://timsavage.github.io/rpi-pico-devboard/ [20]: https://docs.rust-embedded.org/book/ [21]: https://github.com/rust-embedded/awesome-embedded-rust [22]: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf [23]: https://embedded-trainings.ferrous-systems.com/ [24]: https://github.com/ferrous-systems/teaching-material [25]: https://github.com/rp-rs/rp2040-project-template