Racing wheels are overpriced in Brazil. What to do when you love race games and don’t have enough money to buy a pro racing wheel? You build one! Or try at least.
I begin to work in this project almost two years ago, beginning of 2015 , and changed two times the hardware until find a satisfactory result. Here are the three ideas that I try:
Fist idea: I bought an incremental enconder and wired it to an Arduino uno. The Arduino reads the encoder using interruption and generate pwm signals. I disassembled a Xbox controller and ripped the left analog stick from the board. I have measured the maximum DC voltage that supply the potentiometer, and used a low-pass filter attached to the pwm output of the Arduino to regulate and convert the signal to DC. The output from the filter is solder to the x-axis of the left analog stick.
The encoder was attached to a steering wheel. I found some pedals from an old racing wheel. It just has throttle and brake, and it’s basically two potentiometers. Then soldered the wires of the pedals on the holes from the potentiometers from the triggers of the xbox controller. I did not finish this project, but I will try to write a post.
Second idea: Use the library UnoJoy on an Arduino uno with the encoder and the pedals. I just thought and did some search about. I think this is the easiest method. I will try to make to compare the efficiency with the third idea.
Third idea: I loved to make this. I saw a project from Zachery Littell when I was searching about HID. He made a fight stick, emulating a xbox controller in a Teensy LC microcontroller . This is amazing. I ported his library, and HID descriptors to a stm32f103c8t6 microcontroller. Moreover, I need to turn it on a racing wheel.
This method is the most difficult, but I learnt a lot. In this project, I worked with HID, ADC, GPIO, interruptions.
The next posts I will explain and discuss how to implement which of the 3 ideas.
Ps. I would appreciate it if you read the first post of the blog , where I talk about the objectives of this blog, and help me to achieve them.
 UnoJoy- https://github.com/AlanChatham/UnoJoy
 FightStick xinput – http://www.zlittell.com/2015/07/fightstick/