{"id":26923057,"url":"https://github.com/controllercustom/usbhostx52","last_synced_at":"2025-08-03T19:07:02.110Z","repository":{"id":269479922,"uuid":"907164383","full_name":"controllercustom/USBHostX52","owner":"controllercustom","description":"Arduino USB host for Logitech X52 flight joystick","archived":false,"fork":false,"pushed_at":"2025-01-02T19:41:24.000Z","size":145,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T20:30:35.180Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/controllercustom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-23T01:23:18.000Z","updated_at":"2025-01-02T19:41:27.000Z","dependencies_parsed_at":"2024-12-23T21:32:41.555Z","dependency_job_id":"54384def-48e9-45fc-8a7c-7f87b06b7b38","html_url":"https://github.com/controllercustom/USBHostX52","commit_stats":null,"previous_names":["controllercustom/usbhostx52"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2FUSBHostX52","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2FUSBHostX52/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2FUSBHostX52/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2FUSBHostX52/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/controllercustom","download_url":"https://codeload.github.com/controllercustom/USBHostX52/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246735366,"owners_count":20825223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-02T00:38:47.513Z","updated_at":"2025-04-02T00:38:48.061Z","avatar_url":"https://github.com/controllercustom.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# USBHostX52 -- Break Out Logitech X52 Flight Joystick\n\nUSBHostX52 uses the RP2040 PICO PIO library USB host feature to extract\ncontrol values from a Logitech X52 flight joystick. The control values\ncan be used to control motors and servos. This is an example program that\ndoes not do anything useful except print X52 joystick control values to\nthe serial console.\n\n## Prepare the USBHostX52 Adapter Hardware\n\n* Adafruit Feather RP2040 with USB Type A Host\n* Snap-on Enclosure for Adafruit Feather RP2040 USB Host\n\nPut the RP2040 board in firmware update mode by pressing and holding the\nBOOT button then pressing and releasing the RESET button. Then release\nthe BOOT button. A USB flash drive should appear named RPI-RP2.\n\nDrag and drop the [USBHostX52 UF2\nfile](https://github.com/controllercustom/USBHostX52/releases/download/r2024-12-22/USBHostX52.ino.adafruit_feather_usb_host.uf2)\non the RPI-RP2 drive.  After a few seconds, the drive disappears\nindicating the update is done. The adapter is ready to use.\n\nSample output\n```\nUSBHostX52\nHID device address = 1, instance = 0 is mounted\nVID = 06a3, PID = 075c\nLogitech X52 connected\nDevice attached, address = 1\nDevice 1: ID 06a3:075c\nDevice Descriptor:\n  bLength             18                                                                                              \n  bDescriptorType     1                                                                                               \n  bcdUSB              0200                                                                                            \n  bDeviceClass        0                                                                                               \n  bDeviceSubClass     0                                                                                               \n  bDeviceProtocol     0\n  bMaxPacketSize0     8\n  idVendor            0x06a3\n  idProduct           0x075c\n  bcdDevice           2100\n  iManufacturer       1     Logitech\n  iProduct            2     X52 H.O.T.A.S.\n  iSerialNumber       0     \n  bNumConfigurations  1\nDevice 1: ID 06a3:075c Logitech X52 H.O.T.A.S.\nX:1024,Y:1024,twist:512,throttle:112,thr_small:255,thr_large:0,thr_slider:54,top rotary red,dpad:0,mouse_x:8,mouse_y:8\n```\n\n## Building from source code\n\n### Arduino IDE Setup\n\nAdafruit provides a tutorial on installing the Arduino IDE for this board.\n\nhttps://learn.adafruit.com/adafruit-feather-rp2040-with-usb-type-a-host/arduino-ide-setup\n\n### Libraries\n\nInstall the following libraries using the IDE Library manager.\n\n* \"Adafruit TinyUSB Library\" by Adafruit\n* \"Pico PIO USB\" by sekigon-gonnoc\n\n### Build Options\n\nThe following are the options that must be changed.\n\n* Set \"Board\" to \"Adafruit Feather RP2040 USB Host\"\n* Set \"CPU Speed\" to 120 MHz.\n* Set \"USB Stack\" to \"Adafruit TinyUSB\".\n\n![Screen shot of Arduino IDE options for this project](./images/options.jpg)\n\n## How to Decode USB HID\n\n[The details](./decoding_x52.md) on how to decode USB HID for the X52.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontrollercustom%2Fusbhostx52","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontrollercustom%2Fusbhostx52","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontrollercustom%2Fusbhostx52/lists"}