Archive | Ham Radio RSS for this section

Windows 10 and the game of waiting.

I had a Windows 8 pc which I recently updated to Windows 10. I am not a Windows fan by any means. I prefer to use Linux or Mac(Unix). However, after my Linux SDD stopped working I put my HDD with Windows 8 back in the PC and carried on. I almost installed linux on Windows 8, but thought I would give Windows 10 a try.
What I have found so far is that Windows 10 is like a MS version of Mac. Similar system search concept. But as with all things windows, drivers aren’t there yet.

Let me clarify that. I have drivers for all of my PC hardware. Those are working fine. But I also do MSP430 development on that box. So I downloaded the latest windows version of TI Code Composer Studio and installed it. I then connected my MPS430G Launchpad only to find that CCS couldn’t find the debugger. The serial port enumerates just fine, but the FET is completely missing. So I searched the forums a little and concluded that I was going to just have to wait until CCS and Windows could work it out.
So here I am waiting.


Field Day 2016 – Family over fun.

It was a very hot weekend in the south this Field Day. While I had plans to make field day a great deal of of fun for myself and my two sons, things don’t always work out the way we would like.
I had a business trip the week before and I barely made it home before midnight on Friday. Worn down and exhausted I crashed, only to awake to a child screaming as my son’s ears were hurting. Turns out he developed swimmers ear. So we spent the Saturday taking care of him. So needless to say we didn’t make it to field day, and being exhausted myself, I crashed early Saturday night. Sunday, was a lazy one. Everyone slept late, which never happens at my house. Before I knew it, Sunday was over.

I say this to remind myself that this is only a hobby. It is something to be done for fun when one has time. I was getting stressed about having everything ready for field day this year. I am glad to have more time to polish my morse code skills and to make QSO at something slower than break neck speeds. Sometimes we have to stop and take a moment to realize that, in this fast paced life we only get one chance to do some things. I get one shot at raising my kids, but there will always be another field day.

See you on the air next field day. 73s

ARRL Field Day, Coming fast.

So the last week has been crazy. I decided to try some new things for field day and now I am feeling the pressure of the deadline. So as I have learned to do the hard way, It is time to reprioritize. Here is the list of done and todo.

Done so far:

  • 70cm yagi to match my current 2m yagi. Both tape Measures. Build article here.
    • 2m_70cm_Yagi_Left
  • Audio Interface so that I can use a sound card and fldigi for digital modes.
  • Install fldigi on raspberry pi connected to LCD for use on field day, (12v system)
  • Setup Rasberry Pi with Gpredict and fldigi


  • Update the frequency counter and check out my MMR-40.
  • Build a EFHW Tuner for 40m. (Don’t know about the design yet)
  • Build a satellite tracking rotator so that i can use Gpredict to work AMSAT birds.
    • build a usb<->stepper motor interface using a rotator protocol (Yaesu A,B)
  • Build a new 40 CW Transceiver.

So much left to do, such little time.

MSP430 replacement of the FreqMite.

I love the idea of the Freqmite. It is currently being sold on 4 States QRP website for $22 a piece isn’t that bad.

But I want something a little different. Something like this.

  1. If this is the only function that the device is doing then it should only be active when I hit the spot button. Otherwise I want the MCU in deep sleep where it is drawing micro-amps. It doesn’t seem like much, but if your receiver is pulling 20-30ma, you then why pull power for a feature you aren’t using.
  2. Why not couple this with a keyer. Then you would have a built in keyer, that also tells you what the frequency is. Now how handy would that be.
  3. The keyer should have a ptt output. So I can key the transmitter, like in the Rockless Rockmite.
  4. The keyer should also have a side tone output. Maybe even configurable.
  5. Part component cost to be under $15.
  6. The code should be open sourced on GitHub so that anyone can download it or modify it to suit their needs.

I think this is going to have to be a future project.

I used to have debuggers to several chip vendors and I got rid of everything but my Segger J-Link. While working on some other projects, you hear about shortly, I have decided that I will only use ARM chips from now on. So this project won’t be done using an MSP430.

