element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
Community Hub
Community Hub
Member's Forum Question of the Month: What’s the most frustrating part of working with modern micro-controllers?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Leaderboard
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Community Hub to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 31 replies
  • Subscribers 547 subscribers
  • Views 2169 views
  • Users 0 members are here
  • poll
  • QOM
  • question of the month
Related

Question of the Month: What’s the most frustrating part of working with modern micro-controllers?

cstanton
cstanton 4 months ago

Micro-controllers are at the core of most embedded systems, but working with them isn’t always smooth. From confusing datasheets to fragmented tool-chains, even experienced engineers can hit roadblocks. This month, we want to know:

Bonus question:

What micro-controllers are you currently using? (and why that one?)

  • Sign in to reply
  • Cancel

Top Replies

  • beacon_dave
    beacon_dave 4 months ago +7
    I'm probably just getting old, but like with a lot of modern technology, the built-in obsolescence factor. You spend a considerable amount of time digesting huge data sheets and getting comfortable with…
  • balajivan1995
    balajivan1995 4 months ago +3
    Using VS code with Arduino extension has ruined the idea of using IDE to build applications. I hate installing a new IDE which is just another port of eclipse IDE and comes bloated with BSP of some MCU…
  • robogary
    robogary 4 months ago in reply to beacon_dave +3
    Hear Ye Hear Ye Ole IDE. Next year is the major anniversary of my 1st and only official software programming class.........in Fortran 4 - WatFor. I must be getting old too :-)
Parents
  • genebren
    genebren 4 months ago

    My answer to this one is a bit complex.  There are many factors effecting my processor choices. Through the years I have been in a position to select processors for a wide variety of products over a wide variety of fields.  I have worked in the development of electronics and software for military, consumer, medical, security, avionics and several other fields.  Each of these fields stress unique selection criteria for these processors.  I have selected processors of widely different classes, including RISC, DSP and small, medium and large microcontrollers.  Here are a few of the issues that I have faced in selecting and working with processors.

    1. Poor or inconsistent documentation - Many of the most difficult issues were based on the quality of the available documents. I have had issues with overly complex, missing or incorrect or a total lack of documentation.
    2. Proprietary toolchains and IDES - This to has been a difficult area to deal with for me. There have been cases when the necessary tools were so expensive that we were forced to move to a different processor or make do with poor tools and difficult development and debug processes.
    3. Supply chain issues / availability - This has been a more recent issue for me lately, and not just due to the Covid problems. Some vendors have had issues were a processor just pain is not available as they change their fabrication processes or plants.  In recent years the former Atmel part, Atmega328PB processor was not available due to issues with MicroChip processes or priorities.  I needed to acquire processors for other than normal vendors, including some vendors of old or excess stock.  As scary as that was for me, in the end it all worked out.
    4. Not enough functionality - There have been times when a processor became overwhelmed by ever increasing requirements, due to software updates and added features. I tend to be a bit of a snob in this area, taking the standpoint that there are no bad processors, just bad programmers.  I have taken many underperforming processors and brought them back into compliance by optimizing the code and fixing bottlenecks or poor programming practices.
    5. Configuration complexity - This is area that continues to make it difficult to adopt some newer processors into some of my designs. There have been processors that are so complex, that I am not able to fully understand a path forward with them.  Some of this just might be my own issues with "way too many choices" and poor documentation or tools don't that allow for a quick and simple setup, which could then be later changed as needed to take advantage of some of the more complex features.

    Given these issues, and many others, I have chosen to stay behind the bleeding edge of new processors.  I also have chosen to work almost exclusively within the offerings of single vendor.  I find that I can share code and hardware designs across a large variety of projects, by using a single processor vendor.

    I currently have several active designs based on MicroChip's AtMega and AtTiny parts.  I used the AtMega328PB chip in most of designs and the AtTiny (either 16xx or 32xx parts) as co-processors or standalone processors in some of my smaller designs (either boards smaller than 1 sq in or in designs that are not that complex).

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • genebren
    genebren 4 months ago

    My answer to this one is a bit complex.  There are many factors effecting my processor choices. Through the years I have been in a position to select processors for a wide variety of products over a wide variety of fields.  I have worked in the development of electronics and software for military, consumer, medical, security, avionics and several other fields.  Each of these fields stress unique selection criteria for these processors.  I have selected processors of widely different classes, including RISC, DSP and small, medium and large microcontrollers.  Here are a few of the issues that I have faced in selecting and working with processors.

    1. Poor or inconsistent documentation - Many of the most difficult issues were based on the quality of the available documents. I have had issues with overly complex, missing or incorrect or a total lack of documentation.
    2. Proprietary toolchains and IDES - This to has been a difficult area to deal with for me. There have been cases when the necessary tools were so expensive that we were forced to move to a different processor or make do with poor tools and difficult development and debug processes.
    3. Supply chain issues / availability - This has been a more recent issue for me lately, and not just due to the Covid problems. Some vendors have had issues were a processor just pain is not available as they change their fabrication processes or plants.  In recent years the former Atmel part, Atmega328PB processor was not available due to issues with MicroChip processes or priorities.  I needed to acquire processors for other than normal vendors, including some vendors of old or excess stock.  As scary as that was for me, in the end it all worked out.
    4. Not enough functionality - There have been times when a processor became overwhelmed by ever increasing requirements, due to software updates and added features. I tend to be a bit of a snob in this area, taking the standpoint that there are no bad processors, just bad programmers.  I have taken many underperforming processors and brought them back into compliance by optimizing the code and fixing bottlenecks or poor programming practices.
    5. Configuration complexity - This is area that continues to make it difficult to adopt some newer processors into some of my designs. There have been processors that are so complex, that I am not able to fully understand a path forward with them.  Some of this just might be my own issues with "way too many choices" and poor documentation or tools don't that allow for a quick and simple setup, which could then be later changed as needed to take advantage of some of the more complex features.

    Given these issues, and many others, I have chosen to stay behind the bleeding edge of new processors.  I also have chosen to work almost exclusively within the offerings of single vendor.  I find that I can share code and hardware designs across a large variety of projects, by using a single processor vendor.

    I currently have several active designs based on MicroChip's AtMega and AtTiny parts.  I used the AtMega328PB chip in most of designs and the AtTiny (either 16xx or 32xx parts) as co-processors or standalone processors in some of my smaller designs (either boards smaller than 1 sq in or in designs that are not that complex).

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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