{"id":20226648,"url":"https://github.com/rajkumargara/picoscriptdeployer","last_synced_at":"2026-05-14T05:40:27.554Z","repository":{"id":218138434,"uuid":"745693118","full_name":"RajkumarGara/PicoScriptDeployer","owner":"RajkumarGara","description":"Deploy scripts to the Pico connected to pi.","archived":false,"fork":false,"pushed_at":"2024-02-07T22:33:12.000Z","size":705,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T23:35:06.647Z","etag":null,"topics":["pico","pico-w","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RajkumarGara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-19T22:15:36.000Z","updated_at":"2024-01-20T02:34:15.000Z","dependencies_parsed_at":"2024-02-07T23:39:34.578Z","dependency_job_id":null,"html_url":"https://github.com/RajkumarGara/PicoScriptDeployer","commit_stats":null,"previous_names":["rajkumargara/picoscriptdeployer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2FPicoScriptDeployer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2FPicoScriptDeployer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2FPicoScriptDeployer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2FPicoScriptDeployer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RajkumarGara","download_url":"https://codeload.github.com/RajkumarGara/PicoScriptDeployer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241670156,"owners_count":20000327,"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":["pico","pico-w","raspberry-pi"],"created_at":"2024-11-14T07:19:33.064Z","updated_at":"2026-05-14T05:40:27.529Z","avatar_url":"https://github.com/RajkumarGara.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\nThis project automatically sends Python code to the Pico-W when it connects to the Raspberry Pi. Running  [`PicoScriptDeployer.py`](./PicoScriptDeployer.py) fetches the Wi-Fi SSID, password and IP-address from the Pi and saves them in [`config.txt`](./config.txt), without overwriting existing details if new ones aren't found. The script waits for a Pico connection. Once a Pico is connected to the Pi, it updates the Wi-Fi credentials in [`main.py`](./main.py) with the details from \"config.txt\" and then transfers the updated code to the Pico. This project is an extension for [`pico-network-serial-port`](https://github.com/RajkumarGara/pico-network-serial-port).\n\n## Installation of Prerequisites\n* Open terminal in Raspberry Pi and enter the below commands to install `rshell`.\n    ``` bash\n    sudo apt update\n    mkdir ~/python-environments\n    cd ~/python-environments\n    python -m venv rshell-env\n    source ~/python-environments/rshell-env/bin/activate\n    pip install rshell\n    ```\n\n## Running the code\n* Copy [`PicoScriptDeployer.py`](./PicoScriptDeployer.py), [`config.txt`](./config.txt), and [`main.py`](./main.py) (code that needs to run on Pico) to the path `~/python-environments`.\n* Open terminal on the Raspberry Pi and enter below commands to run the code.\n    ``` bash\n    cd ~/python-environments\n    source ~/python-environments/rshell-env/bin/activate\n    python PicoScriptDeployer.py\n    ```\n\n## Setup\n* Connect Pico-W (the target board) to the Pi through usb cable.\n    ![pi](img/pi.png)\n    ![pico](img/pico.png)\n    ![terminal](img/terminal.png)\n\n## Developer Notes\n* The [`main.py`](./main.py) will be deployed only to the most recently connected Pico if multiple Picos are attached to the Pi.\n* If [`PicoScriptDeployer.py`](./PicoScriptDeployer.py) cannot detect your Wi-Fi details, you can manually update [`config.txt`](./config.txt) with the correct credentials.\n* After the code is deployed to the Pico, it will automatically reset and run the code.\n* Files in the [`extras`](./extras) folder are optional for this project. See the points below for more details.\n    * Run [`wifi_cred_getter.py`](./extras/wifi_cred_getter.py) on the Pi to retrieve its wifi SSID, password and IP-address, and save these details in [`config.txt`](./config.txt). \n    * Run [`PicoJustScriptDeployer.py`](./extras/PicoJustScriptDeployer.py) on the Pi connected to the Pico to deploy [`main.py`](./main.py) on the Pico without modifying the wifi credentials. \n    * Run [`pico_id_getter.py`](./extras/pico_id_getter.py) on the Pi connected to the Pico to get the Pico VID and PID.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajkumargara%2Fpicoscriptdeployer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajkumargara%2Fpicoscriptdeployer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajkumargara%2Fpicoscriptdeployer/lists"}