Skip to content

Commit 3230c1f

Browse files
authored
Merge 4287319 into 0876ff5
2 parents 0876ff5 + 4287319 commit 3230c1f

File tree

104 files changed

+4362
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+4362
-8
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
software:
2+
- arduino-ide
3+
- arduino-cli
4+
- web-editor
5+
hardware:
6+
boards:
7+
- nano-33-iot
8+
- nano-33-ble
9+
- nano-33-ble-sense
10+
- nano-rp2040-connect
11+
- nano-esp32
12+
- nano-matter
13+
- uno-r4-wifi
14+
- uno-q
15+
shields: ~
16+
carriers:
17+
- nano-connector-carrier
83.5 KB
Loading
288 KB
Loading
70.9 KB
Loading
58.9 KB
Loading
225 KB
Loading
146 KB
Loading
8.31 KB
Loading
1.6 MB
Loading
Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
---
2+
identifier: ABX00135
3+
title: Arduino® Modulino® Joystick
4+
type: maker
5+
author: Pedro Sousa Lima
6+
---
7+
8+
![](assets/featured.png)
9+
10+
# Description
11+
12+
The Arduino® Modulino Joystick features a FJN10K-S1B10KD0N analogue joystick with an integrated pushbutton, powered by an on-board STM32C011F4 microcontroller. This dual-axis input device with centre-click functionality enables precise directional control and user interaction for gaming, robotics, and interface applications.
13+
14+
# Target Areas
15+
16+
Maker, beginner, education
17+
18+
# Contents
19+
## Application Examples
20+
21+
- **Gaming Controllers**
22+
Create custom game controllers or remote control interfaces with precise analogue input and pushbutton functionality for enhanced gaming experiences.
23+
24+
- **Robotics Control**
25+
Control robot movement, camera positioning, or servo motors with smooth analogue input across horizontal and vertical axes for precise control.
26+
27+
- **Interactive Interfaces**
28+
Design menu navigation systems, parameter adjustment interfaces, or interactive art installations with intuitive joystick-based user input.
29+
30+
<div style="page-break-after: always;"></div>
31+
32+
## Features
33+
- **Analogue joystick** (FJN10K-S1B10KD0N) with dual-axis control and integrated pushbutton.
34+
- **60° movement angle** providing smooth analogue control across both horizontal and vertical axes.
35+
- Integrated **STM32C011F4** microcontroller providing I2C interface by default.
36+
- **Optional SWD** interface for custom firmware and advanced features.
37+
- Designed for **3.3V** operation via the Qwiic connector (I2C).
38+
- **Breadboard compatible** with 900mil header spacing for prototyping.
39+
40+
### Contents
41+
| **SKU** | **Name** | **Purpose** | **Quantity** |
42+
| ---------- | --------------------- | -------------------------------------- | ------------ |
43+
| ABX00135 | Modulino® Joystick | Dual-axis analogue joystick with button | 1 |
44+
| | I2C Qwiic cable | Compatible with the Qwiic standard | 1 |
45+
46+
## Related Products
47+
- *SKU: ASX00027* - [Arduino® Sensor Kit](https://store.arduino.cc/products/arduino-sensor-kit)
48+
- *SKU: K000007* - [Arduino® Starter Kit](https://store.arduino.cc/products/arduino-starter-kit-multi-language)
49+
- *SKU: AKX00026* - [Arduino® Oplà IoT Kit](https://store.arduino.cc/products/opla-iot-kit)
50+
- *SKU: AKX00069* - [Arduino® Plug and Make Kit](https://store.arduino.cc/products/plug-and-make-kit)
51+
52+
## Rating
53+
54+
### Recommended Operating Conditions
55+
- **Powered at 3.3 V** through the Qwiic interface (in accordance with the Qwiic standard)
56+
- **Operating temperature:** -40 °C to +85 °C
57+
58+
**Typical current consumption:**
59+
- Microcontroller + joystick: ~3.4 mA
60+
61+
## Power Tree
62+
The power tree for the Modulino® node can be consulted below:
63+
64+
![Modulino® Joystick Power Tree](assets/Modulino_Joystick_Power_Tree.png)
65+
66+
## Block Diagram
67+
This module includes an STM32C011F4 microcontroller that reads the analogue joystick potentiometers for horizontal and vertical axes, plus the integrated pushbutton. It communicates via I2C by default, but can be reprogrammed via SWD for custom functionality.
68+
69+
![Modulino® Joystick Block Diagram](assets/Modulino_Joystick_Block_Diagram.png)
70+
71+
## Functional Overview
72+
The Modulino® Joystick reads the FJN10K-S1B10KD0N analogue joystick's dual potentiometers (horizontal and vertical axes) and the integrated pushbutton state. The STM32C011F4 microcontroller processes these analogue signals and provides digital values via I2C. The joystick offers 60° movement range in both directions with smooth analogue control and reliable centre positioning.
73+
74+
### Technical Specifications (Module-Specific)
75+
| **Specification** | **Details** |
76+
| ----------------------- | ----------------------------------------------- |
77+
| **Microcontroller** | STM32C011F4 |
78+
| **Joystick Model** | FJN10K-S1B10KD0N |
79+
| **Movement Range** | 60° in both horizontal and vertical axes |
80+
| **Pushbutton** | Integrated centre-click button |
81+
| **Supply Voltage** | Rec: 3.3 V |
82+
| **Power Consumption** | ~3.4 mA (microcontroller + joystick) |
83+
| **Resolution** | 12-bit ADC for both axes |
84+
| **Communication** | I2C (Qwiic), SWD (reprogramming), UART (option) |
85+
86+
### Pinout
87+
88+
**Qwiic / I2C (1×4 Header)**
89+
| **Pin** | **Function** |
90+
|---------|---------------------------|
91+
| GND | Ground |
92+
| 3.3 V | Power Supply (3.3 V) |
93+
| SDA | I2C Data |
94+
| SCL | I2C Clock |
95+
96+
These pads and the Qwiic connectors share the same I2C bus at 3.3 V.
97+
98+
**Additional 1×4 Header (MCU Debug Signals)**
99+
| **Pin** | **Function** |
100+
|---------|-------------------|
101+
| PF2 | RESET (NRST) |
102+
| SWCLK | SWD Clock (PA14) |
103+
| SWDIO | SWD Data (PA13) |
104+
| TX1 | USART Transmit (PA9) |
105+
106+
**1×4 Header (Joystick & MCU Signals)**
107+
| **Pin** | **Function** |
108+
|---------|---------------------------|
109+
| RX1 | USART Receive (PA10) |
110+
| PA0 | Joystick Horizontal Axis |
111+
| PA1 | Joystick Vertical Axis |
112+
| PA2 | Joystick Pushbutton |
113+
114+
**Note:** The board is breadboard compatible with 1×4 headers spaced by 900 mil (22.86 mm). The joystick axes provide analogue values from 0-4095 (12-bit resolution), with centre position at approximately 2048.
115+
116+
![Pinout Overview](assets/JoystickPinout.png)
117+
118+
### Power Specifications
119+
- **Nominal operating voltage:** 3.3 V via Qwiic
120+
121+
### Mechanical Information
122+
![Modulino® Joystick Mechanical Information](assets/JoyMec.png)
123+
124+
- Board dimensions: 41 mm × 25.36 mm
125+
- Thickness: 1.6 mm (±0.2 mm)
126+
- Four mounting holes (⌀ 3.2 mm)
127+
- Hole spacing: 16 mm vertically, 32 mm horizontally
128+
- **Breadboard compatible:** 1×4 headers spaced by 900 mil (22.86 mm)
129+
130+
![Modulino® Node Shape](assets/GenMech.png)
131+
132+
### I2C Address Reference
133+
| **Board Silk Name** | **Sensor/Actuator** | **Modulino® I2C Address (HEX)** | **Editable Addresses (HEX)** | **Hardware I2C Address (HEX)** |
134+
|---------------------|-------------------------|--------------------------------|---------------------------------------------|--------------------------------|
135+
| MODULINO JOYSTICK | Analogue Joystick + MCU | 0x40 | Any custom address (via software config.) | 0x20 |
136+
137+
**Note:**
138+
- Default I2C address is **0x40**.
139+
- A white rectangle on the bottom silk allows users to write a new address after reconfiguration.
140+
![Blank silk for identification](assets/I2CTag.png)
141+
142+
#### Pull-up Resistors
143+
144+
This module has pads for optional I2C pull-up mounting in both data lines. No resistors are mounted by default but in case the resistors are needed 4.7 K resistors in an SMD 0402 format are recommended.
145+
146+
These are positioned near the Qwiic connector on the power LED side.
147+
![Generic pull-up resistor position](assets/ResistorsPullupGen.png)
148+
149+
## Device Operation
150+
By default, the board is an I2C target device. It continuously monitors the joystick's horizontal and vertical potentiometers plus the pushbutton state, providing digital values via I2C registers. The joystick returns to centre position when released, with values ranging from 0-4095 for each axis. Simply connect it to a 3.3 V Qwiic interface and read the axis positions and button state via I2C.
151+
152+
### Getting Started
153+
Use any standard Arduino workflow-desktop IDE or Arduino Cloud Editor. The official Modulino library provides simple functions to read joystick X/Y coordinates and button state. The joystick values are automatically centred and scaled for easy use in gaming or control applications.
154+
155+
### Joystick Output Values
156+
- **Horizontal Axis (X):** 0-4095 (left to right), centre ≈ 2048
157+
- **Vertical Axis (Y):** 0-4095 (down to up), centre ≈ 2048
158+
- **Pushbutton:** Boolean state (pressed/released)
159+
- **Centre Position:** Joystick returns to centre when released
160+
161+
# Certifications
162+
163+
## Certifications Summary
164+
165+
| **Certification** | **Status** |
166+
|:-----------------:|:----------:|
167+
| CE/RED (Europe) | Yes |
168+
| UKCA (UK) | Yes |
169+
| FCC (USA) | Yes |
170+
| IC (Canada) | Yes |
171+
| RoHS | Yes |
172+
| REACH | Yes |
173+
| WEEE | Yes |
174+
175+
## Declaration of Conformity CE DoC (EU)
176+
177+
<p style="text-align: justify;">We declare under our sole responsibility that the products above are in conformity with the essential requirements of the following EU Directives and therefore qualify for free movement within markets comprising the European Union (EU) and European Economic Area (EEA).</p>
178+
179+
## Declaration of Conformity to EU RoHS & REACH 211 01/19/2021
180+
181+
<p style="text-align: justify;">Arduino boards are in compliance with RoHS 2 Directive 2011/65/EU of the European Parliament and RoHS 3 Directive 2015/863/EU of the Council of 4 June 2015 on the restriction of the use of certain hazardous substances in electrical and electronic equipment.</p>
182+
183+
| Substance | **Maximum limit (ppm)** |
184+
|----------------------------------------|-------------------------|
185+
| Lead (Pb) | 1000 |
186+
| Cadmium (Cd) | 100 |
187+
| Mercury (Hg) | 1000 |
188+
| Hexavalent Chromium (Cr6+) | 1000 |
189+
| Poly Brominated Biphenyls (PBB) | 1000 |
190+
| Poly Brominated Diphenyl ethers (PBDE) | 1000 |
191+
| Bis(2-Ethylhexyl) phthalate (DEHP) | 1000 |
192+
| Benzyl butyl phthalate (BBP) | 1000 |
193+
| Dibutyl phthalate (DBP) | 1000 |
194+
| Diisobutyl phthalate (DIBP) | 1000 |
195+
196+
Exemptions: No exemptions are claimed.
197+
198+
<p style="text-align: justify;">Arduino Boards are fully compliant with the related requirements of European Union Regulation (EC) 1907 /2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (REACH). We declare none of the SVHCs (https://echa.europa.eu/web/guest/candidate-list-table), the Candidate List of Substances of Very High Concern for authorization currently released by ECHA, is present in all products (and also package) in quantities totaling in a concentration equal or above 0.1%. To the best of our knowledge, we also declare that our products do not contain any of the substances listed on the "Authorization List" (Annex XIV of the REACH regulations) and Substances of Very High Concern (SVHC) in any significant amounts as specified by the Annex XVII of Candidate list published by ECHA (European Chemical Agency) 1907 /2006/EC.</p>
199+
200+
## FCC WARNING
201+
202+
This device complies with part 15 of the FCC Rules.
203+
204+
Operation is subject to the following two conditions:
205+
206+
(1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.
207+
208+
## IC Caution
209+
210+
This device complies with Industry Canada licence-exempt RSS standard(s).
211+
212+
Operation is subject to the following two conditions:
213+
214+
(1) This device may not cause interference, and (2) this device must accept any interference, including interference that may cause undesired operation of the device.
215+
216+
## Conflict Minerals Declaration
217+
218+
<p style="text-align: justify;">As a global supplier of electronic and electrical components, Arduino is aware of our obligations with regard to laws and regulations regarding Conflict Minerals, specifically the Dodd-Frank Wall Street Reform and Consumer Protection Act, Section 1502. Arduino does not directly source or process conflict minerals such as Tin, Tantalum, Tungsten, or Gold. Conflict minerals are contained in our products in the form of solder or as a component in metal alloys. As part of our reasonable due diligence, Arduino has contacted component suppliers within our supply chain to verify their continued compliance with the regulations. Based on the information received thus far we declare that our products contain Conflict Minerals sourced from conflict-free areas.</p>
219+
220+
# Company Information
221+
222+
| Company name | Arduino SRL |
223+
|-----------------|-----------------------------------------------|
224+
| Company Address | Via Andrea Appiani, 25 - 20900 MONZA(Italy) |
225+
226+
# Reference Documentation
227+
228+
| Ref | Link |
229+
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
230+
| Arduino IDE (Desktop) | [https://www.arduino.cc/en/software/](https://www.arduino.cc/en/software/) |
231+
| Arduino Courses | [https://www.arduino.cc/education/courses](https://www.arduino.cc/education/courses) |
232+
| Arduino Documentation | [https://docs.arduino.cc/](https://docs.arduino.cc/) |
233+
| Arduino IDE (Cloud) | [https://create.arduino.cc/editor](https://create.arduino.cc/editor) |
234+
| Cloud IDE Getting Started | [https://docs.arduino.cc/cloud/web-editor/tutorials/getting-started/getting-started-web-editor](https://docs.arduino.cc/cloud/web-editor/tutorials/getting-started/getting-started-web-editor) |
235+
| Project Hub | [https://projecthub.arduino.cc/](https://projecthub.arduino.cc/) |
236+
| Library Reference | [https://github.com/arduino-libraries/](https://github.com/arduino-libraries/) |
237+
| Online Store | [https://store.arduino.cc/](https://store.arduino.cc/) |
238+
239+
# Revision History
240+
| **Date** | **Revision** | **Changes** |
241+
|------------|--------------|-----------------------------------|
242+
| 14/10/2025 | 1 | First release |

0 commit comments

Comments
 (0)