Wideband Transmission #6

Happy New Year 2015!

2014 was a bit of a mixed bag here. It's been a transition year for Etherkit, as I reorganize and reorient the business for a renewed push to get the CC1 and other new products to market. I believe that good things are beginning to happen there.

On a personal level, my two boys have been doing fantastic. Noah started preschool and is really enjoying it. Eli is at a bit of a difficult age (the Terrible Twos) and is between baby and little kid, but he's got an amazing personality and is growing up so quickly. Jennifer and I celebrated five years of marriage and 11 years since our first date! Things haven't been perfect in the extended parts of our families, but at least in our household we've all been pretty healthy and have been able to enjoy many blessings.

Si5351A Breakout Board Campaign

There have been a fair number of neat projects I've seen using the Si5351A Breakout Board that I posted on OSHPark, along with my Si5351 Arduino library, which is absolutely wonderful. However, I realize that it's a pain to order PCBs and all of the parts separately, and that a kit or a finished board would be ideal.

I've decided to try something new in order to bring the Si5351A Breakout Board kit to market: we're going to try crowdfunding the first batch of kits. I'm going to set a modest goal to trigger the funding, but all orders will be welcome over the goal amount. In fact, I intend to set a stretch goal at some higher funding level to devote a certain number of hours to improving the Si5351 Arduino library, including:

  • Add tuning from 8 kHz to 1 MHz
  • Add tuning from 150 MHz to 160 MHz
  • Fix the bug that does not allow output over 125 MHz
  • Implement access to the phase register
  • Implement sub-Hz tuning for modes like WSPR
  • Other bug fixes

I also intend on lowering the BOM cost by removing the broadband output transformers, and offering multiple variants of the kit, including the option to add SMA connectors and a TCXO. I'm composing the campaign on Indiegogo right now, and I'm shooting for a launch in about 10 days. I'm hoping to gain experience with this campaign with the goal of using it to fund CC1 kitting later in the year.

Why am I telling you this now? Because I would like to let those of you are are interested in purchasing one (or otherwise interested in supporing Etherkit) get advance notice so that you can order on the first day that the campaign goes live. This will help to give the campaign more momentum and perhaps help to spread the word further. I will be sure to make a blog post here when the campaign goes live and tweet about it as well, so keep an eye on those channels if this is something that intrigues you.

Simple WSPR Transceiver using Si5351A

I came across this simple WSPR transceiver from KC3XM driven by one of my Si5351A Breakout Boards via @wm6h and Dangerous Prototypes. The WSPR transmitter is simply a BS170 driven by one of the Si5351 outputs, which is buffered by a logic gate and keyed by a standard PNP keying switch. Control of the Si5351 and keying of the transmitter is performed by a plain vanilla Arduino Uno (the code has been posted to GitHub).

This looked so simple to build that I had to give it a try. I quickly built up the transmitter portion, tacked on a 10 meter LPF (the original version is for 30 meters), modified the code for my callsign and grid, and changed the Si5351 output frequency to the 10 meter band. The transmitter put out nearly exactly 1 watt of RF (with only about 1.2 watts of DC input total) into 50 ohms and ran quite cool. Hooked up to my Moxon, it had no problem generating spots when pointed east and started on an even minute so as to properly synchronize. Fun stuff!

Generating PSK with an Arduino

If you haven't been following the blog of KO7M, you should be. Jeff has been doing a lot of experimentation with with NB6M and other home experimenters in Washington state, especially with stuff like the Minima and using microcontrollers in ham radio projects.

Lately, Jeff has been working on getting an Arduino to output PSK audio. He has a series of recent posts about it, but these two are probably the most important. The character timing is not quite right yet, but the basics of how to generate PSK via PWM audio signals are here. Good stuff!

Si5351 and Raspberry Pi

Another really great homebrewer blog is M0XPD's Shack Nasties (oh you Brits and your silly names) blog. Paul has been doing a lot of work with the Si5351 as well, and his latest post about the Si5351 is details of how he interfaced it with the Raspberry Pi. Excellent information to have, as the RPi is of course much more powerful than your garden variety Arduino.

