Development
Pico ASHA is developed in C++ (with a bit of C) using the Pico SDK.
The build system is CMake, as that is what the SDK uses.
Compile firmware
Download pico-sdk 2.2.0, using the provided instructions.
Create an environment variable called PICO_SDK_PATH
that points to the downloaded SDK location.
Note
Prior to Pico SDK 2.2.0, the BT firmware did not properly support Data Length Extensions (DLE), and you had to manually apply a patch.
As of Pico SDK 2.2.0, the BT firmware has been updated to support DLE.
Unfortunately the version of TinyUSB included in Pico SDK 2.2.0 has a bug that prevents USB audio from working. An open PR has a fix, for convenience this fix is supplied as a patch in patches/tinyusb-v0.18-uac2-fix.patch
. cd to the lib/tinyusb
directory and git apply
the patch.
Build pico-asha
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPICO_BOARD=pico_w ..
cmake --build .
Compile GUI
A basic Qt GUI has been developed. You will need Qt6 development libraries (including qtserialport) available so that cmake can find it.
cd gui
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
Note
Linux users will most likely need to belong to the dialout
group to gain serial port permissions.