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 loading of the Meshtastic firmware on the Heltec ESP32 v3 devices is really simple if done via a Linux PC/RaspberryPi. There are of course other ways to load the firmware using a web browser that supports USB/Serial devices and this method is preferred by many however, being a Linux command line junkie I far prefer the simplicity of using the Linux command line to do the job.
So, how much experience with the Linux command line do you need?
In all honesty none at all. If you know how to use copy and paste then all you have to do is follow the simple steps I’ve detailed below. In reality it will only take a few minutes to do so, don’t be put off by the long article, I’ve just tried to cover everything and provide screen shots along the way.
To get started fire up your Linux PC/RaspberryPi and get yourself to the desktop. Next you will need to open a Linux command line terminal. This is often just called “Terminal” on most Linux desktop installations.
The first thing you need to do is check to see if you have python3 installed. This is done using the following command:
python3 --version
Running the above command you should see a result something like what is shown below.
Python3 command showing installed version
Next we need to check if pip3 is installed using the following command:
pip3 --version
If pip3 is installed then you should get a result similar to that shown below.
Pip3 command showing installed version
If your computer doesn’t have Python3 or Pip3 installed they can be easily installed from the command line. To install Python3 enter the following command into your terminal:
sudo apt install python3
You will be asked to enter your login password and then the installation will begin. You should see output in your terminal similar to that shown below.
Installing python3
To install Pip3 enter the following command into your terminal:
sudo apt-get install python3-pip
This will detail a long list of packages that will be installed on your computer, Enter Y to answer Yes and let the packages install.
M0AWS – Installing Pip3
You will see many messages scroll up the terminal screen such as getting, selecting, preparing, unpacking and setting up, this is all normal.
Once Pip3 is installed you should be dropped back at the command line with a terminal screen that looks something like the one below.
M0AWS – Pip3 install complete
At this point you will now have Python3 and Pip3 available on your computer.
You are now ready to install the tool we are going to use to check your Meshtastic device is connected to your PC and install the firmware to it. (Do not connect your Meshtastic device to your PC just yet!)
Run the following command in your terminal to install the ESP Tool:
pip3 install --upgrade esptool
You will see an output from the installation process similar to that shown below.
M0AWS – Installing the ESP Tool
Now that we have the ESP tool installed plug your Meshtastic device into your USB port on your computer and then run the following command to interrogate the device to find out what kind of device it is.
esptool chip_id
You should see the information about your device that looks similar to that shown below. This information should confirm the device type (ESP32) and which USB port it is connected on (/dev/tty/USB0).
M0AWS – Expected output from the ESPTool command showing device information
Once you have this information you will need to download the firmware for your device from Github using the following URL:
https://github.com/meshtastic/firmware/releases
At the time of writing this I downloaded and used the v2.2.22.404d firmware which I have found to be extremely reliable.
In your terminal you now need to change directory (cd) into the Downloads directory where your downloaded firmware should be. (If you downloaded your firmware into another directory then you will need to cd into that directory). Use the following command to change directory into the Downloads directory.
cd ~/Downloads
Now we need to find the filename of the firmware we have just downloaded, we can use the list directory contents command to find the file using the simple command below.
ls -la firm*.zip
M0AWS – List firmware file name from the Linux command line
In the screenshot above we can see that the filename is called firmware-2.2.22.404d0dd.zip. We now need to unzip the file using the unzip command.
unzip firmware-2.2.22.404d0dd.zip
You’ll see lots of output from the unzip command about inflating files etc, this is normal.
Once the file has been unzipped you are ready to load the firmware onto your Heltec device. First you need to find the .bin file for your Heltec device. Use the following ls command to list the files available.
ls -la firmware-heltec*
This will list out all the firmware file options for the Heltec device as shown below.
M0AWS – List of Heltec firmware files
The file you need to use for a new firmware installation on a Heltec v3 device is firmware-heltec-v3-2.2.22.404d0dd.bin. (If you downloaded a different version then the version number in the file will be different).
Using the filename you found above enter the following command into your terminal.
This will now clear down your Heltec device and will load the Meshtastic firmware. This will take a little time especially on slower computers like the RaspberryPi so, just let it run until it finishes. Do not interrupt the process whilst it is running.
Installing the Meshtastic firmware onto my Heltec ESP32 v3 using the Python command line tool
Once the firmware is loaded the Heltec device will reboot and you will see the Meshtastic banner on the OLED screen. Your device is now ready for configuration.
Now that you have Python3 and Pip3 installed you can load the firmware onto other devices just by downloading the firmware and then running the device-install.sh script file, you won’t need to install Python3 or Pip3 again.
If you want to update your device in the future to a newer version of the firmware then just use the update script and update binary file as shown below.
Following on from my article about the issues I had with the Silicon Labs VCP/USB to Serial driver that’s required to be able to use the CAT controls on the FTDX10 via the USB connection I decided to take a different approach to the problem.
Since the driver was incompatible with something that is already installed on my MacBook Pro (Most likely Virtualbox) and rendered the computer unusable I decided to search for a USB to Serial converter that worked with Apple computers without the need for proprietary drivers.
It didn’t take long to find a suitable adapter, the Sabrent USB 2.0 to Serial (9-Pin) available on Amazon uses the FTDI chipset that is natively supported by Apple MacOS without the need for proprietary drivers to be installed. This makes it a simple plug and play adapter.
Unfortunately both the adapter and the FTDX10 have a male DB9 connector and so a female to female DB9 adapter is also required to make the connection.
Sabrent USB 2.0 to Serial adapter for Apple Mac computers – No driver required
Connecting the DB9 to the FTDX10, setting the RS232 port to 38400 on the radio and within the WSJT-X software I soon had control of the radio from the MacBook Pro.
To get the sound from the radio to the MacBook all I needed to do was connect the USB lead into the back of the radio and into the 2nd USB port on the MacBook. Since the sound card in the FTDX10 is supported natively by MacOS 11.6.2 (Big Sur) without the need for the Silicon Labs driver, this completed the setup.
So I now have full digital modes and rig control without installing any proprietary drivers on my MacBook Pro.
I tested the setup using FT8 on 30m this afternoon, it worked seamlessly.
Problem solved!
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Ok