{"id":35240920,"url":"https://github.com/hybridgroup/tinygo-tkey","last_synced_at":"2026-04-02T01:42:28.302Z","repository":{"id":266526764,"uuid":"898529211","full_name":"hybridgroup/tinygo-tkey","owner":"hybridgroup","description":"Develop applications for the Tillitis TKey-1 an open source, open hardware FPGA-based USB security token using TinyGo","archived":false,"fork":false,"pushed_at":"2025-06-10T09:12:32.000Z","size":1591,"stargazers_count":35,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-15T07:32:54.651Z","etag":null,"topics":["embedded","fpga","golang","riscv","security","security-token","tillitis","tinygo","tkey","usb-devices"],"latest_commit_sha":null,"homepage":"https://tillitis.se/products/tkey/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hybridgroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-04T15:00:09.000Z","updated_at":"2025-12-31T04:41:30.000Z","dependencies_parsed_at":"2024-12-04T18:37:29.361Z","dependency_job_id":"942b87a6-defb-4b20-917a-51e772bf8ec5","html_url":"https://github.com/hybridgroup/tinygo-tkey","commit_stats":null,"previous_names":["hybridgroup/tkey-led"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hybridgroup/tinygo-tkey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hybridgroup%2Ftinygo-tkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hybridgroup%2Ftinygo-tkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hybridgroup%2Ftinygo-tkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hybridgroup%2Ftinygo-tkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hybridgroup","download_url":"https://codeload.github.com/hybridgroup/tinygo-tkey/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hybridgroup%2Ftinygo-tkey/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:05:07.454Z","status":"ssl_error","status_checked_at":"2026-04-02T00:56:46.496Z","response_time":53,"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":["embedded","fpga","golang","riscv","security","security-token","tillitis","tinygo","tkey","usb-devices"],"created_at":"2025-12-30T05:01:28.238Z","updated_at":"2026-04-02T01:42:28.298Z","avatar_url":"https://github.com/hybridgroup.png","language":"Go","readme":"# tinygo-tkey\n\n\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/hybridgroup/tinygo-tkey/pkg/proto)](https://pkg.go.dev/github.com/hybridgroup/tinygo-tkey/pkg/proto) [![Build](https://github.com/hybridgroup/tinygo-tkey/actions/workflows/build.yml/badge.svg)](https://github.com/hybridgroup/tinygo-tkey/actions/workflows/build.yml)\n\nThis package is to develop applications using [TinyGo](https://tinygo.org/) on the [Tillitis TKey-1](https://github.com/tillitis/tillitis-key1), an open source, open hardware FPGA-based USB security token.\n\n## Protocol\n\nThe `tinygo-tkey` package includes an implementation of the [Tillitis framing protocol for communication](https://dev.tillitis.se/protocol/) between the device and client.\n\nThis can be used for device applications that run on the TKey hardware written using TinyGo. Of course, it pairs nicely with client applications written using \"big\" Go.\n\nSee the [package documentation](https://pkg.go.dev/github.com/hybridgroup/tinygo-tkey/pkg/proto) for more information, as well as the code in this repo.\n\n## Examples\n\n### Blinker\n\n![tkey led](./images/tkey-led.gif)\n\nExample application for TKey written using TinyGo for the device application and Go for the client application.\n\n#### Device application\n\nTo compile and flash the TKey with the device application:\n\n```shell\ntinygo flash -size short -target=tkey ./examples/blinker/app\n```\n\nThe LED should start blinking green every half second.\n\n#### Client application\n\nNow you can run the command line client application on your computer:\n\n```shell\ngo run ./examples/blinker/cmd --led 0 --timing 250\n```\n\nThe LED should now be blinking blue every 250 ms.\n\n### Signer\n\ned25519 signing tool that runs on the TKey hardware device.\n\nIt can be used by the [`tkey-ssh-agent`](https://github.com/tillitis/tkey-ssh-agent) application for SSH authentication, and by the [`tkey-sign`](https://github.com/tillitis/tkey-sign-cli) application for providing digital signatures of files. \n\nSee the [README.md](./examples/signer/README.md) for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhybridgroup%2Ftinygo-tkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhybridgroup%2Ftinygo-tkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhybridgroup%2Ftinygo-tkey/lists"}