Logitech G25 Carbon Button Panel and Nextion Display

I’m a casual sim racer, as is evident by my ageing tech, the idea for this project came about when the two buttons found on my* G25’s rim ceased to function. A broken wire was to blame, and whilst it would have taken me half an hour to fix, I saw an opportunity to make my wheel a little more immersive.

Motorsport Maker G25 Button Panel & Display

My initial thought was to replace the factory fitted steering wheel with a D shaped 320mm OMP wheel. But true to my Yorkshire roots, I just couldn’t justify the cost of a new wheel when my time for sim racing is limited to just a couple of hours a month. The G25 rim is still in fairly good shape, and I looked forward to the added challenge of working within the tight confines of it.

Carbon Fibre Panel & 3D Printed Enclosure
Given the small dimensions of the panel I opted for 1.5mm carbon, the results are an attractive and strong piece with no evidence of deflection when pressing the buttons or pulling the magnetic paddle shifters.

One of the goals when designing this panel was to limit the amount of exposed carbon around the buttons opting for a cleaner less cluttered approach, and if needs be adding labels to button caps rather than around them.

For the enclosure I tried to keep things as simple and as low profile as possible, it fastens to the carbon plate using brass push to fit threads, and M3 countersunk bolts. The display is held in place in a similar fashion using M3 bolts, and finally the NeoPixel stick sits just behind the carbon panel.

Buttons & Magnetic Shifters
If I’ve learnt anything about buttons it’s that cheap things are a false economy. Ideally you create a button panel and once it’s assembled that’s it for the life of the product, repairing buttons often requires the removal of solder, heat shrink and moulded boots. In the past I’ve used Otto P9 buttons which are fairly common for motorsport applications. I decided to try something different for this project opting for NKK MB2011 buttons instead, which are very similar to Knitter type buttons, the differences being a more positive snap when pressed, and the ability to spec them with anodised button surrounds. I’m really pleased with how they feel and wouldn’t hesitate to recommend them to others.

G25 NKK Buttons
The shifters are printed in house using PLA, but rather than spending time modelling my own I opted to purchase the STL files from Open Sim Racing and build them myself. They feature a 12mm momentary button, and each has a pair of neodymium magnets for that perfect snappy shift action. OSR use an interesting sleeved nut which I found difficult to source here in the UK, especially at the low numbers I needed for this project. I used a shoulder bolt instead and enlarged the holes to accommodate it.

With the bodies taken care of, I now had to focus my attention to paddles. OSR also offer a range of carbon fibre paddles, but the cost of shipping from Canada is prohibitive, and I was worried that the sizes wouldn’t be quite right to use on the G25. I took the decision to make my own, lending design ideas from OSR and the 991 GT3 Cup Car.

The paddles are cut from the same 1.5mm carbon plate as the main panel, care has been taken to try and match the direction of the weave across the panel and paddles.

Wiring & Assembly
As you can see I was very limited with room to run cables too and from the Arduino Pro Micro, whilst being quite fiddly this has ended up making the whole thing look really neat and tidy. I’m sure I could have made the job a little easier by using a higher gauge of wire, but in order to keep costs down I made use of some spare Spec 44 22awg wire I’ve used with success on other projects.

The wires are wrapped with Raychem DR-25 heat shrink which is absolutely overkill for this type of application, but it’s lovely stuff to work with. I had considered adding moulded boots for the rear of the buttons, but the cost for those soon adds up. I find trying to cover buttons up with anything other than a proper moulded boot just looks a bit messy, so they can stay as they are for now.

Once the buttons, shifters and display had been wired, I had to come up with a way of connecting them all to my PC. I initially made my own curly USB cable, but found this fouled between the wheel and base. I then decided to make use of the 5 conductor cable which runs through the steering wheel base for the original buttons and paddles. The result is a fairly seamless looking wheel, with an additional USB cable poking out the back of the base. I then use a USB hub and extension to my PC so that the wheel still only takes up a single USB connection.

Those familiar with “Sim Racing” will likely have heard of SimHub, which is a powerful tool for driving hardware for many of the top sim racing titles. My project relies on SimHub to drive both the display and also LEDs, without it this section of the page would likely never exist.

