Skip to content

Instantly share code, notes, and snippets.

@Fordi
Created August 30, 2018 15:23
Show Gist options
  • Save Fordi/76d358da3248ebd9831bce51ef371625 to your computer and use it in GitHub Desktop.
Save Fordi/76d358da3248ebd9831bce51ef371625 to your computer and use it in GitHub Desktop.
ESP32 Arcade stick plan
Physical design:
- 16 digital/analog headers
- 10 digital-only headers
- Configuration enable (CE) slide switch
- Configuration clear (CC) microswitch
Initial configuration flow
- Slide CE to "on"
- Plug into USB
- If AP had already been configured, press "clear"
- WiFi (sans config) comes online as an access point, grants self IP of 192.168.1.1
- User connects to AP, and provides WiFi credentials and hostname. Hostname defaults to `gamepad{XX}`, where
XX is a randomly chosen number
Hardware configuration flow
- Slide CE to "on"
- Connect to "{hostname}.local"
- Click on pins to change their mode
- Drag connections from pins to gamepad representation
- Configuration is updated in real-time
Operation:
- While connected to USB, should behave as webserver and USB gamepad
- While powered without USB, should behave as bluetooth gamepad without webserver
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment