#ifndef ATOMIC_DRIVER_H
#define ATOMIC_DRIVER_H
#include <cstdint>
#include <array>
// Configuration Constants
#define MAX_BUTTONS 12
#define MAX_ENCODERS 2
#define DEBOUNCE_TIME_MS 5
namespace BoxsterPro
// Enum for Driver States
enum class DriverState
INIT,
IDLE,
SCANNING,
TRANSMITTING,
ERROR
;
// Struct for Input Data Packet
struct alignas(4) ControlPacket
uint16_t steering_angle; // 0-4095 (12-bit)
uint16_t throttle;
uint16_t brake;
uint16_t clutch;
uint16_t button_mask; // Bitmask for 12 buttons
int8_t encoder_delta; // Rotary encoder change
;
class AtomicDriver
public:
AtomicDriver();
// Main loop entry point (Non-blocking)
void tick();
// Get current packed data for USB HID transmission
ControlPacket getPacket();
// Interrupt callbacks (To be attached to hardware interrupts)
void onEncoderPulse(uint8_t encoder_id, bool direction);
void onButtonPress(uint8_t button_id);
private:
DriverState _state;
ControlPacket _current_data;
// Atomic flags for interrupt safety
volatile bool _inputs_changed;
volatile uint32_t _last_interrupt_time;
// Internal Handlers
void processScan();
void transmitHID();
void resetWatchdog();
;
// namespace BoxsterPro
#endif
Because "Atomic Driver" is community-sourced, it has bugs. Here are the three most common issues and fixes.
Issue 1: "Atomic Clipping" (Motor cuts out at peak torque) boxster pro steering wheel atomic driver
Issue 2: The "Ghost Oscillation" (Wheel shakes when parked) Because "Atomic Driver" is community-sourced, it has bugs
Issue 3: Driver Signature Error (Windows refuses to load .sys file) Issue 2: The "Ghost Oscillation" (Wheel shakes when parked)
Standard sim wheels use belt or gear systems. The "Pro" designation signifies a Direct Drive (DD) motor. The Boxster Pro specifically is rumored to house a custom servo motor capable of sustaining 15–20 Nm of torque, putting it on par with Fanatec’s Podium series.
Contrary to what the name might suggest to Porsche fans, the Boxster Pro is not an OEM automotive part. It is a high-torque, direct-drive racing wheel system designed for professional sim racers and serious hobbyists.
The Boxster Pro is an open-source hardware design. Many DIY builders use an STM32 "Blue Pill" microcontroller running MMos FFB firmware. "Atomic Driver" might be a specific forked version of MMos (dubbed "Atomic edition") that reduces USB polling rate jitter to sub-1ms latency.