{"schemaVersion":1,"kind":"project","documentationUrl":"https://decomphub.com/data","project":{"id":"106847cb-9da6-42fe-bb1f-cbca03c67821","slug":"scanbridge","revision":2,"name":"scanbridge","description":"ESP32/ESP-IDF firmware bridging a ScanAvenger SA1100 barcode scanner from BLE to MQTT — scan out, accept/reject verdict back. Documents the vendor's undocumented GATT protocol and the quirks that make this scanner hard to talk to.","url":"https://app.decomphub.com/projects/scanbridge","jsonUrl":"https://app.decomphub.com/data/projects/scanbridge.json","markdownUrl":"https://app.decomphub.com/data/projects/scanbridge.md","category":"hardware","workTypes":["reverse-engineering"],"targets":["ScanAvenger SA1100"],"status":"unknown","publishedAt":"2026-10-09T03:30:38.558Z","updatedAt":"2026-10-09T03:30:38.558Z","repository":{"url":"https://github.com/slastra/scanbridge","host":"github.com","fullPath":"slastra/scanbridge","description":"ESP32/ESP-IDF firmware bridging a ScanAvenger SA1100 barcode scanner from BLE to MQTT — scan out, accept/reject verdict back. Documents the vendor's undocumented GATT protocol and the quirks that make this scanner hard to talk to.","license":"MIT","starCount":0,"starsCheckedAt":"2026-10-09T03:26:30.368Z","upstreamArchived":false,"defaultBranch":null,"latestDefaultBranchCommitAt":null,"metadataCheckedAt":"2026-10-09T03:26:30.368Z"},"progress":[],"sources":[{"label":"Public repository metadata","url":"https://github.com/slastra/scanbridge"},{"label":"Discovery query","url":"https://api.github.com/search/repositories?q=topic%3Areverse-engineering+is%3Apublic+fork%3Afalse+created%3A2026-08-19..2026-09-01&sort=updated&order=desc&per_page=100&page=2"}],"longDescription":"","aliases":[],"originalPlatforms":[],"outputPlatforms":[],"architectures":[],"languages":["C"],"tags":[],"links":{"website":null,"documentation":null,"releases":null,"buildInstructions":null,"repositories":[],"community":[],"support":[],"issues":[]},"contribution":{"status":"unknown","helpNeeded":[],"url":null,"sourceUrl":null,"checkedAt":null,"prerequisites":"","environments":[],"aiPolicy":"unspecified","aiPolicySourceUrl":null,"aiPolicyConditions":""},"originalAssetsNote":""}}