Author: LouD - generated on 2026-05-26
- Disclaimer
- Firmware types
- Firmware naming
- How to flash your Pico
- Firmware configuration
- Configuration tool
- Configuration web page (for Chrome/Edge based browsers using webusb)
- Default configuration
- Board clock rate
- Clock rate locked
- Audio mode
- Socket settings
- LED Enabled
- LED Idle breathe enabled
- RGBLED Enabled
- RGBLED Idle breathe enabled
- RGBLED Brightness
- RGBLED SID to use
- FMOpl Enabled
- FMOpl SID number
- CDC Enabled
- WebUSB Enabled
- Asid Enabled
- Midi Enabled
- License

Each PCB revision is the firmware designator, please check your PCB revision, this is under the MOS logo and next to USBSID-Pico on your PCB.
Firmware filenames contain the PCB revision number e.g. usbsidpico-rgb-v1.X.uf2 is for PCB revision v1.0 and for use with a black clone Pico containing an RGB LED.
Below are the filenames used for each Pico and board type, take great care in selecting the correct file for you Pico!
WARNING! Do NOT use the RGB firmware for any of the (non black) rp2040 or (non black) rp2350 Pico boards that do not contain an RGB LED, this can break your Pico!
The 1.X in each filename equals for the PCB revision as mentioned under firmware types. Don’t worry if you flash a firmware for the incorrect PCB revision, this causes no harm.
Firmware naming suited for the pico 1 always start with usbsidpico-
usbsidpico-v1.X.uf2 for regular green rp2040 Pico boards.
usbsidpico-rgb-v1.X.uf2 for black clone rp2040 Pico boards with RGB LED onboard.
usbsidpico_w-v1.X.uf2 for regular green rp2040 PicoW boards.
Firmware naming suited for the pico 2 always start with usbsidpico2-
usbsidpico2-v1.X.uf2 for regular green rp2350 Pico2 boards.
usbsidpico2-rgb-v1.X.uf2 for black clone rp2350 Pico2 boards with RGB LED onboard.
usbsidpico2_w-v1.X.uf2 for regular green rp2350 Pico2W boards.
Starting with firmware version v0.6.0-BETA firmwares ending with _em have an embedded emulator running Cynthcart.
For example usbsidpico-v1.0_em.uf2 or usbsidpico2-rgb-v1.3_em.uf2
See the USBSID-Pico-Cynthcart-manual file for more information.
Starting with firmware version v0.6.0-BETA firmwares ending with _sp have an embedded emulator that can play PSID and RSID tunes and PSID64 PRG/P00 files.
For example usbsidpico2-v1.0_sp.uf2 or usbsidpico2-v1.3-rgb_sp.uf2
This USBSID-Player is still in active development and some tunes might not work or play at all.
The embedded USBSID-Player requires more then 256KB RAM and an overclocked CPU which makes this firmware only available for rp2350 Pico2 boards.
See the USBSID-Player-manual file for more information.
NOTE:
When flashing a new firmware version, all previously configured settings will be reset to default. Use the commandline configtool to save your current settings to a ini file if you want to save them!
A Raspberry Pi Pico board is incredibly easy to flash, as it comes with a built in bootloader for flashing new firmwares in the uf2 format.
In order to flash a new firmware to your USBSID-Pico you will need to put the Pico into bootloader mode.
This can be done in multiple ways:
With the cable already plugged into your computer and Pico and seated on the board (using buttons):
-
Press and hold the
BOOTSELbutton on the Pico. -
Press and release the
RSTbutton on the USBSID-Pico board. -
Now release the
BOOTSELbutton. -
A new drive should appear on your computer called
RPI-RP2orRP2350depending on your Pico type. -
Copy the correct
uf2firmware file to this directory. -
After copying the Pico will reboot and your Pico is flashed.
With the cable not plugged in to your computer and Pico and also not seated on the board (using buttons):
-
Plug in the USB cable to your Pico and not into your computer.
-
While holding the
BOOTSELbutton on the Pico plugin the other end of the USB cable into your computer. -
Now release the
BOOTSELbutton. -
A new drive should appear on your computer called
RPI-RP2orRP2350depending on your Pico type. -
Copy the correct
uf2firmware file to this directory. -
After copying the Pico will reboot and your Pico is flashed.
With the cable already plugged into your computer and Pico and seated on the board (using software):
-
Go to the config webpage (usbsid.loudai.nl/index.html?player=webusb&debug=usbsidpico):
-
Connect to the board using
WebUSB (Hermit)as emulator -
Click on
Open config -
Scroll to the bottom of the page and click on
Bootloaderin the box markedother -
A new drive should appear on your computer called
RPI-RP2orRP2350depending on your Pico type. -
Copy the correct
uf2firmware file to this directory. -
After copying the Pico will reboot and your Pico is flashed.
or
-
With the CLI config tool command in your
PATHvariable -
Type
cfg_usbsid -bootto send the reboot to bootloader command -
A new drive should appear on your computer called
RPI-RP2orRP2350depending on your Pico type. -
Copy the correct
uf2firmware file to this directory. -
After copying the Pico will reboot and your Pico is flashed.
USBSID-Pico has an extensive set of configuration options that expands with each firmware release.
You can configurate your board by using the commandline config-tool or together with the Python Configuration GUI by ISL/Samar if you prefer a GUI.
Download script
Python3 → Download
TkInter → Installation guide
And either one of the Linux or Windows CLI downloads below
The latest version of the config tool is available in a zip file called tools.zip from release v0.6.0-BETA and up
If the DLL’s are missing from the zip file you can always download them from here:
Download DLL 1
Download DLL 2
USBSID web configuration tool (requires a Chrome based browser).
If needed you can change your USBSID configuration after selecting WebUSB and clicking on Open config.


The player is set up with borrowed code from Deepsid using Hermit’s JsSID implementation.
For additional testing there are some debug functions available on the usbsid.loudai.nl/?player=webusb&debug=usbsidpicoUSBSID Debug site (requires a Chrome based browser).
Each firmware version comes with the same default configuration.
An explanation for these settings can be found further on in this document.
Board clock rate: 1000000Hz
Clock rate locked: False
Audio mode: Mono
Socket One Enabled: True
Socket One Dualsid enabled: False
Socket One Chiptype: Real
Socket One Clonetype: Disabled
Socket One SID 1 type: UNKNOWN
Socket One SID 1 type: N/A
Socket Two Enabled: True
Socket Two Dualsid enabled: False
Socket Two Chiptype: Real
Socket Two Clonetype: Disabled
Socket Two SID 1 type: UNKNOWN
Socket Two SID 1 type: N/A
Socket Two Act as One: False
LED Enabled: True
LED Idle breathe enabled: True
RGBLED Enabled: False (True for RGB Pico’s)
RGBLED Idle breathe enabled: False (True for RGB Pico’s)
RGBLED Brightness: 0 (127 for RGB Pico’s)
RGBLED SID to use: -1 (1 for RGB Pico’s)
CDC Enabled: True
WebUSB Enabled: True
Asid Enabled: True
Midi Enabled: True
FMOpl Enabled: False
FMOpl SID no: 0
The Commodore64 has different clockrates depending on where you live, USBSID-Pico supports these different clock rates as configuration setting.
Supported SID players will automatically send a new clock rate request to the board to switch to.
Available options are:
DEFAULT 1000000Hz, PAL 985248Hz, NTSC 1022727, DREAN 1023440, NTSC2 1022730
Some players start sending data directly after the clockrate is changed. While in most cases this is no issue, some SID clones need some time to start up. This causes issues when the clock rate is changed on the fly.
Also changing the clock rate multiple times after another can cause data corruption to the SID which causes garbled sound.
To overcome this it is possible to lock the clockrate to the current setting it is set to. This blocks the ability for on the fly change requests.
Available options are:
False, True
PCB revision v1.3 only
Sets the audio mode for the headphone jack and audio out pins.
When set to Mono the audio of both SID sockets will be combined to mono.
When set to Stereo the audio of both SID sockets will be separated into left for SID1 and right for SID2
Available options are:
Mono, Stereo
Each socket comes with its own set of configurable options.
Enable or disable dualsid for this socket.
This requires the Chiptype for this socket to be set to Clone and ofcourse a dual SID supporting SID clone with support of connecting the A5 address line.
Available options are:
False, True
Set the type of SID chip for this socket.
Available options are:
Real, Clone, Unknown
This config setting is intended for future use
Available options are:
Disabled, Other, SKPico, ARMSID, FPGASID, RedipSID
This config setting is intended for future use
Available options are:
Unknown, N/A, MOS8580, MOS6581, FMOpl
This config setting is intended for future use
Available options are:
Unknown, N/A, MOS8580, MOS6581, FMOpl
Disable or enable the use of the onboard LED.
When enabled this automatically enables the LED as Vu meter for the voices of SID1.
Available options are:
False, True
Disable or enable the idle breathing effect for the onboard LED.
Available options are:
False, True
Only for black Pico clones with onboard RGB LED
Disable or enable the use of the onboard RGBLED.
When enabled this automatically enables the RGBLED as Vu meter.
Available options are:
False, True
Only for black Pico clones with onboard RGB LED
Disable or enable the idle breathing effect for the onboard RGBLED.
Available options are:
False, True
Only for black Pico clones with onboard RGB LED
Set the maximum brightness of the onboard RGBLED.
Available range is:
0 to 255
Only for black Pico clones with onboard RGB LED
Set the SID of which to use the voices for the Vu meter.
Available options are (depending on your SID configuration):
-1 off, 0 off, 1 SID1, 2 SID2, 3 SID3, 4 SID4
Requires a SID clone with FMOpl capabilities, the socket Chip type set to Clone and SID type set to FMOpl before activation!
Available options are:
False, True
This setting cannot be changed manually
This setting will automatically be set to the correct SID number when all requirements are met as described under FMOpl Enabled