Jump to content

RIO button box


DeltaMike

Recommended Posts

Getting back into DCS after a hiatus and seriously thinking about doing a deep dive into the F-14 for various reasons.  Enjoy playing RIO although I need some work in that department.  OK, a lot of work. Question. 

Any of you RIO's using a button box?  Or interested in one (found a dude on Etsy who makes custom boxes for not much $)

Primarily interested in an exact replica of the sensor control panel which can be used by feel in VR, for "left hand" functions (figuring my warthog has plenty of switches for radar and hcu modes, and also not against using a mouse when I'm not glued to the radar screen).  Kinda leaning toward "KISS" principle, so, thinking I'll just have sensor controls on it.  Well OK, maybe a launch button.  Maybe a modifier button.  OK maybe a TCS slave switch.  As is often, perhaps always the case, mission creep is setting in.  Seriously if you guys don't help me out, before it's all over with I'll have the guy building an entire left hand console and then I won't be able to find ANYTHING from under the hood and I'll just go back to using an xbox controller (which isn't terrible actually). 

What do you have, or would want to have, or recommend to have on such a box?  

Also gauging interest, maybe the dude will do a group discount eh.  Looking at this guy, who lives near me.  In fact I wonder if I know the guy... I might. Price is right, I'll say that.  

Ryzen 5600X (stock), GBX570, 32Gb RAM, AMD 6900XT (reference), G2, WInwing Orion HOTAS, T-flight rudder

Link to comment
Share on other sites

Yup, I built a bunch of panels. Besides the last 4 dreaded encoders, I built it between 2018 and 2019.

It's not fancy, it's meant to be as flexible, reliable and cheap as possible. It looks rubbish because it was built without a proper plan in mind until the release of the F-14. But then I did not have enough time to re-do some of the older boxes.

What you are asking can be done with 15/25£ top if you have patience. It mostly depends on which buttons, switches and encoders you want to use.
In fact, there are many ways to do a sensor CP replica. The simplest, if you can live with temporary switches, is using a bunch of encoders along a quite big button matrix: easy to build, wire and the coding is straightforward. Besides that, you need an enclosure, hand drill and soldering iron.