Si5351A Investigations Part 8

In looking through the analytics here on the blog, I noticed a search term that has been regularly coming up near the top: Si5351 crosstalk. Realizing that I haven't yet presented data on this, it seemed like a good time to knock this one out, since it isn't that difficult of a measurement to make.

It appeared to be a wise idea to choose output frequencies that were non-harmonically related, so I decided on the following outputs:

  • CLK0: 22.444555 MHz
  • CLK1: 10.140123 MHz
  • CLK2: 57.456789 MHz

Each output was set to the maximum 8 mA current and each one was locked to PLLA, which was set at 900 MHz.

The measurement procedure was simple. I connected the spectrum analyzer to each output sequentially. The unused outputs were terminated in 50 Ω. For each measurement, I used a delta marker to measure the difference in amplitude between the desired signal from that output and the frequencies of the other two outputs.

Without further ado, allow me to present the spectrum analyzer plots.

Output port: CLK0 Crosstalk signal: CLK1
Output port: CLK0
Crosstalk signal: CLK1
Output port: CLK0 Crosstalk signal: CLK2
Output port: CLK0
Crosstalk signal: CLK2
Output port: CLK1 Crosstalk signal: CLK0
Output port: CLK1
Crosstalk signal: CLK0
Output port: CLK1 Crosstalk signal: CLK2
Output port: CLK1
Crosstalk signal: CLK2
Output port: CLK2 Crosstalk signal: CLK0
Output port: CLK2
Crosstalk signal: CLK0
Output port: CLK2 Crosstalk signal: CLK1
Output port: CLK2
Crosstalk signal: CLK1

I thought that perhaps these measurements would be a best-case scenario, and that leaving the unused output ports unterminated might produce even worse performance, but it turns out I was wrong. Below are the same measurements, but with an open circuit on the unused ports.

Output port: CLK0 Crosstalk signal: CLK1
Output port: CLK0
Crosstalk signal: CLK1
Output port: CLK0 Crosstalk signal: CLK2
Output port: CLK0
Crosstalk signal: CLK2
Output port: CLK2 Crosstalk signal: CLK0
Output port: CLK2
Crosstalk signal: CLK0
Output port: CLK1 Crosstalk signal: CLK2
Output port: CLK1
Crosstalk signal: CLK2
Output port: CLK2 Crosstalk signal: CLK0
Output port: CLK2
Crosstalk signal: CLK0
Output port: CLK2 Crosstalk signal: CLK1
Output port: CLK2
Crosstalk signal: CLK1

I'm not quite sure what to make of that. In practice, I haven't seen any problems in my receivers so far that I can trace back to crosstalk from adjacent channels. Of course, this probably won't do in a higher-performing receiver, but if you wanted to use the Si5351 in such a receiver perhaps you could find a way to put two or more on an I2C bus at the same time, then use only one output from each. My advice would be to turn off any channels you are not currently using, just to keep the other outputs clean.

I have no doubt that this data will be more ammunition for those who are convinced that the Si5351 is a terrible LO. I stand where I always have: this is an excellent IC for the price and you are hard pressed to find such capability and stability for such a low price anywhere else. If, knowing its limitations, the Si5351 meets your needs, then excellent! If not, that's fine too. Neither I, nor anyone else I have heard, has suggested that the Si5351 is a panacea or a substitute for a better oscillator such as the Si570. It's another tool to be put into our toolbox in the quest to stay relevant with the march of technology.

Quite a bit of work has been done in quantifying the performance of the Si5351 for amateur radio use, within the limitations of our modest home labs. Something that you don't see done with a lot of other new components these days. Have I made mistakes or overlooked some things? Almost certainly. I'm still learning how to apply a strict measurement discipline over all of my serious building activities, so this is a learning process for me as well. If you have some constructive criticism of any of my measurements or feel that I have neglected things, I absolutely welcome an email or comment on the blog. Let's try to hold ourselves to high standards as home experimenters without being unduly negative, as many of us continue in the journey of RF experimentation.

Wideband Transmission #5

Latest CC1 Progress


As you can see from the above photo, I have finished a significant portion of the digital side of the newest CC1 prototype and now I'm on to the receiver section. This weekend I finished my first pass of the audio chain and characterized the gain and frequency response of the chain. Next up is the design of the IF and front end of the receiver. This time I plan to do a much better job of characterizing the performance of entire radio, designing for specific critical receiver specifications, and iterating the design as necessary instead of holding on to dodgy performance from circuits.

Mixer Investigations and the Search for Better Dynamic Range

Since I decided to ditch the dual-gate MOSFET mixer front end, I've been considering what to replace it with. At first, I was thinking about using the ADE-1 for the mixer and product detector, but I've been intrigued with reading about H-Mode mixers over the last few weeks, which led me to the similar, but simpler KISS mixer by Chris Trask. That seemed like a good candidate for the CC1, with relative simplicity and better-than-average performance. Since good IP3 performance is the main characteristic of this mixer, I wanted to try measuring IIP3 at my own bench to see how it looked in a home made circuit with less than optimal parts and layout.

To get warmed up, I first attempted to measure the IIP3 of a few parts that I had on hand where I already knew IIP3 values to expect: the SBL-1 and the ADE-1. Using a DG1022 as the signal generators, my HFRLB as a hybrid combiner, and the DSA815TG, I was able to measure an IIP3 of +13 dBm for the SBL-1 and +17 dBm for the ADE-1, which is pretty much right on what other people have published.


Here is my test setup for measuring the KISS mixer performance. I deviated from the circuit described in the KISS mixer white paper in a few ways. First, I used a TI TS5A3157 analog switch, as I didn't have any Fairchild FST3157 on hand. I also used a hand-wound trifilar transformer on a BN2402-43 core instead of a nice transfomer from a company like Mini-Circuits. I drove the KISS mixer with +3 dBm from a Si5351. My measurement of IIP3 for this variant of the KISS mixer came out to +27 dBm, which seems reasonable given the poorer components I was using. Conversion loss was 7 dB. I'm going to try to measure it again with an actual FST3157 and a Mini-Circuits transformer in the near future, so it will be interesting to how much that will improve the IMD performance.

But honestly, I probably won't need better than +27 dBm performance if this mixer is used in the CC1. Since the CC1 is meant to be a trail-friendly radio with modest current consumption, I don't think I want to include the high current amplifier needed after the KISS mixer to get maximum performance out of it. Which is kind of a shame, but I figure that I should be able to keep RX current to around 50 to 60 mA and still have a receiver with better IMD performance than your typical level 7 diode ring mixer receiver. Stay tuned for more details on the CC1 front end as they are worked out in the NT7S shack.

10 Meter Contest!

Yes, it's almost time for my favorite contest of the year: the ARRL 10 Meter Contest. Ever since I moved into the current QTH, it has been a bit of a tradition for me to operate the contest as SSB QRP only. By virtue of entering that least-liked category, it has been no problem to collect some modest wallpaper from this contest. That's fun, but my real goal is to beat my previous score. Last year, I think I did fairly well with 7490 using a stock IC-718 and my ZS6BKW doublet. So this year, I'm going to have to step up my equipment game in order to have a good chance of besting last years score. I'm thinking some kind of gain antenna is going to be a must. If I can get a Moxon or small Yagi up around 20 feet and use an Armstrong rotor, that should help give me a little more oomph than last time. We'll see if I can get something built in the less than 3 weeks before the contest.

Etherkit Rev B

