❌

Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Meshtastic BBS

By: M0AWS
6 July 2024 at 06:25

Meshtastic devices have really taken off in the UK over the last few months and there is now an established Mesh across a large portion of the UK mainland.

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.
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.

More soon …

A venture into the world of Meshtastic

By: M0AWS
15 February 2024 at 15:04

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
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
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
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
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
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
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
Bender case for Heltec ESP32 v3 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.

More soon …

Audio delay - the unspecified parameter for ham radio transceivers

10 January 2023 at 02:43

Elecraft K3: Upper trace is start of sidetone and
lower trace is start of RF ~15 ms later.
An amateur radio transceiver is not a precision measurement device. This is apparent when it comes to measuring time for your own round-the-world signal or when characterizing Long-Delayed Echos (LDE).Β One cannot just substitute onset of sidetone for the actual start of transmission of RF. Similarly there may be an unspecified delay between received RF and start of audio output on the receiver side.Β Β 

The main specification for ham radio transceivers is that the sidetone is synchronized with the keying. The delay to start of RF is only of secondary importance. All numbers should therefore be judged against the length of a dot which for instance at a morse code speed of 30 WPM is 40 ms.Β 

Here are some measurements for the Elecraft K3 and K2 that I did in 2021 for a presentation on LDEs at the HamSci 2021 conference. A video of the presentation is also available:Β Long delayed radio echoes – the illusive secret of the ionosphere

The first image shows that start of the sidetone is about 15 ms before RF is transmitted in the Elecraft K3.

Elecraft K3: Upper trace shows RF and
lower trace start of AF output some 35 ms later.
The second image shows that there is a delay of about 35 ms between RF is received and audio appears on the receiver side. This means that measurement of audio delay overestimates the value for RF delay by about 50 ms. It should be noted that in a transceiver with digital signal processing, especially the receiver delay will vary with settings. In the case measured here, the DSP was set for 50 Hz bandwidth.


Elecraft K2: Upper trace is start of sidetone and
lower trace is start of RF ~4 ms later.
The Elecraft K2 without the DSP audio processor is a 100% analog transceiver and has much less delay. The delay from sidetone to RF is about 4 ms.

Second, the delay from RF to audio appears is about 8 ms giving a total of 12 ms additional delay to take into account.


Elecraft K2: Lower trace shows RF and
upper trace start of AF output some 8 ms later.















I would expect other transceivers to have similar delays, that the delay will vary from one type of transceiver to the other, and even with settings of e.g. filter parameters for a single transceiver.Β 

The post "Audio delay - the unspecified parameter for ham radio transceivers" first appeared on the LA3ZA Radio & Electronics Blog.

Using an inexpensive PT2399 music reverb/effects board as an audio delay (for repeater use)

By: KA7OEI
16 November 2022 at 19:04

Figure 1:
Inexpensive PT2399-based audio delay board
as found on the usual Internet sites.
Click on the image for a larger version.

In an earlier blog post (Fixing the CAT Systems DL-1000 and PT-1000 repeater audio delay boards - LINK) I discussed the modification of a PT2399-based audio delay line for use with the CAT-1000 repeater controller - and I also hinted that it would be possible to take an inexpensive, off-the-shelf PT2399-based audio effects (echo/reverb) board and convert it into just a delay board.Β 

While the uses of an echo-less delay for more mundane purposes may be apparent, it would be fair to ask why might one use an audio delay in an amateur radio repeater?Β  There are several possibilities:

  • The muting of DTMF ("Touch Tone") control signals.Β  Typically, it takes a few 10s of milliseconds to detect such signals and being able to delay the audio means that they can be muted "after" they are detected.
  • Reducing the probability of cutting off the beginning of incoming transmissions due to the slow response of a subaudible tone.Β  By passing COS-squelched audio through the delay - but gating it after the delay, one may still get the benefits of a tone squelch, but prevent the loss of the beginning of a transmission.Β  This is particularly important on cascaded, linked systems where it may take some time for the system to key up from end-to-end.
  • The suppression of squelch noise burst at the end of the transmission.Β  By knowing "before-hand" when an input signal goes away, one can mute the delayed audio such that the noise burst is eliminated.

