{
  "id": "meshcore-cardputer-adv",
  "name": "MeshCore Cardputer-ADV",
  "type": "fork",
  "maintainer": "MultiMote",
  "description": "Cardputer-ADV focused MeshCore fork for the M5Stack Cardputer-Adv paired with the Cap LoRa-1262 expansion module. It adds the `cardputer_adv` target with a custom handheld UI, BLE companion transport, SD-backed storage, keyboard input, and GNSS support.\n",
  "repository": "https://github.com/MultiMote/meshcore-cardputer-adv",
  "status": "experimental",
  "scope": "device-specific",
  "scopeCategory": "M5Stack Cardputer",
  "lifecycle": "active",
  "maturity": "alpha",
  "distribution": "community",
  "lineage": {
    "kind": "fork",
    "upstreamFirmwareId": "meshcore",
    "upstreamRepository": "https://github.com/meshcore-dev/MeshCore"
  },
  "runtime": {
    "framework": "arduino",
    "language": "cpp"
  },
  "roles": [
    "companion",
    "standalone-ui"
  ],
  "features": [
    "Cardputer-specific UI",
    "BLE companion transport",
    "SD-backed message and settings storage",
    "Keyboard input",
    "GNSS support"
  ],
  "capabilities": {
    "protocol": {
      "meshcoreCompatible": true
    },
    "transports": {
      "ble": true,
      "usbSerial": true,
      "nativeTcp": false,
      "wifiAp": false
    },
    "operations": {
      "ota": false,
      "webFlasher": true
    },
    "networking": {
      "repeater": false,
      "roomServer": false,
      "observer": false,
      "kissModem": false
    },
    "hardware": {
      "gps": true,
      "display": true,
      "sensors": false,
      "lowPowerRx": false
    }
  },
  "devices": [
    {
      "id": "m5stack-cardputer-adv",
      "status": "supported",
      "target": "cardputer_adv",
      "platformio_board": "m5stack-stamps3"
    }
  ],
  "popularity": {
    "githubStars": 12,
    "githubForks": 1,
    "githubWatchers": 2,
    "githubOpenIssues": 1,
    "githubContributors": 1,
    "releaseDownloads": 46,
    "latestReleaseDownloads": 7,
    "lastChecked": "2026-07-21"
  },
  "verification": {
    "sourceAvailable": true,
    "releasesAvailable": true,
    "ciBuilds": true,
    "lastChecked": "2026-07-21"
  },
  "source": {
    "path": "data/firmwares/meshcore-cardputer-adv/firmware.yaml",
    "updatedAt": "2026-07-21T08:04:18Z"
  },
  "latest_version": "2026.7.2",
  "released": "2026-07-18",
  "releases": [
    {
      "version": "2026.7.2",
      "name": "Firmware 2026.7.2",
      "datetime": "2026-07-18T19:52:51Z",
      "url": "https://github.com/MultiMote/meshcore-cardputer-adv/releases/tag/2026.7.2",
      "prerelease": false,
      "notes": "* Remove messages preview screen\r\n* Add \"New message\" screen that appears when a new message is received when screen is off or current page is main\r\n* Move unsynced messages count to the stats page\r\n* After selecting chat and pressing `Esc`, current page is restored to the previous one",
      "notesHtml": "<ul>\n<li>Remove messages preview screen</li>\n<li>Add \"New message\" screen that appears when a new message is received when screen is off or current page is main</li>\n<li>Move unsynced messages count to the stats page</li>\n<li>After selecting chat and pressing <code>Esc</code>, current page is restored to the previous one</li>\n</ul>\n"
    },
    {
      "version": "2026.7.1",
      "name": "Firmware 2026.7.1",
      "datetime": "2026-07-14T16:40:53Z",
      "url": "https://github.com/MultiMote/meshcore-cardputer-adv/releases/tag/2026.7.1",
      "prerelease": false,
      "notes": "* Multiple direct message sending attempts\r\n* Press `Ctrl+T` to break resending\r\n* Press `Ctrl+Up` to insert last sent message into the text field\r\n* Add arrows to font\r\n* Fix screen not updated on new message",
      "notesHtml": "<ul>\n<li>Multiple direct message sending attempts</li>\n<li>Press <code>Ctrl+T</code> to break resending</li>\n<li>Press <code>Ctrl+Up</code> to insert last sent message into the text field</li>\n<li>Add arrows to font</li>\n<li>Fix screen not updated on new message</li>\n</ul>\n"
    },
    {
      "version": "2026.7.0",
      "name": "Firmware 2026.7.0",
      "datetime": "2026-07-06T19:10:46Z",
      "url": "https://github.com/MultiMote/meshcore-cardputer-adv/releases/tag/2026.7.0",
      "prerelease": false,
      "notes": "* Add versioning\r\n* **Cardputer hardware abstraction rework**\r\n  - Remove M5Unified, M5GFX, and M5Cardputer\r\n  - Replace M5GFX with \"LovyanGFX\"\r\n  - Replace M5Cardputer with \"Adafruit TCA8418\"\r\n* **[BREAKING] Keyboard layout rework**\r\n  - Support keyboard layers based on key modifiers (`Fn`, `OPT`, `Ctrl`, `Alt`, `Shift`)\r\n  - Allow overriding the base layout\r\n  - Layout file format changed (check the Wiki for details)\r\n  - Improve chat page `Fn` + `Arrows` logic (an empty input line does not require pressing `Fn`; the logic is reversed when typing)\r\n* **Power consumption reduced**\r\n  - Sleep mode (power saving): from ~52mA to ~22mA\r\n* Remove G0 button handling\r\n* Add more Unicode blocks to font\r\n* Move shutdown and reset to the tools menu\r\n* Move node name to the settings menu and make it editable\r\n* Move status icons to the left side\r\n* Add unread icon\r\n* Fix chat input line truncated at the wrong side\r\n* Do not pop up the message preview in the chat page",
      "notesHtml": "<ul>\n<li>Add versioning</li>\n<li><strong>Cardputer hardware abstraction rework</strong><ul>\n<li>Remove M5Unified, M5GFX, and M5Cardputer</li>\n<li>Replace M5GFX with \"LovyanGFX\"</li>\n<li>Replace M5Cardputer with \"Adafruit TCA8418\"</li>\n</ul>\n</li>\n<li><strong>[BREAKING] Keyboard layout rework</strong><ul>\n<li>Support keyboard layers based on key modifiers (<code>Fn</code>, <code>OPT</code>, <code>Ctrl</code>, <code>Alt</code>, <code>Shift</code>)</li>\n<li>Allow overriding the base layout</li>\n<li>Layout file format changed (check the Wiki for details)</li>\n<li>Improve chat page <code>Fn</code> + <code>Arrows</code> logic (an empty input line does not require pressing <code>Fn</code>; the logic is reversed when typing)</li>\n</ul>\n</li>\n<li><strong>Power consumption reduced</strong><ul>\n<li>Sleep mode (power saving): from ~52mA to ~22mA</li>\n</ul>\n</li>\n<li>Remove G0 button handling</li>\n<li>Add more Unicode blocks to font</li>\n<li>Move shutdown and reset to the tools menu</li>\n<li>Move node name to the settings menu and make it editable</li>\n<li>Move status icons to the left side</li>\n<li>Add unread icon</li>\n<li>Fix chat input line truncated at the wrong side</li>\n<li>Do not pop up the message preview in the chat page</li>\n</ul>\n"
    },
    {
      "version": "latest",
      "name": "Snapshot",
      "datetime": "2026-05-15T16:13:48Z",
      "url": "https://github.com/MultiMote/meshcore-cardputer-adv/releases/tag/latest",
      "prerelease": true,
      "notes": "Current - Meshcore v1.16.0\r\nNot updated - Meshcore v1.15.0",
      "notesHtml": "<p>Current - Meshcore v1.16.0\nNot updated - Meshcore v1.15.0</p>\n"
    }
  ],
  "changelogSource": "github",
  "changelogUpdatedAt": "2026-07-18T20:52:41.510Z",
  "deviceFamilies": [
    {
      "id": "m5stack-cardputer",
      "label": "M5Stack Cardputer-ADV + Cap LoRa-1262"
    }
  ],
  "primaryFamily": {
    "id": "m5stack-cardputer",
    "label": "M5Stack Cardputer-ADV + Cap LoRa-1262"
  },
  "scopeGroup": "M5Stack Cardputer"
}
