{"id":13037,"date":"2023-04-28T19:36:34","date_gmt":"2023-04-28T17:36:34","guid":{"rendered":"https:\/\/stefly.aero\/?page_id=13037"},"modified":"2026-07-22T23:19:07","modified_gmt":"2026-07-22T21:19:07","slug":"software_options_rotary_module","status":"publish","type":"page","link":"https:\/\/stefly.aero\/en\/software_options_rotary_module\/","title":{"rendered":"Operating Options for Rotary Module"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section\"><div class=\"et_pb_row_0 et_pb_row et_block_row\"><div class=\"et_pb_column_0 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><h1>Custom User Input options for SteFly Rotary Module<\/h1>\n<\/div><\/div><div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>A big advantage of open source projects is that functions can be adapted to your own needs. For example, only basic programming knowledge is required to change the operation of the rotary module.<\/p>\n<\/div><\/div><div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>In gerneral there are two different files, which have effect to the user input in XCSoar:<\/p>\n<ul>\n<li>Arduino sketch of the USB input device: Here you can setup actions to the buttons and encoders. E.g. rotating the encoder clock-wise will trigger the right arrow key. Also long-press or double-press functions can be assigned here.<\/li>\n<li>XCI user input file in XCSoar: Here you can setup specific actions for different menus. E.g. when using the PAN menu you won\u00b4t be able to zoom in and out with the default XCI file, because the arrow keys are assigned to pan the map by default. It would be possible to use the \u201eFn\u201c and \u201eM\u201c key to zoom in and out in this menu. There are some limitations of the XCI file, but in combination with a customized USB input device you have plenty of options.<\/li>\n<\/ul>\n<\/div><\/div><div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><h2 class=\"wp-block-heading\"><strong>Arduino sketch for the Rotary Module<\/strong><\/h2>\n<\/div><\/div><div class=\"et_pb_text_4 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>All SteFly input devices are using an Arduino Leonardo compatible microcontrollers to process the key presses and converts them into a USB HID signal (Human Input Device). For a USB keyboard you don\u00b4t need to install a driver, so you can also test the Rotary Module on your desktop computer.<\/p>\n<\/div><\/div><div class=\"et_pb_text_5 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><strong>What is Arduino?<\/strong> Arduino is a open-source electronic prototyping platform enabling users to create interactive electronic objects. So it is a hard- and software project. The hardware is fix in SteFly input devices, but it\u00b4s possible to change the software on those devices<\/p>\n<\/div><\/div><div class=\"et_pb_text_6 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><strong>Where do you get the Arduino software?<\/strong> You can download Arduino IDE for free at https:\/\/www.arduino.cc\/. The basic installation process should be easy and if you have any problems, you can use the instructions and tutorials available on the web. You also need to install some libraries to get the code working.<\/p>\n<\/div><\/div><div class=\"et_pb_text_7 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><strong>Which specific hardware settings do you need to select?<\/strong> Board: \u201eArduino Leonardo\u201c and select the correct COM port.<\/p>\n<\/div><\/div><div class=\"et_pb_text_8 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><h3 class=\"wp-block-heading\">1) <strong>Standard features of SteFly Rotary Modules<\/strong><\/h3>\n<\/div><\/div><\/div><\/div><div class=\"et_pb_row_1 et_pb_row et_block_row\"><div class=\"et_pb_column_1 et_pb_column et_pb_column_2_5 et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_9 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>This version works great in combination with the remote stick, but has limited functionality as no mouse is available. The default OpenVario input file (XCI file) does not need to be changed.<\/p>\n<\/div><\/div><div class=\"et_pb_text_10 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><a href=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/RotaryModuleV11.zip\" target=\"_blank\" rel=\"noopener\" title=\"Arduino-Sketch RotaryModuleV11 for Download\">Arduino-Sketch RotaryModuleV11 for Download<\/a><\/p>\n<\/div><\/div><\/div><div class=\"et_pb_column_2 et_pb_column et_pb_column_3_5 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_0 et_pb_image et_pb_module et_block_module\"><span class=\"et_pb_image_wrap\"><img decoding=\"async\" src=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/default_RotaryModule.jpg\" width=\"834\" height=\"449\" srcset=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/default_RotaryModule.jpg 834w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/default_RotaryModule-350x188.jpg 350w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/default_RotaryModule-600x323.jpg 600w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/default_RotaryModule-300x162.jpg 300w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/default_RotaryModule-768x413.jpg 768w\" sizes=\"(max-width: 834px) 100vw, 834px\" class=\"wp-image-6828\" title=\"default_RotaryModule\" \/><\/span><\/div><\/div><\/div><div class=\"et_pb_row_2 et_pb_row et_block_row\"><div class=\"et_pb_column_3 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_11 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><h3>2) Rotary Module with mouse feature<\/h3>\n<\/div><\/div><\/div><\/div><div class=\"et_pb_row_3 et_pb_row et_block_row\"><div class=\"et_pb_column_4 et_pb_column et_pb_column_2_5 et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_12 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>Similar to the remote stick, you can change with the FN button between mouse mode and arrow button mode. In mouse mode you are able to moove the mouse pointer. There is no need to change the default OpenVario input file (XCI-file).<\/p>\n<\/div><\/div><div class=\"et_pb_text_13 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><a href=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/RotaryModuleV20PlusMouse.zip\" target=\"_blank\" rel=\"noopener\" title=\"Arduino-Sketch RotaryModuleV20PlusMouse for Download\">Arduino-Sketch RotaryModuleV20PlusMouse for Download<\/a><\/p>\n<\/div><\/div><\/div><div class=\"et_pb_column_5 et_pb_column et_pb_column_3_5 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_1 et_pb_image et_pb_module et_block_module\"><span class=\"et_pb_image_wrap\"><img decoding=\"async\" src=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Mouse_RotaryModule-1.jpg\" width=\"818\" height=\"454\" srcset=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Mouse_RotaryModule-1.jpg 818w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Mouse_RotaryModule-1-350x194.jpg 350w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Mouse_RotaryModule-1-600x333.jpg 600w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Mouse_RotaryModule-1-300x167.jpg 300w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Mouse_RotaryModule-1-768x426.jpg 768w\" sizes=\"(max-width: 818px) 100vw, 818px\" class=\"wp-image-6649\" title=\"Mouse_RotaryModule-1\" \/><\/span><\/div><\/div><\/div><div class=\"et_pb_row_4 et_pb_row et_block_row\"><div class=\"et_pb_column_6 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_14 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><h3>3) Combination of Arduino sketch and XCI input file<\/h3>\n<\/div><\/div><\/div><\/div><div class=\"et_pb_row_5 et_pb_row et_block_row\"><div class=\"et_pb_column_7 et_pb_column et_pb_column_2_5 et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_15 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>A great implementation from Thomas Hanika, which uses all options available with a custom Arduino sketch and a custom XCI file. Complex inputs like longpress and pressed + rotate features are implemented. Highlights are the quick access to change the volume, MC setting and also the intuitive operation of the PAN menu.<\/p>\n<\/div><\/div><div class=\"et_pb_text_16 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><a href=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/RotaryEncoderButtonXCsoarV4.zip\" target=\"_blank\" rel=\"noopener\" title=\"Arduino-Sketch RotaryEncoderButtonXCsoarV4 for Download\">Arduino-Sketch RotaryEncoderButtonXCsoarV4 for Download<\/a><\/p>\n<\/div><\/div><div class=\"et_pb_text_17 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p>You can upload the XCI files with your OpenVario USB stick the same way as a waypoint or airspace file. Then you need to select the file in XCSoar: System Setup -&gt; Look -&gt; Language, Input -&gt; Events.<\/p>\n<\/div><\/div><\/div><div class=\"et_pb_column_8 et_pb_column et_pb_column_3_5 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_2 et_pb_image et_pb_module et_block_module\"><span class=\"et_pb_image_wrap\"><img decoding=\"async\" src=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Thomas_RotaryModule.jpg\" width=\"826\" height=\"727\" srcset=\"https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Thomas_RotaryModule.jpg 826w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Thomas_RotaryModule-350x308.jpg 350w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Thomas_RotaryModule-600x528.jpg 600w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Thomas_RotaryModule-300x264.jpg 300w, https:\/\/stefly.aero\/wp-content\/uploads\/2019\/11\/Thomas_RotaryModule-768x676.jpg 768w\" sizes=\"(max-width: 826px) 100vw, 826px\" class=\"wp-image-6651\" title=\"Thomas_RotaryModule\" \/><\/span><\/div><\/div><\/div><div class=\"et_pb_row_6 et_pb_row et_block_row\"><div class=\"et_pb_column_9 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_text_18 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\"><p><strong><em>If you have a custom input option for the Rotary Module and you would like to share it here, feel free to contact us and we will add it to this post. A huge thanks to the contributors of the software implementation!<\/em><\/strong><\/p>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"class_list":["post-13037","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/pages\/13037","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/comments?post=13037"}],"version-history":[{"count":0,"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/pages\/13037\/revisions"}],"wp:attachment":[{"href":"https:\/\/stefly.aero\/en\/wp-json\/wp\/v2\/media?parent=13037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}