RAKwireless has sent us a sample of the WisMesh Station, a Meshtastic gateway and base station based on a Raspberry Pi 4 Model B, a WisMesh Pi HAT RAK6421 expansion board, a LoRa module, a GNSS module, all housed in a compact metal enclosure.
It comes with meshtasticd preinstalled, making it ready to use right out of the box. Just unbox it, plug it in, and start using Meshtastic immediately. We’ll also use software packages for communication, data storage, and visualization, such as MQTT, Node-RED, InfluxDB, and Grafana, mostly following RAKwireless’s user guide
WisMesh Station is available in 2 models according to transmit power: the standard RAK8622 model that uses the RAK13300 LoRa module (Semtech SX1262 with 22 dBm transmit power), suitable for urban networks where nodes are close to each other, and the high-power RAK8623 (HP) model that uses the RAK13302 module (SX1262 + SKY66122 amplifier circuit with 30 dBm or 1W transmit power) for long-distance relay work or installation on high points in rural areas. We received the standard RAK8622 variant for this review due to Thailand regulations.
In this review, we will start with an unboxing of the WisMesh Station and accessories provided to us, have a look at the hardware, install the RAK1906 environmental sensor (Bosch BME680) into the remaining WisBlock slot, and test the actual operation of the mesh network together with 2 other Meshtastic devices: the WisMesh Pocket V2 and the WisMesh Tag.
More specifically, we’ll cover the following:
- Unboxing and checking out the internal hardware
- Installing the RAK1906 (BME680) module and using the built-in GNSS module
- Initial setup and setting the region for Thailand (920-925 MHz / AS923)
- Testing message sending/receiving and location sharing via Meshtastic
- Perform a range test
- Testing telemetry reading from the BME680 and displaying results via Node-RED / Grafana
WisMesh Station / WisMesh Station HP specifications
- SBC – Raspberry Pi 4 Model B (2GB RAM)
- Expansion board – RAK6421 WisMesh Pi HAT+ with built-in EEPROM for storing metadata and device tree, allowing the Meshtastic firmware to automatically detect and configure installed modules
- 4 sensor slots (A, B, C, D) and 2 IO slots
- 16-bit ADC (SGM58031, compatible with ADS1115) supporting 4 analog input channels 0-3.3V
- LoRa module
- RAK8622 (standard model) – RAK13300 (Semtech SX1262, 22 dBm)
- RAK8623 (HP model) – RAK13302 (SX1262 + SKY66122 booster, 30 dBm / 1W)
- Frequency – Selectable 800MHz (EU868/IN865/RU864) or 900MHz (US915/AU915/KR920/AS923)
- GNSS module – RAK12501 (Quectel L76K) pre-installed from the factory, external GPS antenna connected via SMA connector
- Supported additional WisBlock sensors
- RAK1901 (Temp/Humidity)
- RAK1902 (Barometric)
- RAK1906 (BME680 4-in-1 air quality sensor )
- RAK12002 (RTC)
- RAK12037 (CO2)
- RAK12020 (Light)
- RAK12019 (UV)
- RAK12003 (IR Temp)
- Software
- Meshtasticd pre-installed on SD card (tested image uses meshtasticd 2.7.20).
- Mosquitto, Node-RED, InfluxDB, and Grafana can be installed by the user
- Antenna connectors – RP-SMA connector for LoRa antenna, SMA connector for GPS
- Power Supply
- 5V via USB-C
- 3000mA battery
- Dimensions – 92 x 68.3 x 57.5 mm (fanless metal enclosure )
- Weight – 630 grams
WisMesh Station unboxing and teardown
The WisMesh Station package came with the following items:
- WisMesh Station gateway
- LoRa and GPS antennas
- Power adapter
- 16GB microSD card preloaded with OS and software
- User manual
The device uses a full metal enclosure, the same as found in the RAK7248 gateway. It feels very solid and is suitable for permanent installation. One side features an SMA connector for GNSS, an RP-SMA connector for LoRa, a microSD card slot, and two LEDs, while the other side exposes the Raspberry Pi 4 ports, namely 4x USB Type-A ports and Gigabit Ethernet. The Raspberry Pi’s USB-C power connector is accessible from one of the longer sides.

