Last August, CNX Software covered the launch of the Elecrow ThinkNode M9, a standalone LoRa terminal running MeshCore firmware with a QWERTY keyboard, a color display, GPS, and a built-in 2,300mAh battery. Elecrow has now sent us two units (923 MHz version) for review, allowing us to test mesh communication right out of the box without relying on other nodes in the area.
Besides being preloaded with MeshCore, what sets the M9 apart from the earlier ThinkNode M1 and M5 is that it is fully standalone. Users can type messages, read messages, and share location directly from the device itself, without pairing it to a smartphone over Bluetooth as with previous models.
In this review, we will go through an unboxing before using MeshCore through field testing in a 3-node network mixing hardware from different brands to evaluate MeshCore firmware mesh capability.
Unboxing and hardware overview
The box contains
- ThinkNode M9 unit
- A USB-A to USB-C cable
- A Quick Start Guide card
The device measures 126 × 67 × 12 mm, so it feels similar to a small smartphone in hand. Build quality is solid, and the design shows a major step forward for Elecrow.
The front has a 2.4-inch TFT LCD with 240 × 320 resolution that is not a touchscreen, plus a 37-key QWERTY keyboard divided into letter, navigation, and function zones. A toggle power switch can be found on the side, and the bottom side features a USB-C port for charging and programming and a hidden reset button. The specs mention microSD card support, but there is no accessible card slot. After trying to remove the back cover, we found it is held with adhesive tape, so we stopped rather than risk damaging the unit to test SD card use.
An interesting point is that all antennas — LoRa, Wi-Fi/Bluetooth, and GNSS — are internal. There are no external antennas protruding, which makes the device convenient to carry, but it also raises the question of how communication range compares with devices that use external antennas. We answer that in the field test section below.



First boot and using MeshCore
The unit ships with MeshCore firmware preinstalled from the factory and is ready to use as soon as it is powered on. It displays a QR code for the manual and a tutorial that teaches the various buttons, which is very helpful to get started immediately.

You first choose which communication firmware to use, Ripple or MeshCore. After that, the next step is setting the frequency according to the regulations of the country of use. Thailand is not in the list, so Custom must be selected.

For use in Thailand, we set the frequency to 923 MHz to match the band permitted by the NBTC, the local equivalent of the FCC.
We selected the preset shown in the image: frequency 923.125, SF 12, CR 4:8, BW 125.

Keyboard and display
Typing on the 37-key keyboard can be awkward for people with large fingers because the keys are quite small. Numbers and symbols are entered by holding the Sym key. Overall, typing is reasonably convenient.
The 2.4-inch display shows text and status clearly. There are two display modes for night and day use that make reading easier. The lack of a touchscreen is not a problem because the entire UI is designed to be controlled with the navigation keys and keyboard. Day and night display settings can be configured.

MeshCore features on the device
The MeshCore UI on the M9 covers all the main functions: discovering other devices, adding contacts, and creating channels. To find devices in the area, choose Scan Local; the other unit must go to the Send ID Local menu, after which they can discover each other.
After that, you can add contacts for further communication. Each contact entry includes a public key and location if a GPS fix can be obtained.
The main communication screen is organized as a search menu, followed by the Channel list, and finally the Contact list. Channels can also be created for group communication.
Map use was disappointing because Thailand is not supported. Saving map data for Thailand is also not possible because the unit cannot easily be opened to remove the card and write the desired maps. In addition, Wi-Fi is locked out on the free version of Ripple UI firmware, so maps cannot be downloaded that way either.
Usage testing
We tested with the two M9 units we received to simulate a typical user who buys a pair of M9s and starts using them immediately with no supporting infrastructure. After adding contacts, we tested communication in different ways.
Sending a direct message between the two units worked successfully. There is an audible notification when a message is received, and the sound can be turned off.

