Design, Etherkit, OpenBeacon, Operating

OpenBeacon Update

OpenBeacon Pre-production

Now that we are starting to get settled into a routine life with our new baby boy Eli, I’ve been able to sneak in some more work on the OpenBeacon project. The beta test is going fairly well, but I made a poor design decision in choosing a USB Micro-B connector and also made some schematic errors which needed to be patched for the beta PCBs. After we got home from the hospital and while Jennifer had her mom around to help, I was able to get back to Kicad, make the necessary changes and fixes, convert the USB Micro-B into a plain vanilla B and resubmit the files to Seeed Studio for rapid prototyping (also converted my EtherProg AVR programmer side project to USB B as well). Slightly less than two weeks later, and I had the nice circuit boards in hand!

First, I put together the EtherProg board to make sure that my new USB connector footprint was OK. A very quick assembly showed that everything was actually good this time! This gave me a bit of hope that maybe I completed the OpenBeacon PCB correctly this time. A bit nervously, I assembled the power supply and digital side of OpenBeacon, which rewarded me with some nice blinkenlights and proper USB enumeration on the PC. The analog side also went together quite nicely, although I needed to make a few component value tweaks in order to get the desired output power (about 300 mW) and enough harmonic suppression (maximum harmonic content of -45 dBc). A joyous day! Two successful PCB spins!

Now that the hardware is pretty much 100% nailed down, it’s time to turn my attention completely to finishing the firmware. The basic beacon stuff is already in place, such as the QRSS, DFCW, Feld Hell, and CW modes. I still need to add extras such as multi-mode operation, custom glyphs, and multiple messages. But something has been whispering in the back of my mind lately. All of the previously mentioned modes are cool, but they lack the automatic reporting of some of the newer modes. It’s particularly aggravating right now that there aren’t many operational 30 meter grabbers in North America. It would be really cool to be able to add WSPR to the OpenBeacon repertoire so I can just set it and forget it. That seemed like a big challenge, but I have been following WA0UWH and KO7M having all kinds of beacon fun with their Propeller boards, and their efforts make it seem workable.

First OpenBeacon WSPR Capture
First OpenBeacon WSPR Capture

Thanks to an excellent blog post by KO7M, I was able to suss out the basics of the WSPR protocol and how to implement it in the relatively simple OpenBeacon hardware. The OpenBeacon uses non-linear varactor tuning of a VXO, while KO7M’s Propeller beacon uses very precise frequency synthesis. I wasn’t even sure if it would be possible to fake the necessary phase continuous 4-FSK modulation with the OpenBeacon, but I figured it was worth a shot to at least try to fake it.

Long story short, due to the robustness of K1JT’s protocol and decoding software, I managed to pretty easily get a pre-generated message to transmit correctly with almost no tweaking of the transmitter. In fact, getting the transmit interval timing correct proved more challenging to me than the actual sending of the WSPR message symbols. The firmware is currently very bare-bones, with a hard-coded WSPR symbol string, hard-coded transmit interval (every 10 minutes) and the necessity to turn on the WSPR mode at precisely an even minute interval. Finishing out the firmware will require adding in the ability to change the WSPR message just like the standard message buffer, access to all of the WSPR parameters via the PC client program, and the ability to start the transmission with the pushbutton instead of doing it via the client program. Configuring the WSPR parameters will be a bit manual, but the beacon should be able to just sit there and do its thing once you’ve got that all setup.

So now the goal is to finish the firmware soon and get the Gerber files sent off to my PCB production house for a real production run. And get ready for my talk at FDIM! I know that these last two months are going to go awfully fast.

In the mean time, I’ll be running the WSPR beacon for a while to see what captures I can get off 300 mW on 30 meters. It will also be a good test to see that the firmware can keep the transmit intervals synchronized over long periods of time. If I get any spots in the WSPR DB, I’ll post them here as an update.

Edit: Here are my spots as of 0400 – 19 Mar 2012:

5 spots:

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2012-03-19 02:24  NT7S  10.140125  -15  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-19 02:18  NT7S  10.140125  -24  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-19 01:06  NT7S  10.140125  -17  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-19 00:26  NT7S  10.140129  -24  -1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-18 22:34  NT7S  10.140126  -21  0  CN85nm  0.02  NO6W  CM98  797  168

The power is a lie, I’m actually at 200 mW, not 20 mW. Need to fix my WSPR symbol string.

