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…
  • beacon_dave
    beacon_dave over 3 years ago in reply to shabaz

    "...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..."

    I think that sometimes happens because beginners don't realise how quickly things tend to grow out of control. Also because they are often working from small snippets of example code from beginners guides and chaining it together into something a bit larger without always considering the overall program design. After several hours and once they get to a few 1,000 lines of something that appears to be working, it can be daunting to hack it all apart to try and tidy it up, with a good chance of breaking it in the process.

    For a beginner it can also often be difficult to firstly identify well-written code and then secondly to understand it.

    I think there is room for a more structured course based around Arduino as the platform. The official starter kit is great for getting people interested in Arduino but there ideally needs to be something that follows on from that which helps develop better programming and interfacing skills.

    If anyone has seen David Beazley's Python Programming Language Live Lesson course, then a lot can be learned from that style. He starts with the basic way of doing stuff but then is always revealing a better way, whilst talking you through as to why it is better each time. He also adds context by using useful everyday examples where you can use these techniques. 

    Perhaps slightly controversial, but another course worth mentioning is Atmel's Getting Started with AVR by Glen Nilsen. It uses the Atmel ATmega 328P Xplained/Atmel Studio instead of the Arduino Uno/IDE but it leverages the hardware side of the ATmega 328P. Most of the main program loop is empty as the on-chip peripherals have been set up to do all the heavy lifting in the initial setup routine.

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

    Another question just to balance the flames is.....why do you choose to use an arduino in your project. There are lots of great reasons, usually more pros than cons.

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

    Good point!  Like many engineers, I like to talk about and work on problems so those tend to get my attention.  They aren't intended to be flames, but they might come across that way.  I use the Arduino libraries and boards because they get me started faster and are often suitable for my needs.

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

    What typically kills my Arduino projects is finding something super cool that I would love to build - only to find out the hardware hasn't been available for a few years - or more.  My next greatest challenge is how to package it.

    It sure would be nice to know if the code examples are the most recent methods or are from IDE 1.0.

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

    Hi Enrique,

    I agree, but there comes a point when some extra help is needed, otherwise even the basics for real-time, such as button-debouncing, display updating and so on, are in a long unmaintainable loop. The single loop() is fine to begin with, without the clutter.

    But for next steps, without a template or reminder of how to organize code may be hard.

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

    I suppose I should add, technically a long loop can be fine : ) I worked on a communications product where the code (not written by me) was in fact a long loop.. one function call after the next, there must have been 40 of them in the loop : ) It was in equipment intended for mission-critical purposes : ) It was certainly hard adding new features, and today things can be done differently (there was no OS in use in that product) but good code can be written in a long loop, my comment above was very general.

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

    With all these additional comments you want to add then your loop could potentially get even longer Slight smile

    However it sounds like a good topic for further discussion.

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

    Are you sure that isn't more like pouring gasoline onto the fire  ? Slight smile

    Some factors may be:

    What you already have to hand and how much resource you have already invested in that platform be it digesting the reference manual, buying shields, writing libraries, etc.

    How much support/documentation/training is readily available, especially in the area you are working in. Has someone published a similar project that you can use as a starting point to speed things up. If starting from scratch, is there sufficient documentation to do so.

    Platform roadmaps - is this platform still likely to be supported and actively developed in twelve months time.

    Platform features - does it have all the features that the project requires. Is the platform easily scalable if additional features are required.

    Costs - there may be cheaper competition now but how much will it cost overall to move to a new platform.

    Development environments - does the IDE still satisfy the programming requirements.

    Form factor - will it physically fit into the project space.

    Oh, and what did the Element14 team send you in the post to experiment with... Slight smile

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

    I personally don't like the IDE it kinda sucks!! I wish the thing had just used C so we could have just used Eclipse. I have tried to build a protocol converter with it.  But running CAN and Ethernet is a pain. So for this project, I chose one of my  Raspberry Pies. It has built-in Ethernet and I can attach a CAN module via SPI. Fins.

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

    Oh, come on now. duh its called "printf ie printf("variables LAT %f6, LON%f6, ALT%f6, pitch %f6, roll f6, yaw f6",
    lat, lon, alt, pitch, roll, yaw" );
    if you want to be fancy you can create a function  void debug () { line above; return;}
    in C even if you have a function of a void type you can still add the return statement. 

    • Cancel
    • Vote Up +2 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