<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc" -->

---
title: Read A USB Logitech Racing Wheel On An ESP32‑S3 | daily.dev
description: The LogiWheelHost project provides a single-header library for the ESP32-S3 that enables reading data from USB Logitech racing wheels, including the G29, G923,...
canonical: https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Read A USB Logitech Racing Wheel On An ESP32‑S3 | daily.dev
og:description: The LogiWheelHost project provides a single-header library for the ESP32-S3 that enables reading data from USB Logitech racing wheels, including the G29, G923,...
og:url: https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc
og:image: https://api.daily.dev/og/posts/7YC4q40hC.png
og:image:alt: Read A USB Logitech Racing Wheel On An ESP32‑S3
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Read A USB Logitech Racing Wheel On An ESP32‑S3

**[Hackaday](https://daily.dev/sources/hackaday)** · 2 min read · 0 upvotes · 0 comments

## Summary

The LogiWheelHost project provides a single-header library for the ESP32-S3 that enables reading data from USB Logitech racing wheels, including the G29, G923, G920, G27, G25, DFGT, and Driving Force Pro models. Built on the EspUsbHost project, it handles the tricky part of triggering the wheel's 'native mode switch' via a HID output report, unlocking detailed data on pedals, buttons, and gear shifters that isn't sent by default. The library exposes a simple API for developers to use these controller states in their own projects, and may be portable to other USB-host-capable ESP32 variants.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://hackaday.com/2026/08/12/read-a-usb-logitech-racing-wheel-on-an-esp32-s3>

## Questions this post answers

### How do I read data from a Logitech G29 racing wheel using an ESP32-S3 over USB?

Use the LogiWheelHost library, a single-header library built on top of EspUsbHost that supports the G29, G923, G920, G27, G25, DFGT, and Driving Force Pro wheels. It handles sending the HID output report needed to trigger the wheel's native mode switch, which unlocks detailed axis, pedal, button, and gear shifter data beyond the restricted default mode, and exposes an API for using this data in your own code.

_daily.dev surfaces maker and embedded projects like this for developers exploring USB host hacks on microcontrollers._

### Why does my Logitech racing wheel only send neutral or combined-axis data over USB by default?

Logitech racing wheels like the G29 and G27 boot into a restricted mode that only streams neutral or combined-axis data until a native mode switch is triggered. This switch is activated by sending a specific HID output report to the USB device, after which detailed information on separate pedals, all buttons, and the gear shifter becomes available.

_developers debugging USB HID quirks can find similar hardware hacking writeups through daily.dev._

## Similar posts on daily.dev

- [An ESP32-S3 can pretend to be a "normal" USB device, and it's one of the most useful tricks it can pull](https://daily.dev/posts/an-esp32-s3-can-pretend-to-be-a-normal-usb-device-and-it-s-one-of-the-most-useful-tricks-it-can-p-usz4svjxh) · XDA Developers · 0 upvotes · 0 comments
- [A Keyboard For Anything, Without A Keyboard](https://daily.dev/posts/a-keyboard-for-anything-without-a-keyboard-2pzydjh45) · Hackaday · 0 upvotes · 0 comments
- [GameSir put a tiny force feedback steering wheel on its new Swift Drive controller](https://daily.dev/posts/gamesir-put-a-tiny-force-feedback-steering-wheel-on-its-new-swift-drive-controller-xkfijuvzl) · The Verge · 2 upvotes · 0 comments
- [An ESP32-S3 programmable universal remote in a Wiimote shell \(Crowdfunding\)](https://daily.dev/posts/an-esp32-s3-programmable-universal-remote-in-a-wiimote-shell-crowdfunding--1a6ps8wly) · CNX Software · 0 upvotes · 0 comments

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#iot](https://daily.dev/tags/iot), [#embedded](https://daily.dev/tags/embedded)

[View this post on daily.dev](https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Read A USB Logitech Racing Wheel On An ESP32‑S3","url":"https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc"},"datePublished":"2026-08-12T18:34:33.873Z","dateModified":"2026-08-12T18:34:55.046Z","description":"The LogiWheelHost project provides a single-header library for the ESP32-S3 that enables reading data from USB Logitech racing wheels, including the G29, G923,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/05114fc2a3f26c993efbbee2c0ca7eff?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/05114fc2a3f26c993efbbee2c0ca7eff?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hackaday","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hackaday","logo":"https://media.daily.dev/image/upload/s--JhDfhy70--/f_auto,q_auto/v1767541814/logos/hackaday","url":"https://daily.dev/sources/hackaday"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,iot,embedded","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hackaday","item":"https://daily.dev/sources/hackaday"},{"@type":"ListItem","position":3,"name":"Read A USB Logitech Racing Wheel On An ESP32‑S3"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/read-a-usb-logitech-racing-wheel-on-an-esp32-s3-7yc4q40hc#faq","mainEntity":[{"@type":"Question","name":"How do I read data from a Logitech G29 racing wheel using an ESP32-S3 over USB?","acceptedAnswer":{"@type":"Answer","text":"Use the LogiWheelHost library, a single-header library built on top of EspUsbHost that supports the G29, G923, G920, G27, G25, DFGT, and Driving Force Pro wheels. It handles sending the HID output report needed to trigger the wheel's native mode switch, which unlocks detailed axis, pedal, button, and gear shifter data beyond the restricted default mode, and exposes an API for using this data in your own code. daily.dev surfaces maker and embedded projects like this for developers exploring USB host hacks on microcontrollers."}},{"@type":"Question","name":"Why does my Logitech racing wheel only send neutral or combined-axis data over USB by default?","acceptedAnswer":{"@type":"Answer","text":"Logitech racing wheels like the G29 and G27 boot into a restricted mode that only streams neutral or combined-axis data until a native mode switch is triggered. This switch is activated by sending a specific HID output report to the USB device, after which detailed information on separate pedals, all buttons, and the gear shifter becomes available. developers debugging USB HID quirks can find similar hardware hacking writeups through daily.dev."}}]}
```

