{"id":15142054,"url":"https://github.com/t0mer/pi-pico-computer-unlocker","last_synced_at":"2026-02-02T13:33:59.849Z","repository":{"id":236574561,"uuid":"792885455","full_name":"t0mer/pi-pico-computer-unlocker","owner":"t0mer","description":"Unlock your computer remotely using Rpi pico and mqtt","archived":false,"fork":false,"pushed_at":"2024-04-30T09:59:54.000Z","size":1955,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T15:17:39.328Z","etag":null,"topics":["adafruit-hid","circuitpython","mqtt","python","raspberry-pi","raspberry-pi-pico","raspberry-pi-pico-w"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t0mer.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}},"created_at":"2024-04-27T20:34:00.000Z","updated_at":"2024-04-30T09:59:57.000Z","dependencies_parsed_at":"2024-04-27T21:29:36.214Z","dependency_job_id":"3968115e-b873-445a-bc31-619e45c16610","html_url":"https://github.com/t0mer/pi-pico-computer-unlocker","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"081a72e2089e77d8b18d1da4b3f76c89fc489e6e"},"previous_names":["t0mer/pi-pico-computer-unlocker"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/t0mer/pi-pico-computer-unlocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fpi-pico-computer-unlocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fpi-pico-computer-unlocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fpi-pico-computer-unlocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fpi-pico-computer-unlocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t0mer","download_url":"https://codeload.github.com/t0mer/pi-pico-computer-unlocker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fpi-pico-computer-unlocker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262388464,"owners_count":23303321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["adafruit-hid","circuitpython","mqtt","python","raspberry-pi","raspberry-pi-pico","raspberry-pi-pico-w"],"created_at":"2024-09-26T09:22:09.872Z","updated_at":"2026-02-02T13:33:59.806Z","avatar_url":"https://github.com/t0mer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pi-pico-computer-unlocker\nIn today's digital age, remote access to computers has become increasingly vital.\nWhether you're managing multiple devices or accessing a workstation from a distance, streamlined authentication processes are key.\nThe pi-pico-computer-unlocke project leverages the power of Raspberry Pi Pico, coupled with CircuitPython and MQTT, to create a secure and efficient solution for remotely unlocking computers.\n\nhttps://github.com/t0mer/pi-pico-computer-unlocker/assets/4478920/e89226e9-75db-4400-ba72-b8b46c49add6\n\n## Getting started\n\n### Flash the Raspberry Piwith circuitpython\nBefore we can run the project on the raspberry pi, we need to flush it with the circuitpython firmware for raspberry pi pico w.\nTo do so, please follow the following steps:\n\n* Download the latest version of the [circuitpython](https://circuitpython.org/board/raspberry_pi_pico_w/).\n* Hold down the BOOTSEL button, and while continuing to hold it (don’t let go!), plug the Pico into the USB. continue to hold the BOOTSEL button until the RPI-RP2 drive appears!\n![alt text](screenshots/bootsel.png)\n* You will see a new disk drive appear called RPI-RP2. Drag the adafruit_circuitpython_etc.uf2 file to RPI-RP2.\n* The RPI-RP2 drive will disappear and a new disk drive called CIRCUITPY will appear.\n\nThat's it, you're done!\n\n\n### Flash Resetting UF2\nIf your Pico enters an unusual state and fails to appear as a disk drive during the installation of CircuitPython, consider using this ['nuke' UF2 file.](https://cdn-learn.adafruit.com/assets/assets/000/099/419/original/flash_nuke.uf2?1613329170)  It performs a thorough cleansing of your Flash Memory, erasing all files on the board, but it will help restore functionality. After this process, proceed to reinstall CircuitPython.\n\n### Install the unlocker program to the raspberry pi pico w\nNow it is time to install the unlocker. go the the unlocker GitHub rpository: https://github.com/t0mer/pi-pico-computer-unlocker.\n\nClick on “Code” and then “Download ZIP”:\n![alt text](screenshots/download.png)\n\nUnzip the file the file and copy the following files into your Raspberry Pi Pico:\n\n![alt text](screenshots/files.png)\n* lib — Contains the Requirements and Libraries needed for the program to run.\n* boot.py — Contains the code to disable the auto-mounting of the pi as a storage device.\n* code.py — The main code of the program.\n* settings.toml — Contains the environment variables settings:\n\n```toml\nWIFI_SSID = \"\" #Your Wifi SSID\nWIFI_PASSWORD = \"\" #Your Wifi password\n# MQTT Broker settings\nMQTT_BROKER = \"\" #The MQTT Broker address\nMQTT_PORT = 1883  # Default port for non-TLS connections\nMQTT_USERNAME = \"\"  #MQTT Username, Not required for all brokers\nMQTT_PASSWORD = \"\"  #MQTT Password, Not required for all brokers\nMQTT_TOPIC = \"\" #Topic to subscribe\nTOKEN = \"\" #Token to verify the sender of the password. you can use the online tool here: https://it-tools.techblog.co.il/token-generator\nHID_LAYOUT = \"US\" #Default keyboard layout to use.\n```\n\nThe upported layouts are:\n* US (Default)\n* CZ\n* DA\n* DE\n* ES\n* FR\n* HU\n* IT\n* PO\n* SW\n* TR\n* UK\n\nOnce done, Save the files and disconnect/Reconnect the Pi to the USB. The raspberry Pi drive should disappear.\n\n\n## Working with th Unlocker\nWhen the unlocker comes online, it publishes its own IP address in an MQTT topic; that way, you can verify that it’s online.\n![alt text](screenshots/deviceip.png)\n\nTo Unlock the computer the only thing you should do is publish MQTT topic with the following JSON:\n\n```json\n{\n  \"token\":\"bcQxAOfoW4l3yW6ur4\",\n  \"password\":\"!123456!\"\n}\n```\n\n* token — The same token you place in the setting.toml file. This is to verify that the password was sent by the authorized sender.\n* password — The password of the computer you want to unlock.\n\n# Disclaimer\nThe information provided in this guide is for educational and informational purposes only.\n\nUsers should exercise caution and test the system thoroughly in a controlled environment before implementing it in a real-world setting. The author or contributors are not responsible for any damages, data loss, or security breaches that may occur from the use of this system.\n\nIt is the user’s responsibility to ensure that their usage complies with all applicable laws and policies regarding access and security.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fpi-pico-computer-unlocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft0mer%2Fpi-pico-computer-unlocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fpi-pico-computer-unlocker/lists"}