Taking the Plunge

I’ve been considering getting a Raspberry Pi for awhile.  Several folks have asked me if I would port my Arduino Keyer code to it.  So I decided to take the plunge and acquire a Pi from Newark / Element 14, along with some “fixins”.  I got the Model A Pi, along with a WiFi dongle, and a cute little enclosure. IMG_4055

Big Things Come in Small Packages

I didn’t realize just how small the Pi was until I held one in my hand.  It’s just amazing this is a full blown computer.  It’s quite a leap from the VIC 20, the first computer I used 30 years ago as a teenager. IMG_4058

Raspbian Installation

The Raspberry Pi was surprisingly easy to fire up.  I bought a 16 GB SD card locally and burned a copy or Raspian on it.  After plumbing up a monitor to the HDMI port and connecting a USB keyboard and mouse, the unit booted right up, displaying messages familiar to anyone who runs Linux.  A few minutes later I entered startx and I was in XWindows.  Of course I just had to bring up a terminal window and verify this was really a ‘nix box and run top. IMG_4061

Nifty Little Pi Enclosure

Now that I have my Pi humming away, what projects should I do?  As I’ve mentioned a few folks have inquired about porting my keyer code to the Pi.  Googling around I found someone has ported the Wiring development platform , which is the basis for the Arduino environment, to the Raspberry Pi and aptly called it Wiring Pi.  Naturally it’s not 100% compatible and it’s not as easy as just plugging in the Arduino IDE and uploading compiled code.  I’m debating whether to take this approach of getting the keyer code to run under Wiring Pi, or just start from scratch with good old C and gcc for the compiler. I could get the core functionality going and then port over parts of the code from the Arduino for ancillary functions, if it makes sense.  Certain things don’t make sense to port, like the CW memories code.  On the Pi you don’t have to deal with EEPROM like you do on the Arduino.  Anything that needs to be persistent across reboots can just be written to a good old file on the file system.  While certain things like persistent memory and sound support are easier on a Pi, deterministic and precise timing, which is needed for CW timing, is challenging on a multi-tasking environment like Linux.  This realtime kernel may be just the ticket.

Compared to the Arduino, there aren’t a whole lot of interfacing pins on the Pi.  To really get the power of this board you need to do I2C.  I’m thinking about what it would take to port my antenna tuner to the Pi.  That project uses I2C for controlling many relays, but there is also a need to monitor the voltages of the SWR bridge.  The Pi doesn’t have this capability natively, so an I2C device would be needed to supply this functionality.

All in all the Raspberry Pi is a versatile and powerful little board.  To get my feet wet I think I’m going to write a little bare bones C and see if I can get a basic keyer working and see where this takes me.  This is going to be fun.

 

The Minima

There are dozens of QRP rig designs and new kits that pop up each year, the majority of which are reiterations of previous designs.  For the past ten years it seems we’ve been in a bit of a rut building NE602 based direct conversion and superhet rigs.  But once in awhile a groundbreaking design is released, and everyone follows.  Rigs like this are truly memorable, like the W7ZOI Ugly Weekender, the NEophyte, the Norcal 40, the 2N2/40, and the K2.  I think the Minima, a new transceiver designed by Ashhar Farhan is one such design.  The design has really impressive and innovative features:

  • 1 to 30 Mhz coverage
  • CW and SSB operation
  • Si570 DDS local oscillator
  • 20 Mhz IF
  • KISS Mixer
  • Arduino controlled, with open source software
  • Other than a few ICs, most of the active components are general purpose NPN and PNP transistors
  • A relatively simple and reproducible design

Looking at the schematic, you can see immediately how unique it is starting at the front end.  From the antenna jack, you go into a high pass or low pass filter and then hit a mixer with two FETs.  After that is an IF amplifier constructed from bipolar transistors, a BFO mixer and then the audio chain, again built from bipolar transistors.  The transmitter chain works essentially the same, in reverse, with the mixer as the final active stage and providing a one watt output.

I’ve been eager to build something ugly style on a sheet of copper clad PC board, and this is just the ticket.  And it’s Arduino controlled which is icing on the cake!

Idea

I’ve been reading about the AMSAT Fox Project, an initiative to deploy small next-generation “cubesats”. The website includes several PowerPoint presentations on the design, testing, and engineering of these birds. A lot of work goes into building a satellite, and the number of considerations is just mind-boggling, with concerns about heat, materials, radiation, and resiliency to failures to name a few. This really is “rocket science.”

I’ve been thinking about a more down-to-Earth project for guys like me who aren’t rocket scientists but are intrigued with little devices like these. I’m not sure what to call this yet (perhaps “CubeCache” or “RadioCache”?), but the idea combines geocaching, fox hunting, beacons, microcontrollers, and a touch of repeaters all in one bundle. Imagine if you could build a tiny device similar to a cubesat and place it somewhere stealthy and have it act like a multi-purpose beacon, a simplex repeater, a fox transmitter, and a data gathering on-the-air geocache. The little box would have a small self-contained battery and be equipped with solar cells for charging them. A microcontroller would control all functions of the unit. During low battery times, the microcontroller would put the unit in power-saving sleep mode, turning off all modules. The unit would have a transmitter and receiver, and a second receiver for telecommand functions to comply with FCC rules.

The unit would have several modes. It would announce itself like a beacon periodically. It would act as a “radio geocache” and would receive digital callsign messages and acknowledge them, storing them in memory for later retrieval. The unit could also act like a real geocache, but with a twist. Users could activate fox mode and radio direction find their way to the unit.

Building such a unit would present some technical challenges. The first would be stuffing everything into a small, weatherproof package that can withstand the elements. Much like geocaches, the unit would have to be stealthy both in construction and placement to avoid being found by “muggles”, the geocaching term for people who are not geocachers.  Power management is another challenge, with the need to keep track of battery capacity and make the best use of power. With an experimental project like this, it’s likely the microcontroller software would be changing quite frequently to improve performance and add new features, so a remote over-the-air firmware uploader and bootloader would be helpful.

I’m sure some will ask what the point would be of building such a contraption. Much like a lot of what we do in amateur radio, there often isn’t much of a point other than to experiment, learn, and have some fun. I may explore this idea further in 2012 and build a very simple prototype, place it in my backyard and see where this project goes.  If anyone is interested in helping develop this idea, please let me know.