# pico_dm_qd3503728_embedded_graphics **Repository Path**: embeddedboys/pico_dm_qd3503728_embedded_graphics ## Basic Information - **Project Name**: pico_dm_qd3503728_embedded_graphics - **Description**: A Rust embedded_graphics crate porting for Pico_DM_QD3503728, based on rp2040. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-09 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### embedded_graphics porting for Pico_DM_QD3503728 ## TODO - [x] Display via GPIO - [ ] Display via PIO - [ ] Display via PIO+DMA - [ ] Support touch screen ## Hardware Requirements - Raspberry Pi Pico board - Pico_DM_QD3503728 display extends board - A Micro-USB or USB-C cable - (A CMSIS-DAP compatible SWD debugger) ## Software Requirements 1. Rust is needed before build this project, on linux or WSL we could install it easily by this: ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` 2. Install toolchain for rp2040: ```bash rustup self update rustup update stable rustup target add thumbv6m-none-eabi ``` 3. Install these helpful tools for debugging and download. ```bash # Useful to creating UF2 images for the RP2040 USB Bootloader cargo install elf2uf2-rs --locked # Useful for flashing over the SWD pins using a supported JTAG probe sudo apt install cmake libudev-dev -y cargo install --locked probe-rs-tools ``` ## Run on Pico After all the software requirements are installed, we can build the project: ```bash cargo build -r ``` ### Depoly the firmware 1. Download via CMSIS-DAP debugger: copy `50-cmsis-dap.rules` to `/etc/udev/rules.d/` ```bash sudo udevadm control --reload-rules sudo udevadm trigger ``` then flash the firmware ```bash probe-rs run --chip RP2040 --protocol swd target/thumbv6m-none-eabi/release/rp2040-project-template ``` 2. Dowload via RP2040 bootloader: Hold the `BOOTSEL` button on the raspberry pi pico connect the usb cable to the board. ```bash elf2uf2-rs -d target/thumbv6m-none-eabi/release/rp2040-project-template ``` Or you can simply flash the firmware by the following steps: 1. modify the `runner` in `.cargo/config.toml` to suit your needs: ```toml runner = "probe-rs run --chip RP2040 --protocol swd" # runner = "elf2uf2-rs -d" ``` 2. run the target ```toml cargo run -r ```