{"id":22513323,"url":"https://github.com/kevin-pottier/rpen","last_synced_at":"2025-09-10T04:42:18.510Z","repository":{"id":308010155,"uuid":"897479299","full_name":"Kevin-Pottier/RPEN","owner":"Kevin-Pottier","description":"RPEN - Connected Pen 🖊️✨ A smart pen that lets you write or draw remotely on a TFT screen via Bluetooth. Features include customizable colors and sizes, motion detection with MPU6050, and real-time feedback via RGB LED. Built with a Bluepill microcontroller, it's perfect for education and creative projects. Open-source and innovative! 🚀","archived":false,"fork":false,"pushed_at":"2025-08-20T10:57:28.000Z","size":1807,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-20T12:36:50.571Z","etag":null,"topics":["c-language","educational-project","embedded-systems","graphics","i2c","ili9341","led-matrix","microcontroller","mpu6050","stm32","tft-display","uart-communication","uart-communication-protocol"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kevin-Pottier.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}},"created_at":"2024-12-02T17:46:08.000Z","updated_at":"2025-08-20T10:57:35.000Z","dependencies_parsed_at":"2025-08-03T16:39:21.577Z","dependency_job_id":"853cfb65-5f46-423b-b1cd-1c794b1762f2","html_url":"https://github.com/Kevin-Pottier/RPEN","commit_stats":null,"previous_names":["kevin-pottier/rpen"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kevin-Pottier/RPEN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kevin-Pottier%2FRPEN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kevin-Pottier%2FRPEN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kevin-Pottier%2FRPEN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kevin-Pottier%2FRPEN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kevin-Pottier","download_url":"https://codeload.github.com/Kevin-Pottier/RPEN/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kevin-Pottier%2FRPEN/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274412834,"owners_count":25280199,"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","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"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":["c-language","educational-project","embedded-systems","graphics","i2c","ili9341","led-matrix","microcontroller","mpu6050","stm32","tft-display","uart-communication","uart-communication-protocol"],"created_at":"2024-12-07T03:11:17.097Z","updated_at":"2025-09-10T04:42:18.486Z","avatar_url":"https://github.com/Kevin-Pottier.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RPEN - Connected Pen\n\nRPEN (Remote Pen \u0026 Air Pen) is an innovative connected pen project developed as part of the DEEP (Digital Embedded Electronics Project) program at ESEO. This pen allows users to write on a screen remotely via Bluetooth, providing a practical and interactive solution for teaching or creative applications.\n\n## Features\n\n- **Remote Writing:** The pen uses position sensors to capture movements and transcribe them onto a TFT screen.\n- **Interactive Modes:**\n  - **Writing Mode:** Draw with customizable colors and sizes.\n  - **Calibration Mode:** Re-center the cursor on the screen.\n  - **Erase Mode:** Remove drawings by overlaying white lines.\n- **Style Customization:**\n  - Modify drawing size and color via dedicated buttons.\n- **Interactive Screen:** The pen pairs with a TFT screen controlled by a microcontroller receiving data via UART Bluetooth.\n\n## Technical Specifications\n\n### Hardware\n- **Connected Pen:**\n  - Microcontroller based on the Bluepill board.\n  - MPU6050 sensor for motion detection.\n  - WS2812S RGB LED for indicating the current color.\n  - Buttons for functionality control.\n- **TFT Screen:**\n  - Controlled via SPI.\n  - UART Bluetooth interface for receiving data.\n\n### Software\n- **Data Transmission:**\n  - Motion data and parameters (color, size, mode) are sent as Bluetooth frames.\n- **Core Algorithm:**\n  - The pen stores motion and parameters in variables.\n  - The screen interprets the data to draw or perform the corresponding actions.\n\n## Usage\n\n### Pen Controls\n- **Button 1:** Writing mode.\n- **Button 2:** Change size or color.\n- **Button 3:** Erase the screen or activate erase-by-drawing mode.\n\nTo navigate the menus, tilt the pen in the desired direction, similar to a Wii controller.\n\n### Tests\nThe project underwent various tests:\n- Verification of the microcontroller’s power supply.\n- Display testing on the TFT screen.\n- Changing colors and sizes using buttons.\n- Bluetooth functionality for data transmission.\n\n## Contributions\n\n### Developers\n- **[Kevin POTTIER](https://github.com/Kevin-Pottier)**:\n- **[Julien RACKI](https://github.com/juickar)**:\n\n## Potential Improvements\n- Reduce noise from the MPU6050 sensor data using low-pass filters.\n- Optimize Bluetooth frame processing.\n- Improve motion precision for smoother control.\n\n## License\n\nThis project is open for educational and experimental purposes. Any reuse must include proper attribution.\n\n---\n\n**Note:** Associated files, including the PCB schematic and the CAD design of the pen case, are available upon request.\n\nTo request access, please contact me at:  \n\n📧 **Kévin Pottier**    \nGitHub: [https://github.com/Kevin-Pottier](https://github.com/Kevin-Pottier)\nEmail : kevin.pottier@reseau.eseo.fr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin-pottier%2Frpen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevin-pottier%2Frpen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin-pottier%2Frpen/lists"}