Frequency Counter (Update)

Spend some time this weekend and now have the display timer update callback working. I originally set it up to read from a queue, but that did work like I expected. To clarify, the callback worked well, since it was only pulling the data out of the queue. The issue came from putting the data in the queue.
Capturing frequency is really the counts per time period. To do this we tie a counter to an external pin and we see how many counts is has after a time period has expired. The software architecture would typically be to use a timer peripheral setup to fire an interrupt service routine (ISR) when the timer expires.

The process typically looks like this:

  1. Setup the timer so that the expiration period is the gate time.
  2. Clear the counter value.
  3. Enable the timer.

When the gate timer expires the ISR gets called and does the following:

  1. Stop the counter.
  2. Clear the interrupt flag.
  3. Calculate the frequency. (This may be done later)

So everything was going fine, until I tried to put a new entry in the queue.

Seems FreeRTOS compares the priority of the interrupt that is called to the ISR that is used for the system tick of the RTOS.

Now to figure out whether to continue down the path of using the queue, or to switch to just using a global variable.

I put the code on GitHub here.

Frequency Counter

So my Radio Shack frequency counter died. I decided that since I had a few 7-segment LED’s I would just make a bench top frequency counter.


I started with the frequency counter designed by Wolf Buscher, DL4YHF.
He used a Microchip PIC, which I no longer have debugging tools for. A while ago I got rid of all my debuggers except for my J-Link ARM debugger. Having worked with ST, Microchip, Motorola processors, I decided that I would commonize on the ARM architectures. Specifically, on the Cortex-M series.
In my frequency counter I am using seven 7-segment displays, I also wanted a display that was MCU independent. So I used a 74LS47 BCD to 7-Segment driver and a 74HCT239 3 to 8 addressable bus. This means that I need 3 bits to select a segment and 4 bits to select the character to display. The 7-segment displays have their segment lines all tied together and their supply lines are controlled via the 74HCT239.
This works by turning power off to all 7-segment displays, writing the segment values to the 74LS47 chip, then enabling power to the segment using the 74HCT239. This is done for each digit in sequence at a rate faster than 60Hz. To the human eye this gives the impression that all digits are on simultaneously.
This is very similar to the construction method shown here

Front End Circuit

Because I wanted a fast input that converted low voltage sine waves into a square wave at the voltage of the mcu, I am using the following circuit.


For the processor I chose to you a NXP Kinetix Freedom K22F. This processor has a ARM Cortex-M4 processor with an internal floating point unit, DMA, USB, and standard MCU peripherals. The FRDM-K22F costs $30USD and includes an onboard debugger.


I used Kinetis Design Studio (KDS) and the Kinetis Software Development Kit (KSDK) to write the software for the frequency counter. The KSDK provides drivers for the onboard peripherals. For the Real-Time Operating System, I used FreeRTOS. It is my favorite embedded RTOS due to its ease of use and because it is very light weight. Giving it a very small memory footprint.

Learning CW

So, I decided that I want to learn CW. After  a frustrating false start, I started using Learning CW Online.
Now I may be a special case. I have read many articles where people have learned morse code at slower speeds and had major difficulty in working at higher speeds. In order to prevent this, I started listening to the code at a speed that each character made a sound, rather than a series of dits and dahs. For me that was 30 words per minute. I also wanted to have instant recall of the code that I was hearing. In order to do that I decided that I needed to drill using the “Morse Machine” on the lcwo website. It wasn’t easy, I added maybe one character per week. Which to some seems slow, but I didn’t want to add another character until I had instant recall of the newly added character. It seems to be working. I am 21 characters in to the 40 character list on the Morse Machine. I have almost instance access to the characters when listening the morse code at 15wpm. This seems to be working for me, maybe it will work for you.

A blog about all things Amateur Radio.

Like many hams, since the removal of the code test in licensing, I am fascinated with learning CW. I also homebrew my own equipment and enjoy operating qrp. Building cw equipment is a perfect way to build small, portable, qrp equipment.