View Full Version : Building a COM stack.

09-14-2006, 06:23 PM
Alright guys, I'm back with another question to round out my planning for the beginnings of my cockpit...

How would one go about BUILDING a radio stack? I am looking for COM1/COM2, NAV1/NAV2, XPDR as well as a spot to put in some headset jacks. I already have the headset jacks, but lack the knowledge for how to do the rest of the things I am looking to do.

I am trying to do this as cheaply as possibly, but will spend the money on the parts (such as LED displays for the digits, rotary switches, or whatever else might be needed.)

If anyone can be of some assistance, please feel free to jump in. Keep in mind I am not the most electronics advanced person out there, but I am not afraid to try anything...so let the suggestions fly (Get it? Fly, like a plane...hyuk-hyuk-hyuk. Man I crack myself up)


Bob Reed
09-14-2006, 07:08 PM
:wink: :shock: :D Hi Charles. There is more to your question then you might think! First off is this to be a hard ware radio stack or are you just talking software? If it is hardware you need to take the question one more step. What interface to use? Ah and here lies the billion dollar question! There are so many of them out there right now, my only suggestion would be to start looking and reading. They all have plus and minuses! I will give you a few to think about. There is Flight Deck Technologies, FSBuss, Phidgets, IO Cards, Beta Innovations just to name a few. There is an old one called EPIC and so on. Think about what you want to accomplish and then start looking on the internet. Ask questions about the different ones here. And remember while you are doing this, the interface will be for more then then the radio stack so watch number of inputs and outputs, what modules are needed for input, output and things like 7 segment displays. There is no easy answer to this question. It will be to talk to as many builders as you can and go by what you fell you need! :!:

09-14-2006, 08:29 PM
Well, let me give a little background on what all I am working on in my mind and on paper at the moment:

I am building a few panels, not doing an entire flight deck though. I plan on having an overhead panel, and one MAYBE two panels around the monitors. I have an X45 that I may consider ebaying and trying to get a yoke...but don't know at this point.

What I am looking to do is have a physical radio stack that only needs to control the things I mentioned in the post. I have read that phidgets would work, but I am trying to stay cheap...as cheap as possible. I am looking to keep this section alone under $50 if at all possible. I will be using a Hagstrom KE72 to control this, I managed to get ahold of one for free, and I might be buying another one to put more inputs on it.

What I am thinking about using, but have no clue if it would work or how to set it up, is to use a few potentiometers for dials...and have some LED displays to show what the value is...

Another thought I had was to use a USB numeric keypad to input the different frequencies...again don't know how I would interface that.

Let me know if I am making any sense, or if what I am trying to do is easily attainable, or even possible on my budget...I'm at a loss here!

Bob Reed
09-15-2006, 01:39 AM
Hi Charles. Yes you are making sense... BUT, to do dials (rotaries) or 7 segment displays you need an interface. Phidgets to the best of my knowledge still does not do 7 seg displays. With a Hagstrum you can do "rotaries" with a type of switch called a Knitter or pulse switch. When you turn the knob one way you get a key press. I am using them now on my MCP. THey work but have a few draw backs like if you turn the knob too fast they do not send any presses. Do a web search on those interfaces I mention in my post above. YOu could get some to do 7 segs at a fair price if you do not need anything else.

09-15-2006, 01:46 AM
I rethought the idea of having the displays...that is going way about my skill level, and comfort level. I am perfectly content with being able to just view the frequency or xpdr numbers on the monitors...but I want to wire up some rotaries....and I think I perfectly understand about the rotary pulse switches...which is what I was thinking of. The only other question I have is, are the rotary switches one way only? Meaning I would be able to increase channel frequency, but not decrease it?

Thanks for the help and suggestions guys...keep em coming.


09-15-2006, 02:29 AM
If you use Flightdeck technology (I think its their stuff) then the 7 segment displays are very easy. Phidgets also. They have it designed so that you only have to plug everything in and the hardest part is wiring the switches themselves.

The rotary problem you describe is common when you use a rotary with too many steps per revolution. I think that 12 was the magic number. And yes, you can increase AND decrease the freq with the rotary encoder.
I reccomend Phidgets simply because I feel they are best. Other people will have a different idea and will reccomend a different product.

Good luck!

09-15-2006, 09:12 AM
phidgets are a good way, but not cheap.

I build my pedestal with IOcards from opencockpits.

I think its the cheapest powerfull IOcards around, however, not very comfortable in programming.

I think i think my pedestal electronics cost me 2 to 300 dollars. But thats for a full functional pedestal with 2x nav, 2 x comm, txpdr, adf1 and adf 2.
And thats with all digits working, real dual concentric rotaries, etc.

pictures of my medestal can be found here: http://www.boeing737ng.com/imagespedestal.htm

Its also showing how normally rotary switches can be used as dual concentric rotaries (before i started using real dual concentric rotaries)

If i understand you right you dont want the digits to work. You only want rotaries to change the values.
you could convert standard rotary switches for this. cheapest way to go. But still you would need a interface board to connect them to. I think the rotary switches and interface board will be much more than your 50 dollar budget.