When you open the lid, you will find a Raspberry Pi 4 Model B (2GB RAM) with the RAK6421 WisMesh Pi HAT board installed on top. On the HAT board, the RAK6421 LoRa module is plugged into an IO slot, and the RAK12501 GNSS module is plugged into sensor slot A, leaving the remaining sensor slots free for installing additional WisBlock modules. We will install the RAK1906 in the next section.
Test devices: WisMesh Pocket V2 and WisMesh Tag
We’ll need some nodes to connect to the gateway, so RAKWireless also sent two Meshtastic devices for testing. Both are based on a Nordic nRF52840 Bluetooth microcontroller paired with a Semtech SX1262 LoRa transceiver, a combo well-known for its low power consumption and ideal for portable devices.
WisMesh Pocket V2 (RAK10709)
WisMesh Pocket V2 is a ready-to-use portable device pre-flashed with Meshtastic firmware. Inside, it uses the WisBlock Core module RAK4631 (nRF52840 + SX1262) on the RAK19026 WisMesh Base Board, which is specifically designed for Meshtastic applications. It has a built-in GNSS module on the base board, an LIS3DH accelerometer sensor for waking up the screen when you pick up the device, a 1.3-inch OLED display for viewing messages, node information, and signal strength without needing to open your phone, plus a user button for changing screens and a power switch that cuts off the battery.


Contrary to some competing models that use non-removable built-in antennas, the Pocket V2 features an SMA antenna connector so the user can select a higher-gain external antenna. It also comes with a built-in 3,200mAh battery with over-voltage protection and an NTC thermistor for monitoring battery temperature during charging. It charges via USB-C and also features an internal connector for connecting a solar panel. In addition, there are still 2 remaining sensor slots (the same type as on the WisMesh Station) and 1 IO slot for further expansion. The case is available in 3 colors: green, black, and white.
WisMesh Tag
The second test device is the WisMesh Tag, a smaller and thinner Tracker that’s about the size of a credit card, and around 7.5mm thin. RAKwireless developed it in collaboration with MOKOSmart to directly compete with the Seeed Studio T1000-E. It uses the same nRF52840 + SX1262 chipset as the Pocket V2, but switches to the AT6558R GNSS module, which claims faster position fixing. All antennas for LoRa, BLE, and GPS are built inside the device. It also features a built-in LIS2DH accelerometer sensor and a 1,000 mAh battery.


