DIY Hotas FA-18C Hornet Stick and Throttle

Hi, I’ve been working on my DIY Hotas for a couple months now, I ordered some parts, but now I’m trying to get an Aliexpress order done so I can finish the project.

I am using TLE5010 sensors for the Axes on the stick and throttle, and SS49E hall effect sensors for the rudder pedals. Planning to use MMJoy2 for the AtMega32u4 pro micro’s I have.

The PCB’s I’m using for the TLE5010 Sensors are a shared PCB from rel4y on oshpark, the version C. I drew up a diagram in MS Paint to to get some Feedback. The I2C board is using a MCP23017 chip. The design for the 3d printed Hat Switches is something I found on this forum, I am using 3 of those, one of them serving as an 8 way switch that works by hitting two buttons at once. Possibly figuring out a way to add a push feature to two of the hat switches.

The biggest headache I’ve had is figuring out the wiring for everything. This is my first electronics project like this and I’ve had trouble sifting through information trying to figure out exact how to get it all to come together so any help would be super welcome.


Hello and welcome to the forums. That’s quite an ambitious first project you got there.

Just looking at the diagram I can already spot some problems. I am not sure this is because you simplified it but the way you wired up the keyboard switches, micro switches for the 3D printed hat switches and the triggers into the MCP23017 won’t work. They need to be wired in parallel to individual inputs of the I2C converter.

It’s late here and I can take a more detailed look at it tomorrow. But that whole wiring into the I2C board won’t work this way.


I would greatly appreciate the help if you could look at it tomorrow. Even if it’s just suggesting an entirely different way of wiring them. The only things I have in hand so far are the PCB’s for the TLE5010, the Arduino Pro Micros, and the physical buttons and micro switches. I probably should have specified that sorry.


Yes, I will take a look at the data sheet for the I2C converter and draw up the wiring some time tomorrow, it’s not too complicated and I haven’t counted the inputs (you might need more than one I2C converter or one with more parallel inputs here). You will need a few resistors as well. I can tell you the resistor value once I looked at the data sheet but something in the 330-1k range will probably be fine.


Thanks a ton, if there is any specifics you need from me just let me know

1 Like

Welcome @Charwhal !
Congratulations for embarking on this hardware journey!

There’s a lot of very smart people here and let me tell you, Derbysieger is definitely someone you can trust about this.

Take care and, again, welcome at Mudspike. :smiley:

1 Like

Sounds great, thank you!

I’ve tried getting help on reddit once, but didn’t really get anything useful, and saw this forum was pretty active and had posts about similar projects, glad I’ve found a good place I can get some help


He’s not a bad Eagle driver either.


Hey there @Charwhal and welcome to Mudspike! :mudspike:
I haven’t used that I2C board, so I can’t say for sure, but as @Derbysieger says, the way the switches are set up, they will all trigger the same input.
I use shift registers for my inputs.

When using multiple TLE sensors, you may have to remove the resistor on the MISO line on the TLE PCB and put a 10K resistor between MISO and VCC on the arduino.

What is your reasoning behind the Hall sensors for the rudders? Why not TLE sensors there as well? And why two? The rudder is usually one axis, but you may need sensors for toe brakes?

Lastly, since you’re making Hornet controllers. Have you heard of OpenHornet?


@Troll The I2C board isn’t anything special just something I came across on reddit and found on Aliexpress. It’s just got a MCP23017 chip in it. From that same post it seemed that I2C board was a shift register, but I’m not really knowledgeable enough to know for sure.

I’m not 100% sure if the traces are correct, but the PCB I’m using has 10k resistors on it. I decided to use Hall Effect sensors after trying to figure out the wiring and possibly not having enough inputs. I decided two because I haven’t designed my rudders yet (I had originally thought they would pivot on a single axis, but I hadn’t made anything concrete.) I do have enough TLE5010’s and PCB’s to do a single TLE5010 for the rudders, I have 6 PCB’s to use for this if needed. I figured two for axes, two for throttle and then one for pedals.

I have heard of openhornet, it’s where I got the 3d scans of the stick and throttle after trying for a couple weeks to make it myself in Fusion 360.

1 Like

It’s not even that. All the switches are directly connected to gnd which will create a short circuit as soon as one of them is pressed and only the two trigger switches are connected to inputs but without pull up or pull down resistors, the chip is capable of both active high and active low. It’s nothing more than a fancier shift register that outputs the serial data in I2C standard. It’ll work fine I think, be aware that microchip has changed the chip design slightly: GPA7 and GPB7 are output only, you can’t use them as inputs if the board uses a chip produced after 2022

@Charwhal Troll has much more practical experience building these custom controllers than I have and he knows what works. If he has a simple setup with shift registers and a µC listen to him :slight_smile:

In any case here’s a short diagram that shows how you can setup the switches with the MCP23017 as active high switches using pull down resistors at the inputs of the chip.
I have only drawn the diagram for two switches but every switch needs to be connected the same way to an individual input of the chip.


Ah, yes! Now I see it.

@Charwhal I made my own PCBs and used a teensy2 controllers with shift registers.

I have several leftovers, including teensy2 controllers, shiftregs, resistors and even TLEs on breakout boards, should you need.

I know @gadget has been working on some controller boards. Let’s see if we can lure him in here…


I don’t have anything technically interesting to say, except welcome @Charwhal!

@Derbysieger Do I understand that you are an actual F-15 pilot? Nice, I never knew!


Haha no, in my professional life I tinker with electronics, building and repairing high end guitar pedals for a small company in western Germany :slight_smile:

I do love the strike eagle though and I am in love with the radars capabilities


cough cough until the Phantom is out chough



Well, your flying skill is spoken of highly round here.

Maybe you should consider signing up! :saluting_face::grin::wink:


Come join us on Friday evening UTC for a few hours of fun, goofing around in various DCS modules :+1:


I’d like to add the non-insignificant detail that @Derbysieger is a fantastic teacher too.

I am too dumb to remember his lessons, but while we were flying the P-47 his explanations were absolutely perfect.

He knows his stuff. :+1:


@Derbysieger Ok, I think I’ve got the idea of it now. I drew it up again with the diagram you sent me as the starting point for the buttons, as well as replacing the two hall effect sensors for the rudder pedals with a single TLE5010. Hopefully it looks good this time. I’ve read that the Pro Micro’s with the AtMega32u4 chips have a built in pull down resistor in them, but I’m assuming that only works for directly wired inputs and wouldn’t work for the I2C board. I am also hoping to use all your guys’ help I’ve gotten with the stick to wire up the throttle once I get to that point.

@Troll If this new diagram looks like it works would moving the MISO’s to their own inputs on the Pro Micro’s work?

1 Like

Welcome to the forum @Charwhal !

1 Like