25 Mar 2012 Update: I updated the firmware and client software to allow a WSPR transmission to start on command from the client. This allows me use the much more accurate PC clock to sync the transmissions. When only using the ATtiny85 timer, the best I could do was keep the beacon in sync for about 6 hours before it would drift fast or slow too much. With the PC tethering, I’ve been running overnight and all morning, and have managed to pick up a bunch of spots with my 300 mW.

42 spots:

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2012-03-25 18:24  NT7S  10.140170  -19  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:18  NT7S  10.140169  -19  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:12  NT7S  10.140168  -16  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:06  NT7S  10.140167  -18  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:00  NT7S  10.140167  -17  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:54  NT7S  10.140168  -15  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:36  NT7S  10.140132  -13  0  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 17:36  NT7S  10.140167  -13  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:24  NT7S  10.140167  -18  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:18  NT7S  10.140132  -16  1  CN85nm  0.02  VE6PDQ/1  DO33fl  1110  34
 2012-03-25 17:18  NT7S  10.140132  -16  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 17:12  NT7S  10.140142  -21  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 17:00  NT7S  10.140132  -18  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 17:00  NT7S  10.140130  -23  1  CN85nm  0.02  KL7UK  BP51ip  2468  326
 2012-03-25 17:00  NT7S  10.140131  -21  1  CN85nm  0.02  VE6PDQ/1  DO33fl  1110  34
 2012-03-25 17:00  NT7S  10.140168  -29  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 16:54  NT7S  10.140131  -17  1  CN85nm  0.02  KL7UK  BP51ip  2468  326
 2012-03-25 16:48  NT7S  10.140133  -25  2  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 16:48  NT7S  10.140133  -17  0  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 16:36  NT7S  10.140145  -14  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 16:06  NT7S  10.140147  -23  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 16:00  NT7S  10.140138  -22  1  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 16:00  NT7S  10.140146  -23  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:36  NT7S  10.140147  -23  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:30  NT7S  10.140139  -21  1  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 15:24  NT7S  10.140147  -21  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:18  NT7S  10.140147  -23  0  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:06  NT7S  10.140135  -25  2  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 14:54  NT7S  10.140147  -20  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 14:30  NT7S  10.140147  -17  0  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 14:24  NT7S  10.140147  -20  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 13:48  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:42  NT7S  10.140136  -16  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:36  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:18  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:12  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:06  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 11:36  NT7S  10.140134  -19  0  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 11:24  NT7S  10.140134  -16  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 11:18  NT7S  10.140134  -17  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 11:00  NT7S  10.140135  -2  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 09:12  NT7S  10.140136  -12  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
CC-Series, Cool Stuff, Dayton 2012, Etherkit, OpenBeacon

Dayton Or Bust

I’ve got another grab-bag of miscellaneous news for this post, but I’m going to lead off with the big one: I’m going to be a presenter at the world’s preeminent QRP convention: Four Days In May 2012. The tentative topic for my presentation will be about the free and open source tools that I use in the development of my products and how you can put them to use in your own homebrewing endeavors. This will be my first time speaking to an audience larger than about 25 people, so I hope that I can provide an entertaining and informative talk at such a prestigious event. I’ll be speaking in front of a lot of people who I consider to be much more capable than I and some who I consider my virtual Elmers. It is my sincere desire to not disappoint.

I am very excited for the opportunity to go back to Dayton so soon after my last trip. I really didn’t expect to have the chance to go again for quite a few more years, so the ability to get back to the convention after only two years is a great blessing. I owe a great debt of gratitude to Jennifer, who didn’t hesitate to encourage me to go, even though she will be dealing with a 2-month-old baby and a near 2-year-old by herself for a few days while I’m away.

In other news, I feel like I’ve gotten over the steep part of the learning curve with Kicad, having successfully made PCBs for my little Twin-T code practice oscillator. You can see a short video of it in action above. The output level is suitable for modern, sensitive headphones, but if you want room-filling audio such as in my video, you’ll need to connect it to an amplified speaker. The PCB is designed to fit in the ubiquitous Altoids tin, with room to spare for a 9 V battery.  I expect that this will eventually make it to my stable of products, but it’s low priority considering the long delay on the CC-Series and the need to get it ready to sell by May. If you are really interested in the project, write a comment or shoot me an email (milldrum at gmail) and I’ll see if I can’t work something out to get you hooked up with a kit early.