The IOcards mastercard is 50euros alone. more comfortable boards like FDT and phidgets are even more expensive (but much easier to configure).

rotary switches are around 3 dollars each. If you use dual concentric system you will need 12, so that alone is over 30 $ for just the rotaries.

So i think you have to reconsider your budget first.


09-21-2006, 09:43 PM
So, if I were to use IOCards, about how much would it cost to build COM1/2, NAV1/2 and transponder dials and buttons to select? I don't really understand the IOCard stuff...but I'm sure if I ordered it I would be able to figure it out or get some help here :-)

I'm exploring all my options and waiting patiently to see what comes about.

Another thought I had, but no clue how to go about implementing it...

What about using a USB keypad for transponder? I know in some planes (the C-130J I was on over spring break last year is the first to come to mind) has a keypad to input the XPDR on it. Could I about using one for a PC and a button for selection to control which input is selected?

For instance...have a button for Com 1 hit "C" one time (through a KE72) and then the keypad change over the frequency somehow? Maybe a VB script or something?? This is the problem that is plaguing me, and once I get through the design phase on this, actual construction will begin. And I am very antsy and ready to begin building stuff!


ETA: Had another idea hit me a while ago...since I only fly using VATSIM, I coul djust use a macro command to do a .com1 123.45 or whatever somehow...I need to look into it more to figure out exact coding for it...but I think that is another avenue to look into. Thoughts?

09-22-2006, 05:28 PM
depends on your wishes.

prices for IOcards can be found here:

i use 1 mastercard, 3 display cards and 3 encoder cards. The dual concentric rotaries i use are 30 dollars each.

but you could make your own converting rotary switches. That will give you a dual concentric rotary for less than 10 dollars.
Extra plus on this is that you can connect these directly to the master card and you wouldnt need the encoder cards, which will save you some money.

If i understand well you dont want displays...only the rotaries and you will watch the freq. on the monitor. Then you only need a master card and you could make your own dual concentric rotaries.
That would mean you can have what you want for around 100 $ in electronics.
If you want radios with digits you need to add 3 display cards (100 euros) and the digits ( around 50$)

So that would give you a total of between 2 to 300 dollars for radios with displays as i stated in my previous post.

You can cut down a bit on this by ordering the boards as kits.

But please dont forget what i said earlier. Although IOcards are cheap, they are not close to the userfriendlyness of boards like the ones from flightdecktechnology. So you will need to learn about offsets, variables, fsuipc, etc.


Capt Bobby
06-11-2007, 01:50 PM
It seems to me that building a Com Radio or even buying one with LEDs is an expensive proposition. The I/O boards needed to "Talk" to your computer; is expensive. The software needed to communicate data to the board; is expensive. And not to mention the NAV/COM Radio for the center console can run another $200.00 to $300.00.

Seeing that MS Flight Simulator already has the Radioshack displaying NAV and Com frequencies why not just get a Panel that looks and acts like a NAV/COM Radio but without LEDs. Leaving out the readouts also leaves out all the extra money for the additional electronics and software to run it all.

By surfing eBay, I came across a company that listed inexpensive Avionics Panels. They call themselves Desktop Aviator.

They have a NAV/COM Radio Panel that sells for less then $100.00 and it looks really good for the money. I just bought one last week and I must say, I think it's GREAT. Using their panel instead of clicking with the mouse adds to the illusion of really flying an airplane. And best of all, it has the look of a real NAV/COM. They even have 2 twelve position Rotary Switches to select the desired frequencies.

It needs to be programmed, but by using FSUIPC it was easy.

I already have their Throttle Quadrant and the Cessna Avionics Panel (Model 1010 w/5 position key switch for simulated engine start), so purchasing their new NAV/COM Radio was a No-Brainer

I really do recommend it.


06-12-2007, 11:40 AM
I am also trying to make a low cost COM unit.

My design uses a few building blocks:
1) display boards (small single sided pcbs for 10mm digits, 16p idc contacts - 3-6 digits)
2) display controller and reading the swicthes/rotaries
instrument hardware - test button, transfer button and rotary encoder. RS 232 interface to host

I use a rotary encoder, with a switch. Press and turn for big digit tuning. I have not found any dual concentric encoders.

NEarly all parts are in place, breadboard prototype is next step!

Capt Bobby
06-14-2007, 08:13 PM
Hi lnola (http://www.mycockpit.org/forums/member.php?u=1952),
Nice to hear that you are taking the the road of design and assembly. The LED circuit, is it your own design? I would like to hear more when you start wiring-up the panel.

Capt Bobby

08-08-2007, 09:20 AM
I am akso trying to build l low cost COM device, but off course want to display the actual frequency with digits. Presently, the unresolved problem is how to communicate with FS.

I aim to build the COM as a stand alone instrument, which also greatly simplifies development and testing. I use the serial port, because communication is very low frequence, and it is easy to interface a microcontroller like 16F628. Clearly (?) USB would be a better choice, but would also require a lot more work.

I think the COM unit may be built with the following sub parts:
1) communication part, serial to controller.
2) 2 digit display units each 6 digits and IDC16 to controller.
3) user input section, two buttons and a rotary encoder
4) COM front and hardware mountings (glue, strips etc. Only the front will be visible).

I have completed step 1, and are working on steps 2 and 3, and am trying to tackle the front. At 25 euros they are rather expensive, I guess I can buy one, but for 3-5 fronts for COM, NAV, ADF etc that really adds up and eats the budget away.

When finished with the steps 1-3, I will have a stand alone COM unit. It will be trivial to make other units of this type. But the problem remains to interface with FS. I need a simple solutions for letting FS send the new frequencies (and display intensity) to the COM device. I have two pins available

If we remove the ability to send from FS to the device, a cheap USB joystick button interface can be used. I think this is a good solution for the prototype. If doing this, the serial interface is not needed any more.

What I really need is a program, running on the PC with the FS, that can read FS values and send them to a port or channel (usb, serial etc), and likewise read from the channels. I think this is what FSUIPC do, but it looks like overkill. Considering the data rate, standard serial interface is more than capable to serve all comm units, and probable all instruments in the cockpit. Also, human readable commands and responses should be used, as this helps debugging in a big way.

Do anyone know of a program like this (prefererable in C), or is FSUIPC the way one must take?

Bob Reed
08-08-2007, 10:18 AM
Well unless you want to reinvent the wheel, FSUIPC does all this for you. There is even a SDK that explains how to use the hooks FSUIPC uses in and out of FS. That is what I would do.

08-08-2007, 01:57 PM
Hi Inola,

If you're using FSX deluxe you don't need FSUIPC. FSX deluxe ships with SimConnect, an API that allows you to access flight sim data. SimConnect comes with an SDK which includes numerous examples. Most are written in C/C++. There are a few examples in VB and C# as well.

I agree that the serial com port is suitable in this application. It's fairly easy to code against. You open it with an Openfile() call. Set the port parameters using GetCommState(), SetCommState() and SetCommTimeouts(). You move data using Readfile() and Writefile(). A good reference for using the serial port is the paper "Serial Communications in Win32" by Allen Denver. It's in the MSDN library at msdn.microsoft.com

One shortcoming of the serial port is that it's based on RS232C which is a point to point signaling protocol. If you're just getting started building gear that interfaces through the serial port, I recommend that you use an RS232C to RS422 converter, and design your projects around RS422. RS422 is a multi-drop protocol which will allow you to connect multiple devices to a single serial port.

As you're planning to use a micro controller, you might consider timing the rotational speed of the rotary encoder. If turned slowly the encoder can be made to increment or decrement the frequency in small steps. If turned fast, the step size can be made larger. This avoids the need for a dual concentic encoder. The push switch can then be used as a swap frequencies, or set frequency function.

The PIC16F628 is quite capable for this purpose. However, the PIC16F648A is newer, has more memory and (at least in the US) is slightly cheaper. The PIC16F876A is another choice offering more I/O pins.

LCD character displays are a nice alternative to LEDs. It really depends on what sort of radio stack look you're creating. I've used some white on blue LCDs with nice results. There are some pictures posted on the first page of my site toward the bottom. www.mikesflightdeck.com (http://www.mikesflightdeck.com)

08-09-2007, 10:46 AM
thx for answers. I see that serial port comm would be Ok from the software side. On the hardware side, a point to point comm is a starting point (or two :D).

I will be using a 16F628 for now. It supports RS232 dircetly. In order to keep it simple for now, I will continue with that. To overcome the port limtation, it is fairly easy to make a RS232 hub with one 16F628, one MAX232 (for PC compability) and let's say 4 connectors for downlink using TTL level signals. Then it all boils down to imlementing a communication protocol (message) with suitable addressing. As I have a bunch of 16F628, I will do this. But I agree that it would be better to have a kind of multidrop.

I have determined to break the inner parts in two: one "dumb" display card which only holds the 6 digits (multiplexed), and one "COM controller" part with 6 digits, the inputs from the switches/encoders and the serial port interface. The reason for using two parts is
1) difficult to mount switches on a breadboard - heigth migth be an issue
2) lot of "dead space" if going for a pcb solution
3) smaller modules are easier to prototype

The modules used here should be usable for all parts requiring 6 digits, as we have one intelligent unit (the controller) and one dumb unit. Hopefully, they will be reusable elsewhere in the cockpit.


Capt Bobby
08-24-2007, 09:23 AM
An Answer to tunatuk (http://www.mycockpit.org/forums/member.php?u=482) posting on previous page

You CAN use rotary switches to INCREASE as well as DECREASE Nav/Com Radio Frequencies. Just wire a 1 pole 12 position rotary switch as a 1,2,4,8 binary code output. Then all you need to do is to create a PIC code that will read the binary and determine the direction of rotation. That's what Desktop Aviator (http://www.DesktopAviator.com) did with their NAV/COM Radio and their Autipilot Panel.