Etherkit, Meta, OpenBeacon 2

OpenBeacon Mini → OpenBeacon 2

First, a quick update about something I mentioned earlier on the blog. A few months back I talked about a big summer project that I would be involved in. Although that project is not yet complete, I’ve completed the most time-sensitive part of it, so I’m now able to put more time back into my Etherkit work. I’ll be sure to share more about the project later, when it’s closer to being finished.

This brings me to the main point. Now that I’m in the home stretch of bringing OpenBeacon Mini to market and I’m tidying things up and whatnot, I finally came to grips with the ridiculousness of the moniker. Yes, it started off with the intent to be a small project, hence the ‘Mini’ part, but you know, feature creep. I’ve taken a lot of justified, well-natured ribbing about the name, and I finally decided that it was time to change it since I’m in the last big push before bringing it to market. Henceforth, the old half-baked OpenBeacon 2 project on GitHub was renamed OpenBeacon 3, and the Mini is now going to claim its proper title as OpenBeacon 2. If OpenBeacon 2 is at all successful, OpenBeacon 3 will simply be an extension of 2, based on the same design but with some additional features such as on-board GPS, support for an external reference, and perhaps a few other things.

So what are the next steps for OpenBeacon 2? The design is pretty much locked down now. I have a few minor errors to correct on the PCB and of course I need to change the silkscreen, but that will be easy to do and I expect to order the latest PCB spin very soon. After that, I’ll finally get the wide beta test going and put together the preorder campaign. The firmware mostly needs some polish and tweaking; almost all of the core functions are there. The PC sync/remote control program has all of the basic functionality written and is built for X86 Linux, Rapsberry Pi ARM Linux, and Windows.

Finally, a brief mention of some other unfinished business. A few years back, I had a Patreon account and from the help of some very generous folks, was able to count on a bit of extra funding every month to help me in paying for parts and tools used for development of hardware, firmware, and software. It was extremely helpful, as we are on a pretty strict budget and Etherkit doesn’t really make money at this point in time. Eventually, Patreon ended up changing their terms and I ragequit. Since then, my work output has been spotty at best and I never found a suitable alternative, so I never tried to replace it. However, I recently saw that OpenTechLab got back to making videos and also started a page on SubscribeStar. Since I wanted to support him, I created an account and figured I might as well make a page for myself as well. This is just a soft launch, since I haven’t really done much to earn it yet in 2019. I am ramping back up after yet another lull and I do hope to produce enough open source content to earn some funding again. Also, is there anything I could offer to subscribers to sweeten the deal a bit? I’m uncertain if there are any extra benefits I could deliver that would make a subscription worth your while. Let me know in the comments (or personally if you’re someone I regularly chat with). Anyway, if you are happy with what you see in the future from me, please consider a recurring subscription at that time. Thank you!

PCs, Test Equipment

Some PC Software for NanoVNA

As regular readers are well aware, my main PC runs Linux Mint, and has for many years. I do run a Windows 10 PC as well, in order to build code for that platform as well as to play games, but it’s my preference to do nearly all of my work on my Linux box.

There exists an “official” NanoVNA PC program that runs in the .NET environment on Windows PCs. I’ve tried it out on my Windows box and it works alright, but has some annoying bugs that make it difficult to use. The big problem is that this program is closed source, so no one in the community can help to improve or fix the code. Naturally, I turned to the interwebs to look for an open source alternative that could run on Linux. I figured there had to be one or that one would be released soon, since the virtual serial port protocol for the NanoVNA had already been documented by people on the NanoVNA mailing list.

I eventually found the NanoVNASaver program by Rune B. Broberg, 5Q5R. It’s a Python 3.7/Qt program that is cross-platform and was very easy for me to install and run on my Mint box:

git clone

Of course, YMMV, since you may have to install some dependencies before you can get it to run. Also, it requires Python version 3.7, so be sure you have that specific version installed if you are not running a precompiled binary.

NanoVNASaver has pretty much all of the features of the “official” program, plus more. You can select from a variety of S11 and S21 plot types, and the markers work as you would expect (unlike the “official” program). It will export Touchstone files for use in SPICE and other modeling tools. You can also save and display reference traces, which is of course quite useful.

NanoVNASaver also has a neat TDR function along with a window for the graph so that you can measure cable lengths.

Perhaps the most useful feature in NanoVNASaver is how it handles the sweep. Instead of only doing a single 101 point sweep, you can specify an arbitrary (up to a point, I assume) number of sweeps, so that you can collect 101 * number of sweeps points of data, which is something that my current NanoVNA firmware doesn’t do.

Development has been proceeding at a very fast pace, and I would assume that the version that I’ve reviewed for you (0.0.9) will be deprecated very quickly, if you happen to be reading this very long after the publication date. The great thing about getting it via git clone is that it’s as easy as issuing a git pull origin master to update it.

All in all, I’m really happy with this free and open source software which complements the NanoVNA nicely. Hats off to Rune for providing such a valuable resource to the community.

