Tuesday, September 26, 2017

A Two Channel SI5351 Signal Generator Update 9/28 9/30/17

After getting the sketches written for the SI5351 board written to support multiple display types, I decided I need to write one more. Now that Pete is moving the Simpleceiver to a single conversion super-het, I will have to worry about the BFO as well as VFO frequency.  Since I will probably use a different crystal frequency than Pete for the IF filter, I need to have a way to find the correct BFO frequency for both upper and lower side band. The easiest way to do that is to write a sketch that uses the 5351 as a two channel signal generator,with independent control of both frequencies.  
Using what I had already written as a starting point, it did not take too long to get a usable sketch working.   One thing that I did different in my sketch, from the one that Pete sent me was the way I handle the rotary encoder.  In Pete's sketch, he has the frequency setting code in the encoder Interrupt Service Routine.
For a while now I have been using an ISR that just changes the value of a global variable I call encoder. So in my sketch I declare the variable and write the ISR so the only thing it does is change that variable.

int encoder = 0;

ISR(PCINT2_vect) {
  unsigned char result = r.process();
  if (result) {
    if (result == DIR_CW)
      encoder ++;
    else encoder --;

This allows me to use the encoder ISR to control multiple items, such as menu selection, in this case two frequency values. Since in any non zero value is treated as truea simple
  if (encoder) is the only thing needed to test for an encoder event.   The only thing you have to remember to do is reset the variable back to zero when you leave the function that was checking for an encoder event.
After playing with the sketch on the 5351 board I had been using to test the other sketches, I decided that I would use another board and
make a dedicated two channel signal generator.  The 5351 provides up to three channels of fairly high level square wave output, so it would not be ideal for some uses.  But, for testing double balanced mixer circuits it would be nearly ideal. With an external step attenuator it could be used for many other quick bench tests that would normally require a larger signal generator.  Checking size, it looks like it could be built just about the same size as an Altoids tin, possibly a little deeper to contain a 9V battery.

Bottom parts placement
With that in mind I built up another board, and added some documents as to parts layout.  I have all of the passive components mounted on the bottom of the board.  To keep the size down, I used 1206 size SMD components, but leaded components could also be used 'Muppet' style if you lay them flat to the board.  Since I plan on having this battery operated, I added the optional voltage divider resistors for the battery monitoring software.

When I did the board layout, I tried to think of several ways that components can be stacked on the main board.  One of them was the external rotary encoder module.  You can put a right angle female header on the board and just plug it in, or you can bend the module header pins straight up and mount it to the board from the bottom.  This makes it a little smaller, and provides a stronger assembly.  The Nano and SI5351 board can be mounted several ways to provide a small assembly if needed. 

 For this project I mounted them on the top of the board to make a unit that is less than 1" thick excluding the encoder shaft. 
After I had the assembly put together I loaded the latest sketch and gave it a try.  Everything seems to work, except for an inconsistent issue with turning a channel off if only one is in use.  I will have to check and see if it is something with the way I am setting up the 5351 or something with the library I am using.  But so far it looks like it will be a handy little addition to the bench.  Now to design and print a 3D case for it.

Update 9/28/17
I spent quite a bit of time today designing a case for the 5351 signal generator.  I tried three designs before I finally came up with something I really liked.  Overall size turned out to be about 9x9x3 cm. and that include the height of the feet I designed in the bottom plate of the case.  The more I work with designing and printing cases and parts for my projects, the more I wonder how I got along with out this ability.  In the past I have spent many hours down in my workshop cutting, drilling, and filing assorted project boxes trying to make everything fit correctly.  Quite often I was not happy with the results, or for one reason or another had to start over.  Now with the 3D printer and some 3D design software, I can mostly make anything I desire in way of cases for my project.  The ability to design in mounting posts for boards and components, along with cutouts and bezels makes the process much more enjoyable.  Some times things don't turnout the way you think they should, but it is usually fairly easy to make any correction and print another part.  Overall material cost for most cases is well under $1.00, so even if it takes a few tries it is probably less than it would have cost to buy a project box that I would have to modify.  And the nice thing is if I want to make more than one, it just takes a few minutes to start a new print job.  Then just a matter of waiting for the new part to be printed on the little printer setting next to my desk.

After changing my mind about the design I wanted I came up with this.  It included mounting posts for the board, and a bezel for the display.  Since I would have to change batteries I designed it for brass threaded inserts that I will hot press in place with a soldering iron. This will last longer than just threading screws into the plastic standoffs, like I do for the board.  Now all I have to do is finish installing everything and take a final look at the software.

After finishing printing the top of the case, there was a something I wanted to add to the software.  Since this was to be a battery operated device, I added the software to utilize the voltage divider I designed into the board.  I have used this for most of my battery operated devices, and have a small software building block I can easily add to a sketch.  First, I add definitions for the ADC pin used to read the Battery voltage,  and the resistor values used in the voltage divider. And the variable that represents battery voltage x 100.  

#define vin_BAT     A7      //ADC pin used to read battery voltage
// voltage divider values
#define R1         (1000)  // from GND to vin_BAT, 
#define R2         (4700)  // from + power supply to vin_BAT

float   SupplyVoltage;     // supply voltage x 100

Then a I have a simple function that reads the voltage and scales by the voltage divider values to give the supply voltage.  The resulting value is the battery voltage times 100 to give a resolution of 10mV.
I display the battery voltage at the bottom of the screen.  I also test the value, and if it is below 6.5 volts I change  the text color to warn the battery voltage is getting low.

void measuresupplyvolt() {
  SupplyVoltage = analogRead(vin_BAT);   // Read  supply voltage
// compute battery voltage using voltage divider values
  SupplyVoltage = map(SupplyVoltage, 0, 1023, 0, (500 * (  float R2 +  float R1) / float R1)); 
  // SupplyVoltage = SupplyVoltage + 70;   // add in voltage drop of diode  if installed
  display.fillRect(12, 114, 100, 8, BLUE);  // clear last reading
  display.setCursor(22, 114);
// change color if below 6.5v to warn of battery getting low
  else  display.setTextColor(YELLOW);
  display.print("Battery = ");
  display.print(" V.");


To provide continuous battery voltage monitoring, I use a simple decrementing loop counter that forces a reading around every two minutes.  I start by initializing a variable that I will use as a counter that is decremented each time through the main loop. From experience with other programs a value of 5000 gives a reading about every two minutes.  Just scale up or down for different reading periods.  
int battery_delay = 5000;
Near the end of the loop this variable is decremented each time the loop is completed.  I test to see if the counter has made it to zero, if so I measure and display the battery voltage, and reset the counter for the next two minute delay.

  if ( battery_delay <= 0) {
    battery_delay = 5000;


With the software finished, I assembled the components in the case top, and was ready for the bottom panel.  I had originally planned on a simple flat piece, with some rubber feet glued on the bottom.  I decided I wanted to try to add a way to have the unit sit up at an angle.  Looking around on thingiverse, I checked out some of the keyboard feet designs I found there.   Modifying them a little bit, I added 4 molded in feet, two of which had holes that would hold pins on the ends of a small foot that could be laid down flat or rotated up to hold the unit at an angle. Now that the little signal generator is finished I am very happy with the way it turned out.  It should fit the bill when I want to do some quick testing on the bench. and should work really well for finding correct the BFO frequencies for the Simpleceiver and probably for the unused BITX40 board I still have sitting around.

Friday, September 22, 2017

Problems with dropbox links

I made a mistake when I was trying to backup my dropbox entries, and accidentally moved the files instead of doing a copy. This caused the links in my posts to be broken.  I am in the process of correcting the links, so if you find one that does not work please comment and I can update that entry with a corrected link right away.

Thursday, September 21, 2017

A New Toy

One of the first things I found when I started building projects that rely on parts from the Far-East is that it is better to have more than one project going at any time.  Still waiting on a couple of parts for the new 3D printer that I forgot to order when I started the project. And also some J310 Fets for the Simpleceiver project. I thought I had some, but when I checked they were the wrong type.  I have managed to get the Arduino VFO-BFO board working with a modified version of Pete's sketch.
Checking an e-mail add from the local MicroCenter store that I usually buy my 3D filament from, I noticed a small CNC engraver on sale for under $200.  It looked like it would be the right size PCB mill drill for the size boards I usually do.  I mostly do toner transfer with great success, but there is always the problem of drilling holes.  I have gone to SMD or 'Muppet' style construction for most of my projects to reduce the number of holes that have to be drilled.  This looked like it might solve that problem, so when I went up to pick up some 3D filament I also picked up one of the engravers.
Size is just about perfect, less than a foot square and high, just the right size to fit in front of my small 3D printer. 
It came  assembled except for putting the motor in the holder and installing a cutter. There was no software with it, but the included documentation gave a link to a program that would send g-code, and manually control the printer.  After playing with this for a while, I went looking at a way to convert pcb files to g-code.  I use the free version of Eagle for most of my boards, so I did a search on Eagle to g-code conversion.  I turned up several YouTube videos on a add-in to Eagle that did that from within the Eagle GUI.  I tried a simple board layout as a test, and looking at the output with the CNC control program everything looked like it would work well.  Tried routing that on a scrap piece of PCB material.  Most of it came out fine, but there is one area where it did not go all the way through the copper layer.  A little more looking around I found an additional software piece that will probe the material, and generate a surface map to auto level the engraving surface.  I just need to make up a simple cable with a couple alligator clips that connect to the CNC controller board and give that a try.  If that works out I might be able to switch from etching boards to routing them, and drilling without having to get out my small drill press. 

Thursday, September 14, 2017

A SI5351 VFO-BFO UPDATE 9/15 9/16 9/21

Working on Pete's Simpleceiver + I need to build another VFO BFO.  The SI5351 based boards have been my favorite for several years now.  I have several different versions of boards that I have tried, but prefer the small module from Adafruit.  It is very small, and comes built for around $8 plus shipping.  One of the things I like about it is that the clock outputs are brought out to a header along with the SMA connectors.  I have used this board in several projects and have designed different boards for each one.  With this I plan on designing a board that can be used with many different projects.
The design considerations are, board size around 2" x 2",
Arduino Nano, rotary encoder, TFT display, a connector for the Adafruit SI5351 board. After an initial design and exchanging several e-mails with Pete I have expanded it to also provide a connector for a small  I2C OLED display.  Because there are several pinouts for these displays, some will plug in directly to the connector others will have to use a connector cable to the display. This connector could also be used to connect to a I2C version of a 1x16 or 2x16  line LCD display. With the correct software drivers you could use one of these LCD displays, a small OLED display, a 128x128 or 128x160 TFT display, or even a monochrome Nokia display.    I also added a connector that brings the rotary encoder connections out to a separate connector so you can  use either the bare encoder mounted on board, or one of the pre-wired encoder boards. I have not tried but you could probably use an optical encoder through this connector. 
One thing I added was provisions for a voltage divider that can be used to measure input voltage if the board is used in a battery powered project. Finally I decided to bring some of the unused Arduino pins out to an auxiliary connector for use in other projects.

Since the board layout is similar to several others I have done, I was able to modify one of them fairly quickly.  I did the board as a single sided board that can easily be made using the "toner transfer" method.  Although I usually etch my own boards, in this case I decided to order some from one of the inexpensive Chinese board houses.  If they turn out well, I will follow Pete's suggestion and make some available at a reasonable cost for those who are working on the Simpleceiver or other project that needs a VFO-BFO.  I think I will start with one of these boards as the basis of a simple signal generator for routine use.  This should be a easy way to test the different video drivers needed for the different display options available.

I ordered the boards on Sept 9 with DHL express delivery, and was pleasantly surprised when I received them on the 13th.  I quickly wired one of them up to see how they will work.  Changing some of my other sketches to reflect the correct pin configuration I tried the board with a small OLED display and a 128x128 TFT display. After getting a working display with each, I was sure that the board worked correctly. 
I installed a right angle female header strip so I could mount an external rotary encoder board, and took some pictures of possible display configurations. There are several more that I could try, but this is what I had handy.
I also took a picture of the Adafruit SI5351 board mounted on the back.  Depending on how the header pins are installed in the board, it can also be flipped to have the edge with the SMA connectors extending past the board edge.  I planned on the Nano and SI5351 board to be soldered to the board, but they could be socketed if you do not need to keep everything really compact.  As it is with everything soldered the package with the OLED or 128x128 TFT is about 2"x 2"x 1".  This should be small enough to fit in most project packages.  Now to write some software to fully test each of these configurations

I had some time today, so I took Pete's Simpleceiver Plus DCR sketch and modified it to reflect the changes in the pin assignments on the new board.  And after I had it working with the 160x128 TFT display I modified that to reflect the 128x128 display.  There are several different versions of the 128x128 display that use different driver chips, so I had to also change the driver library and initialization code. With a little tweaking on position on the display I was able to get a very similar looking display screen. I had taken all of the additional code in the sketch that reflects U/L side band selection and several other things that Pete has in his code to make it more modular in design.  When I get around to going to a superhet and then transceiver, these can be added in as separate .ino files in the main sketch directory.  That way it should be possible that no other changes in the additional .ino files should be necessary whatever display you are using.  Here are a couple pictures of the two displays.  Hope to get around to writing some code for a couple other display types this weekend.

128 x 128 display  Rotary encoder on board

160 x 128 display  External rotary encoder

I spent a little over an hour this evening modifying one of the earlier sketches to support a small 0.96" OLED display.  Most of that time was trying to fit everything on the screen, and make it look nice.  It is much easier to work with a screen that has more real estate to work with. This is listed as a two color display, but all pixels are either white or black, the color comes from  two different colored parts of the screen.  In an earlier project, I used the smaller color area to put current settings.  

One thing to be very careful about when using these small OLED displays is that looking at some of the pinouts for ones for sale on ebay, is that some have the VCC and GND pins reversed.  
SO BE VERY CAREFUL and check before just plugging it in the socket.  I still have one of the monochrome Nokia displays around, but with the problem I had trying to fit everything on the screen, I don't know if I will bother porting the code for that configuration.

Now that I know the boards work for multiple display types, I have decided that I will offer them for sale.  Because of Pete's urging, I ordered 50 of them to start with.  For now I only plan on shipping to US locations, but am working on getting the board layout as a shared project at the Chinese board house I used. This should make it easier for DX locations to order them directly.  I had checked at oshpark.com, but the board size made them rather expensive.  The board is single sided, so fairly easy to make with the "toner transfer method" if you want to make your own.  I will have the "toner transfer" image along with other documentation at 


This dropbox will also have the Arduino sketches to use as a guide in using the board with different types of display.  They are very rough right now, I just did enough work on them to get the display and rotary encoder to work correctly.  I will be doing a lot of work as I progress with the Simpleceiver project and see what Pete has in store for us.

I am offering them at $5 each or $7.50 for two including shipping. If you are interested email me at duwayne@kv4qb.us and I will give put you on the list.  

I have just uploaded the files for this board to the supplier I used to their shared projects area.  You can download the gerber files from there or order directly.  I have placed several orders with this supplier, and have been very happy with the results.  Their pricing is very reasonable, and they offer several different shipping options that can be very reasonable. This will be the most economical way for DX builders to purchase boards. The project is at

And yes I do get a commission from boards sold. So if two people buy  sets of  5 boards I save enough on my next order that I can stop at McDonalds and get a cup of coffee when it is on sale.

Finished up the modifications to Pete's Simpleceiver sketch for use with my PCB.  I combined the direct conversion and super-het versions into one. There is a single flag variable dcr_mode that you can change to go from one to the other. I have it just before the start of the setup area in the sketch to make it easy to find.  I have it tested as much as I can without having the complete hardware.  Pete plans on building up one of the boards I sent him, and giving the software a test run.  It is located in the folder Simpleceiver_Plus_DCR_SSB_160x128  at the dropbox link


Saturday, September 2, 2017

Simpleceiver Circuit boards

I have received several e-mails with questions about the boards I am making for Pete's Simpleceiver project.  I use a layout method known as "Muppet" style.  This is well documented by a series of YouTube videos by Chuck K7QO.  The first of his 12 videos covering design, layout, etching, and building is  at


The boards are laid out using the free "expressPCB" software, this is about the easiest to learn PCB software I have found.  Since it was made to be layout software for a single board house, it does have some limitations compared to other programs.  But, for making simple "toner transfer" boards it is more than adequate.
I have made a few changes to Chuck's procedure for board layout. The main change has been to modify several of the component foot prints that comes with the software, to provide large mounting pads instead of the through hole pads provided.  
I find it much easier to grab the correct Muppet component from the custom list and place them where I want. These  have a outline of the component over the pads, which makes it much easier to follow the circuit diagram.  I have pads for the common resistors, capacitors, diodes, transistors, and IC sockets I use most of the time.  Any other can be built from standard pads as required.  This also makes it easy to mix through hole components along with standard size SMD components if I am laying out a SMD board.

Since the "Muppet" board is etched on the top layer of the PCB, it is necessary to flip the image right to left for proper transfer. Chuck prints the top layer image to a PDF and then uses a linux program to flip it.  I found another program "Copper Connection" that will import expressPCB files and then print both sides in the correct orientation for "toner transfer" or photographic method.  It also has some nice features that I sometime use to help with the board layout.  One of them is to flip a board over when doing double sided boards.  Unfortunately it is now hard to find a copy of this software after they were bought out by expressPCB.

Another change is the "toner transfer" method I use.  Chuck goes through a great explanation of the "Hot" method using a laminator. I have found that the results of this method is very dependent on the brand of printer used and if you use OEM or generic replacement toner.  After seeing another method on a internet site, I switched over to the "Cold" method.  This uses a chemical solution to soften the toner, and then the image is pressed onto the blank circuit board.  I found that I can get much more consistent results using this method, than I could with the "Hot" method.  I have slightly changed this by passing the board and image through my laminator without first waiting for it to warm up.  This seems to give more even adhesion of the toner than just pressure alone.  I usually pass the board and image through the laminator from several directions to give even adhesion.  This works much better for larger and double sided boards.  I have a blog entry that describes my method and another later one that covers how I make double sided boards.


After completing the layout for the LM380 audio amplifier and the product detector, I decided to combine them into a single board.  I found that I could open one of the files in expressPCB software, highlight the area I wanted to copy and copy to the clipbaord.  Then open the second file and paste the first into it.  Then I used the software to reposition components or 
add/delete traces as necessary. 

Last evening I also finished up 
the SMD version layout in two different size formats.
I have a SMD board ready to etch, and hopefully I will be able to get that done tomorrow.

Update 9/4/17
Well I etched the board, and of course I found an error I had caused when I rotated a section of the board around.  I  made some quick changes, and etched another one. Then built the AF amplifier half of the board, so I can test it without having to worry about any noise or issues introduced by the product detector circuit. Very pleased with the way it turned out.  Since I had coated the board with a thin coat of lacquer after I etched it, the only problem I had was trying to get a good picture without a lot of glare off of the board. 

I hope to get time tomorrow to do some testing on the amplifier and check what the frequency response is, and how much gain I get out of it.

Thursday, August 24, 2017

N6QW Simpleceiver revisited updated 8/26

Over a year ago I was working on a version of Pete N6QW's Simpleceiver and my version of a SMD Bitx.  Then Farhan came out with his amazing Bitx40 board.  I dropped my original projects and went to work on the Bitx40 with a homebrew SI5351 VFO.
Now Pete has returned with the Simpleceiver Plus and has plans of eventually converting it to a transceiver.  From the response Pete has received, it looks like there is quite a bit of interest in this project.


I think I will revisit the Simpleceiver and restart on what I had been doing.  Pete is doing this with simple building blocks that can be reused for several functions in his design, and also other projects.
Taking the product detector and audio amplifier circuit published on his blog, I started doing simple circuit boards for each of these.
Because the boards can be combined into a larger assembly, I am using expressPCB software to design the boards.  They will be laid out for etching using the toner transfer method.  I also decided to do two versions of each board, one using leaded components and another for size 1206 SMD .  Checking my available parts, some of the parts used will be have to be leaded, so I have made provisions for using them in both versions.

The first circuit Pete  published was for a dual J310 product detector, this basic circuit will be used several times in the final system.  The leaded version is laid out similar to K7QO's "Muppet" style with fairly large pads for mounting components.  I also placed large ground pads to help align components, and to make soldering to the ground plane a little easier. The SMD version is laid out larger than it could be, but I wanted to make it easier for construction without a solder mask.

Pete has several different audio amplifier circuits, a LM386 version and a higher power LM380 circuit. I will probably go with the LM380 version, but will build both and test to see which one I like best.  I have the LM380 version layout finished, and hope to get the LM 386 version done in a day or two. 

Finished the LM386 version of the audio amplifier board and generated toner transfer image files for both versions.   I am putting all these files in a dropbox folder at


In the next couple of days I plan on etching and building up some boards.  Then I can test them and see which one I want to use for the final project.

Wednesday, August 2, 2017

New 3D Printer Project

|My poor little 3D printer has been busy for the last week or so printing parts for its big brother.  The AM8 design is based on a bunch of mods to the Anat A8 copy of the Prusa I3.  There have been several different versions of parts created to build the AM8 by different people.  Just looking at the files, I was not able to determine which would work the best for my build.  I ended up printing several different versions of several parts and then will decide which version I wanted to use for my project.  As I stated before, the original AM8 design used 2040 Aluminum extrusion for its frame. I did not have any of that profile, but did have some 2020 and decided to go with that.  Because I did not want to redesign a lot of the parts, I will sister two pieces of 2020 to get the desired profile.  Unfortunately I did not have enough Aluminum extrustion, so I printed some 2020 profile out of ABS.
After 4 days of 18 hour prints, I had enough 2020 profile finished to build the pieces I need.  After Acetone welding them together, I was pleased with how they looked and also how strong they were.
After cutting them and the Aluminum extrusion to length, I started the assembly.  The combination of Aluminum and ABS profiles went together very easily, and fit with the other printed parts very well.  After trying some of the different versions of parts I printed, I came up with what will work best for my project.  Because of some of these choices, I had to design and print several additional parts.  

After assembling the frame and gantry, I am very pleased with how it looks and how strong it is.  The size is just right to sit on the file cabinet next to my computer desk.
Now I am waiting on several other parts to arrive to complete the assembly of the X axis and Extruder carriage.  After that I can start on the motors, and electronics.  So while I am waiting on them, I can work on the boards for the SNA Jr 2.8 that came in last week.

Tuesday, July 18, 2017

Building a new 3D Printer update 7/20/17

While I am waiting on the boards for the SNA 2.8 I decided I want to build a larger 3D printer.  When I designed the case for the new SNA, I was limited by the size of my 3D printer.  As I mentioned in one of my earlier posts, the main problem with getting a 3D printer, is that I now have another new hobby.  The largest things I can build with my printer is abut 6" x 6", and I would like to go up another coupe inches.  I looked around and found a clone of the Prusa I3 called the Anet A8 that would be the right size.  There are several kits on EBay that can be bought for under $175 including shipping.  I checked several of the user groups on Google and Facebook to see what users thought of these kits.  It looks like they are  basic machines, but with some  work and modifications they can perform quite well.  One of the 3D printing sites I frequent is Tom3d.org, he recently did several You Tube videos on building a I3 clone from scratch.  After watching them I decided to build my own instead of getting a kit.  Looking at some of these kits and mods, I found a mod called the AM8. This uses many of the Anet A8 parts, but replaces the acrylic frame with one made from 4020 aluminum extrusion.  I have many of the parts, and some 2020 extrusion that should work.  I was able to download the  files for all printed parts and several mods from thingiverse.com , now to print the parts.

Some of the parts can be printed in PLA, but most need to withstand more heat and need to be printed in ABS or PTEG.  My printer works well with PLA but I have had problems working with ABS.  Originally this printer only used cartridges, but a recent software hack of the firmware enables the use of bulk filament.  I modified several used cartridges to feed filament directly from bulk reels, and tried several things I had found on-line to help when printing ABS.  My printer does not have a heated bed, and that was the main limiting factor for using ABS.  I added a thin PEI sheet to the build plate, and found that if I put several heavy coats of hair spray on the bed I could get the print to stick.  
I also designed some simple 20 x 1 mm. discs that when added near the corners of the object being printed, helped hold the part down to the bed.   

Without the heated bed, there was still some curling of the part when it cools.  From what I found on-line it looks like it might help to increase the temperature in the build area.  I found that by simply placing a plastic trash bag over the printer, the temperature was increased enough to prevent most of the curling, and also seems to help with layer adhesion.

Now that the printer is working better, I am in the process of printing the parts I need for a  printer based onthe Anet A8 and several mods I want to incorporate in my design. 
I have finished some of the larger pieces, and find very little curling, and what is there is not on any of the mounting surfaces. The pieces are very solid, and show no signs of layer separation. Wonders what a trash bag can do.

Update 7/20/17

Looking at the instructions for the modified printer now being called the AM8, the aluminum extrusion being used is 20 x 40 size. I have some 20 x 20 extrusion so will be using that instead. I do not want to have to re-design all of the parts, so I will mount two pieces together to get the profile I need.  I do not have enough aluminum extrusion, so I looked on thingiverse.com and found some files for printing some of the desired  profile.  My printer only has a print height of 150 mm. so I have to print in sections.  I printed several sections along with some extension support  pieces, and Acetone welded them together.  The resulting piece was stronger than I had thought it would be.  I guess now I just have to print up a few more batches and put them together.  Then I can cut them to length and mount to the Aluminum extrusion.

Friday, July 14, 2017

Lets call it SNA Jr version 2.8 for now

I have been trying to get a 3.2" TFT 8 bit parallel interface display working with the STM-32 board, but have had several problems.  So I decided to temporarily go with the Nano version, and a 2.8"  display with a SPI interface.  I had much of this working previously, so that part should go along quickly.  The previous board had a lot of additional circuitry on board that had been giving me problems.  I did a simple layout with just the Nano , display with simple voltage divider level translation, Ad8307 log detector, and a Adafruit SI351 board.  I usually make my own boards, but saw an offer from a Chinese board house that I wanted to try.  The board layout was under the 10 x 10 cm. size they had on special, 10 boards for $5 plus about $14 for postage.  At less than $2 per board, I decided to place the order.   Generated a set of Gerber files, uploaded them to their web site and placed the order.  Three days later I got an e-mail notifying me that the boards had been completed and were being mailed that day.  It has been about a week now, so expect them to show up some time late this week.  

While waiting on them, I decided to work on the packaging I wanted to use.  I had designed several 2 piece clam-shell type boxes that 3D printed quite well.  I changed the overall size ,and added cutouts for the display and joystick.  I was also able to design in mounting posts for these components, and added a bezel for the display.  It took a couple minor design changes and test prints to get everything exactly as I wanted it. 

It is still a lot easier than making a design on paper, transferring to  a box, then drilling and cutting out all the holes. Then you hope you have everything right, or you might have to start over with another box.  

I like being able to just do the design, send over to the printer, and in a few hours grab it off the printer sitting next to my desk.  The wife also likes the fact that I do not have metal filings all over the place anymore.

Sunday, June 11, 2017

Multiple project update 6/11

I had a wonderful time at FDIM and a great visit with my daughter.  Now I am back and need to get working on some of the projects I had on the bench.  The two main ones were the Spectrum Analyzer and version 3 of the SNA Jr.  After looking at the two, I have decided to make a few changes to my original idea and go with a more modular approach.  I now plan on making one board with the processor, display, AD8307, and SI5351 clock generator on one board.  This will be able to be used stand alone as a SNA or with one of several other boards to provide additional functionality. This will only have square wave output, so will be more like Farhan's Sweeperino.  I will see if I can add the code so I can use his PC 'Specan' software as well  as use it stand alone.  I had planned on having relay switching under software control to change functionality, but will probably just go with  SMA connectors and jumpers to change functions.  This should more easily allow the unit to be built and test itself as you go along.  
I also found that I was quickly running out of memory, both SRAM and FLASh.  This pretty much means that I will defiantly have to go to the STM32 'BluePill'. I had previously gotten many of the libraries and routines working with the 'BluePill', now it should not take too long to get the rest of what I need working.

When I got back home I spent a lot of time catching up on the e-mail and posts for the groups that I follow.   I did get a couple e-mails  from  Tony G4WIF, and Nick G8INE with  information and pictures of the SNA Jrs they had built. Tony also sent me a link to his web site with a post he wrote about the SNA Jr. http://fishpool.org.uk/snajr.htm .  To think that Tony, who is a co-autor of  'Simple Test Equipment for the QRPer' built one of my projects is a great honor indeed.  Since Tony and Nick are both interested in the SNA Jr. III, I guess I will have to get back to work.

Thursday, May 25, 2017

FDIM 2017

Again this year I was able to schedule a trip to visit my daughter with a stop over in Dayton for FDIM.  I had a wonderful time, and got to meet many people that I have met on the air or through e-mail and on many of the e-mail groups I subscribe to.  The highlight was getting to meet and speak with Ashar Farhan.  His BITX and other projects have been an inspiration to me and countless other home brewers all over the world.  Because of the speed with which hotel rooms filled up at the Holiday Inn where the FDIM event was held, I ended up staying a few miles away.  I was not able to spend any time on Wednesday to get to meet anyone there.  

Thursday was pretty much filled up with  speakers presentations, but afterwards there was ample opportunity to meet and talk with many other people who are active home brewers. A bunch of  us had a chance to sit down and talk with Farhan as he showed and explained the circuitry in some of his projects he had brought with him.  Among them was his 'Sweeperino' , 'Specan', and the uBITX design he is working on finalizing. 

I have been having some problems with a knee for a little while now. And after the long drive up Wednesday, and sitting around most of Thursday it let me know that walking around the Hamvention would not be appreciated.  So I spent most of the day Friday at the hotel and took my wife out for dinner before I went over to 'Club Night'  and the home brew contest.  I had a short time to talk to some of the Club members at different tables and several of the others in the home brew contest.  I spent the next couple of hours doing demos and explaining the AD8307 power meter probe I had entered.  I had been hoping to get either the Spectrum Analyzer or SNA Jr. V3 finished in time, but had to go with one of my earlier project.  After the contest was over I had a better chance to talk to the other in the contest and look at their entries.  

I also met Dave  VE3OOI , and several other members of the Peel Amateur Radio Club in Brampton Ontario at their club table.  I had exchanged several e-mails with them after I posted building my version of the Norcal S9 Signal Source.    Dave showed me the version they had kitted based on my project for their home brew group. 

It is extremely gratifying to know that others think your work is of enough interest that they will go and build something based on what you had done. 
 He later sent me a a copy of the manual they had produced for the kit. They went into a whole lot more detail in their manual than I had ever considered for the kits I had put together for my club. I guess I will have to put more effort into my documentation next time. 
He also sent a picture of some of the 30 club members that attended their 'build a thon' earlier this year.  It looks like they have a very active group of home brewers.

My knee told me that it still did not want to do much walking around, so Saturday was much like the day before. That evening we went to the QRP ARCI banquet and had a wonderful time.  We listened to the presentation by Ashar Farhan about his history in Amateur Radio and the steps that led up to the BITX design. After that there was the awarding of the door prizes and the drawings for the KX2s and other main prizes.  Last the awards to the winners of the home brew contest.  I am pleased to say that I took the award in the Test Equipment, Construction Aid category with my power meter.

All in all it was a very nice few days.  Even though I did not get to go and wander around the 'Hamvention', I did manage to purchase a VNA kit from the Austin QRP group during club night.  That and my own projects should keep me busy for a while.  We will spend about another week up with our daughter then the long drive back home.  Then I guess I should get back to some of my other projects.

Sunday, May 7, 2017

Quick SNA Jr V3 update

With  FDIM only a couple weeks a way, I am hurrying up with the build and programming of the SNA Jr. version 3.   This uses a mixer and simple crystal filter to eliminate many of the problems with  with harmonics when using a square wave signal generator.  I have a bunch of 4.9152 Mhz. crystals that I had purchased for another project.  I use the SNA Jr version 2 and simple test fixture to match several in frequency, and having a similar response curve.
I put them in the new board and directly wired the output of the signal generator circuit directly to the crystal filter circuitry.  Then using some of the new software I am writing for the version 3 system, I checked the response curve of the filter.  I found it to have a 3db response of around 100 Hz. and an over all response of about 1.2 KHz.  Since I am running out of program space in the NANO, I also used the software to find the center frequency of the filter.  I will program this directly into the software instead of writing a calibration routine.  For not It looks like this should work OK. 

Using this signal for testing purposes, I added a pop up menu with additional functionality.  One option allows me to normalize the waveform after it is acquired, instead of having a separate normalized sweep like the version 2 software.  Another thing I added was a marker to display difference in frequency and amplitude between the marker and cursor.  This picture shows the response of the filter and the new software features.
I had added pads on the circuit board for several attenuators, but found that I am gong to be a little short on gain even with out them. I also found that with the single sided board I could not get the low level noise floor that I had with other power meter circuits I had built.  I am going to quickly make a couple changes to the board and etch up a double sided version.  Hopefully I can shield the AD8307 and get another 10 dB dynamic range in the power meter part of the circuit itself.

Thursday, April 27, 2017


I was working on the SNA  Jr. version 3 circuit board, and did something really stupid.  I had been checking linearity using several in line attenuators.  Just set the different values I was not using at the time down on the desk.  Then I sat the still powered up board down on top of them, there it was the "MAGIC SMOKE'.
I guess it is time to build a case for the boards, before I do something stupid again.  
I had  a design for the side panels I had used for other projects.  It has slots for a top and bottom made from circuit board material that just slide in.  It also has a board slot for holding the circuit board at the correct height in relation to the top. It was just a matter of changing some dimensions and printing them.  I also designed and printed simple end pieces with a lip to help protect the SMA connectors for RF in and out signals.

I wanted a bezel around the display, and something to cover the hole where the Joystick comes through the top panel. 
 After a little playing around with the design software, I came up with one that would do both.  I then decided to also add mounting posts for the Joystick to the bottom of the bezel. 

 This is the reason I bought a 3D printer in the first place.  No more looking for and trying different stand-offs or other bits of hardware to make some thing kind of fit.  Just design exactly what you need and then print it. It might take a couple of tries but, I can usually come up something that works and looks nice. The first try almost worked, except that I could no longer get at a connector mounted on the main board.  So I moved the Joystick mounting posts a little and change the orientation, and the second part worked just like I wanted it to.  

The display mounted to the bezel correctly,  and I have a lip on the bezel to cover the hole in the top panel for the display. The Joystick comes through the top of the bezel at the height I wanted, when screwed down to the printed mounting posts. 

This was so much easier and cleaner looking than my original attempt using standard length stand off hardware.  The chamfer I built in around the Joystick opening also does a nice job of covering up the mechanicals of the Joystick.

I stuck the display assembly on the SNA  Jr. circuit board, and loaded in a sample sketch to check the display and the Joystick operation. Everything works well and looks great. 

UPDATE 4/30/2017
I cut the opening for the display and Joystick in the piece of PCB material,I am using for the top panel. I mounted the bezel with the display and joystick to it. Checked how every thing fits, epically how well the main board and top panel fit in the slots in the side panels.  I think it will look nice when finished.  I need to do some sanding and painting on the top and bottom panel parts, but for now I can work on the software without worrying about sitting the board down on  anything again.

Now to get back to working on the software and finish putting all the parts in the cabinet.  I want to see how it looks with just the printed parts, or if I want to do a little sanding filling and touch up painting on them.  Will keep keep you updated on the progress.

Saturday, April 15, 2017

The SA becomes the SNA jr.V.3 for now UPDATE 4-17

I have been working on the Spectrum Analyzer, and had hoped to get it done in time for the FDIM  'homebrew' contest. Between wrong parts shipped , or not arriving in time, along with software problems it did not look like I could get it finished in time. So on to plan B.  I have gotten great response for the SNA Jr version 2, and even quite a few from people who have built their own version.  The most common requests for changes, are a larger screen, and higher frequency coverage.  I have the nice 2.8" screen and basic display routines from the SA, and I still have a couple Adafruit si5351 modules left from several other projects. The si5351 would give me frequency coverage to over the 2 meter band, but it has a square wave output.  From early experience in a simple K6BEZ style antenna analyzer I built a couple years ago, I had found problems with harmonics from the square waves. 

Looking around the web, I saw some information on an antenna analyzer by IW2NDH.  It used two clocks on the si5351, one at the test frequency, and the second offset by the frequency of a simple crystal filter.  This second clock is fed to a mixer, and the output goes through a crystal filter before being measured by an AD8307 LOG detector. This should remove the harmonic problems I had found with the earlier circuit.  It also had a built in directional coupler, instead of using an external RLB like I used with the SNA Jr II.  I made a few changes and came up with this block diagram.

Looking at the block diagram, I realized by just using the second clock, the mixer and crystal filter, it could also be used as a basic measurement receiver.  This might be adequate for measuring the harmonic output of a home brew transmitter.  

Basic functions to include
SNA  1 to 150 Mhz.
Antenna analyzer (SWR only)  1 to 150 Mhz.
Measurement Receiver  1 to 150 Mhz. there will probably be some unusable area around the IF frequency I select.

Since I still have some problems with some of the libraries for the stm32 board, I will go back to the old reliable Nano.  This will mean adding some level translation between the Nano and the display, and having a slower update on the screen.  But, I will live with that.  I added a couple of relays to change functions and to add a switched input attenuator.  I went with a 3 crystal filter, and added pads for several attenuators that I might need to properly terminate the filter and mixer stages.  I laid out and after a couple of tries I etched a single board that should do the job.  

The software is coming along nicely, I could use most of the display routines I had for the stm32 board, and also pulled in some of the code from the SNA Jr II.  Still going with the joystick instead of a rotary encoder for the input device,  It is much faster and easier to use than the encoder.

Here is a picture of the partially populated board being tested with just the display and si5351 connected.  Things looks fine so far, so I will probably have something for FDIM

UPDATE  4-17-17 

I had a little trouble getting the si5351 library to work after I copied some of my earlier code into this sketch.  The version I had been using is almost 2 years old, and the newer version has some major changes.  After making them most things looked OK except the frequency was off.  My frequency selecting code uses a resolution of 1 Hz., and after re-reading the documentation for the latest version of thesi5351.h file I saw that it has a resolution of  0.01 Hz. Just a quick multiply by 100 from the computed value to the value used to set the 5351 frequency took care of that. 

I needed to make a directional coupler, and used the instructions for making a VNA directional coupler at   www.oh6hgn.net/Miten_kaamia_VNA_muuntaja.pdf
Except for the number of turns through the core, this is basically the same as I used in my SWR/Power meter.  After building it, and installing on the PCB, I made some measurements to check how it worked.  
The small AD8307 power meter probe I built last year worked great for the job.   The difference function I added to the software made it very easy to check the coupling loss. I measured a  unloaded output level of around 12 dBm. in the center of the frequency range. Depending on frequency I measured around 15 - 18 dB. coupling loss from the through signal with no load,and around  40 - 44 with a 50 ohm load.  These values look usable, and probably are affected by the harmonics in the square wave, and possibly an impedance miss match on the input to the coupler.  I built in pads on the board for a small attenuator before the directional coupler.  I will solder in resistors for about 6 dB. and see if that makes a difference.
I checked the AD8307 log amp output with a voltmeter, and the values look very similar to what I found with other power meter circuits I have built.  Next to copy some of the code from the SN A Jr 2 software to get that working and do a simple sweep of the output of  the si5351.  Then to build the mixer/filter circuitry and test them

Wednesday, March 15, 2017

Spectrum Analyzer display and control board

I gave a lot of consideration to the size I wanted for the finished instrument, and designed and printed a first try at a partially 3D printed case.  It consists of printed sides with guides for the top and bottom , which will be made from circuit board material.  I also added a guide in center for most of the RF part of the S.A. The first thing I need to build is the control and display board.  This will have the STM32 board, the display, a AD8307 power meter, and a Adafruit Si5351 PLL board. This will first be used as a SNA to help in the alignment of the filters in the RF board as it is assembled.  I should be able to use much of the software from the SNA Jr., and later may be refined into a version 3 of the SNA Jr.

The board is double sided, with the top being mostly a ground plane.  I did some playing around with different methods of adding a solder mask to the board. I refined my earlier procedure using IR curable paint, and am very happy with the results I was able to obtain.   This will make it much easier when it comes to building the RF board, which will be some of the  tightest SMD layout I have ever tried.

After assembling the board, and doing a quick functionality test, most everything worked as expected. I did have to add a jumper on the board to bring 5 volts out to the Joystick, and found I will have to make a couple slight changes in positioning some of the connectors on the final board.  But, this will be adequate for testing, and writing the SNA software.
I cutout a opening for the display , and added a cutout for the Joystick in a piece of copper clad board.  Then mounted the board and display, and installed the assembly in the 3D printed case.
Looks like everything will fit, but may have to change some of the dimensions a little and reposition the guides for the RF circuit board.
Now to write the SNA software and do the layout for the RF board.
Shouldn't take too long, unless I spend too much time playing with the 3D printers.