Looking to expand the device capability I stumbled across a really interesting little project that is still in the early stages of development but, is functional and worth trying out.
The TCΒ²-BBS Meshtastic Version is a simple BBS system that runs on a RaspberryPi, Linux PC or virtual machine (VM) and can connect to a Meshtastic device via either serial, USB or TCP/IP. Having my M0AWS-1 Meshtastic node at home connected to Wifi I decided to use a TCP/IP connection to the device from a Linux VM running the Python based TCΒ²-BBS Meshtastic BBS.
Following the instructions on how to deploy the BBS is pretty straight forward and it was up and running in no time at all. With a little editing of the code I soon had the Python based BBS software M0AWS branded and connected to my Meshtastic node-1.
M0AWS Meshtastic BBS Main Menu accessible on M0AWS-1 node.
The BBS system is very reminiscent of the old packet BBS systems of a bygone era but, it is ideal for the Meshtastic world as the simple menus and user interface are easily transmitted in seconds via the Mesh using minimal bandwidth.
The BBS is accessible by opening a Direct Message session with the M0AWS-1 node. Sending the letter H to the node will get you the initial help screen showing the menu above and then from there onwards itβs just a matter of selecting the menu item and following the BBS prompts to use the BBS.
The BBS also works across MQTT. I tested it with Dave, G4PPN and it worked perfectly via the Meshtastic MQTT server.
This simple but, effective BBS for the Meshtastic network will add a new message store/forward capability to the Mesh and could prove to be very important to the development of the Meshtastic mesh in the UK and the rest of the world.
The Heltec ESP32 v3 LORA devices have a coil type Bluetooth/Wifi antenna on the PCB from the factory. This antenna doesnβt work particularly well and has very limited range so, I decided to do something about it.
Getting out the calculator a quarter wave at 2400Mhz is 29.7mm. Looking at the coil antenna on the PCB I decided the best way to connect the new antenna would be to solder it to the coil of the existing antenna. This would short out the coil completely whilst creating a solid mount point for the new antenna.
After a little measuring I decided to use a 31mm long piece of 1.5mm hard core mains cable for the new antenna. I stripped back the insulation from one end of the wire so that the exposed copper wire was exactly the length to short across all the windings of the coil antenna on the PCB.
Attaching replacement Bluetooth Antenna to the Heltec ESP32 v3 Device
Attaching the the wire to the coil was easy enough to do but, itβs worth pointing out that you need to be quick so that the heat doesnβt transfer down onto the PCB desoldering the coil antenna from the device.
Whilst tinkering with the Bluetooth antenna I decided I would also make a neat little quarter wave 868Mhz vertical antenna for this device whilst I had it all apart. This is my Meshtastic node-2 and itβs sole purpose is to allow me to use my iPad to send/receive messages via bluetooth which are then forwarded on to my base node-1 in the house. Node-1 is connected to the house wifi and the Meshtastic MQTT server. This combination allows me to message people on the mesh even though there are no local nodes within RF range.
Running the numbers for the 868Mhz antenna the vertical will need to be around 82.1mm long with a radial of similar length. I had to hand a very nice SMA to N Type chassis mount socket that would be ideal to mount the antenna to the case. I drilled out the holes in the case, measured out the wires and attached it all to the case. Connecting the antenna to the N Type socket I connected my VNA and set about tuning the antenna to resonance.
M0AWS Hidden Radial for the 868Mhz Heltec Antenna
Squeezing the radial and SMA connector into the case I realised I really could do with a 90 degree SMA connector so, I quickly ordered one from Amazon which will be delivered tomorrow. Connecting up my VNA, I had to trim the antenna down to get it to resonance. The SWR ended up at 1.2:1 which is ideal. I ended up cutting off more wire than I thought I would to get the antenna to resonance but, this is due to the extra capacitance caused by the insulation on the wire. If I had used bare copper wire then I wouldnβt of had to cut so much off. I eventually ended up with around 72.9mm of wire for both the antenna and radial.
M0AWS Heltec ESP32 v3 Device with replacement Bluetooth and 868Mhz Antennas
Putting the device back into the case and connecting the USB battery the device fired up and immediately connected to my node in the house. Checking the signal strength of node-1 in the house I could see a 7dB increase in signal strength compared to the little wire antenna that comes with the device. This is a significant improvement for such a simple antenna and well worth the effort.
Next I had to drill a hole in the front of the Heltec case so that the Bluetooth antenna could poke out the front and be bent up vertically. This worked out really well and improved the Bluetooth range massively.
M0AWS Completed alterations to the Heltec ESP32 v3 antennas
Putting the node back in the house and taking my iPad down to the end of the garden some 30m away I could instantly connect to the device via Bluetooth from my iPad, something Iβd not been able to do prior to adding the new antennas. I can now use the Heltec device via Bluetooth from anywhere in the house or garden making it much more accessible.
Itβs amazing the difference an hour and two little pieces of wire can make to these devices and is well worth the effort.
Meshtastic is a relatively new thing in the internet of things (IOT) world and is gaining traction in the U.K. at the moment.
So what is Meshtastic?
Meshtastic is an open source, off-grid, decentralised mesh network built to run on affordable, low-power devices on the 868Mhz industrial, scientific, and medicalΒ (ISM) band. (Some devices can also run on the 433Mhz 70cm HAM band.)
The ISM band is licence free but, has limits on the RF power levels that can be used. The one plus over the HAM bands is that you can legally transfer encrypted messages over the ISM band making it secure.
The best way to think of Meshtastic is a radio version of the online decentralised Matrix chat system but, without the large server requirements and ever growing database!
Heltec ESP32 v3 Wifi, Bluetooth and 868Mhz device for Meshtastic
There are quite a few Meshtastic compatible devices on the market today with many costing around the Β£20 mark whilst others like the LillyGo T-Echo costing over Β£100 in the U.K. even though they are less than half the price in the USA.
Since Iβm just starting out on my Meshtastic adventure I thought Iβd start with a pair of Heltec ESP32 v3 devices that are normally readily available on Amazon but, due to the current push to build a U.K. wide mesh, they are currently out of stock pretty much everywhere.
Loading the Meshtastic firmware onto the devices is fairly straight forward and can be done using the web installer via either the Edge or Chromium web browsers. (Note: If using Windows O/S you will need to install some drivers from the Meshtastic website to be able to communicate with the devices)
Having neither of the two browsers and being a Linux command line junkie I decided to use the Python programme to load the firmware onto the two devices. Itβs worth noting that you donβt need any drivers to be able to communicate with the devices if youβre using either Debian or one of the many Ubuntu flavours of Linux O/S.
Using the Python command line program sounds like a more complicated approach but, in reality itβs super simple, extremely reliable, quick and if like me you use a Linux PC in the radio shack then you most likely already have most of what you need to get the job done. Just follow the simple steps as laid out on the Meshtastic web site and youβll have the firmware loaded in no time at all.
Installing the Meshtastic firmware onto my Heltec ESP32 v3 using the Python command line tool
The firmware takes less than a minute to copy across to the Heltec device and is automatically rebooted ready for configuration once the transfer has completed.
It is possible to configure the device via the command line tool however, since there is a nice GUI app for both Apple iOS and Android devices I decided to install the Meshtastic app on my iPad and connect to the device via Bluetooth to configure it.
Once youβve got the Meshtastic app installed on your device and have connected via Bluetooth youβll be ready to start configuring the device to join the mesh. The first thing you want to do is set the region. This is different in each country but, in the UK we use the EU_868 region settings. This will set the device to use the 868Mhz ISM band which is the band being used to build the U.K. wide mesh.
View of the Meshtastic app on iOS showing the configuration options for the Heltec ESP32 v3
There is a multitude of configuration options within the app which I will go into in greater detail in a series of articles at a later date.
Heltec ESP32 v3 running Meshtastic Firmware
For those of you that, like me arenβt near any other nodes you can connect the devices to the internet and use the Meshtastic MQTT server to communicate with other nodes. This of course isnβt off-grid but, it will get you started until the mesh grows into your local area at which point your device will automatically start communicating with the other nodes over radio.
Meshtastic MQTT connectivity
Once you are connected to either the MQTT server or other nodes via radio you will see the other node details appear in the Meshtastic app. Itβs interesting to look at the information and see signal strengths and traffic levels etc for each node.
View of the Meshtastic app on iOS showing Nodes in the Mesh and Device Metrics for the M0AWS-1 Node
There are a multitude of cases available for the Heltec v3 devices, especially if you have access to a 3D printer. One of the nicest cases I have seen is the Bender from IKB3D (I know, itβs a strange name!) but, it really is a super little case for the Heltec series of devices.
Bender case for Heltec ESP32 v3 devices
You can either buy the 3D print files for Β£8.99 and print it yourself or just order a pre-printed and assembled case directly from the website although, due to demand there is a long lead time currently.