My daughter is keen on flying simulators and wanted a Trim Wheel for her birthday. Unfortunately the main supplier of simulator trim wheels (Saitek) doesn’t seem to sell them in the UK anymore. So I decided to figure out how to make one.
Apparently a real trim wheel (or trim-tab) generally has a long cable attached to a pulley which is turned by the wheel. The cable causes the elevators to move very slightly so that it is possible to ensure that the plane stays in level flight at the current speed. So in order to make something similar I’d need to add a wheel onto Grace’s existing flight controls and try to make it not look too out of place.
My first thought was that the wheel in the Cessna Trim-Wheel photo looks clearly metallic and it would be hard to make something like this with my limited metalworking skills. So I looked online for real parts and found a nice wheel-only part on Ebay which wasn’t too expensive $20. I bought it a couple of weeks ago but unfortunately it didn’t arrive in time for her birthday (it was coming from the US) a couple of days ago – indeed it still isn’t here.
So I’ve ended up with a fully 3D printed version (design files here) and it doesn’t look too bad in fact. I tried to get the curve of a cowl correct to blend in with the Saitek controls she already uses. I didn’t get it quite right but it does hide some of the workings and makes it look a little more professional.
Magnetic Rotation Sensor
Sensing the position of the wheel is done using a magnetic rotation sensor – AS5048A. I actually had an evaluation board for this part and that made it very easy to use. It has four mounting holes and I ensured the centre of the sensor chip would be in-line with the axis of rotation of the wheel.
The only tricky part of the design was getting the magnet (which is simply magnetically stuck to the end of the bolt which forms the wheel axle) to stay put and centred on the sensor. It kept wanting to attach itself to the bearings that hold the axle or any metal tool that I happened to be using nearby. A tiny spot of superglue seems to have fixed that – for now at least.
The wheel is held in place by a nyloc nut which is sandwiched between the two bearings. This allowed me to make the whole assembly quite a bit thinner.
The people at PJRC are seem to be pretty interested in gaming uses for small microcontrollers and have made it possible to create a USB joystick emulator with minimal code. In fact in only around 10 lines you can have a working Joystick which reads its data from a potentiometer or similar. The extra code to get readings from the AS5048A uses a library which was originally written for the Arduino and doesn’t seem to have any attribution – apologies if that’s not the case but the source code I have doesn’t explain its origin or licensing.
word val = angleSensor.getRawRotation();
word joyVal = val/16;
Programming the Teensy is done using the Arduino IDE. A key part is to choose the correct settings for the USB Type and CPU speed in the Tools menu. I found that the highest speed didn’t work with the AS5048A.
The AS5048A can run off 3.3V directly and in this mode the 5V and 3V3 lines are both connected to 3V3 of the Teensy. The full list of connections is:
|AS5048A Pin Name||Teensy 3.2 Pin Name||Teensy 3.2 Pin Num|
Using in FSX
To use the trim wheel in FSX simply requires adding it in the settings. Plug the teesny into USB on flight simulator computer and then follow instructions for adding any trim wheel such as Saitek – e.g. Youtube video here
The trim wheel will appear in the settings as SerialKeyboardMouseJoystick or similar.
The good news is that it works and my daughter seems pretty happy with it!