This is a Kosmo format synth module that provides an interface for an analog joystick. The X and Y outputs provide control voltages that vary with the horizontal and vertical positions, respectively, of the joystick.

There are range control pots for X and Y. These adjust the width of the control voltage range. With the width fully clockwise the control voltage range is about 10 V end to end.

There also are offset control pots. These add a DC offset of between -5 V and 5 V to the output. So with the range pot at maximum and the offset pot centered the output voltage ranges from about -5 V to 5 V; with the offset pot fully clockwise the output voltage range is about 0 V to 10 V.

The X output voltage increases as you move the joystick from left to right, and Y increases from down to up. There also are two inverted output jacks; here the X output increases from right to left and the Y increases from up to down. Both outputs have the same range and same offset (with same sign), so for instance if the regular output is from 0 V to 10 V left to right, the inverted output will be 10 V to 0 V left to right.


The joystick is a model JH-D202X-R4, available on sites such as AliExpress, Amazon Marketplace, and eBay. There are various versions of this joystick; I designed for the one with 10k potentiometers. (Using different pots just requires adjusting resistance values, though.)

As supplied, the joystick has springs that pull the stick back to center when released. If you don’t want that behavior, you can remove the cover of the joystick to reveal the springs:

You can remove the springs without breaking anything. Save them somewhere you can find them in case you change your mind!

Without the springs the joystick still will return toward the center if released at extreme positions due to the rubber boot. You can just cut the boot off and leave it out but I found I could use a small pair of sharp scissors to widen the central hole in the boot, and then the joystick will stay put when released. Enough of the boot will be left to look good and prevent at least some amount of dust from getting in.


GitHub repository

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s