{"id":22063682,"url":"https://github.com/RPiks/pico-touchscr-sdk","last_synced_at":"2025-07-24T02:31:22.170Z","repository":{"id":206592960,"uuid":"598756952","full_name":"RPiks/pico-touchscr-sdk","owner":"RPiks","description":"Display \u0026 Touchscreen SDK for Raspberry Pi Pico","archived":false,"fork":false,"pushed_at":"2023-03-01T23:07:33.000Z","size":52,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-11-11T00:27:34.874Z","etag":null,"topics":["display-driver","pico","raspberry-pi","spi-display","touchscreen-control","touchscreen-display","touchscreen-driver"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RPiks.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}},"created_at":"2023-02-07T18:47:29.000Z","updated_at":"2023-11-11T00:27:36.554Z","dependencies_parsed_at":"2023-11-11T00:37:44.178Z","dependency_job_id":null,"html_url":"https://github.com/RPiks/pico-touchscr-sdk","commit_stats":null,"previous_names":["rpiks/pico-touchscr-sdk"],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/RPiks/pico-touchscr-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPiks%2Fpico-touchscr-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPiks%2Fpico-touchscr-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPiks%2Fpico-touchscr-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPiks%2Fpico-touchscr-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RPiks","download_url":"https://codeload.github.com/RPiks/pico-touchscr-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPiks%2Fpico-touchscr-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266785441,"owners_count":23983821,"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-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["display-driver","pico","raspberry-pi","spi-display","touchscreen-control","touchscreen-display","touchscreen-driver"],"created_at":"2024-11-30T19:01:25.676Z","updated_at":"2025-07-24T02:31:22.146Z","avatar_url":"https://github.com/RPiks.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Display \u0026 Touchscreen SDK for Raspberry Pi Pico\n\nThe Display \u0026 Touchscreen SDK for Raspberry Pi Pico includes the headers and\nlibraries and all necessary build files to build a custom application which\nuses MSP2807 display with touch screen or other one based on ILI9341 driver\nIC and TSC2046 touchscreen.\n\n![IMG_8820_](https://user-images.githubusercontent.com/47501785/217345382-35092e75-2a11-4d2f-9d79-4ed864db24b8.jpg)\n\n\n# Memory Efficient Screenbuffer\n\nTaking in account the quite scarce RAM of Pico, the SDK implements a memory\nefficient screenbuffer of 10800 bytes, preserving 320x240 pixel resolution.\nThe screen buffer is organized in 2 planes: A) graphics 1bit-per-pixel plane\nand B) color plane of reduced spatial resolution which uses boxes of 8x8 \npixels holding the color attributes. Whereas screenbuffer memory consumption\nis drastically reduced, most of the typical graphics which is used by embedded\nsystems - text information, menus, lines, widgets - looks quite the same in\ncomparison with full screenbuffer approach which consumes 14.2x more memory.\n\n# Selective updating\n\nThe SDK writes the data to display in selective (adaptive) manner: only\nregions which have been changed are being written. In addition, the SPI I/O\nis organized using tiny chunks of data. This mitigates the negative effect\nof blocking SPI bus I/O which is critical in realtime systems such as ADC\ndata processing.\n\n# Touch Screen Interface\n\nThe SDK incorporates the touch screen interface which consists of the adaptive\npolling procedure with anti-flicker filter as well as 2D low pass filter which\nhelps obtaining more accurate estimations of touch point.\n\nIn addition the SDK provides a calibration function which was adopted using \na prototype AN-1021 obtained from Analog Devices company.\n\nThe touchscreen interface is compartible with TSC2046 chip.\n\n# Example Code\n\nIt is included (test.c).\n\n# Quick-start\n\n1. Install Raspberry Pi Pico SDK. Configure environment variables. Test\nwhether it is built successfully.\n\n2. git clone this repository. cd pico-touchscr-sdk ; ./build.sh\nCheck whether output file ./build/pico-touchsrc-sdk-test.uf2 appears.\n\n3. Assemble the test board using pin connection information provided in test.c\n\n4. Load the .uf2 file (2) into the Pico.\n\n5. You now have the screen with text message and the software is waiting for\nstylus operation. Draw curves on your screen! Enjoy! :-)\n\n6. Try other examples provided in test.c by uncommenting macros.\n\n7. Use the SDK on your projects freely. Any possible contribution appreciated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRPiks%2Fpico-touchscr-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRPiks%2Fpico-touchscr-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRPiks%2Fpico-touchscr-sdk/lists"}