We then created a shared channel and chatted through it. There are three channel types: Public is the basic channel that every MeshCore device can use because they share the same key. Next is a Hash channel, a channel whose name starts with #. When you create or join a channel with that name, MeshCore automatically derives a secret key (PSK) from the name using a cryptographic hash. Last is a Private group channel, whose key is randomly generated (Random PSK) rather than derived from the name and must be distributed to people who should join the group.
Switching to MeshOS
Overall, unboxing and starting communication is convenient and not complicated. Basic use works, but it is not particularly impressive because the preloaded firmware is Ripple UI with only basic features. An $8 (~270 THB) license unlock is required for some features such as Wi-Fi to download maps for offline use or sharing location with friends. We therefore looked for alternatives and found MeshOS, which can be flashed over Ripple UI. We flashed MeshOS onto one of the two units to compare performance.


Field testing
Direct communication range (M9 to M9)
Having two units allowed us to test node-to-node range directly. Parameters were set to SF 12, CR 4:8, BW 125. The first unit was placed at a height of 160 cm, and we tested the range by sending messages.
In an urban area — a housing estate with dozens of two-story houses blocking line of sight — messages could not reach the far end of the village. The last distance at which transmission still worked was 450 meters. This roughly matches the results of the ThinkNode M1/M2 MeshTastic review: 285 meters in LONG FAST mode, and 550 meters in LONG SLOW mode.
In a rural/open area, we tested over 1 kilometer, and messages were sent successfully.
Compared with testing the WisMesh Station, which uses an external antenna, range was clearly better in the same area. The difference comes from the external 2dBi antenna against and unspecified-gain internal antenna.
Battery life
Elecrow claims the 2,300mAh/3.8V Li-Po battery lasts 4 to 5 days on standby. We tested real standby with the screen off, LoRa always on, GPS continuously on, and occasional messages. Runtime per charge was suitable for outdoor use.
Companion mode over Bluetooth
Although the M9’s main selling point is standalone use, the device can also connect to the MeshCore smartphone app over BLE when using MeshOS. In practice, messages sent from the Companion app reached the destination, but replies from the far end only appeared on the M9 and were not forwarded to the MeshCore app. This is incomplete, so we do not recommend using it.
Conclusion
The ThinkNode M9 works well as a standalone MeshCore terminal for sending and receiving messages, including private chat and channel group chat. Battery life is impressive. The design is attractive and pleasant to use, and it is good value at $74.90, even though the bundled firmware user interface is awkward and various features are locked out.
Pros
- Fully usable without a smartphone: type, read, and share location
- All antennas are internal, so it’s convenient to carry without risking breaking a protruding antenna
- Works well with MeshCore hardware from other brands
- Multi-constellation GPS with built-in compass
- Long battery life
Cons
- Color TFT display uses more power than ePaper; leaving the screen on all the time reduces runtime
- Internal antenna gives shorter range than external-antenna devices, as expected
- No user-accessible SD card; if the card has a problem, the back cover must be pried off and is held with adhesive tape
- Incomplete integration with the MeshCore smartphone app (only an issue when not used in standalone mode)
The M9 suits MeshCore users who want a portable communicator for areas without cellular coverage, emergency communications, outdoor activities, and community mesh networks. It’s especially useful to anyone who doesn’t want to carry both a node and a smartphone all the time.
We’d like to thank Elecrow for sending two ThinkNode M9 units for review. Interested buyers can order terminals from the Elecrow store at $74.90. Just make sure to select the version appropriate for your region. It’s also listed on Amazon, but currently unavailable there. The company also sells a Meshtastic version for the same price if you prefer. [Important update from Elecrow for those who already purchased a device: A virus has been found in some of the ThinkNode M9 MeshCore/Meshtastic devices’ microSD cards. The full statement provides an explanation, workarounds (return or self-fix), and an apology. This will obviously be fixed for new manufacturing runs.]
CNXSoft: This article is a translation of the original review on CNX Software Thailand by Arnon Thongtem, edited by Suthinee Kerdkaew.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.












