Open-source project
ndoo/ikoka-nano-meshtastic-device avatar
ndoo/ikoka-nano-meshtastic-device

Ikoka Nano Meshtastic Device: A Compact XIAO nRF52840 LoRa Board with a Few Sharp Edges

ikoka-nano-meshtastic-device

104 stars8 forksHTMLCERN-OHL-P-2.0

At a glance

What is it?
This KiCad-based open hardware project builds a small, display-less Meshtastic node around the Seeed XIAO nRF52840 and an EBYTE E22 LoRa module. It is a practical design for makers who want a tiny repeater or sensor node, but it carries assembly and enclosure caveats.
Who is it for?
Adopt this design if you are comfortable with KiCad 8, can hand-solder 0603 parts, and want a Meshtastic node that fits in small spaces without a display. Skip it if you need an out-of-the-box product, because you must source components, assemble the board, and flash unofficial firmware builds.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Probably not. The repository last received commits 14 months ago, on July 15, 2025.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 6, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What This Board Solves and Who It Is For

The board is a KiCad project, not a commercial product. The repository contains the source files, production outputs, and assembly instructions. The primary language in the repository is HTML, which likely reflects the README or documentation pages, but the actual design files are KiCad format. The license is CERN-OHL-P-2.0, an open hardware license that permits use, modification, and distribution, provided derivatives carry the same license. That is a real consideration if you plan to commercialize a variant; you must keep the design open.

Hardware Architecture and Key Components

The board has no buttons, which is a deliberate trade-off. The README says it must be used with client software or as a remote repeater. That means initial setup, like joining a channel, has to happen over BLE or USB from a phone or computer. For a repeater that is fine, but for a handheld device it is a limitation. The lack of buttons also complicates recovery if the firmware crashes; you rely on the XIAO's reset button, which is on the module itself.

How You Get It Running: From KiCad to Flashing

Assembly is the hard part. The README recommends PCBA (assembly by a service) but notes that all SMDs are 0603 or larger, so hand-soldering is feasible. The instructions are detailed: solder the SMD components first, with the larger 0805 capacitors near the USB-C end. Then solder the connectors, then the XIAO module. The XIAO soldering is the trickiest step, with specific advice to tin the BAT+ pad first and ensure the battery hole aligns. The README warns that you cannot access the BAT+ pad once the E22 module is soldered, so you must test power and charging before mounting the LoRa radio. That is a practical sequencing constraint that could trip up a first-time builder. After assembly, you flash Meshtastic firmware. The README points to an unofficial web installer at mrekin.duckdns.org/flasher, where you select the Xiao BLE variant and download a UF2 file. You connect the board via USB, double-tap the reset button, and drop the UF2 into the XIAO-SENSE volume. Alternatively, you can build from source using the official Meshtastic firmware variant at meshtastic/firmware/variants/diy/xiao_ble/. The unofficial installer is a third-party service, so you are trusting that site with firmware; the README does not vouch for its security.

Real Limitations and Failure Modes

A third limitation is the lack of onboard buttons or display, which the README acknowledges. That makes the device unsuitable as a standalone node for users who do not want to carry a phone or use remote admin. If you deploy it as a repeater, you need another Meshtastic device to configure it, and if the network goes down, you have no way to interact with it directly. The README suggests that if Meshtastic does not start after flashing, you may need to wipe and reinstall, which implies a recovery procedure that is not documented in detail. You would have to figure that out from the Meshtastic project itself.

Alternatives and a Different Approach

The obvious alternative is to buy a commercial Meshtastic device, such as the Heltec V3 or a LilyGO T-Beam, which come with displays, buttons, and pre-flashed firmware. Those boards are larger and more expensive, but they are plug-and-play. The Ikoka Nano takes the opposite approach: it sacrifices convenience for size and customization. Another alternative is to use a different XIAO-based design, like the Meshtastic official xiao_ble variant, which the README references. That variant is a reference design for the XIAO nRF52840, but it may not have the same connector layout or solar charging. The key difference is that the Ikoka Nano integrates a battery charger and solar input, which the official variant may not, so it is better suited for remote, solar-powered deployments. However, the official variant likely has better documentation and community support, whereas the Ikoka Nano is a single-person project with a sparse README. If you want a proven path, the official variant is safer; if you want a solar-ready, compact board, the Ikoka Nano offers that in a way the official variant may not.