The OpenBeacon project is cruising right along. Now that I know that I can successfully make a PCB with Kicad, I’ve taken the plunge and decided to migrate all of my workflow there (I think this will include the next board spin of CC-Series, since there are so many changes to be made there will be no real advantage to staying with TinyCAD/FreePCB). The OpenBeacon PCB design is nearing completion. Once I get a shipment from Mouser in the next few days to verify that my newly-created PCB footprints match the actual physical components, I’ll be ready to submit my CAM files to Seeed Studio for prototype boards. With any luck, I’ll have them back within about two weeks. (Protip: it’s worth taking the time to place your component against a 1:1 printout of your Gerber to make sure it will fit. Don’t ask me how I know this.)

Once those CAM files are off to China, it will be full-bore on the CC-Series. With the deadline of mid-May staring me down hard, I figure I will have to get those CAM files out within no more than three weeks. That will put me into mid-March for getting the PCBs back, which will give a pretty slim margin of time to beta test and prepare the kit for final sale. Going to be pulling some long, late-night shifts…that I can already see.

I’ve also got a few more projects in the pipeline for after FDIM and the deployment of CC-Series and OpenBeacon. The first is a fairly simple and inexpensive VXO DC transceiver that I hope to initially kit for the high bands of 10, 12, and 15 meters. It uses a topology which is somewhat unique. The other is an extrapolation of the receiver circuitry of this rig to use as a dedicated QRSS grabber receiver. But I may be getting a bit ahead of myself. Let’s get this CC-Series launched, then see where the winds take us.

CC-Series, Cool Stuff, Etherkit

Respect

Update

Here’s a quote from Wes describing the equipment that he was using on his end:

I hope that my signal was OK when we worked.   I was in the midst of wrapping up a frequency synthesizer project and had it running on the rig for the first time.   When I heard you on 20, I could not resist calling.  You were the first contact using that source.   But I then discovered that the PLL was oscillating.   It was a low level oscillation and didn’t present an obvious problem with regard to what I heard on the air.   But it was there.   I have since then changed the phase/frequency detector circuitry and have eliminated the oscillation.   I am not thrilled with the 74HC4046.    I get much more repeatable performance from a dual D FF with a NAND gate.

CC-Series, Etherkit

That Which Does Not Kill Us

I feel pretty guilty that I’ve let the blog content slide in 2011. As you can imagine, between having a near-toddler cruising around the house, doing a major redesign of a QRP transceiver, and trying to bootstrap a new small business, free time is at a premium (and my wife and kid owns what little there is). The least that I can do is give you a quick glimpse into the progress with the radio.

If you don’t follow me on Twitter, you probably don’t know any of the details of my progress with the CC-Series radio. After advancing the design of the radio to a point where I thought it was production-ready (two PCB turns, lots of design review and tweaking), I ended up failing pretty miserably in the end. The problem was with a subtle, but noticeable pull on the free-running VFO on transmit (which was not present on the prototype). I spent close to 2 months attempting to troubleshoot that one little problem, but sadly it ended up defeating me. Perhaps “defeat” isn’t the correct word. There was a part of me that wanted to keep stubbornly trying until I tackled the problem (ask poor Jennifer about my stubbornness). But I had to look at the issue realistically, from a business point-of-view. I had no idea if it would take me a few more days or many more months to solve my problem. So in the interest of trying to save my fledgling company, which hasn’t even made it out of the nest, I made the difficult decision to temporarily abandon the CC-Series development.

Instead, I decided that I would take on a similar project: revamping my minimalist entry in the 2010 FDIM Challenge (the 72 part rig). It started as just a few upgrades, but quickly spun into a new project of its own. When the VXO scheme that I wanted to try didn’t work out as I had hoped, I decided that I would bite the bullet and add a DDS to the project. I planned on reworking the CC-Series with a DDS anyway, so this would be a good way to learn how one works. In order to make the rig worthy to be sold to other people, I kept incorporating changes and features from the CC-Series. I also leveraged my firmware from the CC-Series, which made it easy to get up to speed with the new radio fairly quickly. By now, the rig resembles what I intended the CC-Series to be in the first place.

The new CC-Series?

A few nights ago, I made my first QSO with the rig with W7GVE in AZ. We had a nice little chat and he let me know that I had a little bit of chirp on my signal. Right after I signed off with Ed, I got a really pleasant surprise. Who else but the great father of us QRP homebrewers, W7ZOI! He dropped in to give me a quick “hi” when he heard me on the QRP watering hole of 14.060 MHz. According to my (admittedly incomplete) log on my PC, this was my first QSO with Wes. It was a great thrill, but unfortunately I missed about 25% of his transmissions because I was too nervous to copy CW well. I fully admit that my CW is still lousy, and my comprehension drops off the cliff when the other guy is going greater than about 15 WPM and I’m jittery.

I made some tweaks to the transmitter (and torched some finals in a spectacular, fireworks fashion), then managed to make a sked with one of my partners in crime, AA7EE. It was a rough QSO, especially for me, but we exchanged signal reports so it counted (20 meters at 2200 local on a short path between us is not conducive to communication). Better yet, Dave reported that the signal was rock-solid and chirp-free.

So where do we stand now? I want to do a little more on-the-air testing, then I’m going to start laying out the PCB. The last time I ordered prototype PCBs from my vendor, they were very high-quality, but the turn around time was less than desirable (nearly 3 weeks). This time, I’m going to see if I can lay out the board with minimum vias (probably not going to happen). If I can do that, I might be able to make my own board with the toner transfer method. If not, then I’m going to look into a vendor that can give me boards with more alacrity, at least for the prototypes.

It’s been frustrating, but it’s also forced me to refine all of the circuits in my radio in order to make them as bulletproof as possible. As long as I can get this puppy to market, then it will have been worth the heartache.

Update

Last night, I had another QSO with AA7EE so that he could record my transmissions and send me back the recording for evaluation. We had talked about meeting sometime after dinner, but set no specific time. Right around 1900 local, I fired up the rig on 14.060 MHz and was just getting ready to send a tweet to Dave to see if he was around. Within about 30 seconds of turning on the rig, I heard someone calling CQ on the watering hole frequency. Sure enough, it was AA7EE. I established contact and we had a quick little chat. Thanks to Dave’s generosity, I’ve posted his recording of the QSO below.  The QSB was bad on my end, but as you can hear from the recording it wasn’t very bad on his end. Even though the signal was weak, the note from the rig sounds clean, stable, and chirp-free. Be sure to stick around to the end of the recording for a few moments of commentary from Dave himself.

AA7EE-NT7S – 0217 – 24 May 2011
[audio:http://www.nt7s.com/wp-content/uploads/2011/05/nt7s-aa7ee-5-24-0213z-14060.mp3]
CC-Series, Etherkit

What’s Going On With The CC-40?

Things have been a bit quiet on the blog front as I work to get the CC-40 beta up and running. Last month, I had an initial set of beta PCBs manufactured, but I made a really big mistake. Somehow I bungled the footprint of the ATmega168 microcontroller, and it ended up much smaller than it should have been. I managed to wire the microcontroller to the PCB using 30 AWG Kynar, but another problem manifested itself. The wires acted like an antenna and radiated the 16 MHz clock all over the board, causing a high pitched whine in the audio. I continued to build the board, and for the most part, the rest of it worked as expected, but I couldn’t release a board with such an obvious fault to the beta testers. It was probably a good thing that I was forced to spin the board again, as I found some other subtle problems that needed to be corrected. The new PCB design was submitted to the PCB vendor early this morning, and with any luck the new board will be here in about two weeks.

The current beta test unit is still usable, especially if I hook it up to my external AF amp, which cuts off high frequencies pretty well. Early this morning, I shot a video comparing CC-40 to my SW-40. I’m listening to JA1NUT and manually switching between the CC-40 and the SW-40. It’s not a great indicator of the performance, but at least it will give you a little taste of the character of the radio.

While I wait for the new beta PCBs to get here, I’ve still got plenty of work to do in preparing documentation, setting up my shipping station, and getting my web shopping cart configured. We’re also going through the fun of Noah teething, so sleep is at a bit of a premium for us at the moment. With any luck, the next update will be some happy news about how the new beta PCBs work great!

CC-Series, Etherkit

Birth of a Company

EtherkitI’m pleased to announce that I’ve filed the appropriate paperwork, and that my new open source amateur radio company is born! The logo links to the new domain, but there’s nothing on the web yet.

I’ve also given “Project X” a proper name. It’s now going to be known as the CC-series of transceivers (with the current 40 meter beta units being CC-40 models). The beta PCBs are in the process of being manufactured, and are due to get here by the end of January. Once the boards come in and I can build a working beta unit, the real beta test will be on; with any luck by early February. It’s not quite as fast as I had hoped for, but you can’t rush certain things.

In the meantime, I’ll be working on getting the online store functional and navigating the maze of bureaucracy to make sure that I don’t run afoul of some obscure regulations and get shot down before I even take off. The blog updates will pick up again once the beta testing gets going.