ea308bac290aefb438cb495105dcaffcc47b08dc
PicoSDKandFreeRtos
Minimal Raspberry Pi Pico 2 (RP2350) project running FreeRTOS to show task and queue creation / handling, task signaling, plus a small .NET tool to measure USB-CDC round-trip latency.
Firmware
The firmware exposes a simple ping protocol over USB-CDC. The host sends:
<id>:ping\n
and the Pico replies:
<id>:PONG!\n
Build & flash
Open the folder in VS Code with the Raspberry Pi Pico extension, then:
- If not prompted directly: Command Palette -> Raspberry Pi Pico: Import Pico Project
- Command Palette -> Raspberry Pi Pico: Run Pico Project (USB)
Required tooling (auto-installed by the extension):
- Pico SDK 2.2.0
- ARM GCC toolchain
14_2_Rel1 picotool2.2.0-a4- Ninja, CMake
Tool: response_tester.cs
A .NET 10 file-based app that bursts ping commands over the serial port and prints per-command and average round-trip latency.
Run
Requires .NET 10 SDK.
dotnet response_tester.cs
Adjust portName (default COM30) inside the file if needed.
Troubleshooting
Raspberry Pi Pico: Run Pico Project (USB) not working
- try Raspberry Pi Pico: Compile Pico Project
- hold
BOOTSELwhile connecting the Pico - a new drive should be mountable
- move the *.uf2 file from ./build onto the new drive
COM-Port
- On Windows the Pico typically appears as
COMx(check Device Manager). - On Linux it appears as
/dev/ttyACM0(orACM1, ...). - On macOS it appears as
/dev/tty.usbmodem*or/dev/cu.usbmodem*. - Update
portNameinresponse_tester.csaccordingly.
Description
Languages
C
89.8%
Assembly
9.5%
CMake
0.5%