Category: Electronics


Ok, it is time for another blog post. I have taken a vow to share more of my projects with the world, partly in case someone is interested, partly to motivate myself to do more cool stuff! I figure neither of these are bad.

I’ve had a bit of an itch to try out radio astronomy for a few years, ever since I discovered that it was possible without spending thousands of dollars. Whilst the best performing antenna for this work is a parabolic dish (the bigger the better!), I wanted to start with a smaller, simpler, easier, antenna. I chose the helical antenna. My logic was that I should be able to see the hydrogen line on at least our closest star, hopefully enough to spurn further interest. It would also act as an ideal test platform for other related electronics such as low noise amplifiers and filters.  Suffice to say, the decision was made.

After reviewing a number of the online calculators for helical antennas, I decided upon about 10 turns. This is very approximately 600mm long at 1.42GHz. The single hardest part seemed to be the coil form, so a plan was hatched to use my laser cutter and some perspex to make this easy.  It turned into a fun project to parametrically generate helical antennas in Autodesk Inventor. Suffice to say, tell it the frequency, the desired plastic diameter, wire size, perspex thickness and the number of turns and it produces a set of files that can be lasercut to produce the requested antenna.

Anyway, enough talking – to the photos!  If more information is required, please contact me and I will create another post!

The almost completed helical antenna.

The almost completed helical antenna.

Helical antennas have a characteristic impedance around 140 ohms. To match to 50 ohm cable and connectors, some form of matching is required. When I designed the antenna, I intentionally brought the first turn in close to increase the capacitance to the ground plane, on the hope this would help lower the impedance.  There are a number of other techniques that can be used, but I wanted to start with this one!

The feed connection to the SMA connector.

The feed connection to the SMA connector.

Luckily I have access to a VNA (Vector Network Analyser) at work that makes impedance measurements a breeze, unfortunately the easiest way to get an image is to use a camera phone. As can be seen, without any extra matching work the impedance at my desired frequency is about 62 ohms, corresponding to a VSWR of less than 1.2. To say that I am pretty happy with this is an understatement! Given that it took absolutely no effort to get it to this point!  I may try to improve the match in future, but for now it is fine with me!

A plot of the antenna impedance.

A plot of the antenna impedance.

Finally, here is an image showing how it all fits together. The slots are used with nylon screws to hold it all together.

The base of the antenna, showing room for the matching wire, cutouts for SMA connector and the fixing method between parts.

The base of the antenna, showing room for the matching wire, cutouts for SMA connector and the fixing method between parts.

 

PCB Manufacture

People need PCB’s. It is just that simple. Sure, most people are happy to use them in their off-the-shelf devices, but some of us like to make our own.  Whilst laying out my own board is something that I find soothing and relaxing in a weird, strangely Zen like way – the manufacture of them is a separate matter.

I have played the games of making my own boards: from using etch-resistant pens, through to toner transfer and most lately the UV exposure technique. They all work to a point. Whilst the UV exposure technique canbe great , when you start playing around with 8mil traces and 300 via’s on a board it can get a little tedious. That’s why these days I use Mitch!

This board uses internal cutouts, no extra charge here!

After starting with Futurlec and migrating to Seeed Studio for board manufacture, I found out about Mitch Davis from hackvana.com.  Mitch is an Aussie that is now living in Shenzen, and get’s his kicks from helping people get PCB’s manufactured at the typical bargain basement prices you would expect out of Shenzhen.  His website is not quite as snappy as Seeed’s, you need to email him for a quote for your board. But the great thing is that you have to email him for a quote! He is very personable, easy to get along with and the entire process is very smooth. His minimum quantity is only 5 boards. Fancy using an internal cutout? No worries! Are you a bit unsure of something, just ask! How about black boards for only an extra couple bucks? Yep, no worries! He is also able to 0.4mm thick boards, great for low weight or trying to get 50 ohm traces.  Even 4+ layers are no issue. A full list of his specs are at: http://tinyurl.com/hvpcbfaq. My advice would be to contact him: m...@hackvana.com, you won’t regret it.

This 0.4mm board was manufactured and in my hand in 1 week.

Note: I have no affiliation with him at all, except being a very happy customer of about 5 orders and approximately 20 boards. Yes, I know the review is a bit gushing – but what can I say, he really is that good!

Just a small collection of boards that Mitch has organised for me.

The good old days were exactly that: Good.  These days, there is a vast number of problems to deal with that our predesscors did not even dream of worrying about. I’m not talking about all that climate change stuff, but the technology issues: Which phone to buy next, should I follow such-and-such on Facebook and (the one I am about to tackle) Arduino bootloaders defaulting to 57600 baud.

Whilst running at 57600 baud makes perfect sense when you are operating with a crystal oscillator, not all applications necessarily require this.  Sometimes, less is indeed more. The inaccuracy in the on board oscillator makes it difficult to operate at the higher baud rates.

There are a number of tutorials on the ‘tubes about configuring the ATMega328P chip (the Arduino chip)  to work with the internal 8MHz oscillator.   I’m not really trying to be user friendly with this post like most of the other authors aimed.  This is more of a “this is what worked for me” information dump, that may make this process faster for some other person.  The main changes that are required are:

  1. Change the Bootloader
  2. Change the Make File
  3. Recompile the Bootloader
  4. Program the Bootloader
  5. Modify the Arduino boards.txt to reflect this new configuration.

First and foremost – don’t do this unless you already know how to do this.  You could break stuff. I am not responsible for that stuff or anything else you may break by following this incorrect not-instructions. You have been warned.

Change the Bootloader

I am using the hardware\arduino\bootloaders\atmega\ATmegaBOOT_168.c as the basis for these modifications. Your experience and choice may vary, but this works for me!

The main change that needs to occur here is fixing the EEWE problem that can stop you building the software.  See here for the bug and here for a great writeup on this process.

If you have a custom board with a custom blinky LED location – you can also change where the bootloader blinks in this file.  Check around Line 131.

Other then that – follow the links and you should be good.  The baud rate here does NOT need changing (Line 97)

Change the Make File

Copy and paste from a known good working one – I chose the atmega328_pro8 configuration.  Change the baud rate setting to something slow, I am using 9600 which seems reliable. Done. Easy eh?

It should look something like this:

Recompile the Bootloader

I am not going to repeat this here, check that above mentioned link to here.

The gist is – make sure that all works with a known make configuration.

To compile the above modification is:

Following this, you should have the relevant hex file appear.

Program the Bootloader

Pick your favourite programmer, grab the above generated hex file and program away! If you have a blinky LED, it should be blinky after programming.

Modify the Arduino boards.txt to reflect this new configuration.

Again, copy the pro8 (or whatever you used as the starting point) configuration from hardware\arduino\boards.txt and paste into your user directory boards.txt.

Rename the configuration and then tweak the baud rate to the same number used in the make file and restart the Arduino software.  This new configuration should now appear.  The relevant lines that I added to my boards.txt file are:

Fuse Settings

A final note on fuse settings. The ones I am using with the above configuration are:
Extended: 0xFD
High: 0xD8
Low: 0xE2

Anyway, hopefully this makes the process a bit faster for somebody else!

Some of the undertakings demonstrated on this website are dangerous and should not be attempted by unskilled persons.
I take no responsibility for any damage done to persons, property or relationships as a result of this information.
Information is provided on the understanding that it is correct, but without any such warranty.
Any undertakings based on the contents of this site are done so at your own risk.