Making good on the threat in the previous article, I reverse-engineered one of the PT2399-based boards available from Amazon and EvilBay and here, I present this modification, using one of these boards as a general-purpose audio delay.

The board:

Figure 2:
Schematic diagram of the audio delay board, with modification instructions.
This diagram is reverse-engineered from the board depicted in Figure 1.
Click on the image for a larger version.

The PT2399 boards found at the usual Internet sellers like EvilBay or Amazon are typically built exactly from the manufacturer's data sheet, and one of those found on the Internet for less than US$10 is depicted in Figure 1.Β  (Note that the chip may have another prefix in front of the number, such as "AD2399" or "CD2399")

The pictured board is surprisingly well-built, with plenty of bypassing of the voltage supply rails and a reasonable layout.Β  Despite the use of small, surface-mount resistors, it is fairly easy to modify, given a bit of care, and most of the components have visible silkscreen markings, making it easy to correlate the reverse-engineered circuit diagram (above) with the on-board components.

A few of the components do not have visible silkscreen markings (perhaps located under the components themselves?) and these are labeled in the circuit diagram and the board layout diagram (below in Figure 3) with letters such as "CA", "CB", "RA", etc.

Figure 3:Β 
Board layout showing component designations of the board in Figure 1.
Note that some of the components have no silkscreen markings and are labeled with letters
that have been arbitrarily identified as "CA", "CB", "RA", etc.
Click on the image for a larger version.

Removing the echo, making it delay-only

This circuit is the "bog standard" echo/reverb circuit from the app note - but it requires modification to be used as a simple audio delay as follows:

  • The output audio needs to be pulled from a different location (pin 14 rather than pin 15):
    • Remove R22, the 5.6k resistor in series with the output capacitor marked "CC".
    • A jumper needs to be placed between the junction of the (former) R22 and capacitor "CC" and pin 14 of the IC as depicted in Figure 4, below.
  • The feedback for the reverb need to be disabled and this involves the removal of capacitors C15 and C17.

Figure 4:
The modified PT2399 board, showing the jumper on pin 14
and the two flying resistors on the potentiometer, now used
for delay adjustment.Β  Note the deleted C15 and C17.
Click on the image for a larger version.

Figure 5, below, shows the schematic of the modified board with the changes described above.

At this point the board is converted to being a delay-only board, but with the amount of delay fixed at approximately 200 milliseconds with the value of R27Β  being 15k as seen in table 1, below.Β  This amount of delay is quite reasonable for use on a repeater to provide the aforementioned functions with no further modifications.

Optional delay adjustment:

By removing the need to be able to adjust the amount of echo/reverb, we have freed the 50k potentiometer, "RA", to be used as a delay adjustment as follows:

  • Remove R27, the 15k resistor, and replace this with a 47k resistor.Β  This is most easily done by using a 1/4 or 1/8 watt through-hole resistor and soldering one end directly to pin 6 and the other to ground, using the middle "G" pin along the edge of the board.
  • Remove R21 and using a 1/4 or 1/8 watt leaded 4.7k resistor, solder one end across where R21 went (to connect the wiper of potentiometer "RA") to pin 6 of the IC.
  • The 4.7k resistor (and parallel 47k resistor) sets the minimum resistance at about 4.3k while the maximum resistance is set by the parallel 47k resistor and the 50k potentiometer in series with the 4.7k resistor at about 25.3k.Β  These set the minimum and maximum delay attainable by adjustment of the potentiometer.

Of course, one may also use surface-mount resistors rather than through-hole components, using jumper wires rather than the flying leads of the components.Β 

Figure 5:Β 
Diagram of of the '2399 board after the modifications to be a "delay-only" circuit.
Click on the image for a larger version

This modification provides a delay that is adjustable from a bit more than 300 milliseconds to around 80 milliseconds, adjustable via the variable potentiometer.Β 