Test and Measurement, Test Equipment

Onto the NanoVNA Bandwagon

Anyone following Hackaday and other hobby electronics blogs/YouTube channels has probably noticed the buzz around the NanoVNA lately. Admittedly I don’t know a lot about it, other than the fact that the design and firmware is open source and now a bunch of Chinese manufacturers have started making it and that you can now get one for around $50 to $60, shipped to the US.

A VNA is the one bit of test gear that was missing from my stable, so hearing about the possibility of getting one for cheap right now certainly piqued my interested. However I wasn’t interested in wasting money on a glorified toy, so I didn’t jump on it immediately after hearing about it. The buzz about it kept growing and I started hearing enough good things about it that I finally decided that I could live with taking a chance on losing $50 if it didn’t pan out, so I pulled the trigger a few weeks ago and ordered one from eBay.

The NanoVNA arrived a few days ago, decently packaged in a reusable plastic box that included a couple of USB-C cable, SMA coax jumpers, a SMA female passthrough, and a calibration kit. As is often the case, the instrument is even smaller in person than it looks on camera. The length and width are roughly the size of a credit card, and it’s perhaps 1 cm thick. Very compact!

NanoVNA measuring an HT antenna

So far, I’m pretty impressed by what you get for your money. The user interface can be controlled with the rocker switch you can see at the top-right, or with the touchscreen (you’ll need to use a stylus if you have fat fingers like I do). Calibration is easy to perform and the menus are straightforward to navigate. In the photo above, I’m measuring the return loss of one of my HT antennas, and you can see that it has proper dips at 2 meters and 1.25 meters. Other quick checks that I have made of antennae, filter responses, etc. have all looked exactly as I would expect.

There is also a PC program that can run on Windows that will connect to the NanoVNA’s virtual serial port and display plots on your PC, as well as allow you to capture plot data. It works OK, but could use some refinement and additional features. Unfortunately, this program is not open source, so we are reliant on the author to make those updates. I do know that the serial interface is easily exposed, so I bet some more options in this area will be coming soon.

NanoVNA Block Diagram

But what about the accuracy, you ask? I don’t have any calibrated instrumentation to compare it to, but multiple members of the NanoVNA mailing list have compared it to an HP 8753C and from their reports, it compares quite favorably. For home lab usage, it looks like it will be more than adequate. I might also point out that the device is excited by a Si5351A, which doesn’t surprise me in the least. When I first was made aware of it years ago (when I did the Si5351 Investigations series), I figured it would almost certainly find its way into all kinds of ham radio and other RF related stuff.

So far, I’m glad I purchased it and I feel like it’s a great value for the money. What an excellent time to be an RF experimenter, where tools that were previously very expensive and hard to get are now within reach of just about anyone!


Regarding Recent Availability

I’ve been getting quite a few notifications from GitHub from about issues on my most popular repositories and also have been receiving personal emails asking for support on various issues. Most of these items are not trivial and will take a bit of research on my part in order to understand them and correct them. I’m very pleased that my code has been useful to many people and I’m also extremely grateful for those who take the time to let me know about the problems that they encounter.

I definitely want to tackle as many of these as I can. Right now I’m in a pretty big time crunch as I have two major projects I’m in the middle of executing at the moment. One is personal and the other is the launch of OpenBeacon Mini. Because of the time-sensitive nature of both of these, I’m not going to be able to put any attention into fixing issues and very little into responding to requests for help until At least one of them is complete. You’ll see more info about OpenBeacon Mini very soon and I imagine I’ll share a bit about the other project later as well. Thanks for your understanding and patience.


Baxter 2006 — 2019

Yesterday, we had to say goodbye to our best friend and the goodest boy, Baxter, after twelve and a half years of faithful companionship.

Just like Marley from Marley & Me, Baxter was our clearance puppy, no joke. He cried for his mama every night for about a week straight after we brought him home, so that gave us some good practice for when he had babies later.

Here he is enjoying his first snowfall. He always did enjoy playing in the snow, even though we don’t get it that often here.

He also loved running at the beach, although he didn’t like actually getting in the water like you would expect a Lab to do.

The present under our Charlie Brown Christmas tree.

Baxter was always so gentle and loving with our boys.

What a handsome lad.

You probably didn’t know this, but he also moonlighted as a superhero in his down time.

Thank you for being such a good boy. We didn’t deserve you. Rest easy, old friend.

Etherkit, OpenBeacon 2

FT8 Cracked

I’ve got an early Christmas present for you all! In conjunction with today’s final release of WSJT-X 2.0.0 (n.b. I’m not affiliated with that project in any way), I’m pleased to announce that I have now added the brand new 79-symbol FT8 protocol to my JTEncode Arduino library. The new version of the library is currently in testing and not available for upgrade in the Arduino Library Manager yet, so if you’d like to try it out, please download it from the development branch here and install it manually. After I’m confident that all is working well, I will release it to the main branch.