You may have already seen it, but please allow me to direct your attention to my latest post on the Etherkit blog. For the tl;dr version: sorry to have been quiet on the business front so long, also sorry to have failed to do a good job keeping up on business communications, the OpenBeacon and CRX1 products are being sunsetted (I've reduced the price of my limited remaining stock of OpenBeacon to $29), new products and new initiatives are coming in the near future.

I wanted to mention a few more things that I neglected to say in that post. First, I also plan on releasing another revision of the Si5351A Breakout Board for sale as a kit. There are a few bugs to fix on the current version on OSHPark, but it shouldn't take me too long to get a new revision up there and ready for testing soon. I've also reduced the price of EtherProg to only $9, which should make it in line with other similar tools.

To be bluntly honest, it has been a difficult year here on the Etherkit front because of multiple failures, some of which I must keep private for now. However, I have been buoyed by encouragement and help from friends and family, and I plan to redouble my efforts to make Etherkit the company that I envisioned when I founded it.

There will still be quite a bit more to announce in the near future, but now is not quite the time to reveal everything being worked on behind the scenes here. I will have more Etherkit news soon, so as usual, watch this blog for updates.

Thank you!

Wideband Transmission #4

It's been a while since I've posted one of these. I understand that things have been fairly quiet over here in the last few months, so I wanted to let you all know that I'm not dead yet. I've actually been working on Etherkit a fair amount in the background, and that has been eating up most of my free work time. I know that things have looked stagnant, but please understand that I have been putting in time to revamp the business and bring some exciting new things to Etherkit. I have a few different, parallel projects going on right now. Soon I will commit to one of them and move forward on that, depending on how things pan out. I suspect I'll have more to say on the matter in less than a month on where Etherkit will be going in the future.

In related news, I've had a few people ask about what's going on with the CC1. I apologize for the CC1 being a huge bit of vaporware. To be frank, it has been the most frustrating project I've ever worked on, but I believe in it strongly enough to attempt to finish it. At this point, as much as I have had fun with the BF998, I believe that in order to make the CC1 the radio that I want it to be, I will have to abandon using the BF998 as mixers and switch to a balanced mixer design, most likely the ADE-1. I'm also looking into adding a small OLED display to the radio, which will also necessitate a large redesign to the mechanical layout of the radio (I'll probably end up doing the typical TFR design, such as the KX1, KX3, etc.). I'm also impressed enough with the Si5351A that I'm going to try using that as the new VFO and BFO. A brand new CC1 prototype is just getting started on the bench now, so it should be interesting to see how it works out. I'll post some progress photos and videos to my Twitter feed and the blog, as appropriate.

Thanks for hanging in there with me. It has been a real challenge to try to run a business while also being a full-time caregiver to my two boys. I would say that I haven't been very successful in doing both, so naturally, the business took the backseat. But now that my boys are getting older (Noah is 4 and Eli is 2.5, can you believe it?), I'm able to spend a bit more time during the day handing business. Things will be moving forward.

CRX1 Group Builds?

I'm pretty happy with the way that the CRX1 turned out, but understandably I haven't sold a ton of them because 1) they are a SMT kit and 2) the tuning range is a bit limited. However, it's a stable and sensitive CW receiver and it's pretty fun to build as well.

There are still PCBs and a fair number of components left to kit another batch of CRX1s, but I would need to order more components in order to complete a 2nd batch of kits. I'd hate to see these parts sitting around, so I have a potential proposal that I'd like to use to gauge interest for ordering those other components.

I believe these would be great as a group build project for those who have built through-hole kits in the past but want to try their hand at SMT. The circuit board is not cramped and the passives are almost all 0805, so they are not too small. So of there are any of you interested in ordering a batch for a group build (whether for a few friends or for a club) then email me at milldrum at gmail dot com. I can arrange for a bulk discount over the current $30 retail price. The discount will be based on the number ordered.

Finally, wanted to show you a very quick demonstration of the receiver to those of you who haven't seen it in action before. Take a peek at this video to see it listening to 40 meters.

I could probably work out something on the OpenBeacon as well, if you think your group would prefer to do that instead. Just send me an email to the above address.

Si5351A Breakout Board Update

