Design, Homebrewing, Test and Measurement

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.

Homebrewing, QRP

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.

CC-Series, Etherkit, Wideband Transmission

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.

Etherkit, Homebrewing, Microcontrollers

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.

Coding, Etherkit, Microcontrollers

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.

Cool Stuff, Design, Homebrewing, Operating, QRP

For Noontime Net

I’ve been working on getting the little bugs out of the Si5351 SSB rig and making improvements to the circuit. Since SSB QRP operating can be a bit more challenging than CW QRP ops, Dave AA7EE suggested that I think about a speech processor IC to use in place of the op-amp microphone amplifier. He directed me to the Elecraft K2 schematic, which uses an Analog Devices SSM2166. I poked around the Analog website a bit and found a sister IC called the SSM2167. It’s smaller, simpler, and cheaper than the SSM2166, which could make it perfect for this radio.  I ordered a couple of samples of each from speakerxpert and they rush-shipped them here within a few days.

So today I got around to installing the SSM2167 in the 40 meter SSB radio, set the compression level to about 10 dB, and took a look at the transmitter waveform on my oscilloscope (I can still kind of see the screen if I get some light shining on it from the side). There is a single resistor which sets the compression level, and by jumpering around it, I can set the level to 0 dB. By comparing the waveforms with compression at ~10 dB and then off, I could tell that the average transmit power was increased quite a bit with compression on.

Next, I decided to check-in to the Noontime Net to see how it would work on the air and hopefully get an audio report. Luck would have it that net control Leslie N7LOB was very strong here, so I knew I should have no trouble checking in today. Also I was fortunate to have a strong signal from Lynn KV7L, the gentleman who donated the SA602s that are used in the radio. I’ve got a raw clip of my check-in below, which I hope to incorporate into a more polished video a bit later.

As you can tell from Lynn, 10 dB of compression might be a bit much for something like checking into a net. I changed the resistor to set compression at around 6 dB, which should be more appropriate for this type of use. It also sounds like some folks on the Noontime Net want to see some photos of the rig, so here are a few taken with my tablet. Not the best quality, but it should give you an idea of what it looks like until I can get my “real” camera back and take better photos.

PC_20140702_134826_PerfectlyClear PC_20140702_135131_PerfectlyClear PC_20140702_135139_PerfectlyClear

Design, Homebrewing, QRP

A Prototype for a Si5351-Based SSB Rig

Now that I think I’ve fairly well determined that the Si5351 is suitable for use in a ham radio transceiver, it seems like time to put thought into action and actually try to build one. Ever since discovering that the Si5351 can output multiple independent clocks from one IC, I thought it would be neat to use one output as a VFO and a second as a BFO. As I showed with my Grabber RX prototype, this is certainly a viable thing to do.

One type of SSB transceiver architecture that I’ve been experimenting with in the NT7S shack is one using an unidirectional IF for both the receive and transmit signal paths, as opposed to the bidirectional designs seen in radios such as the BITX. The Lichen transceiver seen in Chapter 6 of Experimental Methods in RF Design is a nice example of such a radio. In past experiments, I have switched the VFO and BFO signal paths using analog switch ICs. But I realized that when using the Si5351, all you would need to do to implement this type of architecture is to connect, for example, the CLK0 output to the first mixer and the CLK1 output to the second mixer, then swap the frequencies on each CLK output when switching to transmit.

With that in mind, let me present the block diagram of my implementation of this below:

Si5351SSBBlockDiagram

The mixers are the ubiquitous 602/612 loved and hated by QRP homebrewers around the world. I’m not a huge fan of the 602, but it has a couple of things going for it in this application. First is that there are essentially two inputs and two outputs on the IC, which makes it very handy for this type of design. And while it has fairly atrocious intercept figures, it does reduce component count quite a bit. So you could consider this more of a cheap & cheerful radio for fun, not a design for work in seriously crowded conditions. The rest of the elements in the design are pretty much your standard circuits. Nothing too groundbreaking there. One thing I neglected to put on the diagram above is 10 dB attenuator pads on Si5351 outputs in order to get the ~3 Vpp output down to around the 300 mVpp that the 602 likes to see for oscillator drive.

