{"id":22494524,"url":"https://github.com/mastashake08/shake-rp2350","last_synced_at":"2026-04-19T14:06:05.976Z","repository":{"id":264297816,"uuid":"892406334","full_name":"mastashake08/shake-rp2350","owner":"mastashake08","description":"Nuxt 3 Web app for interacting with the RP2350 microcontroller from Raspberry Pi includes a code editor","archived":false,"fork":false,"pushed_at":"2024-11-29T23:18:19.000Z","size":11214,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-18T20:56:07.823Z","etag":null,"topics":["microcontroller","micropython","nuxt","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://mastashake08.github.io/shake-rp2350/","language":"Vue","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/mastashake08.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-11-22T03:43:47.000Z","updated_at":"2025-06-26T02:28:32.000Z","dependencies_parsed_at":"2024-11-23T08:19:48.344Z","dependency_job_id":"1b34a0c8-b760-43df-9b5b-f84d6f0d71cb","html_url":"https://github.com/mastashake08/shake-rp2350","commit_stats":null,"previous_names":["mastashake08/shake-rp2350"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mastashake08/shake-rp2350","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mastashake08%2Fshake-rp2350","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mastashake08%2Fshake-rp2350/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mastashake08%2Fshake-rp2350/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mastashake08%2Fshake-rp2350/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mastashake08","download_url":"https://codeload.github.com/mastashake08/shake-rp2350/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mastashake08%2Fshake-rp2350/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32009243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["microcontroller","micropython","nuxt","raspberry-pi"],"created_at":"2024-12-06T19:14:29.926Z","updated_at":"2026-04-19T14:06:05.962Z","avatar_url":"https://github.com/mastashake08.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"Here’s the updated `README.md` reflecting the correct repository link:\n\n---\n\n# Shake RP2350\n\n**Shake RP2350** is a Progressive Web Application (PWA) built with Nuxt 3 to interact with RP2350 IoT devices. The application allows users to upload `.uf2` binary files to the RP2350 filesystem using the modern **File System Access API** for seamless file management.\n\nThis application is styled with TailwindCSS, supports drag-and-drop file uploads, and integrates Google AdSense for monetization.\n\n---\n\n## Features\n\n- **File System Access:**\n  - Connect directly to the RP2350 device's filesystem via the File System Access API.\n  - Upload `.uf2` binary files to the device.\n\n- **Drag-and-Drop File Upload:**\n  - Intuitive drag-and-drop interface for easy binary file selection.\n\n- **Progressive Web Application:**\n  - Installable and offline-ready with PWA features.\n\n- **Responsive Design:**\n  - Styled with TailwindCSS for a modern and mobile-friendly UI.\n\n- **Google AdSense Integration:**\n  - Monetized with ads using the `@nuxtjs/google-adsense` package.\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- **Node.js** (16.x or higher recommended)\n- **npm** or **yarn**\n- A Chromium-based browser (e.g., Chrome or Edge) that supports the File System Access API.\n\n---\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/mastashake08/shake-rp2350.git\n   cd shake-rp2350\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Configure Google AdSense:\n   - Update the `nuxt.config.ts` file with your Google AdSense `id`:\n     ```ts\n     'google-adsense': {\n       id: 'ca-pub-xxxxxxxxxxxxxxxx'\n     },\n     ```\n\n4. Run the development server:\n   ```bash\n   npm run dev\n   ```\n\n---\n\n## Usage\n\n### Connecting to the RP2350\n\n1. Click the **\"Connect to RP2350\"** button to select the RP2350 directory (usually its mount point).\n2. Grant permission for the application to access the directory.\n\n### Uploading `.uf2` Files\n\n1. Drag a `.uf2` file into the designated drag-and-drop area **OR** click the **\"Upload .uf2 File\"** button to select a file.\n2. The application will write the file to the connected RP2350 directory.\n\n### Disconnecting\n\nTo disconnect, simply close the application or refresh the page. The filesystem connection will be reset.\n\n---\n\n## Project Structure\n\n- **`/components`**: Vue components, including the drag-and-drop file uploader.\n- **`/composables`**: Custom hooks for RP2350 file operations (`useIOT.ts`).\n- **`/layouts`**: Application layout files.\n- **`/pages`**: Pages of the application.\n- **`/assets`**: TailwindCSS styles and static assets.\n- **`/nuxt.config.ts`**: Nuxt configuration file.\n\n---\n\n## Technologies Used\n\n- **Nuxt 3**: Framework for building modern web applications.\n- **File System Access API**: Browser API for interacting with local files and directories.\n- **TailwindCSS**: Utility-first CSS framework for styling.\n- **@nuxtjs/google-adsense**: Google AdSense integration for monetization.\n- **@nuxtjs/pwa**: PWA module for offline capabilities and installable apps.\n\n---\n\n## Screenshots\n\n![Home Page](https://via.placeholder.com/800x400?text=Home+Page+Screenshot)  \n*Home Page with drag-and-drop upload interface*\n\n![Directory Picker](https://via.placeholder.com/800x400?text=Directory+Picker+Screenshot)  \n*Directory picker dialog for connecting to the RP2350 filesystem*\n\n---\n\n## Deployment\n\n1. Build the application for production:\n   ```bash\n   npm run build\n   ```\n\n2. Start the production server:\n   ```bash\n   npm run start\n   ```\n\n3. Alternatively, deploy to your favorite hosting platform such as [Vercel](https://vercel.com/) or [Netlify](https://www.netlify.com/).\n\n---\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b feature-name\n   ```\n3. Make your changes and commit them:\n   ```bash\n   git commit -m \"Add feature\"\n   ```\n4. Push to the branch:\n   ```bash\n   git push origin feature-name\n   ```\n5. Open a pull request.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\n## Acknowledgments\n\n- **File System Access API**: For enabling modern file interaction capabilities in web applications.\n- **Nuxt.js Team**: For providing an excellent framework for building web applications.\n- **TailwindCSS**: For an amazing styling framework.\n\n---\n\n## Contact\n\nFor any inquiries or support, contact **@mastashake08** on [GitHub](https://github.com/mastashake08). \n\nHappy coding! 🚀\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastashake08%2Fshake-rp2350","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmastashake08%2Fshake-rp2350","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastashake08%2Fshake-rp2350/lists"}