The IP66-rated tracker offers water and dust resistance, and can operate in temperatures from -20 to +60°C. It charges via a 4-pin magnetic pogo pin cable. The top of the card features LEDs for heartbeat, BLE, and charging status, and a single front button to control multiple functions depending on the number of presses. For instance, the user can double-press to immediately send the location to the mesh, while a triple-press will turn GPS on/off. A lanyard is also included in the box.
The clear difference from the Pocket V2 is that it has no display and cannot expand sensors, so it is specifically positioned as a tracker node for tracking assets, pets, or hanging around the neck.
WisMesh Station Meshtastic gateway review with Pocket V2 and WisMesh Tag
The network topology we will test is as follows: the WisMesh Station acts as a fixed base station and gateway, connected via Ethernet to the internal network. The Pocket V2 and the WisMesh Tag serve as Meshtastic nodes connected over Bluetooth to companion hosts such as a smartphone and a laptop.
Installing the RAK1906 (BME680) module
A key selling point of the WisMesh Station is the WisBlock expansion slots on the RAK6421 board, which allow you to add sensors without soldering or wiring. In this review, we will add one extra module: the RAK1906 environmental sensor based on the Bosch BME680 4-in-1 air quality sensor, which can measure temperature, humidity, barometric pressure, and gas resistance. These values can be processed using the Bosch BSEC library to estimate IAQ, TVOC, and eCO2.
The installation process is simple: open the lid, plug the module into an empty sensor slot, secure it with one screw, and close the case. Since the RAK6421 board is compliant with the HAT+ standard and comes with an EEPROM for board information, the firmware will automatically detect the new I²C module.
Let’s now power on the WisMesh Station and log in via SSH with RAKPiOS using the default user (rak) and password (changeme), which you will be forced to change on the first login.
When checking with the command meshtastic --info, we’ll only find the BME680 sensor, but not the GNSS module. Upon investigation, it turned out to be a meshtastic configuration issue that requires explicitly specifying the TX and RX pins. This can be set as follows:
|
1 2 |
meshtastic --host localhost --set position.rx_gpio 5 --set position.tx_gpio 6 meshtastic --host localhost --set position.gps_mode ENABLED |
Or go to the web interface in the section Module Config -> Serial to set the Rx and Tx pins.
We can check whether /dev/ttyS0 is being used by meshtasticd with the command:
|
1 2 3 4 |
rak@rakpios:~ $ sudo lsof /dev/ttyS0 [sudo] password for rak: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME meshtasti 669 meshtasticd 20u CHR 4,64 0t0 132 /dev/ttyS0 |
Initial Setup and Setting the Region for Thailand (AS923)
The LoRa region must be set to TH (920-925 MHz) to legally use the gateway in Thailand. NBTC (the equivalent of the FCC in Thailand) stipulates that this frequency band for Non-RFID usage is exempt from licensing when the transmit power does not exceed 500 mW E.I.R.P. The standard model we tested has a maximum transmit power of 22 dBm, to which we can add the antenna gain of approximately 2-3 dBi, for an effective power of around 24-25 dBm (250-320 mW) that is still within the license-exempt limit.
Additionally, if using the default TH preset in the Meshtastic firmware, the transmit power is limited to 16 dBm, which is comfortably within the safe range. This is one of the reasons we chose to test the standard model instead of the HP version. The HP model, which can transmit up to 1W, would immediately exceed 500 mW e.i.r.p. if used at full power. Using it in Thailand would require an NBTC license, or the power would have to be reduced to a level almost the same as the standard model.
Configuration can be done in 3 ways:
- Through the Meshtastic mobile app via a Bluetooth connection
- Through the Web UI of meshtasticd on the Station
- Through CLI, for example:
meshtastic --set lora.region TH
After setting the region on all 3 devices and configuring them to use the same channel, we’ll find the devices in the web interface. We have WISMESH_TAG, RAK4631 for the Pocket V2, and PORTUINO (meshtasticd) running on the Raspberry Pi 4/WisMesh Station.
We can also check the GPS location of the devices through the command line.
|
1 2 3 4 5 6 7 8 9 10 11 |
rak@rakpios:~/meshtastic-rak6421-guide/setup/scripts $ meshtastic --host localhost --nodes Connected to radio ╒═════╤═════════════════╤═══════════╤═══════╤═════════════╤══════════════════════════════════════════════╤════════╤════════════╤═════════════╤════════════╤═══════════╤═════════════════╤════════════════╤═══════╤════════╤═══════════╤═══════╤═════════════════════╤═════════════╕ │ N │ User │ ID │ AKA │ Hardware │ Pubkey │ Role │ Latitude │ Longitude │ Altitude │ Battery │ Channel util. │ Tx air util. │ SNR │ Hops │ Channel │ Fav │ LastHeard │ Since │ ╞═════╪═════════════════╪═══════════╪═══════╪═════════════╪══════════════════════════════════════════════╪════════╪════════════╪═════════════╪════════════╪═══════════╪═════════════════╪════════════════╪═══════╪════════╪═══════════╪═══════╪═════════════════════╪═════════════╡ │ 1 │ Meshtastic 3028 │ !3f3f62a2 │ 3028 │ PORTDUINO │ C328Dcl15LHsR8soK261jRaZ-------------------- │ N/A │ 13.xxxx° │ 100.xxxx° │ -8m │ Powered │ N/A │ 0.32% │ N/A │ N/A │ 0 │ * │ 2026-07-04 19:08:44 │ 1 sec ago │ ├─────┼─────────────────┼───────────┼───────┼─────────────┼──────────────────────────────────────────────┼────────┼────────────┼─────────────┼────────────┼───────────┼─────────────────┼────────────────┼───────┼────────┼───────────┼───────┼─────────────────────┼─────────────┤ │ 2 │ Meshtastic 91c2 │ !90ca91c2 │ 91c2 │ RAK4631 │ 4x8ThIbTaLXCUYYzSisTwMZs-------------------- │ N/A │ 13.xxxx° │ 100.xxxx° │ -2m │ 69% │ N/A │ 0.45% │ 6 dB │ 0 │ 0 │ │ 2026-07-04 19:01:14 │ 7 mins ago │ ├─────┼─────────────────┼───────────┼───────┼─────────────┼──────────────────────────────────────────────┼────────┼────────────┼─────────────┼────────────┼───────────┼─────────────────┼────────────────┼───────┼────────┼───────────┼───────┼─────────────────────┼─────────────┤ │ 3 │ Meshtastic af36 │ !4718af36 │ af36 │ WISMESH_TAG │ pbSa4iFYbvkW9tBHQsbF64BP-------------------- │ N/A │ 13.xxxx° │ 100.xxxx° │ 1m │ 95% │ 2.27% │ 0.49% │ 8 dB │ 0 │ 0 │ │ 2026-07-04 18:30:52 │ 37 mins ago │ ╘═════╧═════════════════╧═══════════╧═══════╧═════════════╧══════════════════════════════════════════════╧════════╧════════════╧═════════════╧════════════╧═══════════╧═════════════════╧════════════════╧═══════╧════════╧═══════════╧═══════╧═════════════════════╧═════════════╛ |
Testing message sending/receiving and Location Sharing via Meshtastic
We started with basic testing: sending a text message from a smartphone connected to the Pocket V2 to the primary channel. The message traveled over LoRa and appeared on the Station. We tested using the LongFast channel, which is the public default channel.
For location sharing, both the Pocket V2 and Tag have built-in GNSS. When taken outdoors, they report their coordinates back and display them on the map in the app. The Station also reports its position from the RAK12501 module. For the Tag, we also tested the double-press button function to send an immediate location (ad hoc ping).
Installing the Monitoring Stack (MQTT, Node-RED, InfluxDB, and Grafana)
While the product webpage states that Mosquitto, Node-RED, and Grafana come pre-installed, the included microSD card only comes with meshtasticd. After some searching, we found that RAKwireless separates this as an Advanced Setup in their GitHub guide. It offers both a single installation script and a step-by-step method for those who want to install each component manually.
After testing the installation, we discovered that the script from GitHub had issues and could not run successfully. We had to fix the Node-RED installation part by editing the script that points to the Node-RED installation files. The fix was made in the 05-install-nodered.sh file located in ~/meshtastic-rak6421-guide/setup/scripts.
|
1 2 3 4 5 |
echo "Installing Node-RED using official script (installs Node.js + Node-RED)..." #bash <(curl -sL https://github.com/node-red/linux-installers/releases/latest/download/update-nodejs-and-nodered-deb) #--confirm-install --confirm-pi --no-init bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) --confirm-install --confirm-pi --no-init |
After that, the installation could be completed successfully, as shown in the image below.
The installed software suite also includes the InfluxDB time-series database.
The complete data flow is as follows: Sensors → meshtasticd → Mosquitto (MQTT, port 1883) → Node-RED (port 1880) → InfluxDB (port 8086) → Grafana (port 3000).
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
========================================== MQTT Test ========================================== mosquitto_sub not installed, skipping MQTT test ========================================== Port Listening Status ========================================== MQTT (1883): LISTEN 0 100 0.0.0.0:1883 0.0.0.0:* Node-RED (1880): LISTEN 0 511 0.0.0.0:1880 0.0.0.0:* users:(("node-red",pid=9507,fd=22)) InfluxDB (8086): LISTEN 0 4096 *:8086 *:* Grafana (3000): Not listening ========================================== Quick Access Links ========================================== Node-RED: http://192.168.1.37:1880 InfluxDB: http://192.168.1.37:8086 Grafana: http://192.168.1.37:3000 |
Testing Telemetry: BME680 via MQTT to Node-RED and Grafana
The WisMesh Station works as both a gateway and a data server, and we’ll try the latter in this section. After installing the monitoring stack as described in the previous section, we also tested removing the BME680 from the Station and installing it on the WisMesh Pocket V2.