DSCN0678

So here’s the beautiful ugly mess on a piece of copper clad. This was originally a CC1 prototype board, but I decided to cannibalize it for this SSB rig since it already had the microcontroller and Si5351A, and because I was feeling too lazy to start from scratch. The radio build only took a couple of half-day sessions in the shack, and worked mostly as expected right off the bat. The T/R VFO and BFO swapping scheme worked perfectly, needing only a few extra lines of code to implement in the already-existing code. I ended up making my first QSO with the rig (5 watts transmitter output) checking into the Noontime Net and getting a S7-S9 report from net control. The second QSO was last night with fellow Oregonian, Joel KB6QVI, who was kind enough to give me a sked in order to check out how the radio was working on the air. Finally, I had a very brief QSO with Dave AA7EE, who gave me an inciteful audio report although we had a poor propagation path between us. Right now, I’ve got it back off the air to tweak a few thing, such as the audio response in the mic amp, but expect to get it back in working order for use at Field Day.

Overall, I’m pretty happy with the direction this radio is proceeding. If I can get all of the bugs worked out, this could be a pretty potent design. Not in the performance category, but in the cost and component count sense. I’m seriously considering whether it may be feasible to do crowdfunding for a run of kits if I can nail down the design well enough. I have come to believe that the Si5351 could be a game changer for ham radio HF and VHF radio designs.

Coding, Design, Etherkit, Homebrewing

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.

20140612_140918

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)

DSCN0671

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.

CC-Series, Coding, Etherkit, Homebrewing, Microcontrollers

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.

Coding, Design, Microcontrollers

Si5351A Investigations Part 5

The Si5351 library for avr-gcc that I’ve been promising for the last four posts is finally in a state where I feel comfortable releasing it, so I’ve posted it on GitHub. I think that the documentation posted on the README file and inside the code should be enough to get you going, but if you run into problems, please comment here or file an issue on the GitHub repository.

At this point it is very basic, but it will generate frequencies from 1 to 150 MHz on any of the three outputs of the Si5351A, and you can do stuff like turn the clocks on and off and change the drive strengths of the output drivers. More features will be added as time goes on, with the priority on things which will be needed to make a functioning amateur radio transceiver.

I’d like to point out something interesting that I’ve discovered about the parts that I’ve been working with. I ordered my Si5351A parts from Mouser (P/N 634-SI5351A-B02075GT). I never had any luck communicating with them on the datasheet-specified I2C address of 0x60; instead they need to be addressed at 0x6F. Thanks to the Bus Pirate and its built-in I2C address space scan macro, that didn’t take me too long to figure out. I just chalked it up to yet another datasheet error (the Si5351 is riddled with problems), but it turns out that I may actually have some defective or custom parts which shouldn’t have made it out to Mouser.

Over the last few days, I have been corresponding via email with Ian K3IMW, who has been having a horrible time getting his Si5351 to work. After he described his symptoms to me, I suggested that he try address 0x6F, and sure enough, that worked. What confounded him was that another ham he was in correspondence with was able to talk to the Si5351 using address 0x60. It turns out that those parts that work on 0x60 were from Digi-Key and both Ian and I obtained our parts from Mouser. So, the theory is that perhaps some custom parts accidentally made it out the door to Mouser. I will try to contact Mouser in the next day or two and see if perhaps they can get it straightened out with Silicon Labs.

The moral of the story to to pay attention to where you got your parts from if you are having problems with the Si5351. Once I can get my hands on some of the same P/N from a different vendor and can confirm that it does indeed work on address 0x60, I will make the change in the library. In the meantime, you may need to change that value yourself in the si5351.h file in order to get it working.