Maintenance, Upgrade Cost, and License Implications

The project is actively maintained, with a v1.1.0 release dated 2025-07-15, just days after the v1.0.0 release on 2025-07-10. That suggests rapid iteration, but it also means you should check the latest commit before building, because the enclosure lag is a sign that the design is still evolving. The maintenance cost for you as a user is low if you stick to the released versions, but you have to track the repository for changes to the pinout or BOM. The firmware side is separate; you depend on the Meshtastic project for updates, and the unofficial installer may not be updated in sync with official releases. The README says to pick the latest release from the flasher, but that is a third-party service, so there is a risk it lags or breaks. The license, CERN-OHL-P-2.0, requires that any derivative work you distribute also be licensed under the same terms. That means if you modify the board for your own use and share it, you must open the source. It also means you can use the design for commercial purposes, but you cannot close the source of your derivative. That is a real constraint for a company that wants to sell a proprietary version. The README does not include a changelog or upgrade guide, so the cost of upgrading from v1.0.0 to v1.1.0 is unclear; you would need to diff the KiCad files yourself.

Editorial conclusion

Adopt this design if you are comfortable with KiCad 8, can hand-solder 0603 parts, and want a Meshtastic node that fits in small spaces without a display. Skip it if you need an out-of-the-box product, because you must source components, assemble the board, and flash unofficial firmware builds. Before committing, verify that the E22-900M30S module is available and that the 3D printed enclosure matches the latest board revision, since the README explicitly warns it has not been updated for commit 2b17a53. The pinout matches the Meshtastic xiao_ble variant, so check that variant's documentation for any firmware changes. The project is open hardware under CERN-OHL-P-2.0, so you can modify it, but you must propagate the same license to derivatives.

Frequently asked questions

Does the ikoka-nano-meshtastic-device have a display or buttons?

No. The stated design goal is small size, and the cost of it is the absence of both an onboard display and buttons, which means the device must be used with Meshtastic client software or configured as a remote repeater through remote node administration.

What Meshtastic firmware does the ikoka board run?

The pinout matches the Meshtastic xiao_ble variant, so firmware built for that variant is what the board expects. You can either use the unofficial custom builds web installer and select Xiao BLE, or build from source following the diy/xiao_ble instructions in the Meshtastic firmware repository.

How do I flash the ikoka-nano-meshtastic-device?

Download a UF2 from the installer or your own build, connect USB-C to a PC, double-tap the reset button to reach the bootloader, then drop the file onto the XIAO-SENSE USB volume. If Meshtastic does not start after a few seconds, wipe and reinstall rather than retrying the update.

Can I order a 3D printed case for the ikoka board?

A snap-fit enclosure is provided, but it has not been updated for the latest board design and the commit behind that revision is named in the documentation. Check the fit before ordering, and note the instructions refer to an enclosures folder while the repository listing shows enclosure/.

What connectors does the ikoka-nano-meshtastic-device have?

USB-C for power and data, a Qwiic connector for I2C sensors, a battery connector on PicoBlade 1.25-2P, and a solar connector on PicoBlade 1.25-2P rated 4.45 to 6.45 V with a BQ25100 charge IC.

Is a prebuilt ikoka-nano-meshtastic-device available to buy?

The repository provides KiCad design files, fabrication files and assembly instructions rather than an assembled product. Boards have to be ordered from a fabricator using the Gerbers, BOM and CPL in jlcpcb/production_files, and the parts ordered from the exported bill of materials.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ndoo-ikoka-nano-meshtastic-device.svg)](https://hysenlabs.com/projects/ndoo-ikoka-nano-meshtastic-device)