These scripts build and deploy Vector to a Raspberry Pi Pico.
Vector requires Python 3 and the mpy-cross and mpremote tools.
python3 -m venv .venv
# Linux/macOS
source .venv/bin/activate
# Windows (Git Bash)
source .venv/Scripts/activate
pip install -r dev/requirements.txt
pre-commit installconda create -n vector python=3
conda activate vector
pip install -r dev/requirements.txt
pre-commit installRun the sync.py script from the repository root. Pass the target hardware (sys11, wpc, em, or auto) as the first argument and optionally the Pico serial port as the second argument.
python dev/sync.py sys11 /dev/ttyACM0The script builds the project, wipes the Pico, copies the files and connects to the REPL.
To automatically detect and flash all connected boards, run:
python dev/sync.py autoEach board is identified, firmware for each hardware platform is built once,
and all boards are flashed in parallel. Build artifacts are always written to
build/<hardware> so individual builds do not interfere with one another.
When more than one board is flashed, build and flash logs are suppressed and
progress updates in place starting at 0 of N boards complete with a small
ellipsis animation until all boards finish.
Create a dev/config.json file so the sync script can configure Wi‑Fi and game settings automatically:
{
"ssid": "Your WiFi SSID",
"password": "Your WiFi Password",
"gamename": "GenericSystem11",
"Gpassword": ""
}Tip
Optionally, if you create a dev/config_{system}.json (wpc,sys11,em), it will use that config instead. Useful if you find yourself flashing different machine system versions often.
Save the file with your values before running sync.py.
To generate an over‑the‑air update file run:
python dev/build_update.py --version 1.2.3 --target_hardware sys11The script packages files from build/<hardware> by default and writes
update.json to the repository root. Supplying --build-dir is optional; if
you point it at the root build directory the script automatically selects the
appropriate hardware subfolder.