I've had a good response to the Si5351A Breakout Board when it was posted on Hackaday last month. There have even been a few folks who went through the trouble of ordering PCBs from OSHPark so that they could build their own copies of the board for experimentation. One of them, Tom AK2B, even constructed a complete receiver using the Si5351A Breakout Board and the RF Toolkit modules from kitsandparts.com. Check out the link to the nice-sounding audio in the embedded tweet below.

When the link to the Breakout Board was posted on Hackaday, I wasn't even sure that anyone would be interested, so the design was not as robust as it should have been for public use. But thanks to some suggestions from Tomas OK4BX and some of my own ideas, I've created a Rev B Breakout Board that has a number of improvements.

Si5351A Breakout Board Rev B
Si5351A Breakout Board Rev B

I increased the size of the board by 10 mm on the short side in order to accommodate some new circuitry. I could have kept the board the same size and put the new components on the back side of the board, but I thought it would be better to keep everything on the front. Thanks to Tomas' suggestion, I added simple MOSFET I2C level conversion so that the Si5351A can be properly interfaced with a 5 V microcontroller. I also added a 3.3 V LDO regulator and jumper blocks so that the I2C interface voltage and the 3.3 V source can be selected. The traces from the Si5351A to the output transformers were also screened with vias, which improved crosstalk between outputs by about -6 dB. I also increased the pad size for the SMT crystal in order to make it easier to hand solder. In addition, I added a provision for the crystal footprint to double as a footprint for a TCXO. So far, the crystal works fine, but I haven't ordered the TCXO yet in order to verify that it works as well, but I don't think there will be any problems as long as the crystal is working.

As I anticipated from a previous post, Adafruit has released their own version of a Si5351A breakout board. It looks like they use the same I2C level conversion scheme as my board, but that is where the similarity ends. The Adafruit board seems to be geared to using it strictly as a clock generator, where the Etherkit board is designed to be used in RF applications by providing output isolation via broadband transformers and screening of the output traces. The Etherkit board also has more flexible options for using the board in 5 V or 3.3 V environments.

You can order the new board from OSHPark here, and find the documentation for it on GitHub.

I need to do a bit more testing to ensure that everything is working as it needs to, but so far the preliminary tests look great. Assuming that everything with the new board checks out, there's a decent possibility that I will kitting at least one batch of these boards for sale. Stay Tuned.

Si5351A Breakout Board Documentation

I appreciate all of the interest in the Si5351A Breakout Board that I have available on OSHPark. I apologize for not having this available sooner, but here is a GitHub repository which hosts the KiCad design files and a PDF of the Breakout Board schematic, which lists the part numbers for the reference oscillator and the output transformers so that you can order your own. Also the few passives on the board are size 0805.

This, along with either the avr-gcc library or the Arduino library, should get you going in generating all kinds of clocks and local oscillators. While this board seems to work fine in interfacing with the 5V Arduinos that I have, I worry that comms might be iffy, so I'm going to add simple MOSFET-based level conversion to the next iteration of this board. Keep an eye on the blog for further developments in this area.

Si5351 Libraries and Breakout Board

A few exciting developments here on the Si5351 front. First off, I took the C code from my Si5351 library for avr-gcc and converted it to an Arduino/C++ library, which you can find here. It replicates the functionality in the avr-gcc library, but makes it quite a bit easier to rapidly implement designs. I've tested this design on an Arduino Uno and an Arduino Uno clone, but I see no reason why the library shouldn't work on other Arduino variants as well. Please give it a try and leave feedback on the GitHub page if you find bugs or have suggestions for improvements.

The other news is about the Si5351 Breakout Board that I mentioned in the last post. I just got the 3 purple PCBs back from OSHpark and they are most excellent.


I got one quickly populated with components and paired it with an Arduino in order to test the new library. As you can see in the photo at the top of the post, it's a pretty small little board, but it's pretty powerful for its size. All you do is connect VCC, GND, and the I2C SDA and SCL lines to the Arduino, and you get three independent transformer-isolated outputs on SMA connectors that can generate 1 to 150 MHz (in the future the library will be modified to allow the full 8 kHz to 160 MHz range)


Will I end up selling these as a kit? I'd like to but I'm uncertain at this point. Oddly enough, I just found out that it's highly likely that Adafruit will also be selling a Si5351 breakout board. If you watch the video below at about the 6:22 mark, you'll see it.

I'm a bit surprised by this, as RF is not something that I was aware that Adafruit was interested in. To be honest, it will be difficult to compete against the relatively much larger fish in the hobbyist pond that is Adafruit. Although, it looks as though my breakout board has something that the Adafruit board does not: isolation output transformers. Most likely, I will do one trial kitting run and see if there will be enough interest for another after that. Keep an eye on the blog for further news about that in the near future.

Si5351A Investigations Part 6

The theme of this blog post is not lots of tedious work, but refinement leading to good results.

First off, let's talk about the funny I2C address on the parts which I received from Mouser. Since Digi-Key has no order minimums and very inexpensive shipping available (in the form of USPS First Class mail), I ordered another batch of Si5351As from them so I could see if they would respond to the correct address of 0x60. Sure enough, once I received them and used the Bus Pirate I2C address scan macro, they came up on address 0x60. So it seems obvious that Mouser has some oddball parts; perhaps they were custom parts that inadvertently escaped Silicon Labs. I'm still waiting to hear back from Mouser about the issue, but in the meantime, I would recommend you order from a different distributor until they fix this problem.

I also decided last Friday to try to get my KiCad skills back in order and crank out a cheap and cheerful breakout board for the Si5351A. It didn't take me too long to get back in the groove and design a small, simple PCB that would make it easier to prototype with the Si5351A. The board is 30 mm x 50 mm, with three end launch SMA connectors on the right edge and the power/I2C pins on the other side. I've also added wideband transformers (Mini-Circuits TC1-6X+) to the outputs to isolate them from the breakout board. Below you can see the OSHPark rendering of the board.

Si5351A Breakout Board

They will hopefully be here in about a week or so (one of the benefits of living in the same city as OSHPark). Assuming that they work as expected, there's a chance that I may end up selling these as kits, so stay tuned if that interests you.

Now on to the best news. The last big question in my Si5351 investigations is whether it would be suitable for VFO usage in a standard amateur radio receiver, where it would have to be tuned rapidly. Having seen in a Silicon Labs application note that the Si5351 can be tuned glitch-free by locking the PLL to a fixed frequency and only changing the synth parameters of the attached multisynth, I set out to implement that in the Si5351 avr-gcc library.

Next, I ripped the AD9834 DDS and crystal BFO oscillator out of my last CC1 prototype and substituted the Si5351 for the VFO and BFO. Long story short, after a bit of tweaking, the part performed beautifully! I can crank the tuning encoder knob as fast as I possibly can, and I get no hint of any glitching or other tuning artifacts. The Si5351 has enough oomph to drive the BF998 dual-gate MOSFETs as well. Into a high-impedance, the drive level was over 4 Vpp, which is a decent drive level for that mixer. The only slight hardware change I had to make was to change the I2C pull-up resistors to 10kΩ and reduce the I2C clock speed down to about 100 kHz in order to reduce noise from the I2C line getting into the receiver. This change seemed to have no adverse affect on the tuning speed of the Si5351.

At this point, I believe I have investigated most of the main points that I wanted to look at when this first began. Wonderfully, the Si5351 appears to be a very suitable IC for use in all kinds of amateur radio applications. The multiple independent outputs is a superb feature, and has the potential to greatly reduce parts count and price in ham radio transceivers. I'm already thinking of many applications where this inexpensive, stable, and versatile IC can be used.

Even though the main objectives have been met, I'm still not done with this IC. I would like to look into further details, such as phase noise. I also have a lot of plans, such as building a new radio from scratch using the Si5351, possibly selling the breakout board mentioned above as a kit, and maybe even creating a more complete development board (which could be used as a wide-range VFO) by incorporating a microcontroller, LCD display, and encoder knob. Keep watching the blog for further updates.