The JC32 is an extremely easy to use but power joystick controller. It can be used to add analog axis, push buttons, rotary encoders or toggle buttons to your projects.
The main characteristics of the JC32 joystick controller are:
- 32 separate digital inputs.
- It can handle push buttons, rotary encoders (up to 16), toggle switches.
- Unlikely the JC24 joystick controller, the digital inputs are not organized in a matrix, but each input has its own input terminal. This also means that connections are extremely simple and diodes are no longer required.
- 4 10-bits (1024 steps) analog inputs are available for connecting potentiometer, pedals etc…
- All the inputs of the JC32 Joystick Controller use screwless terminal. Just push the wires into the terminal.
How to connect buttons and analog inputs to the JC32 Joystick Controller
Because each digital input has its own input terminal connections are very easy. Each button connects to its dedicated input terminal and to the GROUND input.
Analog inputs (typically potentiometers) connect to the 5V, GROUND and analog inputs like illustrated in the picture above.
How to connect rotary encoders
Rotary Encoders are special devices with 3 pins. Each rotary encoder replaces 2 buttons: When the encoder is rotated clockwise a press and release of one of the buttons is simulated. When the rotary encoder is rotated anti-clockwise, a press and release of the other button is simulated.
Connecting a rotary encoder is simple:
- the pin in the middle connects to the GROUND terminal of the JC32 Joystick Controller.
- the 2 pins at the sides of the rotary encoder connect to 2 adjacent digital inputs of the controller, for example B01 and B02, or B03 and B04…. Don’t connect to B10 and B11 but to B09 and B10, or to B11 and B12. The lower number is always odd.
Toggle switches can be moved to the ON and OFF position and the corresponding input will be displayed as continuously pressed or released.
If properly configured Toggle Switches can simulate a button press and release every time they are moved form the OFF position to ON and vice versa. This is useful when a function in the simulator is activated/deactivated using the same input and a toggle switch is more appropriate than a push button. Think of car lights for example.
The Configuration Tool
The Configuration Tool is available in the Download area of the website and is used to configure which digital inputs are connected to push buttons, rotary encoders or toggle switches.
It’s also possible to enable and disable the analog axis. A disabled analog axis will always read as 0.
The polling interval determines how often the inputs of the controllers are read. The default value is 20 ms, which is usually fine if you are only using push buttons. The reason why you don’t want to read the state of the buttons too quickly is because when a button is pushed it normally bounces for some milliseconds and if these bounces were read by the controller more button pushes would be reported. Instead, reading the state of the buttons every 20ms guarantee that the bouncing has stopped. If you are using rotary encoders, 20ms between one reading and the following could be too long if you rotate the encoder very quickly. In that case the polling interval can be reduced to 15ms, 10ms or 5ms.
If you would like to integrate the JC32 Joystick Controller in your products, like button boxes, wheels… a custom version of the firmware that reports the names of your company and your product is available. This is a free service but a minimum quantity order might be required.
JC32 Joystick Controller
- Product Code: JC32 Joystick Controller