For one that plan build a "button/trim box", make your own joystick, throttle, pedal, modernize old - but good gameport gear like 90's CH and Thrustmaster josyticks/HOTAS, some options in standalone USB controllers.
BU0836A (41,39$) - control up to 8 axis - 12 bits (4.096 resolution points), up to 32 buttons or 16 encoders (each take 2 buttons position, e.g. use 4 encoders and 24 buttons), 8 way POV HAT. A "bullet proof", simmer's tested and aproved option (developed by Russian guy).
DSD - (34.75$-39.75$) Have a affordable option for button/encoder controlers only - no matrix* need.
EDIT - no longer available, VKB get burned with unfail complains of some DIY -=Njoy32 lite/PRO (25-44 Euros) - The same controller used in Defender Cobra and VKB Mamba joysticks, Trottle Box, Pedals.
(IMO) Probable the most advanced joystick controller existant - developed by Russian simmer's, with some differential, like digital axis, macros stored in non volatile memory... "Drawnback" is price in EURO. (Are other good options made by Russian simmer's, like F2/L2 (in/out), GVL224, but seems more easy buy from Martians that from Russia...)
EDIT - Obsolete, see MMJoy2 - D.I.Y. Mjoy - Mjoy/Mjoy16 2004 project "build your own USB joystick controller", by Lituan guy caled Mindaugas (no longer involved) based on cheap ATMEGA microcontroller.
Mjoy16 version control up to 8 axis, 96 buttons (16 toggle), 4 encoders (2 mode each), 8 way POV HAT.
His drawback is that ATMEGA8/16 dont have USB in hardware, this is implemented by software, that limit to USB 1.1 protocol.
Mjoy16 option is good for FSX but il-2 "pilots" consider his response times a bit slow, due high number of buttons controlled.
Still usefull for trim/button box and even joystick (in case limit axis/buttons use to improve the bandwidth).
Original Mindaugas board design are improved by guys like Lazzy_Cammel, Mercury_13, China...
Cost ~15/25$ build one (I build around 8), sample of Mjoy16 D.I.Y. that I build in ~2008, and now use for test MMjoy firmware.
MMjoy2 - Firmware for Arduino (ATMEGA32U4) boards, developed by MEGA_Mogz, with some Njoy32, F2/L2 characteristics.
In short is a configurable joystick firmware, that is done by Configurator programn e.g. want a 2 axis controller? Enable just to two. Want control only buttons and encoders? Dont enable axis.
Want some buttons as "toggle"? Just set in firware options.
The last firmware version - for Mjoy boards - have support for digital axis.
Control up to 8 axis - 12 bits (4.096 points).
Up to 64 buttons - depends on Arduino board used, the limiter is the board pinout.
Up to 64 encoders
One POV HAT
Examples of Arduino board:
Teensy 2.0 (16-20$) - With MMjoy firmware control up to 8 axis (12 bits), up to 64 buttons (4 encoders), one 8 way POV HAT.
Leonardo PRO Micro (5,50$ in eBay) - With MMjoy firmware control up to 8 axis (12 bits), up to 32 buttons (6 encoders), one 8 way POV HAT.
Firmware flash is done though the USB cable.
MMjoy project - use Google Translator:
https://code.google.com/p/mmjoy
https://code.google.com/p/mmjoy/w/list
MMjoy Configurator (translated by me ): http://downloads/detail?name=JoySetup_ReadMe_En.rar
MMjoy with external ADC (digital axis): https://code.google.com/p/mmjoy/wiki/ExtenralADC
How write MMjoy firmware in Leonardo PRO MICRO board (in English): https://code.google.com/p/mmjoy/wiki/UpdateFirmware_eng
* Matrix = this word scare some builders, but basically this only mean add a diode in one leg of each used button.
Sokol1
Bookmarks