Skip to content

lusmdl/MySimRacingCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sim Racing Core Controller

Real PCBA´s

Welcome to the Sim Racing Core Controller repository!

This project focuses on programming the ATmega32u4 microcontroller to serve as the core of a high-performance sim racing setup. The controller independently handles all tasks, including steering, pedals, and accessory management, ensuring a streamlined and immersive racing experience—all without external setup software.

Other projects require PC-based software. This solution does everything directly on the microcontroller. Sensor calibration, configuration, and adjustments are all handled locally and stored in the microcontroller’s memory. The system can be operated intuitively via a simple interface.

This repository is designed to prioritize simplicity and reliability, with clean, maintainable code that’s easy to understand and adapt to your needs.

Features

  • 32 buttons (includes joystick button (1) for setup)
  • Steering-Axis without FFB (Steering)
  • Accelerate-Axis
  • Brake-Axis
  • X-Rotation-Axis (Joystick)
  • Y-Rotation-Axis (Joystick)

Getting Started

Hardware Requirements

  • ATmega32u4 Microcontroller: I use the original arduino micro board
  • Steering Wheel: I use a cheap optical encoder with A and B line from china
  • Pedals: I use a old xbox360 racing wheel pedal set. It only needs to work with potis.
  • Buttons: The microcontroller get the 16 bit data from I2C Interface Adress 8 & 9 button data. You need a diffrent device for this. Look at my other project here!
  • Joystick: I use a "normal" joystick from the Sony DualShock series and have designed a custom PCB to integrate it seamlessly. Special thanks to little-scale for providing the PS4 joystick footprint, which served as the foundation for my design.
  • LCD: I use a Arduino Uno with a LCD 2x16 shield. Look at this project here.

Example PCBs for this project KiCad-PCB-Design KiCad-PCB-Design KiCad-PCB-Design

Software Requirements

Software Installation and Setup

You can use the pre compiled hex file. Or you compile it yourself.

  1. Install PlatformIO:
  • Follow the installation guide to set up PlatformIO in your preferred environment (VSCode, Atom, etc.).
  1. Clone the Repository:
git clone https://github.com/lusmdl/MySimRacingCore.git
  1. Open the Project:
  • Open the cloned repository folder in your PlatformIO environment.
  1. Build and Upload:
  • Connect your Arduino Micro.
  • Build and upload the code using PlatformIO:
pio run --target upload

Hardware Setup

To get started, you’ll need to assemble the accessories and adapt them to the Arduino Micro.

Special attention is required for the I2C interface and the encoder, as proper pull-up resistors are essential for reliable operation. To simplify this process, I’ve designed a custom PCB that integrates the Arduino Micro with all necessary accessories and I2C clients.

Usage

  1. Connecting the Hardware:
  • Connect the accessorys to the Arduino Micro as per your configuration.
  • Connect the Arduino Micro to the PC.
  1. Running the Code:
  • Power up your setup.
  • The Arduino Micro will continuously push the accessorys states and update the Game data via USB.
  1. Setup the Wheelebase
  • Hit the joystick butten while booting..
  • follow the instructions on the lcd
  1. Start your game and try it

  2. Give feedback and report bugs

Documentation

Contributing

We welcome contributions from the community!

First, read the general contributing conventions for projects from me.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Create a new Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

designed to manage steering, pedals, and other accessories, providing a seamless and immersive racing experience

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors