USBSID-Pico, image 1 from its README
1/14
Firmware

USBSID-Pico

Loud83/100

USBSID-Pico is a RPi Pico (RP2040/W RP2350/W) based board for interfacing one or two MOS SID chips and/or hardware SID emulators over (WEB)USB with your computer, phone, ASID supporting player or USB

USBSID-Pico is custom firmware for the LouD USBSID-Pico, by @LouDnl. Open source under GPL-2.0, latest release v0.8.0 (September 2026), 125 stars on GitHub.

forLouD USBSID-Pico·by@LouDnl

Unclaimed. Is this yours? Sign in with GitHub as @LouDnl to claim it.

Downloads
0
Stars
125
Forks
5
Commits
1,006
Last commit

GPL-2.0· LouDnl/USBSID-Pico·discord.gg/zG2rxXuT2g·downloads come from the creator’s GitHub releases

431
Commits
25
Releases
431 commits and 25 releases in the last year
Activity · last 12 months
34 releases
  1. d20261104d20261104 snapshotBeta10 files
  2. d202610271d202610271 snapshotBeta10 files
  3. d202610261d202610261 snapshotBeta10 files
  4. d202610241d202610241 snapshotBeta10 files
  5. d202610041d202610041 snapshotBeta10 files
  6. d202610031d202610031 snapshotBeta10 files
  7. d20260923d20260923 snapshotBeta10 files
  8. d202609111d202609111 snapshotBeta10 files
  9. v0.8.055 files
    image

    Most important changes in this release:

    • Add full MIDI implementation overhaul: dedicated flash-backed MIDI config storage, MIDI engine/handler/queue/voice/patch/arp table modules, MIDI clock control, sid bus spinlock
    • Add FMOpl (OPL2/3) MIDI control, fixes and new config item support
    • Add MIDI patch and arpeggiator table examples, MIDI example tools (CC controller, patch editor), VMPK/Strudel/TidalCycles MIDI examples
    • Migrate embedded Cynthcart to run through the onboard USBSID-Player instead of the old emudore-based path, new _cc firmware variant
    • Add embedded USBSID-Player support for Pico and Pico W (rp2040) builds, previously Pico 2 / Pico 2 W only
    • Deprecate and remove "Adorable" onboard C64 emulator (emudore) support
    • Fix SIDs getting disabled on USB dismount
    • Fix last_preset config setting for all PCB versions
    • Guard ASID writes during reset and while ASID is disabled
    • Fix stale DMA functions
    • Add overclock warning (250MHz) to README and manuals for firmwares using the embedded USBSID-Player or Cynthcart
    • Fix compilation error caused by octal-looking version numbers
    • Update GitHub and GitLab CI build workflows
    • Update firmware, Cynthcart, PCB v1.0/v1.3/v1.5, Configtool and Player manuals
    • Add docstrings across source, add extra compiler attributes

    Commits in this release: d4a8e48 Merge pull request #103 from LouDnl/dev 511d69b .gitignore c00c277 CHANGELOG.md 61cabb9 Bump version dd6db10 Embedded player on Pico1 whoo! b07cb43 Update manuals 993dfcb Add overclock warnings where needed 0e1388d build scripts aa51939 Midi Patch and Arp table examples a4c8254 housekeeping 618e2fc Midi example tools 723aaf7 .gitignore 086d64c Update the PrusaSlicer project 563039a .gitignore 55011f7 b l o g b2a33f9 Another tidalwave d490732 vmpk a5cea59 tidalwaves 3b8f044 el strudel 8350152 .gitignore 4ca739f A wikiwiki... 60f3900 CMakeLists.txt bb376f0 workflows 091346e .gitlab-ci.yml 49f73d5 Update manuals 926baa6 Midi Phase 2 29058f6 CHANGELOG.md 12e14e3 .gitignore 84c7416 housekeeping f6fab3b README.md df3e100 Nothing to see here, just a test d63415e Whoops, forgot a line there 3d70fd4 Functions use shall you, variables not! 8578b0d Fix stale DMA functions 93b0c97 housekeeping 3e5d913 housekeeping 5c4dd3d Add extra compiler attributes ecfbfb8 Migrate embedded Cynthcart to USBSID-Player eea6266 Prepare build script for Cynthcart via USBSID-Player 50538ce .gitignore 97c508e Deprecate and remove Adorable, you're out! a2fd434 Dawn of the docstrings 0730313 Fix compilation error on octal version number issues d005521 Fix SIDs getting disabled on USB dismount 50e0113 Midi implementation overhaul (part 1 of unknown) - add sid bus spinlock - add dedicated flash for midi config - add midi clock control - add midi engine - add midi handler - add midi queue - add midi config - add new midi source and header files - add fmopl midi control - update sysex handling - update midi defs - update sid defs - remove deprecated midi_task - general cleanup of no longer used/ unused variables and functions 39cae7a Make sure we don't write while resetting or when Asid is disabled. a447f3d Fix last_preset config setting for all PCB versions

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.7...v0.8.0

    Show all 55 files
  10. d202609031d202609031 snapshotBeta13 files
  11. d202609021d202609021 snapshotBeta9 files
  12. v0.7.746 files

    Commits in this release: 254c0db Merge pull request #101 from LouDnl/dev 7876391 Housekeeping d5979b7 Fix board -> host via webusb writes to 64 bytes feb4c47 Add mute/ clear so OPL audio wont linger 205b41f Remove deprecated item bbae9ac WebUSB config read fix 3fb3925 web fixes

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.6...v0.7.7

    Show all 46 files
  13. d202608181d202608181 snapshotBeta11 files
  14. v0.7.646 files

    Commits in this release: cf1ffb3 Merge pull request #100 from LouDnl/dev a33172b Wippy wappy webby a7793de It's always Winblows 🪟 43299d7 Bump version for release 62ad123 Update web config tool eead0dd Update buildtools workflow a9fe342 Add default support for songlenths to send_sid 5b85537 Add and implement new onboard player features

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.5...v0.7.6

    Show all 46 files
  15. v0.7.546 files

    Commits in this release: ea4d89b Merge pull request #99 from LouDnl/dev 4319bea config tool web updates 320fd0d Update config-tool-web with USBSID-Player only handlers fd44f75 Bump version ec9924d Optimise Vu handling db5e2a6 Housekeeping 3cd9b03 Fix Vu on Embedded play without USB 7676170 Fix ASID regression cd216a0 Fix ID assignment 3c3f710 Feature logging 452b78e FMOpl fixes and feature support 15255bd Fix FMOpl and add support for new config items d9e703c Add small delay after voltage off f3b925b Fix timing issue in detect_all ad3a949 Fix issue in update_probe_config_from_detection 692f2f8 Fix FPGASID detection leaving it in config state 52d3612 Guard buffer overrun in buffer tick fa58359 Fixup SKPico fw type detection e597ba7 Force rp2350 to 250MHz with onboard SID Player f66ec70 Main loops housekeeping and tuning 4b9347e Add CDC itf guard c089eec Remove unused RAM pointers for SIDPlayer 9b8f597 Update CLI config tool for new features 3b38ce0 Fix claim/detach/release/unclaim kernel driver issues 45f0978 Fix claim/detach/release/unclaim kernel driver issues bad38ea README.md 23ca534 README.md 689b09e Add Cartridge Case by spotUp, LouD v1.5 remix

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.4...v0.7.5

    Show all 46 files
  16. v0.7.446 files

    Commits in this release: 0918386 Merge pull request #98 from LouDnl/dev a41e81b Get ready for release 8ff2286 And now, the end is near! bbf6089 Last time today 0839700 Another attempt 1dbf182 New embedded player build code e8e2dfc Add player supporting code 4b7f4ef Add new USBSID-Player for Web 7aa08e2 Fix v1.5 regression in SID play after socket change detection 5f436cc Update Vendor class (webusb) for new web player

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.3...v0.7.4

    Show all 46 files
  17. v0.7.346 files

    Commits in this release: cd56c6b Merge pull request #97 from LouDnl/dev ff9d272 Bump version 9c7425f Fix voltage apply when saving config without reboot 2f49edf Return last_preset in config buffer 19edfe5 whitespace 9644e99 Set current preset based on current config (v1.5+) 8f46de7 Web player url loading addition

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.2...v0.7.3

    Show all 46 files
  18. v0.7.246 files

    Commits in this release: aebda4c Merge pull request #96 from LouDnl/dev f4886b5 fix fpgasid configf address display error ef47a16 Fix disable autodetect feature so the configtool gui actually works :) 0cbedce Moar 💩 d671bc6 Oopsie the poopsie! a4cdc5b Add additional SID player commands 61a63d7 Add USB command to read compiled USBSID features 031413a Merge pull request #95 from LouDnl/dev 08d131f Fix incorrect versioning in ibom 6ff5bc3 Add v1.3 OSHWA certification to README a5a6c35 Update v1.3 schematic and bom 3bc75ce Add v1.3 kicad files 56dc701 Update v1.3 gerbers 9db98fe Add preliminary v1.3 OSHWA certification logos 9328607 Update v1.0 kicad files 6febb86 Typo's 🤓 6a87601 Merge pull request #94 from LouDnl/dev 1f9fe6b README.md 19e371c Volume daughterboard 841e31b README.md fc78775 Update documentation f2aad2f Oohhh e143f3d Add Volume-daughterboard files 8bca0b1 1.5 bom and schematic 6873ccc Do the shuffle! 3ba52e6 imaaajjeee 062ce4d Prepare licensing for 1.5 904eb91 Merge pull request #93 from LouDnl/dev 3219f94 Wrong link idiot, stop sharing p0rn! 8a7b119 Merge pull request #92 from LouDnl/dev 050e1aa Bye Tindie, hello SmallRun 017c586 Enable Windows and MacOS ARM in gitlab CI on gitlab.com only ff5e18d Consolidate build pipelines into a single runner cba4ae6 Fix build errors due to incorrect toolchain use 28db9ea Fix race conditions in build pipeline fbccf9d Update gitlab CI

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.1...v0.7.2

    Show all 46 files
  19. v0.7.146 files

    Commits in this release: ab8e594 Merge pull request #91 from LouDnl/dev 0d32f60 Bump version 65693b9 formatting 87333dd test logging after config command reading 4444d36 Init read/write chipconfig 6bef29e Enforce stdio_flush after each uart log write e19e883 Add required config commands to header c77e47f Fix test logging f7b974f Init READ/WRITE CLONECHIP commands e95f33f Swap out inline write backs for wrapper function e9f71ab Add GET_AUDIO config command 5f4bcd7 Readability c394f93 Remove todo 57eaf5c Update log message 4d42729 Add breaks in preparation of Chip config 4bb0458 Merge pull request #89 from LouDnl/dev f3f4596 Documentation update

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/v0.7.0...v0.7.1

    Show all 46 files
  20. v0.7.046 files

    v0.7.0 firmware release This release is primarily focused on supporting new hardware variants, expanding chip detection, updating configuration tools, rewriting underlying architecture and general firmware improvements/optimisation.

    Hardware & Platform Expansion • v1.5 Board Support: Added initial framework information and critical fixes for version 1.5 hardware, including a voltage setting order fix so clone SID chips do not malfunction. • RP2350 Integration: Ensured correct platform targeting and boot optimizations specifically for the RP2350. • Bluetooth & Pins: Prepared the codebase for future Bluetooth functionality and adjusted fallback mechanisms for verifying socket chips.

    Chip & SID Detection • New Chip Profiles: Expanded compatibility with dedicated hardware emulators, implementing limited support for ARMSID/ARM2SID, PDSID, and BACKSID. • SIDEmu & FPGASID: Integrated SIDEmu string definitions, socket change detection, and specific updates to accommodate FPGASID.

    Configuration & Web Tool Rework • Configuration tool GUI: Add new graphical configtool support, available via the configtool repo. • Webconfig updates: Overhauled the configuration tool system by introducing a new webconfig platform, updating the command-line interface (CLI) variant, and scrubbing pre-compiled tool binaries from the source repository. • Config buffer packet length constraints: Restructured reads to exact 64-byte packets to fulfill strict formatting requirements for WebUSB connectivity. • Breaking Changes: Rewrote core configuration logic to fundamentally improve logging outputs, clear out stale data in the vendor FIFO queue, and refine Chip and SID detection routines.

    MIDI & Control Protocol • Channel Customization: Started on reworked MIDI routing to convert MIDI-to-SID control into user-defined channels, allowing customized parameter profiles to be saved like distinct musical instruments. • Direct Access: Enabled continuous direct MIDI access commands even when the onboard SID player is active, except when the onboard Cynthcart emulator is active. Code Architecture & Optimizations • Memory Protections: Inserted standard input/output flushing (stdio_flush) during PIO bus setup to resolve a bug that caused memory corruption. • Booting Processes: Configured Core1 to stall entirely until Core0 finishes booting. • Logging Controls: Silenced repetitive UART communications when applying presets to optimize data stream efficiency.

    Commits in this release: 8c76e1a Merge pull request #88 from LouDnl/dev eb26dca Add initial v1.5 information, reference configtool 0d851af Direct Midi control update (not finished yet) 95978ec Update CC's a6103df Fix fallback in verify_socket_chip feb4621 Fix order in detect_chiptype_at 41c9e62 Prepare for bluetooth 7aa7ddb Add workaround for lingering data in the vendor fifo b49a5bb Fix branch detection, some cleanup 3ce49ab Config improvements, also some v1.5 additions/fixes 0ce906f House cleaning 1c8f151 Add stdio_flush during pio bus setup and sync, would mess up memory otherwise 27932e5 Roundabout a5dd199 Fix voltage set order for v1.5 boards so clone sids don't phreak out! a070102 cleanup 9278002 Disable uart spam on preset applying 86c2f0f Debug logging for later alligator 1b11380 Fix fat fingers 16c8430 Add support for v1.5, fix incorrect packet length on reads (must be 64 bytes for webusb), clean up 46d489b Dust off the 'ol buildscript c046e51 There can only be one tool to rule them all! fb47b57 I taught I saw a puttycat 859c685 Loop de loop updates cf8ee23 Wow... no words 4154f28 That's a lot of stuff to change! ca12212 Constant here, constant there, trying to be constant everywhere 56b20d0 Cleanup on aisle 4! 1ec618f That's a whole lot of detecting officer! e3fbc69 Undetected 🕵️ 988441f Piiiioooo, Piiiooo, what? 4c699fc Macro, sounds like Macaroni! 🍝 b1b9786 General purpose who!? More like Corporal? f23ccfd Something, power, something a0b1071 Clean up the mess you make! 95e35e4 You put something in, you take something out, it goes boom! 82e101f Logging shmogging 18673aa What isn't known shall not be seen 388b487 DMA soothing 🍼 a264fde Handyman candyman debug sorting 8187596 Bright light, bright light! 🕶️ 5680c77 Deprecate usbsid_doubletap a5b10f0 Moar defzz! 3e07de2 Rename midi_cc to midi_defs 96ba9ad Change midi->SID control to user defined channel and save settings per channel (like an instrument) 3d0539b Enable direct midi access even in onboard emulator is present baaeed5 Midi rework continued aa42ff4 Fix for SIDEmu 90fcbce Add missing CHIP_SIDEMU thingy and prepare for socket change detection 1f37abe missing dtypes.. 🍆 1c1a9fd add SIDEmu string and 2 bugs squashed :) c41b9bc Add SIDEmu detection 1c62830 Just encase it! 0880649 Merge pull request #86 from LouDnl/dev 2752f89 Add Cynthcart VST by Raros bcb1aa7 Me no pay! 874f49c Testing testing one two three... 39f79a9 Switch out vendor writes for vendor N writes as test f924ee6 Update some test functions 818db54 Change config read number of packets 3c38624 Add notice 4b7c55f And some more :) 264273c webconfig tool updates b364e90 Docstringz f7c70af Add read armsid configuration d33a525 Fix arm2sid detection d5fb7f7 Logging shmogging f427c86 Fix RGBLED selection always falling back to SID 1 074c09e First iteration of new webconfig tool 171d72f .gitignore f24498a Save copy of current webconfig tool in new directory 0891949 Move webconfig tool into old directory d07495b Update send_sid for optional play on on socket two 2caaf1c Add optional play on on socket two for embedded player dbe457a Fixle Smixzle 0ace7eb All hail the FPGASID 6f82dee Spilled my drink there 4b88ae7 Almost Stimpy, almost!! 22ed0d5 Hey Ren? Yes Stimpy? Are whe there yet!? 58cddf8 Add moar 🧌 presets! 336646a Spring cleaning! No more externs, let's internalise in our head(ers) 👾 9cc9e24 Off with their heads! I mean headers! e4ddb8f Let's not forget 1094801 Emu here, emu there, emu everywhere 263856f I can't count ef02aac Remove pre-compiled tool binaries from source code 5ff5a18 Moar updates! 3e27f08 Config-tool update ab6464e First iteration update CLI config-tool 36fce9f Riff raffs 9bc4830 Tag, you're it! 😈 2512d7b Really, 3 characters and everything breaks 👻 cb3967c [BREAKING CHANGE] Rewrite configuration logic, improve and clear up logging and update sid / chip detections. Add limited ARMSID, PDSID & BACKSID support. 7172762 Bzzz.. more statics! 415e7f9 Remove unneeded macro use 46ca98f One must always return when static electricity hits! 0ac4078 Static electricity dca5056 Fix storage size, move around some boxes 5cdbccc Move queue dependency b7c8482 Improve build order and remove build breaking CMAKE_CXX_FLAGS ba5d7f3 Stall Core1 untill completely finished booting. Add Firmware compilation log type. 08353a2 Alignment notes ae5de4a Declaration of dependence stack overflow bullshit ecc3642 That's some spelling shit! f94e22f Make sure -O3 gets set for CXX 352e521 Assure correct platform for rp2350 d75f46f Fixes and updates for new SKPico firmware versions

    What's Changed

    Full Changelog: https://github.com/LouDnl/USBSID-Pico/compare/d202603081...v0.7.0

    Show all 46 files