{"id":43789307,"url":"https://github.com/raspberrypi/keyboard-firmware","last_synced_at":"2026-02-05T20:02:07.632Z","repository":{"id":336564871,"uuid":"958673513","full_name":"raspberrypi/keyboard-firmware","owner":"raspberrypi","description":"Raspberry Pi keyboard firmware binaries and update script","archived":false,"fork":false,"pushed_at":"2025-09-24T14:19:56.000Z","size":528,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-05T14:36:12.486Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raspberrypi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-01T15:20:45.000Z","updated_at":"2026-01-24T08:42:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/raspberrypi/keyboard-firmware","commit_stats":null,"previous_names":["raspberrypi/keyboard-firmware"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/raspberrypi/keyboard-firmware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspberrypi%2Fkeyboard-firmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspberrypi%2Fkeyboard-firmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspberrypi%2Fkeyboard-firmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspberrypi%2Fkeyboard-firmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raspberrypi","download_url":"https://codeload.github.com/raspberrypi/keyboard-firmware/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspberrypi%2Fkeyboard-firmware/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29132524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T19:36:52.185Z","status":"ssl_error","status_checked_at":"2026-02-05T19:35:40.941Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-05T20:02:04.706Z","updated_at":"2026-02-05T20:02:07.610Z","avatar_url":"https://github.com/raspberrypi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keyboard-firmware\nThis repository contains the firmware binaries for the (RP2040-powered) keyboards in the Raspberry Pi 500\nand 500+, and a script for updating the firmware.\n\n## rpi-keyboard-fw-update\n\n### Installation\nIf `rpi-keyboard-fw-update` isn't already installed, install it with:\n```\nsudo apt update \u0026\u0026 sudo apt install rpi-keyboard-fw-update\n```\n\n### Usage\nRunning `rpi-keyboard-fw-update -h` will display:\n```\nsudo rpi-keyboard-fw-update [options]\n\nUpdate the firmware in a Pi 500 or Pi 500+ keyboard.\n\nOptions:\n   -f \u003cFILE\u003e Use the specified UF2 file (skips model auto-detection).\n   -h Display this usage message.\n   -i Ignore version checks and always update firmware.\n   -s Silent mode.\n   -v Display keyboard type and firmware version (don't update anything).\n   -w Wipe entire flash before updating firmware.\n```\nThe `-h` and `-v` options don't require `sudo`, all other usages of the script do. The simplest way to invoke the script is to run just:\n```\nsudo rpi-keyboard-fw-update\n```\nand this will automatically detect which version of Raspberry Pi 500/500+ you're using, which layout is required, and which firmware-version\nis currently installed. If your keyboard firmware is already up-to-date it'll tell you \"Your keyboard firmware is already up to date\", but\nif your keyboard firmware is out of date, it'll automatically be updated to the latest version.\n\nTo ignore the version-checks and _always_ upgrade your keyboard-firmware to the latest version, run:\n```\nsudo rpi-keyboard-fw-update -i\n```\n\nTo see more details about which version of Raspberry Pi 500/500+ you're using, which layout is required, and which firmware-version is currently\ninstalled, run:\n```\nrpi-keyboard-fw-update -v\n```\nwhich might print out something like:\n```\nDT_MODEL: Raspberry Pi 500 Rev 1.0\nMODEL_VARIANT: pi500plus\nDT_COUNTRY_CODE: 1\nCC_LAYOUT: ISO\nDETECTED_PI500_KEYBOARD: 0\nDETECTED_PI500PLUS_KEYBOARD: 1\nDETECTED_PI500PLUS_KEYBOARD_VARIANT: ISO\nDETECTED_KEYBOARD_FIRMWARE_VERSION: 1.00\n```\n\nThe current \"illumination mode\" and \"colour\" of the Raspberry Pi 500+ LEDs are stored in Flash, but in an area outside of that used by the firmware\n(which means these settings will be retained when you upgrade to a newer firmware version). Use the `-w` option to clear these settings (you may\nneed to combine this with the `-i` option if your firmware is already up to date) whilst updating your firmware.\n\nIf you want to flash your own custom firmware instead of the pre-supplied firmware, then this can be done wih the `-f` option, which automatically\nskips the model, layout and version-detection steps. Be warned that if your custom keyboard firmware is faulty or non-functional, the keys in your\nkeyboard might not work, and so you'd need to use an external USB keyboard (plugged into one of the USB ports on the Raspberry Pi 500/500+) in\norder to run `rpi-keyboard-fw-update` again and flash a working firmware version.\n\n## Firmware sources\n\nThe keyboard firmware files (in `keyboard/`) were built from [QMK](https://github.com/raspberrypi/qmk) for firmware versions \u003c 1.20, and\nfrom [VIAL QMK](https://github.com/raspberrypi/vial-qmk) for firmware versions \u003e= 1.20.\n\n`keyboard/flash_nuke.uf2` was built from [pico-examples](https://github.com/raspberrypi/pico-examples/tree/master/flash/nuke).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraspberrypi%2Fkeyboard-firmware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraspberrypi%2Fkeyboard-firmware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraspberrypi%2Fkeyboard-firmware/lists"}