🛠 Configure a Physical Interface with Modulino on Arduino UNO Q
Objectives
This tutorial guides you through creating a custom tactile control interface for the Linux system on your Arduino UNO Q SBC Controller. The goal is to understand the workflow from hardware configuration to logical input assignment (buttons, joystick, rotary) via the Arduino App Lab environment. You will learn to transform Modulino components into recognized input peripherals, eliminating the need for a mouse or keyboard for specific tasks like Home Assistant control or retro gaming.
Necessary Materials
- Arduino UNO Q SBC Controller Bundle (including UNO Q 4GB card)
- Modulino Nodes: Button, Joystick, Rotary Button, Pixels
- 24-pin USB-C Cable (for connection between UNO Q and Modulinos)
- 45W USB-C Power Supply recommended for optimal stability
- Computer with Arduino App Lab installed
- 8-in-1 USB-C Hub (optional, to add HDMI screen and keyboard for initial debugging)
Steps
- Hardware Preparation: Ensure the UNO Q card is powered off. Connect the chosen Modulino nodes (e.g., button and joystick) to the UNO Q using the 24-pin USB-C cable. Modularity allows connecting multiple nodes in series or parallel depending on the internal hub design.
- Launch App Lab: Connect the UNO Q to your computer via the USB-C hub (if needed for power and data) or directly if your port supports the required throughput. Open Arduino App Lab and create a new « SBC Interface » project.
- Component Detection: In the « Hardware » tab of App Lab, launch automatic detection. Connected Modulino nodes should appear in the tree with unique IDs. If a node does not appear, check the 24-pin cable connection.
- Mapping Configuration: Select the « Button » node in the list. In properties, assign it a standard Linux input function (e.g., « Left Click » or a specific shortcut key). Do the same for the « Joystick » by configuring it as a pointer or game controller device.
- Compile and Deploy: Click « Compile » to generate the system configuration. Once complete, click « Send to UNO Q ». The card's Linux system will restart or reload input drivers to apply new mappings.
- On-site Testing: If you have a screen connected via the hub, observe the mouse cursor or software reactions. Otherwise, use the Modulino pixels to visually confirm input functionality.
Verification
To verify functionality, open a terminal on the UNO Q's Linux system (via SSH or connected screen). Use the evtest command to list input devices. You should see Modulino nodes appear as input devices. Press the Modulino button: the terminal should display corresponding EV_KEY events. The joystick should generate movement events.
Going Further
Explore advanced customization by creating 3D-printable cases to group aesthetics and ergonomics. Test integration with third-party software like Home Assistant to control home automation scenes. You can also reconfigure mappings via App Lab to transform the rotary button into volume or page scrolling according to your needs.