Break My New Library

I know that the updates here have been extremely sparse. For that I do apologize. Things are slowly starting to settle into a new normal around here, and I've been able to regain the ability to put time back into work. There's a large to do list on my whiteboard, and many of the things on that list depend on improvements and bug fixes to the Si5351 Arduino library. So that has been my first priority as I dip my toes back in the water.

There were quite a few features of the Si5351 that the older versions of the library did not support, such as all of the 8 outputs of the variants excluding the A3 and the VCXO of the B variant. Also, there is a pretty big bug in how the tuning algorithm handles multiple outputs assigned to the same PLL, which causes tuning errors to crop up.

Therefore, I decided in one fell swoop that I needed to totally rewrite the tuning algorithm and add support for as many of the neglected features as I could before moving on to other projects involving the Si5351. Over the last month, I've been hacking away on the code in my spare time, and I'm glad to finally be able to announce that a beta version of the Si5351 Arduino v2.0.0 library is ready for public use.

Because it's such a drastic change to the underlying code, I'd like to have it in limited beta release before doing a final release via the Arduino Library Manager. So that means that if you would like to try it (and I encourage you to do so), then you'll need to install it manually, which isn't terribly difficult.

Go here and click on the green button on the upper right that says "Clone or download". Select "Download ZIP". Next, find where on your filesystem your Arduino libraries folder resides and delete the existing "Etherkit Si5351" folder. Inside the ZIP file you just downloaded, there is a folder entitled "Si5351Arduino-libupdate". Unzip this folder into the Arduino libraries folder, and then restart the Arduino IDE.

Since this is a new major version release, I took the opportunity to tweak the interface a bit, which means that you'll have to adjust your current code to work with the new library (but fortunately not too much). You'll find the details on how to do that here.

Please check out the updated documentation on the GitHub page, as it has been greatly expanded and should explain all of the new features in detail. Also, quite a few new example sketches have been added to the library, which you can find in the usual place in the Arduino IDE. I encourage you to try the new library in your existing projects, as it should be a bit more streamlined and stable. Also, there is plenty of opportunity to make new projects with the B and C variant ICs. If you do encounter any problems with the new library version, I would like to strongly encourage you to use the Issues feature of GitHub to let me know so that I can get on to fixing it as soon as possible. When I'm satisfied that there are no big show-stopper bugs in the code, I'll merge it to the master branch of the repository and tag it for release via the Arduino Library Manager, but I need help in testing it before I can do that.

Once there's a stable release of this version of the library out in the wild, then I'll be able to move forward with other projects based on this Si5351. With any luck, some more interesting things will be coming from this shack again in the near future. Thank you for all of your help and support!

Edit: an exclusive look into the development process:

200,000 Miles Per Watt

If you wouldn't mind, I would like to draw your attention to my latest post on the Etherkit App Notes blog. In it, I detail how to create a 10 milliwatt WSPR beacon using nothing more than the Etherkit Si5351A Breakout Board, an Internet-connected PC, and a low-pass filter. A simple project, but one that gives quite a bit of fun testing the ionosphere given the cost and complexity.

Selection_104

I don't want to take away from the post, so I will advise you to go there to read it, but the bottom line is that with about 10 mW, I was able to get a signal decoded over 2000 miles away. I remember reading the old exploits of the QRPp gang in books like QRP Power, where you had to be really dedicated, organized, and good at decoding CW in the worst conditions. Now, we have the luxury of a mode like WSPR, which lets us do milliwatt propagation experiments without breaking a sweat.

One idle thought I had about this is whether it would be feasible to put this transmitter on the 13 MHz HiFER band (check out Dave AA7EE's excellent treatment on the matter) and whether that would be something that would be fun and useful for schoolkids to experiment with. Of course, it's technically feasible, but I would want to be sure that 1) it's legal and 2) there would be interest in doing it. A single PCB could be made with one Si5351A output attenuated to around 4.6 mW and low-pass filtered for transmit, while another output could be used to drive a simple fixed-frequency receiver based on the SA612. Let me know what you think about this in the comments.

Si5351A Breakout Board TCXO Upgrade

I'm pleased to announce an upgrade to the Etherkit Si5351A Breakout Board with TCXO reference oscillator. In boards manufactured previous to today (and the ones kitted in the initial crowdfunded initiative), the TCXO used was a Fox FOX924B-25.000. It worked well and did the job it was supposed to, but has one flaw in certain situations. The compensation loop in this particular TCXO has relatively wide frequency adjustment steps that can become obvious when using the Si5351A Breakout Board in a very narrow band mode such as QRSS. Here is a screen capture from Argo showing the behavior of the Si5351A Breakout Board with the Fox TCXO when outputting a carrier on 28 MHz, from a cold start.

Fox FOX925B-25.000
Fox FOX925B-25.000

As you can see, as the TCXO is stabilizing to operating temperature, the compensation circuit adjusts the frequency in relative course steps of around 3 Hz or so. Once the TCXO is warmed up, it jumps around less often, but still does occasionally have to frequency correct, and does so in a jump of similar size. This TCXO is still fine for most other uses, such as a VFO for a SSB/CW radio, but doesn't work so great for the MEPT modes, especially on the upper frequency range of the Si5351.

In the course of developing OpenBeacon 2, I determined that I would need to find a more suitable TCXO to use with the Si5351. After trying about five different oscillators, I finally found a fantastic substitute, and it only costs a bit more than the Fox TCXO. The Abracon ASTX-H11-25.000MHZ-T comes in a smaller package than the Fox FOX924B-25.000, but it will still fit on the footprint for X1 on the Si5351A Breakout Board. Here you can see the same test as above run for the Abracon TCXO.

Abracon ASTX-H11-25.000M
Abracon ASTX-H11-25.000M

It seems to find a stable frequency very quickly, and more importantly you can see that the compensation loop seems much tighter, with frequency corrections coming much faster and in smaller increments. You can only barely see a bit of fuzz from the frequency corrections on this low-bandwidth plot. This is much, much better for the MEPT modes.

As of today, all of the Si5351A Breakout Boards with TCXO option sold in the Etherkit store will have the Abracon TCXO, and the price will stay the same at $15.

Long Time, No See

I know. I was just starting to get some momentum posting to the blog on a semi-regular basis, and then — the drop off.

I am sorry about that. The Si5351A Breakout Board campaign consumed almost all of my work time. Given the limited amount of actual work time that I have, something had to give. So unfortunately it was blogging.

There's also a bit more unfortunate news, as well as good news. The bad news is that I don't foresee having the time to post as many posts as I would like, so for now, content will slow a bit. The good news is that is because I will be focusing my blogging efforts into the brand new Etherkit App Notes site at appnotes.etherkit.com. I'm going to be working hard to supply fun DIY projects that you can build using Etherkit products, starting with the Si5351A Breakout Board, and involving other Etherkit products as they come online.

In the meantime, it's been very heartening to see all of the neat ways in which people have been incorporating the Si5351A Breakout Board into their own projects. For example, here's a wonderful blog post and video from Mike N2HTT about how he constructed a multi-band VFO using the board and a 128x64 OLED display. I also received this link from Milan about how he use the board to clock his DVB-T dongle for SDR reception. It allowed him much greater frequency accuracy, as well as a way to slightly shift the ref osc frequency in order to see which signals are external and which are internally generated. All very neat stuff!

I won't let this blog completely fade, but I will be putting most of my effort in to Etherkit-related work, so that's where you'll need to look to find most of my new content. Thanks for reading!

The Si5351A Breakout Board Campaign is Here!

I'm pleased to announce that I've opened up the Etherkit Si5351A Breakout Board campaign for contributions! Please stop by our Indiegogo page to get much more information on what we are offering, and how you can help to support us even if you don't plan on purchasing a kit. We did a soft launch yesterday afternoon on Twitter and had a phenomenal response! We hit our initial goal of $500 of funding within about 6 hours of my initial Twitter post indicating that the campaign was open. With any luck, we should be able to hit the stretch goal by the time that the 30 day campaign has elapsed.

I would like to sincerely thank everyone who stepped up early to back our campaign and those who took the time to retweet, blog, and post about our campaign to listservs and other influential media people. I am utterly humbled by the level of support out there.

Update: As of 1600 UTC 12 Jan 2015, we have made the front page of Indiegogo as a trending campaign! Thank you to everyone who has supported us!

Indiegogo: Global Crowdfunding Engine to Fundraise Online - Mozilla Firefox_041

Update: As of 1830 UTC 12 Jan 2015, we hit the stretch goal. Less than 24 hours after launching the campaign. We are doing better than I expected! Time for me to get coding soon. 🙂

Si5351A Breakout Board | Indiegogo - Mozilla Firefox_043

Si5351A with TCXO Update

Just a few days ago, I finally received some of the TCXO parts that I've been planning on using with the Si5351A Breakout Board. I had no problem using one on the remaining prototype circuit board that I have, and at first glance it appeared quite stable and also very close to the nominal frequency (my correction factor for this one was only 8 Hz at 10 MHz).

