The ConTollR

Yes. DVik has a CNC lasercutter, which makes this part of the build a lot easier.
The mechanisms are quite fancy with adjustable friction…

Yes. Here’s a picture of the PCB design.

A shift register is a chip that allows 8 different buttons to connect to 1 pin on the controller.
Normally, every button need to close a curcuit which basically means shorting 2 pins.
The controller board normally has just maybe 10 pins, which would mean just 5 buttons, right.
Now you can either set it up as a matrix, where 5 pins form the columns, and 5 pins form the rows. This will allow for 5x5=25 buttons. Or you can use shift registers which will send 8 different button signals to a single pin on the board, making it possible to use 80 buttons, in this example.
Now I’m no electrician, so I’m trying to explain this so even I understand it :wink:

You can find a lot of good information at the MMJoy2 wiki:

1 Like

That’s the beauty of MMJoy2!
You can program the switch to send a momentary “press” when it’s switched on, and another “press” when it’s turned off again.

MMJoy2 is written by a flightsimmer, for flightsimmers…

1 Like

Who says I didn’t…? :wink:

1 Like

Well, not usually, even if you don’t use a matrix you either pull the pin high or low with the button, which usually means making a short with ground, or VCC depending how the internal pull-up/down works.

Ok?
I just went with what the MMJoy2 Wiki says…

Single button connection

Buttons and switches have at least 2 contacts and thus require 2 pins. They will send the signal by connecting them. Any board pin, except for the service ones (Reset/GND/VCC/AREF), can be used for a button

I see now that you are talking about a very specific instance, pins usually refer to connection points on a chip in this context, but i see they use it for generic GND connections. Fair enough then. I am usually of the opinion that you can dump anything in the ground plane as long as you are working low freq, when you go high you need to start taking the noise you create into account.

Btw, their debouncing is a little… weird. Using diodes works but is prohibitly expensive and is usually used as a debounce on a relay(the field being destroyed creates a loop back current). It’s often easier to grab a 10K resistor and just either go GND or VCC with that.

1 Like

Hey, I’m learning something! :wink:

Like mentioned earlier, I’m no electrician… Everything I know I had to google or pick up from others. :slight_smile:
But that’s what is so great about DIY projects. The need to learn comes as a bonus…!

Wait, they debounce in hardware? Why not in software? It’s ridiculously easy…

1 Like

Ehm…? Debouncing? Is that why you use diodes in the matrix?
How is this done in software…?

One cool thing with my ConTrollR throttle, besides the whole thing being cool :wink: is the gear handle…
I got the Honeywell “pull to operate” switch from a Italian military surplus seller on ebay. It was marked as “New, Old stock. Military aircraft surplus” and came with this round wheel metal handle.
Now, there are some civilian light aircraft that has electrically operated landinggear, that use similar switches as a gear handle. The Bonanza comes to mind…

Does anybody know what aircraft this switch may belong to…?

If there is no analog circuitry that will be disturbed by the rapid switching, you can just go directly into the ADC and limit the rate at which the digital signal can switch state in software.

Actually this site explains it much better and goes into some detail on the methods that are typically used

http://www.labbookpages.co.uk/electronics/debounce.html

1 Like

Ah! Thanks.

It should have a PART number, unfortunately there’s no international database to see in which aircraft what part numbers are, these manuals (IPC/IPB) differ per aircraft and sometimes add their own flavour of numberschemes and what will you.

So yeah… look at cockpit photo’s of Italian aircraft?

1 Like

Yeah, the part no. is the standard Honeywell military part no. for that switch, so no help there…

I found it! :slight_smile:

It’s from a SIAI Marchetti SF.260!

Take a look at the grey/orange handle in the upper right part of the panel…

Thanks for the tip @TheAlmightySnark!

3 Likes

Good spot. I have to say the sf 260 is a great aircraft.

2 Likes

It is!
I wrote a review of the Real Air SF.260, when it came out…

1 Like

Really cool!

I just built my own throttle quadrants out of 6 slide pots, a hunk of wood, and a Teensy. I wanted to get 8 axes in there, but it seems to be an iffy prospect for HID … I’ll have to look into it a little more deeply.

I was able to make some shift registers through Arduino code including for the rotary encoders. Those 32 slots fill up fast!

I don’t know if I’m ever going to get out of my wood phase. I don’t have a drill press or tools to work with metal, and I can screw up with plywood as often as I want … and it’s also nice because I can make quick mock ups and see how things would feel … But then I see something like this and think I should invest some time in learning a CAD, at least, as much as I love my handles made out of dowels and square pieces of lumber …

3 Likes

Wood is a wonderful material! And it can look just as nice…

Did you do the arduino coding yourself?

Wood can look nice, certainly; fortunately, VR is very forgiving. The main thing for me is just having that tactile feel of real buttons and switches. Hitting a toggle switch on its own panel is unjustifiably satisfying.

I modified the code from the Teensyduino project. Is mmjoy something you can muck around in, or is it hard coded? Have the extra two axes would be nice. I’d miss the ability to program, though. There are some real advantages to coding it yourself, though, custom shift registers being one, programming an eject switch that automatically repeats three times would be another.

1 Like