Hello, I am working with the AXON board and wanted to know if we can directly interface Joysticks, Swicthes and external touchpads to the AXON boards’ gpio pins?
Or will I need an external microcontroller to read those and then communicate with the Axon board?
Yes, you can directly interface switches, joysticks, and external touchpads to the Vicharak AXON board’s 30-pin GPIO expansion header
1. Switches (Buttons / Digital Inputs)
- Direct Interfacing: Yes. You can connect standard toggle switches or momentary push-buttons directly to any of the standard GPIO pins on the 30-pin header.
- Implementation: You will need to configure the GPIO pins as digital inputs. Since it runs Linux (Ubuntu 22.04 / 24.04) and supports the Adafruit Blinka (CircuitPython hardware API) layer, you can easily read the state of a switch (High/Low) using Python. Just ensure you utilize appropriate pull-up or pull-down resistors (either software-configured if supported by the driver, or external resistors) to prevent floating pin states.
GitHub - adafruit/Adafruit_Blinka: Add CircuitPython hardware API and libraries to MicroPython & CPython devices · GitHub
2. Joysticks (Analog or Digital)
- Direct Interfacing: Yes. * If using an Analog Joystick (like a PSP or Arduino thumb-stick): These require an Analog-to-Digital Converter (ADC) to read the X and Y voltage variations. The AXON board natively includes a SARADC (Successive Approximation Register ADC) interface. This means you can route the analog outputs of the joystick directly into the AXON’s SARADC pins without needing an external Arduino or microchip to convert the signals.
- If using a Digital Joystick (like an arcade joystick): These are essentially just 4 direction switches (microswitches). They connect directly to 4 standard digital GPIO pins just like ordinary buttons.
3. External Touchpads
- Direct Interfacing: Yes, depending on the communication protocol.
- I2C / SPI / UART Touchpads: Most modern raw touchpads or touch controllers use standard serial protocols. The AXON board’s I/O breaks out 4x I2C, 1x SPI, and 4x UART buses. You can hook the touchpad’s data lines directly into these pins and read them using corresponding Linux input drivers or userspace scripts.
- USB Touchpads: If your touchpad has a native USB interface, you can simply plug it directly into one of the AXON’s onboard USB 2.0 or USB 3.0 ports, where Linux will automatically recognize it as a standard Human Interface Device (HID).
Retro Pi is already supported on this board.
