{
  "id": "meshcore-tbeam-1w",
  "name": "MeshCore T-Beam 1W",
  "type": "fork",
  "maintainer": "mintylinux",
  "description": "Dedicated MeshCore firmware builds for the LilyGo T-Beam 1 Watt, providing prebuilt binaries for easy flashing without compiling from source.\n",
  "repository": "https://github.com/mintylinux/Meshcore-T-beam-1W-Firmware",
  "license": "MIT",
  "status": "maintenance",
  "lifecycle": "maintenance",
  "maturity": "stable",
  "distribution": "community",
  "lineage": {
    "kind": "fork",
    "upstreamFirmwareId": "meshcore-official",
    "upstreamRepository": "https://github.com/meshcore-dev/MeshCore"
  },
  "runtime": {
    "framework": "arduino",
    "language": "cpp"
  },
  "roles": [
    "companion",
    "repeater"
  ],
  "features": [
    "Prebuilt firmware for T-Beam 1W",
    "Easy flashing without compiling"
  ],
  "capabilities": {
    "protocol": {
      "meshcoreCompatible": true
    },
    "transports": {
      "ble": true,
      "usbSerial": true,
      "nativeTcp": true,
      "wifiAp": true
    },
    "operations": {
      "ota": true,
      "webFlasher": false
    },
    "networking": {
      "repeater": true,
      "roomServer": false,
      "observer": false,
      "kissModem": false
    },
    "hardware": {
      "gps": true,
      "display": false,
      "sensors": false,
      "lowPowerRx": false
    }
  },
  "devices": [
    {
      "id": "lilygo-tbeam-1w",
      "status": "supported"
    }
  ],
  "source": {
    "path": "data/firmwares/meshcore-tbeam-1w/firmware.yaml",
    "updatedAt": "2026-06-24T01:55:49+02:00"
  },
  "latest_version": "1.15.0",
  "released": "2026-05-07",
  "releases": [
    {
      "version": "1.15.0",
      "name": "Meshcore-T-Beam-1W-Firmware Ver 1.15.0",
      "datetime": "2026-05-07T23:36:55Z",
      "url": "https://github.com/mintylinux/Meshcore-T-beam-1W-Firmware/releases/tag/1.15.0",
      "prerelease": false,
      "notes": "# Changelog - T-Beam 1W Firmware\r\n\r\nAll notable changes to the MeshCore T-Beam 1W firmware will be documented in this file.\r\n## [1.15.0] - 2026-05-07\r\n\r\n### Updated\r\n- Merged upstream MeshCore `v1.15.0` from `meshcore-dev/MeshCore`\r\n- Rebuilt and verified all T-Beam 1W SX1262 target variants:\r\n  - `T_Beam_1W_SX1262_companion_radio_ble`\r\n  - `T_Beam_1W_SX1262_companion_radio_usb`\r\n  - `T_Beam_1W_SX1262_repeater`\r\n  - `T_Beam_1W_SX1262_room_server`\r\n- Generated new merged firmware artifacts:\r\n  - `T-Beam-1W-CompanionBLE-v1.15.0-merged.bin`\r\n  - `T-Beam-1W-CompanionUSB-v1.15.0-merged.bin`\r\n  - `T-Beam-1W-Repeater-v1.15.0-merged.bin`\r\n  - `T-Beam-1W-RoomServer-v1.15.0-merged.bin`\r\n\r\n### Upstream Changes (v1.14.1 → v1.15.0)\r\n- Default Scope support\r\n- New `GROUP_DATA` binary packet support\r\n- Radio `rxgain` now enabled by default\r\n- Radio frequency range extended down to 150 MHz\r\n- New `get|set dutycycle` CLI command\r\n- WiFi companion fixes for Heltec V4 and T-Beam 1W\r\n- nRF companion OTA update support\r\n- Additional sensor, board support, and stability fixes\r\n\r\n### T-Beam 1W Specific Changes\r\n- Added `SX126X_REGISTER_PATCH=1` for a more stable SX1262 noise floor\r\n- Added `USE_SX1262` to the shared T-Beam 1W SX1262 build flags\r\n- Added `T_Beam_1W_SX1262_companion_radio_usb` build target\r\n- Switched from `min_spiffs.csv` to `default_16MB.csv` to use the full 16MB flash\r\n- Fixed `boards/t_beam_1w.json` to use the generic Arduino `esp32s3` variant so all SX1262 targets build correctly\r\n- Preserved and integrated T-Beam 1W fan control support in all three runtime loops:\r\n  - Companion\r\n  - Repeater\r\n  - Room Server\r\n- Updated the fan thermostat to use MCU temperature with hysteresis:\r\n  - Fan turns ON at `45°C`\r\n  - Fan turns OFF below `41°C`\r\n  - Minimum runtime remains `5s`\r\n\r\n### Technical Details (T-Beam 1W Specific)\r\n- Flash Mode: DIO (Dual I/O)\r\n- Flash Size: 16MB\r\n- Flash Frequency: 80MHz\r\n- Chip: ESP32-S3\r\n- Board: LilyGo T-Beam 1W with SX1262 LoRa radio",
      "notesHtml": "<h1>Changelog - T-Beam 1W Firmware</h1>\n<p>All notable changes to the MeshCore T-Beam 1W firmware will be documented in this file.</p>\n<h2>[1.15.0] - 2026-05-07</h2>\n<h3>Updated</h3>\n<ul>\n<li>Merged upstream MeshCore <code>v1.15.0</code> from <code>meshcore-dev/MeshCore</code></li>\n<li>Rebuilt and verified all T-Beam 1W SX1262 target variants:<ul>\n<li><code>T_Beam_1W_SX1262_companion_radio_ble</code></li>\n<li><code>T_Beam_1W_SX1262_companion_radio_usb</code></li>\n<li><code>T_Beam_1W_SX1262_repeater</code></li>\n<li><code>T_Beam_1W_SX1262_room_server</code></li>\n</ul>\n</li>\n<li>Generated new merged firmware artifacts:<ul>\n<li><code>T-Beam-1W-CompanionBLE-v1.15.0-merged.bin</code></li>\n<li><code>T-Beam-1W-CompanionUSB-v1.15.0-merged.bin</code></li>\n<li><code>T-Beam-1W-Repeater-v1.15.0-merged.bin</code></li>\n<li><code>T-Beam-1W-RoomServer-v1.15.0-merged.bin</code></li>\n</ul>\n</li>\n</ul>\n<h3>Upstream Changes (v1.14.1 → v1.15.0)</h3>\n<ul>\n<li>Default Scope support</li>\n<li>New <code>GROUP_DATA</code> binary packet support</li>\n<li>Radio <code>rxgain</code> now enabled by default</li>\n<li>Radio frequency range extended down to 150 MHz</li>\n<li>New <code>get|set dutycycle</code> CLI command</li>\n<li>WiFi companion fixes for Heltec V4 and T-Beam 1W</li>\n<li>nRF companion OTA update support</li>\n<li>Additional sensor, board support, and stability fixes</li>\n</ul>\n<h3>T-Beam 1W Specific Changes</h3>\n<ul>\n<li>Added <code>SX126X_REGISTER_PATCH=1</code> for a more stable SX1262 noise floor</li>\n<li>Added <code>USE_SX1262</code> to the shared T-Beam 1W SX1262 build flags</li>\n<li>Added <code>T_Beam_1W_SX1262_companion_radio_usb</code> build target</li>\n<li>Switched from <code>min_spiffs.csv</code> to <code>default_16MB.csv</code> to use the full 16MB flash</li>\n<li>Fixed <code>boards/t_beam_1w.json</code> to use the generic Arduino <code>esp32s3</code> variant so all SX1262 targets build correctly</li>\n<li>Preserved and integrated T-Beam 1W fan control support in all three runtime loops:<ul>\n<li>Companion</li>\n<li>Repeater</li>\n<li>Room Server</li>\n</ul>\n</li>\n<li>Updated the fan thermostat to use MCU temperature with hysteresis:<ul>\n<li>Fan turns ON at <code>45°C</code></li>\n<li>Fan turns OFF below <code>41°C</code></li>\n<li>Minimum runtime remains <code>5s</code></li>\n</ul>\n</li>\n</ul>\n<h3>Technical Details (T-Beam 1W Specific)</h3>\n<ul>\n<li>Flash Mode: DIO (Dual I/O)</li>\n<li>Flash Size: 16MB</li>\n<li>Flash Frequency: 80MHz</li>\n<li>Chip: ESP32-S3</li>\n<li>Board: LilyGo T-Beam 1W with SX1262 LoRa radio</li>\n</ul>\n"
    },
    {
      "version": "1.14.1",
      "name": "Meshcore-T-Beam-1W-Firmware Ver 1.14.1",
      "datetime": "2026-03-29T21:31:23Z",
      "url": "https://github.com/mintylinux/Meshcore-T-beam-1W-Firmware/releases/tag/1.14.1",
      "prerelease": false,
      "notes": "## [1.14.1] - 2026-03-29\r\n\r\n### Updated\r\n- Merged upstream MeshCore `v1.14.1` from `meshcore-dev/MeshCore`\r\n- Rebuilt all T-Beam 1W target variants:\r\n  - `T-Beam-1W-CompanionBLE-v1.14.1-merged.bin`\r\n  - `T-Beam-1W-Repeater-v1.14.1-merged.bin`\r\n  - `T-Beam-1W-RoomServer-v1.14.1-merged.bin`\r\n\r\n### Upstream Changes (v1.14.0 → v1.14.1)\r\n- Repeater and Room Server: flood advert timer now uses path_hash_mode pref\r\n- MCU temperature added to telemetry responses from room servers\r\n- Remote LNA support\r\n- Various bug fixes and documentation updates\r\n- Updated webflasher references to v1.14.1",
      "notesHtml": "<h2>[1.14.1] - 2026-03-29</h2>\n<h3>Updated</h3>\n<ul>\n<li>Merged upstream MeshCore <code>v1.14.1</code> from <code>meshcore-dev/MeshCore</code></li>\n<li>Rebuilt all T-Beam 1W target variants:<ul>\n<li><code>T-Beam-1W-CompanionBLE-v1.14.1-merged.bin</code></li>\n<li><code>T-Beam-1W-Repeater-v1.14.1-merged.bin</code></li>\n<li><code>T-Beam-1W-RoomServer-v1.14.1-merged.bin</code></li>\n</ul>\n</li>\n</ul>\n<h3>Upstream Changes (v1.14.0 → v1.14.1)</h3>\n<ul>\n<li>Repeater and Room Server: flood advert timer now uses path_hash_mode pref</li>\n<li>MCU temperature added to telemetry responses from room servers</li>\n<li>Remote LNA support</li>\n<li>Various bug fixes and documentation updates</li>\n<li>Updated webflasher references to v1.14.1</li>\n</ul>\n"
    },
    {
      "version": "1.14",
      "name": "Meshcore LilyGo T-Beam 1Watt. Firmware Ver 1.14",
      "datetime": "2026-03-07T18:25:59Z",
      "url": "https://github.com/mintylinux/Meshcore-T-beam-1W-Firmware/releases/tag/1.14",
      "prerelease": false,
      "notes": "# Changelog - T-Beam 1W Firmware\r\n\r\nAll notable changes to the MeshCore T-Beam 1W firmware will be documented in this file.\r\n## [1.14.0] - 2026-03-07\r\n\r\n### Added\r\n- Updated firmware base to MeshCore `v1.14.0` (upstream merge from `meshcore-dev/MeshCore`)\r\n- New v1.14.0 merged firmware artifacts for T-Beam 1W:\r\n  - `T-Beam-1W-CompanionBLE-v1.14.0-merged.bin`\r\n  - `T-Beam-1W-Repeater-v1.14.0-merged.bin`\r\n  - `T-Beam-1W-RoomServer-v1.14.0-merged.bin`\r\n\r\n### Changed\r\n- Updated webflasher packaging/version references from `v1.13.0` to `v1.14.0`:\r\n  - `create_webflasher_bins.sh`\r\n  - `webflasher/manifest.json`\r\n  - `webflasher/flash-windows.bat`\r\n  - `webflasher/flash-windows.ps1`\r\n- Rebuilt all T-Beam 1W target variants on top of MeshCore v1.14.0\r\n\r\n### Fixed\r\n- Resolved upstream merge conflict in `EnvironmentSensorManager.cpp` while preserving expected GPS loop behavior\r\n- Re-generated merged binaries with required components/offsets for direct flashing:\r\n  - bootloader @ `0x0000`\r\n  - partitions @ `0x8000`\r\n  - boot_app0 @ `0xE000`\r\n  - firmware @ `0x10000`\r\n\r\n### Technical Details (T-Beam 1W Specific)\r\n- Flash Mode: DIO (Dual I/O)\r\n- Flash Size: 4MB\r\n- Flash Frequency: 80MHz\r\n- Chip: ESP32-S3\r\n- Board: LilyGo T-Beam 1W with SX1262 LoRa radio\r\n\r\n---",
      "notesHtml": "<h1>Changelog - T-Beam 1W Firmware</h1>\n<p>All notable changes to the MeshCore T-Beam 1W firmware will be documented in this file.</p>\n<h2>[1.14.0] - 2026-03-07</h2>\n<h3>Added</h3>\n<ul>\n<li>Updated firmware base to MeshCore <code>v1.14.0</code> (upstream merge from <code>meshcore-dev/MeshCore</code>)</li>\n<li>New v1.14.0 merged firmware artifacts for T-Beam 1W:<ul>\n<li><code>T-Beam-1W-CompanionBLE-v1.14.0-merged.bin</code></li>\n<li><code>T-Beam-1W-Repeater-v1.14.0-merged.bin</code></li>\n<li><code>T-Beam-1W-RoomServer-v1.14.0-merged.bin</code></li>\n</ul>\n</li>\n</ul>\n<h3>Changed</h3>\n<ul>\n<li>Updated webflasher packaging/version references from <code>v1.13.0</code> to <code>v1.14.0</code>:<ul>\n<li><code>create_webflasher_bins.sh</code></li>\n<li><code>webflasher/manifest.json</code></li>\n<li><code>webflasher/flash-windows.bat</code></li>\n<li><code>webflasher/flash-windows.ps1</code></li>\n</ul>\n</li>\n<li>Rebuilt all T-Beam 1W target variants on top of MeshCore v1.14.0</li>\n</ul>\n<h3>Fixed</h3>\n<ul>\n<li>Resolved upstream merge conflict in <code>EnvironmentSensorManager.cpp</code> while preserving expected GPS loop behavior</li>\n<li>Re-generated merged binaries with required components/offsets for direct flashing:<ul>\n<li>bootloader @ <code>0x0000</code></li>\n<li>partitions @ <code>0x8000</code></li>\n<li>boot_app0 @ <code>0xE000</code></li>\n<li>firmware @ <code>0x10000</code></li>\n</ul>\n</li>\n</ul>\n<h3>Technical Details (T-Beam 1W Specific)</h3>\n<ul>\n<li>Flash Mode: DIO (Dual I/O)</li>\n<li>Flash Size: 4MB</li>\n<li>Flash Frequency: 80MHz</li>\n<li>Chip: ESP32-S3</li>\n<li>Board: LilyGo T-Beam 1W with SX1262 LoRa radio</li>\n</ul>\n<hr />\n"
    },
    {
      "version": "1.13.0",
      "name": "Meshcore LilyGo T-Beam 1Watt Firmware v1.13",
      "datetime": "2026-02-17T17:06:32Z",
      "url": "https://github.com/mintylinux/Meshcore-T-beam-1W-Firmware/releases/tag/1.13.0",
      "prerelease": false,
      "notes": "## [1.13.0] - 2026-02-17\r\n\r\n### Added\r\n- **Repeater CLI Commands**: Remote management via CLI\r\n  - `reboot` - Restart the device\r\n  - `advert` - View advertise settings\r\n  - `set af` - Set auto-forward mode\r\n  - `set name` - Set device name\r\n  - `set lat` / `set lon` - Set GPS coordinates\r\n  - `password` - Change admin password\r\n  - `ver` - Display firmware version\r\n- **Room Server Enhancements**\r\n  - Persistent preferences (loads/saves settings)\r\n  - Same CLI commands as repeater for remote management\r\n  - Timeout detection for push posts (evicts clients after 3 timeouts)\r\n  - TXT_TYPE_SIGNED_PLAIN for outbound messages\r\n- **Companion Radio Features**\r\n  - Anonymous request support (CMD_SEND_ANON_REQ)\r\n  - Auto-add configuration commands (CMD_SET_AUTOADD_CONFIG, CMD_GET_AUTOADD_CONFIG)\r\n  - Allowed repeat frequency query (CMD_GET_ALLOWED_REPEAT_FREQ)\r\n  - Granular auto-add contact type filtering\r\n- **ESP32 Features**\r\n  - ESP32RTCClock for repeater (keeps time across reboots)\r\n- **Temperature-Based Fan Control** (T-Beam 1W)\r\n  - Smart fan activation based on NTC thermistor readings (GPIO 14)\r\n  - Fan turns ON when temperature exceeds 37°C\r\n  - Fan turns OFF when temperature drops below 35°C (hysteresis prevents oscillation)\r\n  - Replaces always-on fan behavior with intelligent thermal management\r\n  - Uses Steinhart-Hart equation for accurate temperature calculation\r\n\r\n### Fixed\r\n- CAD (Channel Activity Detection) detection fixed\r\n- Duplicate message IDs in repeater CLI view\r\n- Room server crash fixes\r\n- hasName() method missing return statement\r\n- BaseChatMesh compilation issues for various targets\r\n- RAK terminal chat fixes\r\n\r\n### Changed\r\n- Mesh packet optimization: Don't retransmit packets already handled by this node\r\n- Refactored advertise data methods to AdvertDataHelper.cpp\r\n- TxtDataHelpers.h with standard TXT sub-types\r\n- Repeater debug diagnostics improvements\r\n- Build configuration now supports ADVERT_NAME, ADVERT_LAT, ADVERT_LON defines\r\n\r\n### Technical Details (T-Beam 1W Specific)\r\n- Flash Mode: DIO (Dual I/O)\r\n- Flash Size: 4MB\r\n- Flash Frequency: 80MHz\r\n- Chip: ESP32-S3\r\n- Board: LilyGo T-Beam 1W with SX1262 LoRa radio\r\n\r\n### Webflasher Binaries\r\nAll binaries include:\r\n- Bootloader at 0x0000\r\n- Partition table at 0x8000\r\n- boot_app0.bin at 0xe000 (required for boot)\r\n- Application firmware at 0x10000\r\n\r\n**Note**: Official MeshCore webflasher currently flashes at wrong offset. Use esptool directly:\r\n```bash\r\npython -m esptool --chip esp32s3 --port COM5 --baud 460800 write_flash 0x0 T-Beam-1W-CompanionBLE-v1.13.0.bin\r\n```\r\n\r\nOr use the provided Windows scripts: `flash-windows.bat` or `flash-windows.ps1`\r\n\r\n---",
      "notesHtml": "<h2>[1.13.0] - 2026-02-17</h2>\n<h3>Added</h3>\n<ul>\n<li><strong>Repeater CLI Commands</strong>: Remote management via CLI<ul>\n<li><code>reboot</code> - Restart the device</li>\n<li><code>advert</code> - View advertise settings</li>\n<li><code>set af</code> - Set auto-forward mode</li>\n<li><code>set name</code> - Set device name</li>\n<li><code>set lat</code> / <code>set lon</code> - Set GPS coordinates</li>\n<li><code>password</code> - Change admin password</li>\n<li><code>ver</code> - Display firmware version</li>\n</ul>\n</li>\n<li><strong>Room Server Enhancements</strong><ul>\n<li>Persistent preferences (loads/saves settings)</li>\n<li>Same CLI commands as repeater for remote management</li>\n<li>Timeout detection for push posts (evicts clients after 3 timeouts)</li>\n<li>TXT_TYPE_SIGNED_PLAIN for outbound messages</li>\n</ul>\n</li>\n<li><strong>Companion Radio Features</strong><ul>\n<li>Anonymous request support (CMD_SEND_ANON_REQ)</li>\n<li>Auto-add configuration commands (CMD_SET_AUTOADD_CONFIG, CMD_GET_AUTOADD_CONFIG)</li>\n<li>Allowed repeat frequency query (CMD_GET_ALLOWED_REPEAT_FREQ)</li>\n<li>Granular auto-add contact type filtering</li>\n</ul>\n</li>\n<li><strong>ESP32 Features</strong><ul>\n<li>ESP32RTCClock for repeater (keeps time across reboots)</li>\n</ul>\n</li>\n<li><strong>Temperature-Based Fan Control</strong> (T-Beam 1W)<ul>\n<li>Smart fan activation based on NTC thermistor readings (GPIO 14)</li>\n<li>Fan turns ON when temperature exceeds 37°C</li>\n<li>Fan turns OFF when temperature drops below 35°C (hysteresis prevents oscillation)</li>\n<li>Replaces always-on fan behavior with intelligent thermal management</li>\n<li>Uses Steinhart-Hart equation for accurate temperature calculation</li>\n</ul>\n</li>\n</ul>\n<h3>Fixed</h3>\n<ul>\n<li>CAD (Channel Activity Detection) detection fixed</li>\n<li>Duplicate message IDs in repeater CLI view</li>\n<li>Room server crash fixes</li>\n<li>hasName() method missing return statement</li>\n<li>BaseChatMesh compilation issues for various targets</li>\n<li>RAK terminal chat fixes</li>\n</ul>\n<h3>Changed</h3>\n<ul>\n<li>Mesh packet optimization: Don't retransmit packets already handled by this node</li>\n<li>Refactored advertise data methods to AdvertDataHelper.cpp</li>\n<li>TxtDataHelpers.h with standard TXT sub-types</li>\n<li>Repeater debug diagnostics improvements</li>\n<li>Build configuration now supports ADVERT_NAME, ADVERT_LAT, ADVERT_LON defines</li>\n</ul>\n<h3>Technical Details (T-Beam 1W Specific)</h3>\n<ul>\n<li>Flash Mode: DIO (Dual I/O)</li>\n<li>Flash Size: 4MB</li>\n<li>Flash Frequency: 80MHz</li>\n<li>Chip: ESP32-S3</li>\n<li>Board: LilyGo T-Beam 1W with SX1262 LoRa radio</li>\n</ul>\n<h3>Webflasher Binaries</h3>\n<p>All binaries include:</p>\n<ul>\n<li>Bootloader at 0x0000</li>\n<li>Partition table at 0x8000</li>\n<li>boot_app0.bin at 0xe000 (required for boot)</li>\n<li>Application firmware at 0x10000</li>\n</ul>\n<p><strong>Note</strong>: Official MeshCore webflasher currently flashes at wrong offset. Use esptool directly:</p>\n<pre><code>python -m esptool --chip esp32s3 --port COM5 --baud 460800 write_flash 0x0 T-Beam-1W-CompanionBLE-v1.13.0.bin\n</code></pre>\n<p>Or use the provided Windows scripts: <code>flash-windows.bat</code> or <code>flash-windows.ps1</code></p>\n<hr />\n"
    },
    {
      "version": "1.12.0",
      "name": "Meshcore LilyGo T-Beam 1Watt. Firmware Ver 1.12.0",
      "datetime": "2026-01-31T03:11:31Z",
      "url": "https://github.com/mintylinux/Meshcore-T-beam-1W-Firmware/releases/tag/1.12.0",
      "prerelease": false,
      "notes": "IMAGES NOW FLASH WITH OFFICIAL MESHCORE WEBFLASHER. PRESS RESET ON DEVICE AFTER THE FLASHING PROCESS.\r\n\r\nAll Features Working:\r\n\r\n1. GPS Communication ✅\r\n◦  Fixed TX/RX pin swap (GPIO 5/6)\r\n◦  NMEA sentences received\r\n◦  L76K GPS working (needs outdoor placement for satellite fix)\r\n2. Battery Monitoring ✅\r\n◦  GPIO 4 ADC reading (per Meshtastic config)\r\n◦  ADC multiplier 2.9333\r\n◦  Real-time voltage\r\n◦  Updates dynamically in app\r\n3. Radio & PA ✅\r\n◦  TX power limited to 22 dBm (safe for 1W PA)\r\n◦  PA ramp time 800µs\r\n◦  Fan control (5s after TX)\r\n4. MeshCore v1.12.0 ✅\r\n◦  All virtual methods implemented\r\n◦  USB CDC serial debug enabled\r\n◦  2S Li-ion battery support (6.0-8.4V)",
      "notesHtml": "<p>IMAGES NOW FLASH WITH OFFICIAL MESHCORE WEBFLASHER. PRESS RESET ON DEVICE AFTER THE FLASHING PROCESS.</p>\n<p>All Features Working:</p>\n<ol>\n<li>GPS Communication ✅\n◦  Fixed TX/RX pin swap (GPIO 5/6)\n◦  NMEA sentences received\n◦  L76K GPS working (needs outdoor placement for satellite fix)</li>\n<li>Battery Monitoring ✅\n◦  GPIO 4 ADC reading (per Meshtastic config)\n◦  ADC multiplier 2.9333\n◦  Real-time voltage\n◦  Updates dynamically in app</li>\n<li>Radio &amp; PA ✅\n◦  TX power limited to 22 dBm (safe for 1W PA)\n◦  PA ramp time 800µs\n◦  Fan control (5s after TX)</li>\n<li>MeshCore v1.12.0 ✅\n◦  All virtual methods implemented\n◦  USB CDC serial debug enabled\n◦  2S Li-ion battery support (6.0-8.4V)</li>\n</ol>\n"
    }
  ],
  "changelogSource": "github",
  "changelogUpdatedAt": "2026-06-21T09:55:38.467Z"
}
