Getting Started

Project Setup

How to setup the project locally.

Clone Repo

To get started clone the repo onto your system:

git clone https://github.com/Pico-Router/Pico-Router.git

Dev Container

For an easier introduction to the project it is heavily encouraged to use the pre-made Dev Container as it includes all the necessary depencies and toolchains.

Make sure that alongside Docker Desktop you have at least 8GB of free disk space on your system to comfortably build and run the container.

Build the Dev Container image from project root using:

docker buildx build --platform linux/amd64 --load -t pico-router-dev:latest -f .devcontainer/Dockerfile .

To open the project in the Dev Container on VS Code you'll need Microsoft's Dev Containers extension. After that's installed run Dev Containers: Reopen in Container in the command pallet ( Ctrl P ) to reopen the project in the container.

Manual Setup

In case you decide to work with Pico Router without the Dev Container make sure you have at least the following dependencies installed:

  • CMake 3.13+
  • A C++17-capable compiler
  • The Raspberry Pi Pico SDK available through PICO_SDK_PATH
  • The arm-none-eabi toolchain for Pico builds
  • Python 3 for custom tooling

Firmware Builds

To build the Pico Router firmware from source you have two options. You can either build the firmware for the Raspberry Pi Pico 2 hardware target or you can build the binary for your host system for testing. To distinguish between the two build targets the CMake -DBUILD_PICO=ON build flag is used.

cmake -S . -B build-pico -DBUILD_PICO=ON
cmake --build build-pico

Running Unit Tests

Pico Router uses GTest as its main testing framework.

TODO: add basic unit test explainer