{"id":13770829,"url":"https://github.com/matomatical/reMarkable-kaitai","last_synced_at":"2025-05-11T03:32:54.600Z","repository":{"id":72860410,"uuid":"389043874","full_name":"matomatical/reMarkable-kaitai","owner":"matomatical","description":"Kaitai Struct specifications for reMarkable binary .rm format","archived":false,"fork":false,"pushed_at":"2021-09-19T21:19:40.000Z","size":19,"stargazers_count":11,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-17T06:40:27.819Z","etag":null,"topics":["kaitai-struct","remarkable-tablet"],"latest_commit_sha":null,"homepage":"","language":"Kaitai Struct","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/matomatical.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}},"created_at":"2021-07-24T08:30:37.000Z","updated_at":"2024-08-10T23:23:18.000Z","dependencies_parsed_at":"2023-02-26T21:00:57.554Z","dependency_job_id":null,"html_url":"https://github.com/matomatical/reMarkable-kaitai","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/matomatical%2FreMarkable-kaitai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matomatical%2FreMarkable-kaitai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matomatical%2FreMarkable-kaitai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matomatical%2FreMarkable-kaitai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matomatical","download_url":"https://codeload.github.com/matomatical/reMarkable-kaitai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514352,"owners_count":21920327,"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":["kaitai-struct","remarkable-tablet"],"created_at":"2024-08-03T17:00:42.620Z","updated_at":"2025-05-11T03:32:54.340Z","avatar_url":"https://github.com/matomatical.png","language":"Kaitai Struct","funding_links":[],"categories":["APIs"],"sub_categories":["Lines Format"],"readme":"reMarkable Kaitai Specs\n=======================\n\nThe [reMarkable](https://remarkable.com/)\nis a pretty cool e-ink tablet.\nThe tablet stores a notebook's pen strokes in binary files on the device\n(`.rm` files, also called *lines* format).\nFor backup and/or conversion jobs, it can be helpful to parse this binary\nformat.\n\n[Kaitai Struct](http://kaitai.io/)\nis a declarative parser specification language for binary data formats,\nand an accompanying parser generator.\nKaitai Struct specifications can be compiled to code for a parser in one\nof various languages.\n\nThis repository contains a Kaitai Struct specification for some versions\nof the reMarkable lines (`.rm`) format.\n\nNotes\n-----\n\nThis specification was made very quickly for fun, and it could probably\nbe improved. For example, it might be helpful to add some documentation\nto the specification, and it might be an improvement to automatically\ndetect one of multiple versions of the format from the header, and parse\naccordingly. Contributions welcome.\n\nThe specifications have only been tested superficially, on a single-layer\nv5 lines document with strokes of a single brush type and size. To be honest\nI haven't even rendered the output to check it makes sense.\nThe v3 spec has not been tested at all. Issues or corrections welcome.\n\nThe reMarkable lines format evolves as the reMarkable receives updates,\nand this repository is probably not going to be kept up to date. Forks\nare welcome.\n\nHowever, at least for the time being, this project might serve as a useful\nstarting point for someone who wants to make the specification properly,\nand it might save a little work if someone just wants a parser in a\nKaitai-supported language.\n\n\nContents\n--------\n\n* `rm_v5.ksy`---spec for reMarkable .lines format, version 5\n  * `hello.rm`---example v5 lines binary file\n* `rm_v3.ksy`---spec for reMarkable .lines format, version 3\n\nTODO:\n\n* `rm_v0.ksy`---spec for reMarkable .lines format, early version (no number)\n\nCredits\n-------\n\nTime for an overly gratuitous thank you speech:\n\n* Thanks to ax3l for documenting a\n  [thorough exploration of the binary format](https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/reMarkable-lines-file-format.html),\n  and for the\n  [C++](https://github.com/ax3l/lines-are-beautiful)\n  and\n  [Rust](https://github.com/ax3l/lines-are-rusty)\n  reference implementations of the parser.\n* Thanks to reHackable's\n  [awesome-reMarkable](https://github.com/reHackable/awesome-reMarkable)\n  project, which brings together many great and open projects for enhancing\n  the reMarkable notebook experience, and helped me find ax3l's work.\n* Thanks to a [stackoverflow answer](https://stackoverflow.com/a/39827436)\n  for informing me about Kaitai Struct, saving me from writing a parser in\n  Python (I use Python too much, and should really branch out more).\n* Kaitai Struct was super easy to pick up due to the great documentation and\n  online IDE. Thanks,  for helping me feel like a hacker!\n* Thanks to [reMarkable AS](https://remarkable.com/) for your awesome tablet.\n  It is a technology that has an unquestionably positive impact on my life\n  (and in case anyone hasn't noticed, that's saying something for a technology\n  these days).\n\nIn case it's not clear, this repository is not affiliated with reMarkable AS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatomatical%2FreMarkable-kaitai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatomatical%2FreMarkable-kaitai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatomatical%2FreMarkable-kaitai/lists"}