Direct comparisons are always the best way to do things, so I ran the Si5351 with TCXO through my thermal chamber at the same profile that I did in the last test in my initial blog post. Rather than write a whole new blog post, I updated the original post to keep that data together, which will be handy for future reference. Go forth and look at the update at the bottom of the original post. Thanks!

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.

Si5351A Investigations Part 7

Here's the post I know that a lot of you have been waiting for. Buzz around the Si5351 has been picking up at a pretty rapid clip over the last month or so, but a lot of homebrewers have been hesitant to use it in their designs because one critical parameter has not yet been measured: phase noise.

Phase noise measurements seem to be one of the least easily accessible to the typical ham homebrewer, but fortunately for us, we have in our ranks some engineers with access to excellent T&M gear that most of us would never be able to afford for our home workbench. Thomas LA3PNA was able to put me in touch with one such engineer, John Miles KE5FX. I don't know much about John, but I should, as it looks like he has developed the TimePod phase noise measurement device and the TimeLab analysis software (which is very slick, I must say).

John was generous enough to make a variety of phase noise measurements on the Si5351A Breakout Board that I sent him. Below, I present some plots of the phase noise measurement that were taken at various frequencies and under a few different conditions.

Before I get to a brief commentary, here are the plots. The first two plots were taken at 3 MHz, first with 2 mA output current then at 8 mA output current. Then you will find 10 MHz, 13.371 MHz (in both fractional and integer divider modes), 14 MHz, 100 MHz, and then a composite plot of all of the different traces.

3_MHz_2_mA 3_MHz_8_mA 10_MHz_powerup_default overlay_frac_int_mode_13mhz 14_MHz_CLK0_with_CLK1_at_0 100_MHz_CLK1_PLL_auto_calc_8mA overlay

I believe that the plots speak for themselves fairly well. If you compare these results to the receivers in the Sherwood Engineering receiver table, I think you'll see that the Si5351 acquits itself quite nicely for such an inexpensive part. Personally, I think the Si5351 is eminently usable for many receiver applications, except perhaps the most high-performance. Certainly for the price, it's going to be extremely hard to beat. I hope this motivates those sitting on the fence to decide if the Si5351 will meet their needs.

Finally, I would like to share a new video of the Si5351 in action, courtesy of prolific builder Pete N6QW. Here's Pete having the very first QSO with his new SSB QRP rig built using one of the Adafruit Si5351A Breakout Boards:

I would like to sincerely thank KE5FX for taking the time to make these measurements for the community and for allowing me to share them with you. If you have any ideas for critical phase noise measurements that aren't included here, let me know in the comments and perhaps we can get those made as well.

Edit: I failed to mention that these measurements were taken with a plain old 25 MHz ECS crystal as the reference oscillator. With a higher-quality reference oscillator, one would expect even better phase noise performance.

Si5351A Update

I don't have a ton of new updates for you from the NT7S bench, but I wanted to give you a heads up on an error on the Si5351A Breakout Board Rev B and let you know about some exciting stuff brewing on the Si5351 scene.

When I created Rev B of the Si5351A Breakout Board, I attempted to create a PCB footprint that would allow dual-use of both the standard 25 MHz ECS reference oscillator crystal, but also a 25 MHz Fox TCXO in the same footprint. It was almost a good plan, but somehow I overlooked one detail. On the TCXO, VCC is applied to pin 4 and ground is pin 2. Unfortunately, on the ECS crystal, those two pins seem to be internally connected, but I missed that. So if you want to use the ECS crystal with the board, you can simply cut the trace providing +3.3V to pin 4 of the footprint, and your Si5351 will work fine. Otherwise, the power rail will be shorted to ground and you will have an unhappy board. I apologize for that oversight and I will work on getting a corrected PCB up on OSH Park in the near future.

In happier news, it seems to me that interest in the Si5351 is finally starting to really gain momentum. I've had a fair number of ham homebrewers contact with inquiries about the Si5351 and sharing their experiences with the IC so far. Although I don't subscribe, I've heard that there is quite a bit of chatter on Farhan's Minima mailing list about the possibility of substituting the current Si570 for a Si5351. Given that the Minima is meant to be a minimalist rig, I think this makes a lot of sense. There even some blog posts from others coming out now. For example, the always entertaining Shack Nasties blog by M0XPD now has some blog posts about initial experimentation with the Si5351 in a transceiver. I would put Paul's blog in your feed reader if I were you, even if you are only interested in RF experimentation in general.

This should be a good upcoming time for the cheap and cheerful little clock IC. I'm going to be experimenting with it in the next CC1. It should work great, with one output for the VFO, one for the BFO, and the last for the TX drive. As always, keep an eye on the blog and my Twitter account for further updates.

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.