It's worth noting that if you do NOTΒ  require a variable delay, using fixed resistors may offer better reliability than an inexpensive potentiometer of unknown quality - something to consider if the board is to be located on a remote repeater site.

If variable delay is not required, one would not use the 4.7k resistor at the junction of R21/"RA" - or use the potentiometer at all, and R27 would be replaced with a fixed resistor, the value chosen for the desired amount of delay as indicated in the following table:

Table 1:Β 
The amount of audio delay versus the resistance of R27.Β  Also shown is the internal clock frequency (in MHz) within the chip itself and the THD (distortion) on the audio caused by the delay chip.Β  As expected, longer delays imply lower bit rate and lower precision in the analog-digital-analog conversion which increases the distortion somewhat.Β 
This data is from the PT2399 data sheet.
Delay (ms)Β 
Resistance (R27)
Clock frequency (MHz)
Distortion (%)
342
27.6k
2.0
1.0
273
21.3k
2.5
0.8
228
17.2k
3.0
0.63
196
14.3k
3.5
0.53
171
12.1k
4.0
0.46
151
10.5k
4.5
0.41
136.6
9.2k
5.0
0.36
124.1
8.2k
5.5
0.33
113.7
7.2k
6.0
0.29
104.3
6.4k
6.5
0.27
97.1
5.8k
7.0
0.25
92.2
5.4k
7.5
0.25
86.3
4.9k
8.0
0.23
81.0
4.5k
8.5
0.22
75.9
4k
9.0
0.21

The chart above shows examples of resistance to attain certain delays, but standard resistor values may be used and the amount of delay interpolated between it and the values shown in the table.Β Β 

While not specified in the data sheet, the delay will vary with temperature to a slight degree as the onboard oscillator drifts, so it is recommended that the needed delay be chosen such that it will allow a slight variance while still providing the amount of delay for the needed task.

Comment:Β 

If this is to be powered from a 12 volt supply, it's suggested that one place a resistor in series with the "+" input to provide additional decoupling of the power supply.Β  The (possible) issue is that the 470uF input capacitor ("CA" on the diagram) will couple power supply noise/ripple into the ground of the audio delay board itself - and associated audio leads - potentially resulting in circulating currents (ground loop) which can induce noise.Β  Additionally, an added series resistance provides a modicum of additional protection against power supply related spikes.

The board itself draws less than 50 milliamps, and as long as at least 8 volts is present on the input of U4, the 5 volt regulator, everything will be fine.Β  A 1/4-watt 47 ohm resistor (any value from 33 to 62 ohms will work) will do nicely.Β 

* * * * * * *

Addendum:Β  Adding audio switching

Since the original publication of this post there have been several questions as to how to "switch" audio to the delay board.Β  In many cases, this will not be required as the device being used (say, a repeater controller) may already have an audio gate - but in the event that you really do need to switch audio on/off - or switch it between "A" and "B", refer to Figure 6, below.

Figure 6:
Examples of using the 4066 quad audio gate for audio gating and switching.
Both an "on/off" gate and "A/B" switch - plus using a 4066 to generate an inverted logic signals - is depicted.
Click on the image for a larger version.

How it works:

For the audio switching we will use the 4066 quad analog switch.Β  In this example, we are using the CD4066 - the "old school" 4000-series CMOS which can operate between 3 and 15 volts.Β  The "newer" "HC" logic versions may also be used, but their maximum voltage is either 5 or 6 volts, depending on the specific part used.Β 

The "On/Off" gate:

Let's take the On/Off gate as the first example.Β  Note that the input/output ports - which are interchangeable (e.g. the switch is bidirectional so it could even be used with bidirectional signals) - are biased with R201 and R202 which sets the resting DC voltage at about 1/2 the supply voltage from the circuit marked "V+/2 Source".Β  Capacitors are used on these lines to block this DC bias voltage from appearing on the In/Out lines and disrupting the bias.Β  If you are switching audio lines with DC already on them, be sure to consider the polarity of the blocking capacitors in the event that this "external" audio source's voltage is higher than V+/2.