The important part is configuring all devices so they can send data to the MQTT broker on the WisMesh Station.

This configuration can be done through the Meshtastic mobile app in three steps:
- Set the desired values in the Telemetry section
- Configure the MQTT broker
- Enable “OK to MQTT” options in the Advanced section of the LoRa page

After that, the BME680 telemetry data broadcast into the mesh is forwarded by meshtasticd to the local MQTT broker. Node-RED is used to subscribe to the topic msh/TH/2/json/#, decode the data, and forward it to the InfluxDB database. Grafana can retrieve the data and display the results as a dashboard locally, without relying on any external cloud service.

The data stored in the InfluxDB database can be shown on the Grafana dashboard.

This feature is very well suited for off-grid environmental monitoring applications, such as weather stations in fields or farms without internet access. Sensor nodes at the endpoints can send data through the mesh back to the WisMesh Station for storage and display, all handled by a single device. We also modified Node-RED by adding a Node Mapping function to make the Grafana dashboard neater by adding tag, pocket, and station node names for easier and more convenient monitoring.
|
1 2 3 4 5 6 7 |
const NODE_MAP = { // Example: add your device IDs here // 12345678: "gateway", 0x4718af36: "tag", // WisMesh Tag (Meshtastic af36) 0x90ca91c2: "pocket", // WisMesh Pocket V2 + RAK1906 (Meshtastic 91c2) 0x3f3f62a2: "station" }; |
Range Test
We used the Range Test mode in the Meshtastic app for this purpose. We installed the WisMesh Station on the second floor of the house and carried the WisMesh Pocket V2 outside. We created a node in Node-RED to handle Ping and Pong responses, reporting RSSI, SNR, and Hops values back to the source.


We then continued testing by driving further away and sending Ping commands to request signal strength values, while also enabling the Range Test function. This resulted in the following summary graph.

The results show that in a residential area with buildings obstructing the signal, the usable range with the stock antenna is approximately 500 meters at most.
When driving out of the residential area to a location with clear line-of-sight to the WisMesh Station, the tested range increased significantly to 1.3 km (and potentially more).
Cooling and power consumption
The temperature of the Broadcom SoC in the WisMesh Station, measured with vcgencmd measure_temp, stays below 45°C. The BME680 inside the enclosure also reads below 40°C. That means the system stays cool without any concern about heat buildup.
|
1 2 3 4 5 6 7 8 9 10 11 |
rak@rakpios:~ $ vcgencmd measure_temp temp=42.3'C rak@rakpios:~ $ meshtastic --host localhost --request-telemetry environment --dest '!3f3f62a2' Connected to radio Sending environment_metrics telemetry request to !3f3f62a2 on channelIndex:0 (this could take a while) Telemetry received: environmentMetrics: temperature: 37.839912 relativeHumidity: 50.178925 barometricPressure: 1010.62 gasResistance: 13.777 |
We measured the power consumption with a USB power meter while booting, in idle, and when opening the Grafana dashboard. The typical power consumption is about 2 to 3 Watts, and a bit more while booting.
Conclusion
The WisMesh Station perfectly meets the needs of users who want a serious, ready-to-deploy Meshtastic base station without having to assemble everything themselves, while offering more flexibility than typical off-the-shelf solutions.
The hardware comes in a durable metal enclosure suitable for permanent installation, with complete LoRa and GNSS modules included. The software is ready to use from meshtasticd all the way to Grafana (after manual installation), and the remaining WisBlock slots allow immediate expansion into an environmental monitoring station, just as we demonstrated with the BME680 in this review.
The WisMesh Pocket V2 and WisMesh Tag further complete the ecosystem: a portable node with a screen and expansion options, plus a compact, waterproof tracker node ideal for field use.
| PROS | CONS/Remarks |
|---|---|
| Ready-to-use right out of the box with meshtasticd pre-installed | Uses Raspberry Pi 4 with 2GB RAM, which is sufficient for gateway duties. However, if running heavy dashboards and databases, you may need to consider shorter SD card lifespan due to frequent read/write operations. |
| Sturdy metal enclosure suitable for permanent installation and supports high-gain external antennas | The product webpage claims Node-RED and Grafana come pre-installed, but in reality only meshtasticd is included. Users must install the rest themselves following the GitHub guide, which is not particularly easy to find. |
| Built-in GNSS and easy sensor expansion via WisBlock slots without soldering | The enclosure is not rated for water resistance. Outdoor installation requires an additional weatherproof box. |
| 1W transmit power option available for long-distance relay applications | |
| Fully local operation, no need to rely on any cloud service |
We’d like to thank RAKwireless for sending the WisMesh Station Meshtastic gateway and server, WisMesh Pocket V2, and WisMesh Tag nodes for review. The WisMesh Station can be purchased for $169.99 on AliExpress or the RAKwireless Store ($175.99 for the HP model, if legal in your region). The WisMesh Pocket V2 goes for $89.97 on AliExpress or the RAK store, and the WisMesh Tag for $39.00 on AliExpress or the RAK store.
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.




















