element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • 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 Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum What stops your Arduino project?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 49 replies
  • Subscribers 389 subscribers
  • Views 15227 views
  • Users 0 members are here
  • project
  • arduino
Related

What stops your Arduino project?

cstanton
cstanton over 3 years ago

Say you want to create a solution to a problem you have, like automating the door on a chicken coop with the time of day...

What tends to stop you from developing it? Do you find that you encounter a problem part way through the project? Is it some knowledge you're lacking or is it the software?

Would you benefit from help with circuit design? Or is it something else?

We're looking at expanding our introduction videos and guidance on using Arduino products, and I'm interested in what you need help with, so reply and let us know, regardless of knowledge level.

  • Sign in to reply
  • Cancel

Top Replies

  • ralphjy
    ralphjy over 3 years ago +7
    I run into problems when sensors or peripherals that I want to use don't have libraries available for the Arduino IDE and it is necessary to port a library or develop one from scratch. I also have problems…
  • fmilburn
    fmilburn over 3 years ago +7
    I find the Arduino libraries helpful for most of my simple projects. Unfortunately, there is much poor Arduino code on the internet and care must be taken to find a good source. So, a list of reputable…
  • shabaz
    shabaz over 3 years ago +7
    I just fired up Arduino and it printed this: void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } Which is ok, there…
  • javagoza
    javagoza over 3 years ago

    I feel very comfortable with the software, it has no mysteries for me. In general, adding sensors and transducers that already come in modules with I2C or SPI communication is also easy.

    Where I always get stuck is how to power the projects. How to calculate the necessary power, what options are there to make it portable. Also how to reduce EMI interference and how to protect the circuits.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • ralphjy
    ralphjy over 3 years ago

    I run into problems when sensors or peripherals that I want to use don't have libraries available for the Arduino IDE and it is necessary to port a library or develop one from scratch.  I also have problems when there is no board library available for a specific board implementation and it is necessary to hack one from another board using the same MCU.

    The inverse problem also exists, where there are too many libraries available for the same board or peripheral (with different features).  If multiple of these libraries are installed and definitions are reused it becomes a real pain as the compiler gets confused.  I encountered this a lot with the many custom library versions for the RP2040. 

    • Cancel
    • Vote Up +7 Vote Down
    • Sign in to reply
    • Cancel
  • ankur608
    ankur608 over 3 years ago

    An Arduino critic once said...

    "Its fun to have tonnes of arduinos, even though you can run only a single program at a time, the other day i was playing with nano 33 ble, trying to run mbed rtos::dual-tasking, it miserably failed for nothing although the core is meant to run on mbed platform. Libraries like ArduinoBLE have basic functionality and are painstakingly bitbanged as per the use case. Hence in my opinion the stack and software repository needs to be updated frequently."

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 3 years ago

    From some of the discussions on the Arduino forum that crop up, I think videos or other info teaching users how to structure their code design could help. Sometimes beginners use a hundred lines of code when they could have collapsed it all into a 5-line 'for' loop for instance, or creating functions. Also, how to troubleshoot code - from blinking an LED or two for status, to using a multimeter or 'scope to check activity on pin(s), and using the console for debug print statements.

    Also, how to test algorithms using a PC, Pi etc., before placing that code into the Arduino IDE. Using #ifdefs, etc.

    I think a lot of people could concentrate more on the end application if they can get through the coding basics, before working with the Arduino libraries.

    Also, some example code structures/patterns, for instance how to accept user input, maybe debounce it, and also do some processing in the background, how that could be implemented with timers or interrupts or any other service provided by the Arduino system to achieve such real-time tasks.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Cancel
  • fmilburn
    fmilburn over 3 years ago

    I find the Arduino libraries helpful for most of my simple projects.  Unfortunately, there is much poor Arduino code on the internet and care must be taken to find a good source.  So, a list of reputable sources would be helpful.  There are many processors and boards now so care must also be taken to understand that some code is platform dependent.  My own opinion is that it would be better for beginners to start out with newer 32-bit chips (e.g. Nano 33 IOT) than the older 8-bit AVR models as they are priced well and are more powerful.  I often use different sources of power, motors, WiFi, and sound in my projects and these subjects aren't always covered in the basics.  I believe that interrupts and coding without the delay() function should be introduced early.

    When I got started with Arduino several years back I hadn't written any code in more than 40 years.  And that was FORTRAN on a mainframe.  I started with the SparkFun "Inventor's Kit" and it had me up and running with the basics in one weekend.  I then worked through the examples in the Arduino IDE and made sure I understood the functions, structure, variables, etc. that are in the Arduino Reference documentation.  Thinking back, the advantage was that the kit had a well-written guide and all the required hardware.

    • Cancel
    • Vote Up +7 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 3 years ago

    My hurdle is coding. I started in electronics and my career progressed to system support. Learning to code was something that help with system administration. I have invested in learning how to code better but it does not come naturally to me. I developed a whole security system in Perl but find it difficult today to read the code. It is hard for me to believe I created the system. Individuals who have worked on the system have mentioned how easy it was to understand and make changes to the code. That befuddles me because I wrote it and don't understand it anymore.

    • Cancel
    • Vote Up +6 Vote Down
    • Sign in to reply
    • Cancel
  • Gough Lui
    Gough Lui over 3 years ago

    Usually some endless loop. Sometimes sudden overvoltage ...

    - Gough

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 3 years ago

    I just fired up Arduino and it printed this:

    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }

    Which is ok, there's some help, but maybe needs a structure to help. For instance (this is just a crude example I just typed now, but there must be better examples out there):

    /*********************************************
     * My Application Name
     * revision 1.0 - date - name - description
     * 
     *********************************************/
    
    // Includes
    #include <Wire.h>
    
    // **** Definitions *****
    // general
    #define LED_PIN 0x01
    // I2C addresses
    
    // other GPIO registers
    
    // convenient values, states
    
    //******* typedef structs ********
    
    
    // ******* consts ****************
    
    
    // ****** global variables *******
    
    // ****** function prototypes ****
    
    // ****** setup function runs at startup *****
    void setup() {
    
    }
    
    // ****** loop runs forever after setup *****
    void loop() {
    
    }
    
    
    // ****** other functions *******************
    
    

    And then when people start with a neat template with comments etc., then that kind of makes them want to continue to write neat code for the remainder, and just seeing the different sections makes one realize to read up on those sections because they are probably there for a reason! : )

    • Cancel
    • Vote Up +7 Vote Down
    • Sign in to reply
    • Cancel
  • Jan Cumps
    Jan Cumps over 3 years ago

    A simple debugger. Step, breakpoint and watching variables is a good start. A debugger is available for some boards now as a separate kit.' I've missed IDE debugger integration since day 1. 

    Low power designs. Most Arduino Classic designs run the controller in high power mode, and converting those to low power is not straightforward. Improved with the MKRxxxx family.

    • Cancel
    • Vote Up +6 Vote Down
    • Sign in to reply
    • Cancel
  • dougw
    dougw over 3 years ago

    Awesome question. I do lots of arduino projects so the issues below aren't usually big enough to be show-stoppers for me.

    For me the biggest issue is that arduinos aren't always the best controller for the job, even though they now have a wide variety.

    The next biggest issue is programming in C/C++ - just about my least favorite language. (LISP and APL are worse)

    The next biggest issue is everything except the arduino - interfacing, building packaging, mechanics.

    The next biggest issue is buying all the bits - displays, power supplies, motors, interface cards, enclosures etc. that can far exceed the cost of the arduino.

    And lastly finding time is always an issue.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • 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 © 2025 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

  • X
  • Facebook
  • linkedin
  • YouTube