{"id":24956268,"url":"https://github.com/daschr/pico-ssd1306","last_synced_at":"2025-10-13T09:04:26.303Z","repository":{"id":41399845,"uuid":"356654355","full_name":"daschr/pico-ssd1306","owner":"daschr","description":"Simple library for using ssd1306 displays with the Raspberry Pi Pico and the pico-sdk.","archived":false,"fork":false,"pushed_at":"2024-07-08T17:59:41.000Z","size":30323,"stargazers_count":152,"open_issues_count":9,"forks_count":30,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-24T16:24:37.241Z","etag":null,"topics":["c","pico-c-library","pico-sdk","raspberry-pi-pico","raspberry-pico","ssd1306","ssd1306-oled"],"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/daschr.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":"2021-04-10T17:44:29.000Z","updated_at":"2025-03-19T20:00:54.000Z","dependencies_parsed_at":"2023-12-15T15:36:39.266Z","dependency_job_id":null,"html_url":"https://github.com/daschr/pico-ssd1306","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daschr%2Fpico-ssd1306","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daschr%2Fpico-ssd1306/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daschr%2Fpico-ssd1306/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daschr%2Fpico-ssd1306/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daschr","download_url":"https://codeload.github.com/daschr/pico-ssd1306/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271910,"owners_count":21075800,"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":["c","pico-c-library","pico-sdk","raspberry-pi-pico","raspberry-pico","ssd1306","ssd1306-oled"],"created_at":"2025-02-03T06:28:15.730Z","updated_at":"2025-10-13T09:04:21.281Z","avatar_url":"https://github.com/daschr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![example vid](ssd1306-example.gif)]()\n\n# pico-ssd1306\nSimple library for using ssd1306 displays with the Raspberry Pi Pico and the pico-sdk.\n\n## Usage\n* copy `font.h`, `ssd1306.c` and `ssd1306.h` to your project \n* see example\n\n## Documentation\n* online [documentation](https://daschr.github.io/pico-ssd1306/)\n* see `ssd1306.h` and example\n\n## Example\n* set `PICO_SDK_PATH`\n* goto `example`\n* `mkdir build \u0026\u0026 cd build \u0026\u0026 cmake .. \u0026\u0026 make`\n* copy the `ssd1306-example.uf2` to your Pico\n\n## Draw Images\nThe library can draw monochrome bitmaps using the functions [*ssd1306_bmp_show_image*](https://daschr.github.io/pico-ssd1306/ssd1306_8h.html#a89d1f4edb34d5860df01a62512cc3949) and [*ssd1306_bmp_show_image_with_offset*](https://daschr.github.io/pico-ssd1306/ssd1306_8h.html#a1624a5ea20392d5614b84094e94160b0).\n\nFor converting an image to the supported format, you can do the following:\n\n* install [ImageMagick](https://imagemagick.org/)\n* use `convert you_image.png -monochrome your_image.bmp`\n\nFor embedding your image, you can use tools like *bin2c* (included in the *hxtools* package on Debian).\n\nAlternatively, you can you the version included in this repo:\n\n* go in the *tools/* directory\n* `make`\n* usage: `./bin2c your_image.bmp your_image.h`\n\nYou may also take a look at the example in the *example/* directory.\n\n## Fonts\n\nYou can also use or own fonts when drawing with *ssd1306_draw_char_with_font* or *ssd1306_draw_string_with_font*.\nThe format is:\n 1. a 1-D uint8_t array\n 2. structure of the array:\n    1. the first element of the array is the *height*\n    2. the second element of the array is the *width*\n    3. the third element of the array is the *additional spacing between chars*\n    4. the fourth element of the array is the *the first ascii character, this array stores*\n    5. the fifth element of the array is the *the last ascii character, this array stores*\n    6. the following elements encode the pixels of the characters vertically line by line ([see](https://jared.geek.nz/2014/jan/custom-fonts-for-microcontrollers#drawing-fonts)); a line can be encoded as more than one `uint8_t` values, when the *height* is greater than 8;\nplease look at `font.h` and the fonts in the `example/` directory\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaschr%2Fpico-ssd1306","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaschr%2Fpico-ssd1306","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaschr%2Fpico-ssd1306/lists"}