Skip to content
Arduino USB interface for Logitech G27 Pedals and Shifter
Branch: master
Clone or download
functionreturnfunction Merge pull request #17 from per1234/sketch-folder
Move sketch to appropriately named subfolder
Latest commit 3b0fe54 Dec 3, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
G27_Pedals_and_Shifter Move sketch to appropriately named subfolder Nov 26, 2018
Altoids Tin.jpg Added a couple images. Mar 6, 2016
Breadboard.jpg Added a couple images. Mar 6, 2016 Updated readme. Mar 8, 2016

G27 Pedals and Shifter

Arduino-based USB interface for Logitech G27 pedals and shifter:

on breadboard ![in altoids tin]( Tin.jpg)

Required Parts/Materials

  • SparkFun Pro Micro or clone (must be a 5V/16MHz ATmega32U4 with onboard USB)
  • DB9 Connectors 1 male, 1 female
  • Hookup wire in assorted colors (I used red, black, blue, green, purple, yellow, orange, and white)
  • Some kind of project box (I used an Altoids tin)


Connect the female DB9 connector for the pedals to the board using the pins in the table in the .ino file. Do the same with the male DB9 for the shifter.

NOTE: when wiring the male connector for the shifter, remember that the pins will read right to left rather than left to right.


Open the .ino file in the Arduino IDE, select the proper board type and COM port under "Tools" (you will need to install the SparkFun board library). You will probably need to adjust the thresholds for SHIFTER_XAXIS_12 and friends, the values that decide which gear you're in based on the x/y axis of the shifter. Uncomment the #define DEBUG_SHIFTER true line near the top to get debugging information to aid in this process.

Calibration and Configration

The pedals are self-calibrating, meaning the system determines the min/max value for each pedal in realtime. What this means is that each time the device is powered on, you'll need to push each of the three pedals all the way to the floor once to let it know what the maximums are.

When configuring the shifter and buttons, gears 1 - 6 are buttons 1 - 6, reverse is button 7, and then the rest of the buttons enumerate from there starting from the top black button.

You can’t perform that action at this time.