To give you an idea, my entire panel block, RAF Jaguar TACAN excluded, is probably 150-200£ hardware-wise. Probably less, depending on where you buy (it's the time invested and the coding that would drastically increase the cost of it).
I can't comment on the link you posted, but if you can live with a much less refined enclosure and labels, it's probably around 10-15$, material-wise (time of building and coding excluded).

 

setup-2201-complete-rio-1.jpeg

rio-5-setup.jpg

I forgot to turn on the 8" LDC on this one 😕

setup-2201-complete-ah-64-1.jpeg

  • Like 3
full_tiny.pngfull_tiny.png
full_tiny.png

"Cogito, ergo RIO"
Virtual Backseaters Volume I: F-14 Radar Intercept Officer - Fifth Public Draft
Virtual Backseaters Volume II: F-4E Weapon Systems Officer - Internal Draft WIP

Phantom Phamiliarisation Video Series | F-4E/F-14 Kneeboard Pack

Link to comment
Share on other sites

4 hours ago, Karon said:

Yup, I built a bunch of panels. Besides the last 4 dreaded encoders, I built it between 2018 and 2019.

It's not fancy, it's meant to be as flexible, reliable and cheap as possible. It looks rubbish because it was built without a proper plan in mind until the release of the F-14. But then I did not have enough time to re-do some of the older boxes.

What you are asking can be done with 15/25£ top if you have patience. It mostly depends on which buttons, switches and encoders you want to use.
In fact, there are many ways to do a sensor CP replica. The simplest, if you can live with temporary switches, is using a bunch of encoders along a quite big button matrix: easy to build, wire and the coding is straightforward. Besides that, you need an enclosure, hand drill and soldering iron.

To give you an idea, my entire panel block, RAF Jaguar TACAN excluded, is probably 150-200£ hardware-wise. Probably less, depending on where you buy (it's the time invested and the coding that would drastically increase the cost of it).
I can't comment on the link you posted, but if you can live with a much less refined enclosure and labels, it's probably around 10-15$, material-wise (time of building and coding excluded).

 

setup-2201-complete-rio-1.jpeg

rio-5-setup.jpg

I forgot to turn on the 8" LDC on this one 😕

setup-2201-complete-ah-64-1.jpeg

 

You Sir are sick.

 

 

Very sick indeed , but in a good way. 

😉

 

Very nice

Link to comment
Share on other sites

Welcome to the club, Mike. I fly almost exclusively as a RIO and it's a totally different flight sim experience from anything else I've done.

I've built a few custom button boxes/enclosures, and I have the excellent CAP input panel from TekCreations on Etsy. I highly recommend it.

I have an armament panel that includes Next Launch, Phoenix Active/Sparrow PD, Launch, and tank/weapons jettison, as well as some AWG-9 functions from the left side of the DDD (MLC, Target Size, Aspect). It's something I'd like to put up for sale but haven't gotten around to it.

My armament panel up top, TekCreations CAP panel on the bottom:

Screenshot-20220202-124930-983.png

I also have a center console with mode and DDD range buttons and a warthog stick + HCU selection buttons (DDD, TID, RDR, ICS), and it has a built in monitor for a TID/DDD repeater. That one needs some refinement before I could sell a version of it.

Here's the center console mounted on a folding cockpit frame (made to fit in a 22" wide closet!) with the TekCreations panel. The pit is interesting to fly in - from the numbers I have it's close to the dimensions of a real Tomcat cockpit and it's very tight:

IMG-20211205-131253826-HDR-2.jpg

TID and DDD in action, with the CAP panel all lit up:

IMG-20211210-213737338-HDR-2.jpg

Karon, that setup really is sick, and I love your site! I've got your kneeboard pages printed and inserted into a real kneeboard I strap to my leg. Very dorky but surprisingly helpful.


Edited by WhiteRabbit
Add images
  • Like 8
Link to comment
Share on other sites

Whoa WR that's a cool setup

Back when I had room I kind of went back and forth on whether to play in VR or on monitor, I do think some kind of head tracking is important because I may be a noob when it comes to radar but I can dispense flares with the best of em.  "OH there he is, he's right on our tail."  Now that I am set up in a 8sqft space, it's pretty much VR the whole way lol.  Recently got a G2 so at least I can read whats on the monitors...

So the challenge is to operate the radar essentially blind, with a minimum amount of fumbling around.  So there's the right hand stuff, most if not all of which I can map to joystick.  Left hand functions, which is where the sensor control panel comes in.  Here, complexity is actually a handicap, it would be quicker to just grab the mouse than feel around.  And everything else for which I use the mouse.

Was only half joking about the xbox controller, it actually works pretty well... iirc I was doing radar controls with the left hand, so the stick was az/el, click to center.  Four-way was bars/az,  Right hand was hcu and radar modes.  CM on the bumpers. Don't remember how I mapped the two stage trigger.  Not perfect but surprisingly not bad.  But, my warthog has been gathering dust since my winwing stick came in, would be nice to put it to some use I guess.  

That said, your weapons control panel is the shiznit, that may well be worth developing the muscle memory.  Just depends, the extent to which you do that stuff as part of pre-flight vs trying to deal with it when the fur is flying....

Ryzen 5600X (stock), GBX570, 32Gb RAM, AMD 6900XT (reference), G2, WInwing Orion HOTAS, T-flight rudder

Link to comment
Share on other sites

Just incredible, nice work

Ryzen 5800x@5Ghz | 96gb DDR4 3200Mhz | Asus Rx6800xt TUF OC | 500Gb OS SSD + 1TB Gaming SSD | Asus VG27AQ | Trackhat clip | VPC WarBRD base | Thrustmaster stick and throttle (Deltasim minijoystick mod).

 

F14 | F16 | AJS37 | F5 | Av8b | FC3 | Mig21 | FW190D9 | Huey

 

Been playing DCS from Flanker 2.0 to present 😄

Link to comment
Share on other sites

Thanks everyone!

DeltaMike, I've changed my setup a few times now and I find it really helps laying things out roughly where they are in the cockpit, even if it isn't 1:1. I have a mental image of the in-plane control panels in my head from staring at the screen so long, which makes it way to easier to instinctively reach to roughly the right place on my setup. I can see how it would be necessary in VR.

But as for what I've got mapped there, I use the tank jettison, target size selector, and next target switches/buttons every flight. And I use Phoenix active, MLC, and the aspect switch most flights.

I used to fumble around with a mouse for most of those until my pilot and I really started working on our timeline. Mimicking the cockpit setup isn't necessarily faster than any other button box (or Xbox controller) but it's definitely faster than a mouse and easier to remember where things are if I've been out of it for a week or two.

The Sparrow aspect selector knob is just there because it's cool, and that's worth it to me. The station select switches would be really useful, except it doesn't look like we can bind them! Get on it, guys! For now I use one of them for TCS slave and one for FOV wide/narrow.

  • Like 1
Link to comment
Share on other sites

Thanks folks!
 
I originally wanted to build a 1:1 replica of the backseat, but then it would have lost its flexibility (atm I can swap panels or have additional MFDs in 30"). Moreover, I used to live in tiny flats until recently (Londoners will understand), so the whole setup is designed to be removed quickly and sit comfortably on a couple of shelves.
 
@WhiteRabbit: your setup looks much better than mine. The armament panel is terrific, well done!
I wanted to upgrade some features, but many keybinds are missing, and the F-4 is coming. I'd rather wait and build something that works on both.
Speaking of mouse, I can't get to it, and it kind of kills my immersion. Hence the number of functions and the size of the panel 🙂
 
@DeltaMike: about his:
> So the challenge is to operate the radar essentially blind, with a minimum amount of fumbling around.
Once you have a panel set and done, it's all muscle memory. The advantage of building your panel is that you can configure it as you please. For instance, if you are a VR user, you can use different sets of button caps: e.g. square/round/nipple/round/square on each side. By feeling the different shapes, you can immediately understand which function you are about to action.
 
The flexibility factor is even increased when you write the firmware. Take this little box:
setup-2102-peripherals-05-rio-radar-pane
It commands 121 joystick buttons with a simple and plain Arduino Leonardo by doubling the number of functions with a sort of master switch that sends different HID outputs depending on its position. Other examples are the rotary encoders to select the TID modes or the waypoints, or the master arm that flips the cover at the same time.
Your imagination is the only limit 🙂
  • Like 3
full_tiny.pngfull_tiny.png
full_tiny.png

"Cogito, ergo RIO"
Virtual Backseaters Volume I: F-14 Radar Intercept Officer - Fifth Public Draft
Virtual Backseaters Volume II: F-4E Weapon Systems Officer - Internal Draft WIP

Phantom Phamiliarisation Video Series | F-4E/F-14 Kneeboard Pack

Link to comment
Share on other sites

I did up a table top cheater rig off a converted old suncom Talon base I had left over from making a F-15, F/A-18, Harrier Warthog compatible grip (that I still haven't finished) it's not a pretty as White Rabbit's TID/DDD. I just use a second monitor to run DDD and TID side by side. The Weathering I did on it looks better, especially after a few more passes of scratches, chips and touchup painting. 

bSnOm31.jpg


Edited by RustBelt
  • Like 1
Link to comment
Share on other sites

On 2/2/2022 at 11:09 AM, WhiteRabbit said:

Welcome to the club, Mike. I fly almost exclusively as a RIO and it's a totally different flight sim experience from anything else I've done.

I've built a few custom button boxes/enclosures, and I have the excellent CAP input panel from TekCreations on Etsy. I highly recommend it.

I have an armament panel that includes Next Launch, Phoenix Active/Sparrow PD, Launch, and tank/weapons jettison, as well as some AWG-9 functions from the left side of the DDD (MLC, Target Size, Aspect). It's something I'd like to put up for sale but haven't gotten around to it.

My armament panel up top, TekCreations CAP panel on the bottom:

Screenshot-20220202-124930-983.png

I also have a center console with mode and DDD range buttons and a warthog stick + HCU selection buttons (DDD, TID, RDR, ICS), and it has a built in monitor for a TID/DDD repeater. That one needs some refinement before I could sell a version of it.

Here's the center console mounted on a folding cockpit frame (made to fit in a 22" wide closet!) with the TekCreations panel. The pit is interesting to fly in - from the numbers I have it's close to the dimensions of a real Tomcat cockpit and it's very tight:

IMG-20211205-131253826-HDR-2.jpg

TID and DDD in action, with the CAP panel all lit up:

IMG-20211210-213737338-HDR-2.jpg

Karon, that setup really is sick, and I love your site! I've got your kneeboard pages printed and inserted into a real kneeboard I strap to my leg. Very dorky but surprisingly helpful.

 

If you ever do sell that Armament Panel I would totally buy one.

Link to comment
Share on other sites

  • 1 month later...
On 2/2/2022 at 11:09 AM, WhiteRabbit said:

Welcome to the club, Mike. I fly almost exclusively as a RIO and it's a totally different flight sim experience from anything else I've done.

I've built a few custom button boxes/enclosures, and I have the excellent CAP input panel from TekCreations on Etsy. I highly recommend it.

I have an armament panel that includes Next Launch, Phoenix Active/Sparrow PD, Launch, and tank/weapons jettison, as well as some AWG-9 functions from the left side of the DDD (MLC, Target Size, Aspect). It's something I'd like to put up for sale but haven't gotten around to it.

My armament panel up top, TekCreations CAP panel on the bottom:

Screenshot-20220202-124930-983.png

I also have a center console with mode and DDD range buttons and a warthog stick + HCU selection buttons (DDD, TID, RDR, ICS), and it has a built in monitor for a TID/DDD repeater. That one needs some refinement before I could sell a version of it.

Here's the center console mounted on a folding cockpit frame (made to fit in a 22" wide closet!) with the TekCreations panel. The pit is interesting to fly in - from the numbers I have it's close to the dimensions of a real Tomcat cockpit and it's very tight:

IMG-20211205-131253826-HDR-2.jpg

TID and DDD in action, with the CAP panel all lit up:

IMG-20211210-213737338-HDR-2.jpg

Karon, that setup really is sick, and I love your site! I've got your kneeboard pages printed and inserted into a real kneeboard I strap to my leg. Very dorky but surprisingly helpful.

 

Man I can wish, used to do only f14 RIO for a long time; nowadays I am being pushed into pilot, but I want that center console and armaments button box so bad. That frame you have is also awesome and something I need to look into making too. And now with the f-4 coming out I want to build an f-4 based simpit because I will probably never fly anything but that and an f16 again. 


Edited by Zpigman
Added new comment on frame
Link to comment
Share on other sites

  • 2 weeks later...

@Karon I am just starting down the diy controller rabbit hole. I would like to start with something simple-a box with 12 dials for all the analog things like lights in the aircraft I fly. It seems the arduino leonardo can do this. Why did you choose it over a teensy? From what I have read, you cant have more than 1 leonardo per pc due to usb id limitations. But it seems you have a bunch of them all working at once. 

Also, where did you get your pots, knobs, etc.? 

Your setup is not only impressive in scope but also in imagination.

4930K @ 4.5, 32g ram, TitanPascal

Link to comment
Share on other sites

Hi @skypickle, way too kind 🙂

What do you mean with "dials"? Rotary encoders or potentiometers? I'd use the encoders if I were you, and if you have a spare pin, you can create a "master switch" to duplicate all the functions. In other words, if an encoder commands HID_joystick_button 0  and HID_joystick_button 1, you can very easily have it check the Master switch and output HID_joystick_button 2 and 3, rather than the previous. De facto, you'd have a total of 12*4 buttons, rather than 12*2. It's just a matter of simple coding. Actually, one of my first boxes uses a 3-way latched master switch, so each rotary encoder controls 9 logical functions (CW, CCW, Pushbutton *3).
Btw, I don't think you can have more than 8 or 9 encoders on a plain Arduino Leonardo board. You'd need a button matrix (but it is not recommended for the encoders - I never tried myself) or a port extended to have more.
You can have as many Leonardo as you want, just change the PID and the VID. Have a look here.

 

I never heard of teensy tbh. Background: ages ago I used to work with PICs, developing in assembly devices for automation. Fast-forward to present day, I wanted to see if those PICs were able to handle HID, but it was a bad idea. I then found Raspberry and Arduino, and chose the latter. It's incredibly easy to work with, it had the library I wanted, so it was a solid and easy option.
I just looked a bit more into teensy. If they have a Joystick/HID library already, then it is worth a shot, especially if they have more I/O ports.

 

I buy most of my knobs and pots via Amazon UK because I have no patience and I love the same-day delivery, although they cost at least 20%-30% more than other stores 🤷‍♂️

 

EDIT - I forgot to add: plan everything on paper first.

For instance, this is one of the sketches I made long before I even ordered the necessary components. Scale is 1:1 - More here.

rio-1-planning-libreoffice-full-setup.jp


Edited by Karon
full_tiny.pngfull_tiny.png
full_tiny.png

"Cogito, ergo RIO"
Virtual Backseaters Volume I: F-14 Radar Intercept Officer - Fifth Public Draft
Virtual Backseaters Volume II: F-4E Weapon Systems Officer - Internal Draft WIP

Phantom Phamiliarisation Video Series | F-4E/F-14 Kneeboard Pack

Link to comment
Share on other sites

9 hours ago, Karon said:

Hi @skypickle, way too kind 🙂

What do you mean with "dials"? Rotary encoders or potentiometers? I'd use the encoders if I were you,

 

I guess icould use an encoder. With 12 digital inputs on an arduino. that would only give me 6 encoders per arduino. Then i could use the 6 analog inputs with potetiometers which gives me another 6 dial controls.   But I am confused about how to talk to the pc and make the arduino look like a HID. This video makes it look complicated.

https://www.youtube.com/watch?v=RoG_-9lAnSI

This suggests that an arduino is a serial device and to make appear as a usb device requires extra work

https://learn.sparkfun.com/tutorials/usb-serial-driver-quick-install-/all

Obviously you have many arduinos talking to your pc and they are appearring as usb peripherals. What does your arduino code look like?

4930K @ 4.5, 32g ram, TitanPascal

Link to comment
Share on other sites

15 minutes ago, skypickle said:

I guess icould use an encoder. With 12 digital inputs on an arduino. that would only give me 6 encoders per arduino. Then i could use the 6 analog inputs with potetiometers which gives me another 6 dial controls.   But I am confused about how to talk to the pc and make the arduino look like a HID. This video makes it look complicated.

https://www.youtube.com/watch?v=RoG_-9lAnSI

This suggests that an arduino is a serial device and to make appear as a usb device requires extra work

https://learn.sparkfun.com/tutorials/usb-serial-driver-quick-install-/all

Obviously you have many arduinos talking to your pc and they are appearring as usb peripherals. What does your arduino code look like?

Arduino, at least for this basic stuff, is coded in a C-like language.

This is my firmware for the TACAN (I'm not sure is the latest version): https://www.dropbox.com/s/i8q8bldvpbt2sv7/F-14_TACAN_v03d.ino?dl=0
I never fully finished it, and it's quite rushed as usual, but it gives you an idea of how simple coding for Arduino is (as long as you're at least a bit familiar with C). It uses a mix of DCS-BIOS to get the status and HID to send them out, so it works with any module, but it synchronizes automatically only with the F-14 (video).

The code for basic control panels without DCS-BIOS is much simpler. This is an example: 6 encoders + a 3x3 button matrix. It was my second box: https://drive.google.com/file/d/1fP0zBfWA0Za_0PwWI5mQybGBSFTfvLGQ/view
All you need to do is changing the pin arrangement, upload the firmware, and you're set.

 

The video you linked talks about Arduino Uno. Leonardo has ad hoc libraries that really simplifies your life. Generally speaking, you just need to include the libraries via the usual directives:

#include <Keypad.h>
#include <Joystick.h>

Then you play with the buttons by accessing them directly (after initializing the variables, ofc). For example, the following lines activate and deactivates a joystick input after 100ms.

Joystick.setButton(0,1);
delay(100);
Joystick.setButton(0,0);

If you look in other sections of this forum, you can find people way more dedicated and smarter than me that did really impressive works.

full_tiny.pngfull_tiny.png
full_tiny.png

"Cogito, ergo RIO"
Virtual Backseaters Volume I: F-14 Radar Intercept Officer - Fifth Public Draft
Virtual Backseaters Volume II: F-4E Weapon Systems Officer - Internal Draft WIP

Phantom Phamiliarisation Video Series | F-4E/F-14 Kneeboard Pack

Link to comment
Share on other sites

@Karon thank you for your contribution which in and of itself is already beyond my full understanding. But how do you make the arduino talk to a pc over usb? 

 

Also, why do you need a 3x3 matrix ?

I can understand this for example

// Rotary Encoder Inputs
// https://lastminuteengineers.com/rotary-encoder-arduino-tutorial/
#define CLK 2
#define DT 3
#define SW 4

int counter = 0;
int currentStateCLK;
int lastStateCLK;
String currentDir ="";
unsigned long lastButtonPress = 0;

void setup() {
  
  // Set encoder pins as inputs
  pinMode(CLK,INPUT);
  pinMode(DT,INPUT);
  pinMode(SW, INPUT_PULLUP);

  // Setup Serial Monitor
  Serial.begin(9600);

  // Read the initial state of CLK
  lastStateCLK = digitalRead(CLK);
}

void loop() {
  
  // Read the current state of CLK
  currentStateCLK = digitalRead(CLK);

  // If last and current state of CLK are different, then pulse occurred
  // React to only 1 state change to avoid double count
  if (currentStateCLK != lastStateCLK  && currentStateCLK == 1){

    // If the DT state is different than the CLK state then
    // the encoder is rotating CCW so decrement
    if (digitalRead(DT) != currentStateCLK) {
      counter --;
      currentDir ="CCW";
    } else {
      // Encoder is rotating CW so increment
      counter ++;
      currentDir ="CW";
    }

    Serial.print("Direction: ");
    Serial.print(currentDir);
    Serial.print(" | Counter: ");
    Serial.println(counter);
  }

  // Remember last CLK state
  lastStateCLK = currentStateCLK;

  // Read the button state
  int btnState = digitalRead(SW);

  //If we detect LOW signal, button is pressed
  if (btnState == LOW) {
    //if 50ms have passed since last LOW pulse, it means that the
    //button has been pressed, released and pressed again
    if (millis() - lastButtonPress > 50) {
      Serial.println("Button pressed!");
    }

    // Remember last button press event
    lastButtonPress = millis();
  }

  // Put in a slight delay to help debounce the reading
  delay(1);
}

but windows does not see it as a game controller/

4930K @ 4.5, 32g ram, TitanPascal

Link to comment
Share on other sites

We're definitely going OT here, I'd recommend opening a thread in the section I mentioned above 🙂

To quickly answer:

1- a 3x3 matrix gives you 9 buttons using 6 pins, so it's advantageous;

2- the sketch you posted works with the Serial Monitor, showing different messages depending on what you do with the encoder. You need to include the appropriate libraries and define the correct variables. Start by using a firmware that already does this (there are plenty around, give me a shout if you can't find any): most of the time, all you need to do is assigning the correct pins to some variables.

full_tiny.pngfull_tiny.png
full_tiny.png

"Cogito, ergo RIO"
Virtual Backseaters Volume I: F-14 Radar Intercept Officer - Fifth Public Draft
Virtual Backseaters Volume II: F-4E Weapon Systems Officer - Internal Draft WIP

Phantom Phamiliarisation Video Series | F-4E/F-14 Kneeboard Pack

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...