After having a lot of people asking me about it, last week I finally decided to take a crack at reverse engineering the FT8 protocol from the WSJT-X source code. I figured now was a good time since I’m in the final push to get OpenBeacon Mini out to production and a new version of the protocol was coming with the new v2.0.0 of WSJT-X. I had been awfully hesitant to tackle this in the past since all of the modulation algorithms are written in Fortran, a language that I do not know. There are no detailed technical descriptions of the protocol in plain English that I could find, so I would have to depend on reverse engineering the protocol solely from the code.

Armed with a F77 textbook I picked up at Goodwill and lots of Googling, I managed to make a big push over the last 5 days in order to give myself a Fortran crash course and learn how the algorithm works. With a ton of print debugging and by comparing the output of my code to the output of the official ft8code program from the WSJT-X package, I was able to nail it down.

If you are comfortable being on the leading edge of such things, please do give my library a try now and help me test it. It’s nice to see that the JTEncode library has been used in various ham projects out there, and at least once commercial product (other than the upcoming OpenBeacon Mini). I’m sure that the inclusion of FT8 will make it much more useful.

Meta, OpenBeacon 2, Twitch

Mid-Summer 2018 Update

A quick proof-of-life update for you. The whole month of July was pretty much wiped out for me between the yearly family vacation which was followed by hosting friends from out of town. We had a lovely time, but it left very little time for getting work done. Add to that the fact that the GPU on my main workstation gave out, so I couldn’t really do anything on this PC until I acquired a new one (RX 560 4 GB to make this entire machine Team Red now). So given all of those circumstances, I didn’t really make any progress on OpenBeacon Mini. Apologies for that to my beta testers. Things will still be a bit slow while school is out here for summer break until late August, and then after that I expect to have my full allotment of work time again. Once school is back on, I should be able to do Twitch streaming again as well. Right now things are just too chaotic for that to happen on a regular schedule.

On a side note, I’m sure you seen me talking about using the Brave browser’s BAT publisher program to replace my old Patreon page. I completely understand that asking someone to switch browsers is a very hard ask, especially when the browser is still fairly early in development and needs more work in order to be highly polished. I recently learned of an extension for Firefox and Chrome that does the same function of distributing BAT to registered publishers that the Brave browser does, which should be a lot more tolerable for those who were considering the program but didn’t want to give up their current browser. The extension is called BATify, and it might be worth looking into if such things interest you.

Empyrean, Etherkit, OpenBeacon 2

OpenBeacon Mini Status – Early June 2018

It’s time for a brief update on how things are going with OpenBeacon Mini, the successor to the OpenBeacon MEPT that’s been a long time in the making. For those who are unfamiliar with the new project, allow me to give a very brief overview of its capabilities. The OpenBeacon Mini is an automated transmitter for amateur radio operators that allows for automated transmission of messages using propagation study modes such as WSPR and QRSS, along with many of the other JT modes and CW as well. The carrier is generated by a Si5351A clock generator IC which is fed with a TCXO reference clock for frequency stability. Low-pass filter plug-in band modules allow operation on any single band from 630 meters to 2 meters. The OpenBeacon Mini detects which band module is inserted and sets the frequency accordingly, making band changes as easy was swapping out a plug-in module. The power and a data connection is provided from a USB micro B connection to any PC. Accurate time synchronization is accomplished through this connection, as long as the PC has time set through NTP. The user interface is a 128 x 32 px OLED display and 7 pushbuttons. As always with Etherkit products, all firmware, hardware design files, and and software is open source. Extra pins from the microcontroller and extra clock ports from the Si5351 are broken out for use in experimentation and expansion.

Something like this project has been on the back burner for a long time, and is finally now able to see the light. I intend to launch this as a crowdfunded product at the same time as my Empyrean microcontroller, which is at the heart of the OpenBeacon Mini. The Empyrean is an Arduino Zero derivative in the form factor of small DIP module perfect for breadboarding. I’ll have more about this initiative to post on the blog in the near future.

My first beta tester, LA3PNA, recently received his OpenBeacon Mini and had a chance to put it on a NVIS antenna for a few hours on 60 and 20 meters. As you can see from below, he received plentiful WSPR spots in that short amount of on-the-air testing.

I have another early beta tester working on getting his OpenBeacon Mini on the air soon as well. I am looking at getting one more early beta tester going with this PCB spin, just so that I can be very sure that the next PCB spin will iron out all of the kinks. If you are familiar with MEPTs, using the Arduino environment to compile and load firmware, and don’t mind a little bit of firmware roughness, I’d love to have you on board. Send me an email to milldrum at gmail dot com to let me know you’re interested.

This weekend, I plan to get OpenBeacon Mini going on 6 meters in order to see how it performs there. It should be a perfect time, since it’s also the weekend for the ARRL VHF Contest. Keep an eye on my Twitter account and this blog for further updates on this project.