Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FanaConnect

FanaConnect is a hardware and firmware design project for a USB-to-Fanatec adapter that enables USB handbrakes and sequential shifters to be recognized by Fanatec wheel bases and compatible simulators.

Project Overview

This project targets an Arduino Nano with a USB Host Shield 2.0 Mini to translate standard USB HID input devices into the Fanatec RJ12 protocol.

The adapter is designed for use with Fanatec-compatible devices such as DD1, DD2, CSL DD, and related wheel bases. It allows unsupported USB peripherals to appear as native Fanatec accessories by converting USB button and axis data into the expected Fanatec shifter and handbrake signals.

Key Goals

  • Bridge USB handbrakes and sequential shifters to Fanatec wheel bases
  • Support console-capable Fanatec protocol paths, not just PC-only USB devices
  • Maintain low latency and reliable input behavior for sim racing
  • Keep the hardware compact, portable, and budget-friendly
  • Use existing Arduino Nano + USB Host Shield hardware

Hardware Architecture

The current design is based on:

  • Arduino Nano (ATmega328P)
  • USB Host Shield 2.0 Mini (MAX3421E)
  • Fanatec RJ12 connectors for shifter and handbrake ports
  • 5V supply: USB (bench development) or the Fanatec base's own RJ12 pin 6, verified at +5.23–5.24 VDC under load (per-port current budget not yet measured — see docs/analysis/)

Signal mapping

  • Fanatec shifter pins use digital GPIO outputs with active-low pulses for shift up/down
  • Fanatec handbrake uses a PWM-generated analog output, RC-filtered, targeting the genuine handbrake's verified ~1.4V–4.15V sweep (not a generic 0–5V range — see docs/analysis/FanaConnect_Verified_Findings.md)
  • The USB Host Shield handles USB enumeration and HID report parsing over SPI

Documentation

The project includes detailed planning and implementation notes in the docs/ folder:

  • docs/Fanatec_USB_Adapter_Scope.md — project scope, goals, constraints, and high-level design
  • docs/Fanatec_USB_Adapter_Technical_Implementation.md — deeper technical architecture, USB host integration, HID discovery, and protocol translation
  • docs/schematics/Pinout_Quick_Reference.txt — RJ12 pinouts, Arduino Nano pin assignments, wiring, and signal behavior
  • docs/analysis/FanaConnect_Verified_Findings.md — direct DMM/oscilloscope measurements against genuine Fanatec hardware (handbrake voltage range, RJ12 and 3.5mm TRS pinouts, RC filter derivation); this is the source of truth whenever it conflicts with the other documents above

Repository Structure

  • README.md — this summary
  • docs/ — project planning and technical documentation
  • docs/schematics/ — pinout and wiring reference
  • docs/analysis/ — verified hardware measurements against genuine Fanatec devices
  • src/discovery/ — USB HID device discovery sketch, guide, and captured device profiles
  • src/firmware/FanaConnect_Firmware/ — the implemented HID-to-Fanatec bridge firmware

Current Status

USB device discovery and firmware implementation are complete (see src/discovery/Device_Discovery_Results.md and src/firmware/FanaConnect_Firmware/). Handbrake signal characteristics have been directly measured against genuine Fanatec hardware (docs/analysis/FanaConnect_Verified_Findings.md). Remaining work is bench validation of the physical build (RC filter output, GPIO timing) and integration testing against a real wheel base — see .claude/plan/PROJECT_INDEX_AND_QUICKSTART.md for the current session status.

Notes

  • Fanatec RJ12 ports require specific digital and analog behaviors that differ from generic USB devices.
  • The handbrake path must provide a stable analog output and preserve the minimum rest voltage expected by the wheel base.
  • The shifter path should avoid driving the Fanatec pin high; it is safer to pulse each pin low and then release it to float high via the wheel base pull-ups.

For detailed design and wiring information, see the documents in docs/.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages