element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents Episode 440: DIY Arduino Helicopter Collective Joystick Control
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Project Videos requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: tariq.ahmad
  • Date Created: 1 Apr 2020 8:47 PM Date Created
  • Last Updated Last Updated: 7 Jul 2022 9:06 PM
  • Views 10299 views
  • Likes 15 likes
  • Comments 129 comments
Related
Recommended

Episode 440: DIY Arduino Helicopter Collective Joystick Control

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image
 

I love to fly in simulators, especially helicopters. But, there is just not an affordable collective control that I have found, so I decided to make one for myself! I am going to build a joystick using an Arduino Micro, with a bunch of buttons for assignable controls and a high quality encoder for the collective axis.

Supplemental Content:

  • Download Code from Github
  • View Model and download 3d Cad files

 

Also you can watch the live Twitch recording about this build: element14 Presents Live Twitch Stream: DIY Arduino Helicopter Collective Joystick Control

Bill of Material:

Product Name Manufacturer Quantity Buy Kit
BOURNS Absolute Rotary Encoder, 120 rpm, 128 PPR, EAW Series BOURNS 1 Buy Now
ARDUINO Development Board, Arduino Micro, ATmega32U4 MCU, 20 3.3V I/O, 12 Analogue Inputs, ISCP Header ARDUINO 1 Buy Now
ITW SWITCHES Pushbutton Switch, Industrial, 59 Series, 13.6 mm, SPST-NO-DB, Momentary, Square ITW SWITCHES 1 Buy Now
ITW SWITCHES Pushbutton Switch, Industrial, 59 Series, 13.6 mm, SPST-NO-DB, Momentary, Square ITW SWITCHES 1 Buy Now
ITW SWITCHES Pushbutton Switch, Industrial, 59 Series, 13.6 mm, SPST-NO-DB, Momentary, Round ITW SWITCHES 1 Buy Now
ITW SWITCHES Pushbutton Switch, Industrial, 59 Series, 13.6 mm, SPST-NO-DB, Momentary, Round ITW SWITCHES 1 Buy Now
C & K COMPONENTS SWITCH, SPDT, 5A, 120VAC C & K COMPONENTS 3 Buy Now
BOURNS Incremental Rotary Encoder, Pro Audio, Continuous. 24 Detents, 24 Pulses, Quadrature Output BOURNS 1 Buy Now

 

Additional Parts:

 

Product Name

5 Way Momentary Square SMD Tactitle Switch

M3x5x2 Square Nuts

8mm Bore Diameter ball mounted pillow blocks

T6 Seamless Aluminum Round Straight Tubing 16 Gauge 1-3/8" OD

Attachments:
HelicopterCollective_Resources.zip
image
DIY Arduino Helicopter Collective Joystick Control

element14 presents  |  About Kaleb |  Project Videos

  • kaleb
  • e14presents_kalebclark
  • itw
  • arduino micro
  • rotary encoder
  • friday release
  • diy arduino helicopter collective joystick control
  • bourns
  • arduino
  • e14p_KC
  • helicopter
  • friday_release
  • Share
  • History
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • benaim
    benaim over 2 years ago +5
    One good project, it's one project that you can modify So I changed my mind, I use now one hall sensor AS5048a with 14-bit resolution ( Best resolution and linerality ) I changed too, the place of friction…
  • benaim
    benaim over 2 years ago in reply to benaim +4
    Pictures coming, better later than never So I used on SS495a, and to have one big range of value for "only" 45° of move, I done one adapter with 2 magnets. With this I have near 0 to 5 Volts on SS495a…
  • benaim
    benaim over 2 years ago in reply to KalebTheMaker +3
    Just received my two Bore Diameter ball So, now I can continue this project Kaleb, Thanks for sending a diagram to all followers I don't need because, I changed somethings, for example angle sensor and…
  • webitman
    webitman 4 months ago in reply to beacon_dave

    Sorry beacon_dave I should of checked, thank you once again.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave 4 months ago in reply to webitman

    If you look at the Adafruit example I linked to above, then they use this format to set the pin to an input with pullup:

    // configure button pin for input with pull up
    mcp.pinMode(BUTTON_PIN, INPUT_PULLUP);

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • webitman
    webitman 4 months ago in reply to beacon_dave

    Yes I have already changed that to mcp_I2C and that was OK, but as it reached the mcp pinMode it passed  15, 14 ,13 but halted on pinMode 12 button 4

    with  "class adafruit_mcp23X17 has no member named pullup" I have checked that all 4 button pullups are writen exactly the same, and checked spelling for any changes, and all match.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave 4 months ago in reply to webitman

    You will likely need to change the mcp instance on the line below it as well, as per the Adafruit example.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • webitman
    webitman 4 months ago in reply to beacon_dave

    Thank you beacon_dave I will change the include and hopfully i will finaly finish these projects, thanks for your responce.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave 4 months ago in reply to webitman

    Depends on the exact error message but looks like it can't find a file that is being referenced.

    Kaleb's CollectiveControl.ino references 'Adafruit_MCP23017.h'

    #include <Adafruit_MCP23017.h>

    but it looks like with the later Adafruit MCP23017 libraries this has changed to:

    #include <Adafruit_MCP23X17.h>

    https://learn.adafruit.com/adafruit-mcp23017-i2c-gpio-expander/arduino

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • webitman
    webitman 4 months ago

    Hi Kaleb,

    I know these are old projects but I need your help if possible? at the moment I am persuing with two of your projects,

    this one and the MCP23017 and on both projects I cant get the Arduino code to upload?  on both codes its the same problem cant find MPC23017.h  file does not exists.

    I have installed the MPC23017 using the arduino file manager and also by using the Zip file from github still keeps failing with ( file does not exist ) do you have any ideal what the problem could be or how to get this to work.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fanavaran.company
    fanavaran.company 11 months ago


    What simulator software does this joystick work on?
    In this case, if possible, give a full explanation

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Steeple
    Steeple over 1 year ago in reply to benaim

    Busy printing and collecting parts. Would you mind sharing some dimensions of your friction mod or better still an stl file?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jlaingen
    jlaingen over 1 year ago in reply to jlaingen

    Resolved the issue. There are multiple "joystick" libraries and not all are created equal. I located the correct library by searching for one with value the code called out as not defined, in this case "JOYSTICK_DEFAULT_REPORT_ID".

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube