The plan is now being able to replicate a Mudhen UFC as well. Per se, they look quite similar, but the F-15E UFC has a few more features.
The panel took me 3-4 hours to complete from scratch. So, here it is, the quickest and simplest panel I have built so far.
Planning
The F-14 CAP is a very simple piece of avionics: a small keypad with a couple of additional buttons (two for latlongs, one Enter, one Cancel), a knob to select the page in use, and 10 buttons to select the desired function. In many ways, it really resembles the modern MFDs we are used to, but on a rotating drum.
The F-15E UFC is a bit more complex: it has the same keypad, the same 10 selection buttons, but an additional series of functions and two more knobs. Therefore, this new panel must be able to satisfy the needs of the Mudhen’s UFC.
Breaking down the functions, we have:
- 10 function selection buttons, five on each side;
- 10 buttons on the keypad (0 to 9);
- 10 additional functions (A/P, DATA, MENU, etc);
- two knobs to handle the radios + pushbuttons.
Arduino Leonardo
My go-to board is the usual Arduino Leonardo atmega32u4, which supports both HID and DCS-BIOS. There are other solutions around, but I have a good deal of firmware ready to be used for testing, diagnostics and production based on this board. Leonardo offers 18 I/O pins, 4x Analogue, 14x Digital. I want to keep things simple, so a button matrix sounds like a good choice.
The number of buttons I need fits into a 6×6 matrix. This leaves 6 pins open. The easy solution is then filling the remaining pins with three encoders (you can never have enough encoders!).
Design
I have a couple of TFT around, one is used as a sort of mini-flight computer: I coded a simple means to dynamically calculate the A-Pole of an AIM-54A Mk60 long before the TTI was fixed in the game. It then helped me to calculate the target aspect by getting the heading from the BDHI and providing the reciprocal accounted for an estimated magvar. The second TFT was sitting there gathering dust, so using it for the CAP sounded like a good idea.
The only question is how the other buttons should be arranged. The standard, numpad-like arrangement for the keypad makes a lot of sense, but I wanted something closer to the F-14’s CAP. Since six buttons can be accommodated in a single row, [CLEAR] and [ENTER] can be placed on the same row of the numbers. This layout leaves some room for a third row of buttons. The only remaining point is how to handle [N/E] and [S/W]. There was enough space for two separated buttons, but since they are mutually exclusive, I opted for a three-way momentary switch.
Another detail to consider is the location of the hole where the desk support sits, and the position of the USB plug that powers the TFT.
Before proceeding, a quick look at the full setup, to check potential ergonomics / usability issues. Since each of my panel is modular and can be replaced in a few seconds, I wondered whether having it on the left or the right would be a good idea. For the moment, it will be mounted on the left side of the panel.
The F/A-18 UFC will be replaced at some point by something else, although I will probably wait for the F-4 to be released first.
When using the Mudhen (if I’ll ever do), three MFC will be imposed over the RIO panel, the F/A-18C UFC, and the 7″ LCD. The fourth is already in place over my Virpil Throttle.
This is how I have planned the F-15E setup. I have everything already, I just need a fourth TM MFD.
The plan does not show the Virpil T-50 Throttle and Stick, and the CH Fighterstick I use for RIO stuff.
Wiring Diagram
If you have worked with a button matrix before, this diagram will looks incredibly simple to you. In fact, the 3×6 set of buttons automatically solve the wiring of the first three “X”, and provide a neat anchorage for the “Y”.
And there you go, half-hour later, the design and layout are done!
I did not draw the diagram for the encoders, as they are very simple to use. My ancient Arduino step-by-step guide shows how they are connected.
Drilling & Soldering
Due to the arrangement of the buttons, the drilling phase is simple and straightforward. I only have a simple hand drill though, I totally need to get a small CNC! For this reason, the buttons won’t be as neatly arranged as they should, something that bothers my OCD a little 🙂
Cutting a window for the TFT instead, took much longer, armed with only a small cutter.
Soldering
The wiring went through nice and easily. In a couple of hours, everything was done.
Firmware
This is the easiest part. The firmware, in fact, was already done. All I had to do was changing the definition of the matrix and the encoders.
2.8″ TFT
The TFT I used is another Elegoo El-SM-004, controlled by an Arduino UNO R3. It’s cheap, it comes with a board, but there are even cheaper solutions around. In fact, the most efficient option would be controlling the TFT along the CAP/UFC using a single board. However, chances are there when the F-4 will come I will replace this panel (the beauty of a modular setup) but still use the TFT for other solutions.
The firmware is old and still WIP. There’s a simple multidimensional array that stores the definitions, and a single function that writes the page, automatically centring the labels depending on the length (I have eyeballed the values, it can be refined and made more precise). It is not as efficient as I would like, since the TFT drawing speed is very limited, but it works very well. For the moment at least.
It does not look great on camera (my phone’s camera especially), but “live” looks great, actually.
Final Result
I’m satisfied with the CAP/UFC. A 3-4 hours job, that does its job without being particularly fancy or difficult to build. Its total cost, TFT excluded (it’s about £15 on Amazon, nothing crazy) is about £30.
The final step would be adding labels. I usually use a bit of black electrical tape and a permanent pen, but it does not last when the button is used often. The stickers I had and I used for the F/A-18C UFC, were from my old CH MultiFunctional Panel.
I ordered a set of stickers from eBay. We’ll see how they look like when they are delivered at some in the next couple of weeks!