Weather

MARYVILLE, MO KE0SBX QTH

Tuesday, February 18, 2025

CB to CW Part 4: Wireless UI

Let me ask you something...

What is the number one thing that you have with you at all times? A pencil? Earphones? How about your cellphone?

In today's post, I'm going to be simplifying my CW CB radio to take away the OLED and rotary encoder to provide you with an easier user interface accessible via a web browser. After this, you should have a roughly-speaking software defined radio!

IoT

During my undergraduate program at Northwest, I took a course called Internet of Things. If you're not quite sure what that is, it is a network of devices connected together via a mesh that can communicate with one another. The most popular IoT board is most notably the ESP32. Rightfully so because it has a built-in Wi-Fi radio on board. Usually these Wi-Fi microcontrollers are made by Espressif, though some knock off companies produce similar boards.

ESP32s can be programmed to do just about anything - monitor the weather, pull and scrape API data, and so much more! You can also use the Pi Pico which is a bit faster than the ESP32. Whatever you choose, just make sure it has WiFi capabilities. I will be using the Pi Pico as it has more memory.

Now, one of those things we can program on this microcontroller is a basic web server to control peripherals. One such peripheral is the, you guessed it, Si5351 PLL synthesizer. And, what better thing to try this on than our recently-converted 10m CB radio!

Basic Setup

To begin, you'll only need two things - a WiFi-capable microcontroller and an Si5351 board. That's it.

Our user interface (originally an OLED and a rotary encoder) will be hosted by the microcontroller's "server". With experimentation and more research, I have decided to use another output of the Si5351 as a crude but adjustable BFO, from 450 to 460KHz, incremented in 10Hz, 100Hz, and 1KHz steps. The webpage will allow for full access and control of the radio, save for the keying - that might come later.

Also, why use an external logic chip if your board already has more than enough pins to supply it? Instead of connecting your key to an unpredictable 12V line, just connect it to a microcontroller pin and every time it's pulled to ground, set another digital pin high for transmit (feed this into an NPN and connect that transistor's collector to TX and the emitter to GND) and set another digital pin to low for receive (do the same task as above, but feed the collector to RX and the emitter to GND). When the key pin is no longer grounded, it will pull RX high and TX low.

We'll also need a project box mounted on top of the radio chassis. The only cables, inputs and outputs running between the box and the radio should be the coax from CLK0 (VFO) and CLK1 (BFO), the 12V power supply to 5V regulation circuitry (via 7805), and the jack for the key.

 Here is a detailed schematic of the new keying circuitry. You will need to utilize 3 digital pins - one for input with a pullup enabled, and two for outputs. The circuit below shows the output pin logic we need. TX/RX voltage corresponds with the pins on the CB mic connector, as well as the ground.

The circles are LED bulbs - these are strictly optional. I used red for transmit and green for receive. You can use whatever color combination you'd like.

The transistors used are standard NPNs, such as the 2N3904 or the 2N2222. Make sure that if you use just the transistors you keep the resistors. Feeding a transistor straight from the I/O pin could burn out the transistor, the board, or both.

Testing 1 2 3...

In connecting it up, it works great...well, sort of...

I skipped out on one very important detail. You see, CB radios come stock from the factory tuned to 27MHz. This means that if you try to transmit on 28MHz, you will get little to no output. If you try to receive on 28MHz, it'll work, but it will be very quiet and not as loud as the folks on Channel 6. Not even on FT8 it'll be loud and clear.

So what does this mean? It's quite easy - I'll need to realign the transmit and receive side of things, namely a few of the coils and cans in the circuit. I'll more than likely need to find the Sams PhotoFact manual for this radio or head over to some forums. Hopefully tuning it up will fix the problem.

I'll post more on that in part 5.

What else?

There are SEVERAL more things you can add on to this to make it much more versatile. 

  • CW Keyer - The most obvious, this would allow you to use a set of paddles
  • WSPR or FT8 protocol - The Si5351 is more than capable of generating these shift keying modes. You can implement the jtencode library by Etherkit to generate these digital modes. Look up the jtencode library on GitHub
  • Sidetone - use a simple 5V piezo buzzer as a crude sidetone, just like the Pixie kits. If you're feeling really ambitious, you can use a PWM-capable pin to make the buzzer oscillate around 700Hz or whatever pitch you like your sidetone at
  • Automatic frequency offset - Similarly, if you don't want to constantly zero beat to another signal, you can incorporate automatic frequency offset in the key down portion of the code. You'll need to offset positively (ie +700Hz) if you prefer CW-Upper and negatively (-700Hz) if you prefer CW-Lower

I'm sure there's plenty more things I could come up with, but this is just a starting list. Again, it's your build - experiment! Converting CBs has many benefits, including keeping them out of the landfill and giving them another life. Plus you get a free rig out of it! How cool is that?

So for less than $50, you too can have your own functioning 10 meter rig. This would be an AWESOME project for the brand new Technician looking to do AM or SSB phone! If you're feeling adventurous, do try your hand at CW as well! 10 meter CW has been ON FIRE lately around my neck of the woods and I just made my first CW QSO too. It's not as intimidating as it seems, so go on! Give this mod a try and let me know how it goes. Stay tuned and 73s!

No comments:

Post a Comment