{"id":38441954,"url":"https://github.com/davidgiven/dso152-breakout","last_synced_at":"2026-01-17T04:35:43.765Z","repository":{"id":233486573,"uuid":"787281351","full_name":"davidgiven/dso152-breakout","owner":"davidgiven","description":"Breakout for the Fnirsi DSO152","archived":false,"fork":false,"pushed_at":"2024-04-16T09:22:20.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-16T11:48:01.445Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidgiven.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}},"created_at":"2024-04-16T08:24:22.000Z","updated_at":"2024-04-16T11:48:03.374Z","dependencies_parsed_at":"2024-04-16T11:48:02.425Z","dependency_job_id":null,"html_url":"https://github.com/davidgiven/dso152-breakout","commit_stats":null,"previous_names":["davidgiven/dso152-breakout"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davidgiven/dso152-breakout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fdso152-breakout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fdso152-breakout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fdso152-breakout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fdso152-breakout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidgiven","download_url":"https://codeload.github.com/davidgiven/dso152-breakout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fdso152-breakout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28495234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-17T04:35:43.180Z","updated_at":"2026-01-17T04:35:43.757Z","avatar_url":"https://github.com/davidgiven.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dso152-breakout\nBreakout for the Fnirsi DSO152\n\n## What?\n\nThis is a very crude port of Enrique Alberto's Arduino Breakout game for the Fnirsi DSO152 portable oscilloscope. This is a CH32F103-based cheap oscilloscope which is essentially a Blue Pill with some peripherals attached.\n\nThe Breakout game itself has some very basic modifications; the interesting code (such as it is) is in dso152tft.h, which is the LCD driver, based on Adafruit_GFX. The screen is a ST7789 connected via a 16-bit parallel interface on port B (the IM pins are strapped to ground so the interface protocol can't be changed). There is a software-serial logging output hooked up to the calibration terminal on the outside of the scope at 9600 baud, but this isn't used for anything right now.\n\nUse the device in portrait orientation with the left-most and right-most buttons.\n\nIn addition, the enormous `annotated-pcb-scan.xcf` file is an annotated double-sided high-resolution image of the PCB with the known pins marked.\n\n## How?\n\nIt's an Arduino sketch. Build it using the Generic ST32F103 profile in the STM32Duino core.\n\nTo upload to the device, attach a standard SWD connector to the unpopulated header in the bottom-left corner of the PCB, and then use your favourite flashing tool to disable flash read protection. **This will trash the stock firmware.** Currently I don't have a copy of this so once you do this, **the stock functionality will be unrecoverable**.\n\nNow you can treat it like any other STM32F103-based device.\n\n## Who?\n\nThe Breakout game is by Enrique Albertos: https://www.hackster.io/javagoza/arduino-touch-breakout-game-eda113\n\nThe hacking was by me, David Given: http://cowlark.com\n\n## License?\n\nThe Breakout game is public domain. My code is CC0-licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidgiven%2Fdso152-breakout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidgiven%2Fdso152-breakout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidgiven%2Fdso152-breakout/lists"}