{
 "slug": "lakeshark",
 "name": "LakeShark",
 "maker": "SAMS0N1TE",
 "category": "radio",
 "categoryLabel": "Radio & mesh",
 "status": "development",
 "statusLabel": "In development",
 "description": "Open-source firmware that turns a LilyGO T-Display-P4 into a handheld SDR scanner with an onboard LoRa mesh radio and GPS.",
 "goodFor": "Scan trunked and analog radio, follow aircraft and watch LoRa mesh traffic on one handheld with offline maps.",
 "youNeed": "A supported LilyGO T-Display-P4, an RTL-SDR Blog V3 or V4 for most receivers, and matching ESP-Hosted firmware on the C6 for wireless.",
 "tradeoff": "Several receivers and the dual-radio keyboard features are still marked experimental or await live-RF validation.",
 "tags": [
  "SDR scanner",
  "RTL-SDR",
  "LoRa mesh",
  "ADS-B",
  "Open source"
 ],
 "price": null,
 "priceShort": null,
 "priceFrom": null,
 "checked": "2026-09-17",
 "url": "https://gadgets.sh/devices/lakeshark/",
 "shortUrl": "https://gadgets.sh/lakeshark",
 "markdown": "https://gadgets.sh/devices/lakeshark.md",
 "image": "https://gadgets.sh/assets/lakeshark.jpg",
 "cutout": "https://gadgets.sh/assets/cutouts/lakeshark.webp",
 "shareCard": "https://gadgets.sh/og/lakeshark.jpg",
 "shops": [
  {
   "merchant": "SAMS0N1TE",
   "label": "Source repository",
   "kind": "repo",
   "orderable": false,
   "url": "https://github.com/SAMS0N1TE/LakeShark?utm_source=gadgets.sh&utm_medium=referral&utm_campaign=lakeshark&utm_content=api",
   "note": "The maker publishes this as a project, not a product listing."
  }
 ],
 "specs": [
  {
   "group": "Handheld hardware",
   "rows": [
    {
     "label": "Host board",
     "value": "LilyGO T-Display-P4 (ESP32-P4); this port targets the 568x1232 RM69A10 AMOLED with 16 MB flash",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Display and input",
     "value": "4.1-inch AMOLED with touch, a detachable keyboard, and auto-rotation (F11 rotates by hand)",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Onboard radio and sensors",
     "value": "SX1262 LoRa running MeshCore, GPS, and nine-axis motion sensing",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Wireless co-processor",
     "value": "ESP32-C6 for Wi-Fi and Bluetooth; needs matching ESP-Hosted 2.12.9 firmware, not factory ESP-AT",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/docs/TDP4_FIRST_FLASH.md"
    }
   ]
  },
  {
   "group": "Receivers and apps",
   "rows": [
    {
     "label": "SDR source",
     "value": "RTL-SDR Blog V3 or V4 over USB for P25 Phase 1 trunking, FM/AM, POCSAG, ADS-B and sub-GHz capture",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Decoder apps",
     "value": "P25, FM, ADS-B, FALLS waterfall, MESH (MeshCore), LoRa Labs, Journal, NFC, REC, SUB-GHZ, MAP, GPS and LINK",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "MIX-RF keyboard",
     "value": "Detachable keyboard adds a CC1101 energy monitor, an nRF24 2.4 GHz activity scan and NFC/ST25R3916 field detection",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/docs/MIX_RF.md"
    },
    {
     "label": "Experimental features",
     "value": "P25 Phase II, HackRF USB IQ transport and the LoRa bearing plot are marked experimental and await live-RF validation",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    }
   ]
  },
  {
   "group": "Other build targets",
   "rows": [
    {
     "label": "Headless boards",
     "value": "Waveshare ESP32-P4-NANO and ESP32-P4-WIFI6 run the same receivers with no screen, driven over serial or from the Flipper",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Flipper head",
     "value": "A separate Flipper Zero app controls the radio over Bluetooth or the GPIO header, with no pairing code",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Legacy panel",
     "value": "A 480x800 Waveshare Touch-LCD-4.3 image exists but is not where new work goes",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    }
   ]
  },
  {
   "group": "Flashing, release and licence",
   "rows": [
    {
     "label": "Browser flasher",
     "value": "Flashed from Chrome or Edge with no toolchain; the site also builds P25 profiles, GPS scan lists and offline map tiles",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
    },
    {
     "label": "Current release",
     "value": "v2.2.0, published 2026-09-16, with T-Display-P4 app, source and Flipper companion packages and a SHA256SUMS file",
     "source": "https://github.com/SAMS0N1TE/LakeShark/releases/tag/v2.2.0"
    },
    {
     "label": "Flash layout",
     "value": "First install writes bootloader (0x2000), partition table (0x8000), lakeshark.bin (0x10000) and storage.bin (0x910000)",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/docs/TDP4_FIRST_FLASH.md"
    },
    {
     "label": "Licence",
     "value": "GPL-3.0; bundled third-party code keeps its own notices",
     "source": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/LICENSE"
    }
   ]
  }
 ],
 "docs": [
  {
   "label": "Maker repository",
   "url": "https://github.com/SAMS0N1TE/LakeShark"
  },
  {
   "label": "README at the reviewed commit",
   "url": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/README.md"
  },
  {
   "label": "T-Display-P4 first-flash guide",
   "url": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/docs/TDP4_FIRST_FLASH.md"
  },
  {
   "label": "MIX-RF keyboard document",
   "url": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/docs/MIX_RF.md"
  },
  {
   "label": "Release v2.2.0",
   "url": "https://github.com/SAMS0N1TE/LakeShark/releases/tag/v2.2.0"
  },
  {
   "label": "Licence",
   "url": "https://github.com/SAMS0N1TE/LakeShark/blob/ebdd98046e07839d00dff99fdf59ba29f21b9a9f/LICENSE"
  }
 ],
 "blueprint": {
  "openness": "open-firmware",
  "opennessLabel": "Open firmware",
  "summary": "SAMS0N1TE's own contribution is fully open GPLv3 firmware for off-the-shelf boards; LakeShark has no custom PCB, and the LILYGO board it targets has its own separately published official schematics.",
  "files": [
   {
    "kind": "schematic",
    "label": "T-Display-P4 main board schematic V1.0, AMOLED SKU (PDF)",
    "url": "https://github.com/Xinyuan-LilyGO/T-Display-P4/blob/main/project/T-Display-P4_V1.0(H0410S001AMT001-V0)_202601061148.pdf",
    "format": "PDF"
   },
   {
    "kind": "schematic",
    "label": "T-Display-P4 detachable keyboard schematic V1.1 (PDF)",
    "url": "https://github.com/Xinyuan-LilyGO/T-Display-P4/blob/main/project/T-Display-P4-Keyboard_V1.1.pdf",
    "format": "PDF"
   },
   {
    "kind": "schematic",
    "label": "T-Display-P4 battery board schematic V1.2 (PDF)",
    "url": "https://github.com/Xinyuan-LilyGO/T-Display-P4/blob/main/project/T-Display-P4-Battery_V1.2.pdf",
    "format": "PDF"
   }
  ],
  "repos": [
   {
    "url": "https://github.com/SAMS0N1TE/LakeShark",
    "role": "firmware",
    "official": true,
    "license": "GPL-3.0",
    "stars": 106,
    "pushed": "2026-09-26"
   },
   {
    "url": "https://github.com/Xinyuan-LilyGO/T-Display-P4",
    "role": "hardware",
    "official": true,
    "license": "GPL-3.0",
    "stars": 62,
    "pushed": "2026-09-24"
   }
  ],
  "parts": [
   {
    "part": "Espressif ESP32-P4",
    "role": "Main MCU (no radio; dual RISC-V app cores)",
    "datasheet": "https://www.espressif.com/en/products/socs/esp32-p4"
   },
   {
    "part": "Espressif ESP32-C6",
    "role": "Wi-Fi/BT wireless co-processor (needs matching ESP-Hosted firmware, not factory ESP-AT)",
    "datasheet": "https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf"
   },
   {
    "part": "Semtech SX1262",
    "role": "Onboard sub-GHz LoRa transceiver (MeshCore/LoRa Labs)",
    "datasheet": "https://www.semtech.com/products/wireless-rf/lora-connect/sx1262"
   },
   {
    "part": "TI CC1101",
    "role": "MIX-RF detachable keyboard add-on: sub-GHz transceiver",
    "datasheet": "https://www.ti.com/product/CC1101"
   }
  ],
  "notes": "LakeShark's README confirms it ships no custom PCB: it targets the LILYGO T-Display-P4 (AMOLED SKU), optional Waveshare ESP32-P4-NANO/WIFI6 boards, and an RTL-SDR Blog V3/V4 dongle. The listed schematics/parts are the LILYGO board's own official design files (gh api tree of Xinyuan-LilyGO/T-Display-P4, GPLv3), which are what a rebuilder actually needs. A custom LakeShark case is teased via renders on terminalbay.com but no case/enclosure files are published in any repo found.",
  "checked": "2026-09-27"
 },
 "sourceFiles": null,
 "firmware": [],
 "chips": [
  "esp32-p4",
  "esp32-c6",
  "sx1262",
  "cc1101",
  "st25r3916"
 ]
}