Home to the embedded PCB code that runs Guppy: Palouse RoboSub's 2026 AUV for the international RoboSub competition. This code runs on the custom circuit boards we designed and assembled in-house!
Currently, the CAN base code comes from KevinOConnor/can2040.
To acquire the necessary build dependencies you can use the Dev Container or Nix.
- Install an IDE which supports Dev Containers (VSCode, CLion, etc.)
- Install
picotoolfrom your package manager or the repository - Build and reopen the project within the Dev Container. (IDE specific)
- Install Nix
- Run
nix-shellto enter an environment with dependencies andpicotoolinstalled
- Make and enter a build dir:
mkdir buildandcd build - Generate build files:
cmake .. - Compile:
make
To start, plug in the board to your computer.
- Put the microcontroller into bootsel mode by holding down the RST and BOOT buttons
- It should then connect to your computer as a storage device
- Move
board_[board-name].uf2onto the storage
picotool load -f board_[board-name].uf2You may have to manually put the microcontroller into bootsel mode if it's being uncooperative.
/lib: Libraries (ledandguppy_libare bespoke)/src/modules: Board-specific code/src/main.cpp: Entrypoint
- Make a new branch with the format
name/feature_namesuch asadrian/add_status_ledand make all changes in that branch. - Make a Pull Request to the
mainbranch and request@guppyadrianas a reviewer. - Make sure all commits have proper messages starting with
feat:,chore:, orfix: - Document and comment all of your code!
- Ensure your code works before merging into main!
Need to get in touch? Reach out to robosub.vcea@wsu.edu.
We are sponsored by many generous companies and people, including:
- OSH Park PCBs
- Blue Robotics
- Real Digital
- Solidworks
- Vectornav
- JoeScan
- WaterLinked
- LattePanda
- Tektronix
- And many many other personal supporters through their generous donations!
Do you like our work? Consider sponsoring our team!