Currently my display consists of 3 separate pages, the first is an idle page that displays my logo as well as some version info. This screen is displayed when the wheel is idle, so when you’re in the menus of a game, or not inside a game at all. The second page holds some vehicle information Oil and Coolant temps, Gear, Lap Time Delta, Fuel Remaining. Finally the third page shows tyre data such as pressure and perceived life as a percentage. Each of the two pages share RPM, Race Position, Race Lap, Best and Current Lap Time data.

I’m not sure how the data I choose to display will evolve, or how much of it I will actually use, but I’m happy with what I have at the moment, and suspect data items will change as I use the display more and more.

SimHub will allow you to configure LED’s in a multitude of ways, currently all I am using them for is a shift indicator. As you move up towards the top of the rev range they begin to illuminate until eventually flashing and signalling it’s time to change gear. The point at which the lights illuminate can be configured by vehicle, or they’ll follow a default pattern if not. It is possible to configure the lights to flash based on current car state, as well as to signal a good or bad lap time. I would like to investigate having them light if the game detects a lock up of a wheel, as some times it can be quite difficult to detect such an event.

All the buttons and display connect to my PC and ultimately SimHub via an Arduino Pro Micro. SimHub supply a sample sketch to get you started, I then modified it to suit the number of buttons and LEDs I have connected. It’s very simple to to get started, the hardest part is deciding on a look and feel of your dash.

There are many layouts available for the more popular 4.3″ Nextion screen size. But as I am using a smaller 3.2″ display I took the opportunity to design a layout very similar to what I produced for my other dashboard project. I have previous Nextion experience, the process of uploading the files is slightly different in this case, but for the most part it was very straight forward.

Excuse the baby toys / FOV / Lighting

I always find that once you reach the end of the project it can be quite difficult not to rip it apart and start making tweaks and changes. I’m trying to refrain from doing so with this project, but if I were to start from scratch then there are certainly a few things I’d do differently.

I’d likely replace the solid enclosure with something I could take the back off making it much easier to wire. I’d also make more of an effort with mounting the NeoPixel Stick because it was a pain in the neck to get right and if I’m honest I’m still not 100% happy with it. The print quality for the shifters could be better, perhaps dropping the layer height to 0.1mm would have made a difference? Finally I’d try and keep the original buttons functionality, as currently they are just there for cosmetic purposes.

Will This Work In My Race Car?
Many of the techniques and materials used in this project would work just fine in a race car. Replace SimHub and a USB connection with any CAN ready motorsport ECU, add a curly cord with conductors for the buttons, 12v and a twisted CAN pair, and you’d be not far off something race ready.

I’d suggest a move to a more daylight readable display, ABS rather than PLA for the enclosure and carbon or aluminium shifters instead of 3D printed items to make it a little more durable. I’d also advise against a steering wheel from the G25, but hopefully that goes without saying.

I have actually produced a much simpler button panel for my own car but have yet to write about it, perhaps that’s what could come next to the website.

Due to the amount of additional work required for my panel to work with the G25 I wouldn’t feel comfortable selling it as a finished product. There’s also an argument that the costs involved to make something like this are equal, if not more to upgrading from the G25 to something much newer.

Often though, people like to know the cost of projects like this, so to give you an idea, I tend to work on total price being 1.5 times the cost of all parts, this covers my time to design, assemble and test. A quick tot up would suggest the BOM is roughly £235, which gives credence to my thoughts that doing this for a wheel like the G25 doesn’t make a great deal of financial sense. With the shifters and NKK buttons being the exception, everything else used either came from my spare parts bin or was made from material purchased for other projects, so please don’t assume I’ve gone out and spent over £200 on bits to put this together, that would be madness.

With that said, I’d love to do more in the Sim Racing space, so if you’d be interested in working with me, or would like me to quote for something similar that’s compatible with your wheel of choice, or you simply have questions relating to this project then please don’t hesitate to get in touch.

Parts List

* The G25 is actually my brothers wheel, I borrowed it YEARS ago and simply didn’t give it back. To be honest, James hasn’t ever asked for it back. But James, if you’ve read this far.. you’ll have to pry it from my cold dead hands.