The reason for adding a bias voltage to the In/Out audio is to prevent the audio swing from causing the protection diodes found on this (and almost all other) chips from conducting if it exceeds either V+ or goes "below" ground:Β  Doing so would likely cause distortion of the audio on the positive and/or negative peaks.

Note that the bias is applied to both the input and output.Β  This is done to prevent an audio "click" or "pop" that would occur when the switch was closed:Β  If the DC voltages weren't exactly equal on the in/out lines when the switch was open, closing (turning on) the switch would cause a sudden change in the form of a click.

The "A/B" gate:

If you wish to switch two different audio signals from the same logic signal by turning one or the other on, this circuit is a replication of the "On/Off" gate - but it uses another 4066 gate as a logic inverter.Β  When the "A" switch is on, U1d - the middle switch - is also turned on, shorting R303 to ground which turns of the "B" switch.Β  When the "A" switch is turned off by setting its logic level to low, U1d is now turned off but the control line for the "B" switch is pulled high by R303, turning it on.

While the example shows two separate switches, one could connect them together, tying one of the in/out lines of each switch together as the common in/out port if you wished to use it to select source "A" or source "B".Β  If you do this, you could probably eliminate one of the blocking capacitors - but there's little harm if leaving it there if you are unsure as to what to do.

The "Low Voltage Logic to High Voltage Logic" converter:

All digital ICs have threshold voltages for their logic inputs - and the 4066 is no exception.Β  If you operate the 4066 gates from 12 volts, you will need "about" 12 volts on the "control" pin to properly "turn on" the audio gate:Β  Applying, say, 5 volts to it as a "high" signal probably won't work so the voltage of this control signal must match the supply voltage of the switch chip.

This is a very simple one-transistor logic level converter.Β  In the event that you have, say, a repeater controller that has 3.3 volt logic, but you choose to power the 4066 audio switches from 12 volts, you can use this to derive the 12 volt logic level needed to properly switch.Β  One downside of this circuit is that it will "invert" the logic signal:Β  Input a "1" (high voltage) and you get a "0" (low voltage) on the output.

Depending on the audio control signal from your controller, it may already be a "low active" type - or it may be programmable.Β  In the event that you need to do a high voltage logic level andΒ  that it NOT be inverted you can put two of these one-transistor circuits in series.Β  If you are already needing to switch between audio "A" and "B", you wouldn't need to do this as you could simply swap "A" and "B" if you end up with an "inverted" control signal.

Selection of power supply voltage:

As mentioned, the CD4066 may operate from anywhere from 3 to 15 volts:Β  12 volts is sometimes convenient as that may be the unregulated input voltage of the main power supply - but what voltage is appropriate?

The supply voltage should be equal to or higher than the peak-to-peak audio signal - something that can only be measured accurately with an oscilloscope.Β  For example, if you have a repeater and the peak audio voltage from the audio line when the receiver is running open squelch with no signal is 8 volts, you should NOT power the 4066 audio gate from 5 volts - but 10 or more volts would certainly provide adequate headroom.Β  If your audio level peak-to-peak voltage exceeds the power supply voltage, the audio will be clipped by the 4066's protection diodes and cause audio distortion.

If, in the above example, the peak voltage from the squelch noise was only 3.5 volts peak-to-peak, you could operate the 4066 from a 5 volt supply, saving you the need for logic level conversion and alsopermitting the use of the "74HC4066" instead.

Consideration of impedance:

These switches are intended for "high" load impedance (typically 10k or more) audio input rather than for audio switching where the LOAD impedance is low - such as a speaker.Β  The reason for this has to do with the resistance of the 4066 gates (which could be 10s or 100s of ohms) and, to a lesser extent, the value of the blocking capacitorsΒ  Fortunately, the input impedance of most sources on which this would be used (audio amplifier, repeater controller) are typically quite high.

* * * * * * *


This page stolen from ka7oei.blogspot.com

[END]




❌
❌