New Version of the SNA!

A project log for Arduino Network Analyzer

Network Analyzer on an Arduino Shield which covers from 0-72MHz.

Brett KillionBrett Killion 06/02/2018 at 14:020 Comments

This project has been silent for quite a while now but it is not due to lack of interest. I just don't have as much free time as I used to.

I'm not sure if this is appropriate as a new log entry on the old SNA project or if it should be its own new project as it's undergone some pretty drastic changes!

FIrst off, here is a shot of the new version of the board:

The keen observer will note several changes:

So a bit about the new design. I have wanted to learn about embedded USB devices so I ripped off the bandaid and forced myself to learn how to make one by giving this board no other connectivity. (That being said, I haven't actually gotten this communicating over USB yet...)  The microcontroller is the second cheapest ST part that has USB built in (there is a cheaper package of the STM32F042 with 20 pins but I2C and USB use the same pins and therefore cannot be used concurrently) and costs around $2.50 in single quantity.

I jumped to the Si5351 as my signal generator because I wanted to see if it would work. It is much cheaper than the DDS chips (about $1 vs $20) and contains three outputs. It is also capable of outputting between ~10 KHz and 200 MHz. Since it has multiple outputs, I chose to use two of them. As seen in the picture, they are both running through zero ohm jumpers into a switch but there are pads placed to populate a filter or an attenuator on each output. The output of the Si5351 is 50 ohms so that is convenient for RF work. It's referenced off of a TCXO running at 27 MHz so it should have decent frequency stability. Coincidentally, this also feeds the microcontroller and can be used to spin the PLL up to 48 MHz (divide by 9, multiply by 16) -- perfect to drive USB!

The detector is still the AD8307. Since the board is powered via USB which is regulated down to 3.3V, the amp between the AD8307 and the microcontroller ADC is now just a buffer, no extra gain, so as to not saturate the ADC.

Overall, I think this could be a great little board but I won't know until I get some USB communications implemented. I did some basic testing with the multimeter and proved that everything was at the correct DC voltages and then put together a blinky program using ARMs online editor/compiler thing (Note -- if you care about code size or speed, don't use that. A simple LED blinking program produced a binary file over 10KB in size!) so I know the board works. Now just to program it...