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
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • 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
Arduino
  • Products
  • More
Arduino
Arduino Forum What stops your Arduino project?
  • Blog
  • Forum
  • Documents
  • Events
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Arduino requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 49 replies
  • Subscribers 124 subscribers
  • Views 7271 views
  • Users 0 members are here
  • project
  • arduino
Related

What stops your Arduino project?

cstanton
cstanton 4 months 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.

  • Reply
  • Cancel
  • Cancel

Top Replies

  • ralphjy
    ralphjy 4 months 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…

  • fmilburn
    fmilburn 4 months 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 sources…

  • shabaz
    shabaz 4 months 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…

  • skruglewicz
    skruglewicz 4 months ago

     I typically find that power has been an issue for me in projects I’ve been trying to implement. Circuit design and Pin assignments would also be nice topics for videos.

    • Cancel
    • Vote Up +3 Vote Down
    • Reply
    • Cancel
  • Andrew J
    Andrew J 4 months ago in reply to dougw
    dougw said:
    The next biggest issue is programming in C/C++ - just about my least favorite language. (LISP and APL are worse)

    I feel your pain.  It often seems people go out of their way to write C/C++ code in the most obscure way possible.  When I first came across LISP my first thought was WTAF quickly followed by why would you??

    • Cancel
    • Vote Up +3 Vote Down
    • Reply
    • Cancel
  • Andrew J
    Andrew J 4 months ago

    I usually muddle through, but I think some good points are made below.  A useful guide for Arduino programming would be a comprehensive approach to minimising code size and memory management techniques in general.

    • Cancel
    • Vote Up +1 Vote Down
    • Reply
    • Cancel
  • BigG
    BigG 4 months ago

    For me, I still find Arduino is THE go-to option for almost all my prototype projects as I've almost always found an Arduino open source library for the sensors I need to use - even the obscure ones.

    In business, MS Excel or Google Sheets, for example, tends to be the first thing one uses to analyse data, develop a model and produce reports with charts to show trends etc. I've always seen Arduino as the hardware version of the spreadsheet - as it allows you to quickly create projects to measure real-world data with sensors and transmit this data remotely if required.

    Having been schooled in the traditional (i.e. many moons ago) methods of programming during my engineering degree, I grew up totally dependent on a debugger to help me develop firmware. Discovering that Arduino did not have a debugger was initially a stumbling block, but I soon found that by changing how I think, prepare and develop a project using the serial monitor and data logging I can still achieve the same outcome. In fact, over time I have found, when switching to other IDE's and platforms, that I rely less and less on the debugger and with BLE, for example, and probably other real-time event driven modules, you cannot use a debugger and have to use other "sniffing" tools.

    As such, I think video tutorials on alternative development approaches, without using debuggers and also using sniffing tools, may be helpful.

    So what else stops me?

    Well for me it's searching for the right components to use, whether it's MOSFETS, pressure sensors or RF modules, for example. All too often I make mistakes based on the assumptions I've made based on what I read on Newark/AVNET/Farnell/Mouser/DIgikey/etc. But, TBH, this is mostly caused by my lack of familiarity with what I am trying to achieve.

    • Cancel
    • Vote Up +2 Vote Down
    • Reply
    • Cancel
  • shabaz
    shabaz 4 months ago in reply to BigG

    Python has some of the debugger stuff baked-in : )
    Someone should do a write-up/video (if it doesn't already exist) showing how to do it - e.g. how to edit variables on-the-fly and run code, it's very interactive since it is all interpreted and has a nice 'shell'. Not related to Arduino though : (

    I too have (slowly, without realizing it) changed my coding practice to work around the lack of debugger (mbed and others don't have a step in/step over capability, memory viewer, etc either, and I don't ever remember using GDB with it either - perhaps I have but can't recall), to the extent that I no longer miss it... this only kind-of works when the C run-time and the libraries and the compiler are reasonably stable of course. Whereas in the past, pre-GNU and early GNU compilers, none of that was very certain.

    Agree there should be videos on the alternative approaches, e.g. using console output (maybe also input), how to insert debug statements into code and easily switch it on or off, and where to insert it for reducing intrusiveness to real-time behavior, how to detect if memory is being trampled, what types of things to be considerate of to reduce run-time errors.
    Also how to do (where feasible) some stuff in Linux first, where GDB is available (usually a last resort thing, since there's plenty of higher-level debug options for algorithms anyway), to sort out algorithms etc without spending time building and pushing to the real target platform repeatedly, stub code, #ifdef etc. 

    • Cancel
    • Vote Up +2 Vote Down
    • Reply
    • Cancel
  • javagoza
    javagoza 4 months ago in reply to Jan Cumps

    I agree with you, the debugger is something that you'll miss if you were already used to working that way.

    But code debugging in embedded systems is quite complicated. I have seen bad code many times that when you compiled the code without the debug lines the program stopped meeting the timing specifications. Especially in communication problems with many protocols.

    "Step, breakpoint, and watch variables are a good start" to a big mess ;)  I remember that a few years ago when I was debugging a program for a card payment countertop POS in that way, I stopped the program to see some variables of a GPRS communications task that was running in the background when printing the purchase receipt. I was not very lucky I stopped the program when the thermal head of the thermal printer was on... me looking at the debugger on my computer screen while the POS caught fire.

    • Cancel
    • Vote Up +2 Vote Down
    • Reply
    • Cancel
  • colporteur
    colporteur 4 months ago in reply to javagoza

    OUCH! 

    I chuckled at the predicament you described. I had a similar experience with a maker project containing a  28BYJ48. I stopped the program to work on some code not realizing 5V was applied to all coil windings. I scorched my fingers when I tried to remove the motor it was so hot.

    Programs are the majordomo of the system. Interrupt them from the task, have insufficient safety protocols or none at all and bad things can happen.

    In the eighties, I maintained a dish tracking system for weather balloons. The electronics were tubes. The servo's in that beast could whip the disk antenna around in less than seconds. The safety protocols recommended insertion of the 2inch diameter steel pins in the gear mechanism when performing any maintenance. The pins prevented movement. I respected that recommendation after seeing the mangled trash can the instructor displayed that tried stopping the beast. My spindly legs and arms would be no match for it.

    • Cancel
    • Vote Up +2 Vote Down
    • Reply
    • Cancel
  • Jan Cumps
    Jan Cumps 4 months ago in reply to colporteur

    I hear both of you :) - but can also compare with dev kits from TI, ST, Renesas, NXP, Silicon Labs, Infineon, ... that have a debugger, on board and in the IDE.

    • Cancel
    • Vote Up +3 Vote Down
    • Reply
    • Cancel
  • javagoza
    javagoza 4 months ago in reply to shabaz

    I am thinking of my little son of 10 years, this year he has gone from programming in Scratch to start programming with Arduino. In scratch he already had a good level, conditionals, loops, passing messages between objects, variables and use of semaphores, understanding races and critical sections.

    With Arduino and that "sketch" mini-skeleton it hasn't cost him anything to start. With a more complex template or or force to define function prototypes first I think he would have been scared and given up.

    I remember my beginnings with BASIC and the ZX81, with the GOTOs and the GOSUBs, reading the code was a pain but in return it was easy to switch to the assembly language of the Z80. I don't take Arduino programming seriously, I see it more as a diversion to do inelegant and fast things. I am still looking forward to how PRO boards can evolve and what response they have in the industry.

    I think it's a great platform to introduce younger and not so young people to embedded systems.

    • Cancel
    • Vote Up +4 Vote Down
    • Reply
    • Cancel
  • fmilburn
    fmilburn 4 months ago in reply to Jan Cumps

    A debugger in the Arduino IDE is long overdue. They have had a debugger in their Beta IDE for some time now - don’t know why it is takng so long to get it stable. I recently tested the Würth Sensor FeatherWing which uses Visual Studio Code and Arduino libraries. It has a debugger and worked well in my limited testing.

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