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 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
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum Choosing a Microcontroller Brand
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 47 replies
  • Answers 2 answers
  • Subscribers 471 subscribers
  • Views 5243 views
  • Users 0 members are here
Related

Choosing a Microcontroller Brand

screamingtiger
screamingtiger over 10 years ago


I understand that choosing a specific microcrontroller/processor/SOC depends on the requirements and what I am doing etc..

 

I've started a couple discussions but this one is at a critical time, I just used up my last 2 ardunio minis so I need to order a new stash.   I am considering moving away from them and to something more advanced, even if it is just using AVRs directly.

 

This question however is more about choosing a general brand of micro controllers.  In my opinion, for me, I don't have time to learn all of them.  I don't have time or $ to invest in IDEs for different platforms nor do I want a slew of them installed on my PC.

 

So help clear my ignorance here.

 

I am looking AVR, they have a wide range of products.  So does ARM.

 

If I were to say "I only want to use ARM" would I benefit from the following:

-A wide range of products from low power consumption (<100mA) all the way up to full multi core processors ( I can build small embedded projects and then go bigger if needed without having to switch brands)

 

-If I learn the assembler for one ARM product, moving to another ARM product will not result in as steep of a learning curve as the register names, instruction pnuemonics  and paradigm will be similar (subsets).

 

I could as the same question about sticking with AMTEL or PIC (microchip)

 

Does it make sense what I am trying to do?  I just want to cut down the cross system learning curves and stick with a specific set of chips that are very similar in terms of programming.

  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett over 10 years ago in reply to screamingtiger +4
    I really like the ST Nucleo boards - programmer/debugger built in, dead cheap (£7.67 for CortexM4) and quite small. MK
  • DAB
    DAB over 10 years ago +4 verified
    Hi Joey, I appear to be late to the post. I just recently purchased a couple of the Cypress Semi PSOC 4 boards. One I intend to install in my CNC mill and the others for new projects. I chose Cypress because…
  • johnbeetem
    johnbeetem over 10 years ago +2
    There are so many different ARM microcontrollers that it's hard to know what to do. In general, the core itself is pretty much the same so your real question is what on-chip peripherals do you need. Most…
Parents
  • balearicdynamics
    0 balearicdynamics over 10 years ago

    Joey,

     

    most of what you say has an implicit correctness that depends on what are your global goals. I think you can't compare ARM classes with Atmel AVR / PIC and similar. These are two kind of different things. The first are really micro controller, i.e. near-to-computer devices with too limited features to make them a real computer as we intend today. The biggest characterising difference is the absence of an operating system. You should know that ARM processors, especially the CPU used for embedded applications, also very very vertical ones, has the advantage that all bases their behaviour on a operating system; most of the cases (almost all) are Linux OS. Exists small and super-reduced linux distributions just though to be set to do a single job.

     

    Just some example I can mention, based on my personal experience:

    • Thermal printers based on ESC/POS protocol
    • Thermal printers from aps-printers.com that has their own Epson-like printing protocol
    • Some nintendo accessories for WII (in particular the add-on system to encode the games DVD over the home networks saving them on home NAS or networked HD)
    • All the router I know
    • Most of the AAA+ freezers

    In my personal opinion what you can  - and probably should - do is a reasonable choice having a reduced set of options choosing the better one that fits your needs depending on the project you are developing. Let me suggest a couple of guidelines that has sense conditioning this choice

     

    AVR has generally less power than the PIC microcontrollers (comparing the same devices). It has the advantage together the low price to be really robust micro controllers. The reason is the same that an old 486 is more and more robust - if still exists one outside of some museum - than a i586 quad-core: slower and less delicate.

    The advantage of the microcontrollers like AVR and PIC (just to cite two)

     

    Arm is an entire world, But you should focus on them as a computer / OS-based.

     

    What I can definitely suggest you is to make a choice at least forked in two branches: one is choose one or two micro controller: all the small projects, you can do them with AVR, PIC, BBB or whatever you like. You can do all by yourself including the schematics, PCB, design etc.

     

    Then, when the project comes more complex, instead of coming to be an acrobat of the small power MCU you can easily move on a SBC. I can suggest first of all the Raspberry, not because it is better than all the other (anyway it is better than many other, including the YUN) but because there is a wide community of people continuously working on it, solving problems and crating new things. I don't know in depth but I think that also BBB is something similar.

     

    When the Raspi is not sufficient, you can - also easily - interface your favourite microcontroller with the SBC and your architecture grows without serious difficulties (don't worry, difficulties and issues arrive soon anyway, for free!).

     

    What I discourage you instead is to study the assembler of the processors while there are very good C/C++ languages able to compile binaries with better optimisations than what a programmer can do.

     

    Enrico

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 10 years ago in reply to balearicdynamics

    Enrico Miglino wrote:

     

    ARM is an entire world, But you should focus on them as a computer / OS-based.

    Enrico, what you say about ARM being OS-oriented (especially Linux) is true of the high-end ARM Cortex-A and Cortex-R processors.  However, the ARM Cortex-M processors are very much intended for non-OS microcontroller applications, and various vendors (NXP, ST, Freescale, Cypress, SiLabs, TI, and others) have low-cost, low-power Cortex-M chips for the same applications as AVR, PIC, and MSP430.  The difference is that since ARM is a 32-bit machine with multiply instructions, it's a lot easier to write high-level programs so you can concentrate on the application instead of the limitations of an 8- or 16-bit architecture.  The Cortex-M use 16/32-bit Thumb2 instruction coding, so program size isn't worse than an 8-bit processor.

     

    The low-end microcontrollers usually have simple peripherals and initialization.  You don't have to read a huge manual like a Cortex-A SoC, and it's easy to deal with device registers directly instead of having to face Linux device drivers.

     

    JMO/YMMV

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to johnbeetem

    Hello John,

     

    first of all, what's JMO / YMMV and OTOH ??? image I am a Spanish-living Italian ahah

     

    To be honest, it's true, but as far as what Joey wrote - for some unknown reason - I though to ARM a some higher level alternative. Instead there is a problem, I see, adopting ARM micro controllers as the main horse: the relative difficult to find already developed decent boards (e.g. Arduino instead the more sophisticated and in some way limited ChipKit PI and so on) based on these ARM micro. My two experiences of non-OS based ARM processors was developing a really great ARM from Nordic. It was a BLE device to be controlled with Android and iOS, to power and manage the speeds based on several variable curves in PWM. It was a dedicated one all-in-one. Really nice (with its IDE, lot of libraries and well documented). This was a client work but the cost of the development kit was about 650$ plus some other essential accessories, and it was almost impossible to manage it (5x3 mm, 48 pin if I remember) in any other way. I can imagine to develop a project with this kind os - exceptional - hardware.

    The other example was for my experiments and was the first NXP Arm modular micro controller a couple of years ago. I pre-ordered it at a super low price from Farnell, wait six months, then was so small and I found nothing to do than buy from NXP their dev kit. I stopped this line just for the cost of the development platforms.

     

    Enrico.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 10 years ago in reply to balearicdynamics

    Both Texas Instruments (Hercules LaunchPad Series) and Silicon Labs (Gecko series) have very very cheap ARM dev boards, with free development tool licenses.

    I use dev boards and software stack of both companies. They're great.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 10 years ago in reply to balearicdynamics

    These two Cypress PSoC boards are very nice and very cheap.  The programmer part can be snapped off, leaving a DIP board.

     

    PSoC4 with ARM Cortex-M0, US$4: http://www.cypress.com/?rID=92146

    PSoC5LP with ARM Cortex-M3, US$10: http://www.cypress.com/?rID=108038

     

    These are amazing chips, with programmable digital and analog peripherals.  Unfortunately, there's no open-source software and you have to run on Windows.  I wish silicon companies would stick to silicon image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Reply
  • johnbeetem
    0 johnbeetem over 10 years ago in reply to balearicdynamics

    These two Cypress PSoC boards are very nice and very cheap.  The programmer part can be snapped off, leaving a DIP board.

     

    PSoC4 with ARM Cortex-M0, US$4: http://www.cypress.com/?rID=92146

    PSoC5LP with ARM Cortex-M3, US$10: http://www.cypress.com/?rID=108038

     

    These are amazing chips, with programmable digital and analog peripherals.  Unfortunately, there's no open-source software and you have to run on Windows.  I wish silicon companies would stick to silicon image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Children
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to johnbeetem

    True, I have not yet had to opportunity to do something over these devices.

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to johnbeetem

    Just a note,

     

    I see that these devices costs from 4$ up to 10$. But I see also that the programmer is sold at 87 Euro on Farnell site. Is this mandatory or there are other ways to program these devices?

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • screamingtiger
    0 screamingtiger over 10 years ago in reply to balearicdynamics

    The programmer comes with it, it snaps off, weird.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 10 years ago in reply to balearicdynamics

    Enrico Miglino wrote:

     

    I see that these devices costs from 4$ up to 10$. But I see also that the programmer is sold at 87 Euro on Farnell site. Is this mandatory or there are other ways to program these devices?

    You can program them over USB, using the part of the board that snaps off.  I think this uses a bootloader that's pre-programmed into the PSoC.  If you manage to erase the bootloader, then you need another programmer to restore it over SWD ("single" wire debug).

     

    I think the USB programmer can only do programming.  It can't do debug: you need a separate SWD device for that.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • screamingtiger
    0 screamingtiger over 10 years ago in reply to johnbeetem

    I've been looking at these, and there is a webinar on the main page about the newest version being released.  I am strongly considering buying over the arduino pro mini but not sure if the PSoC4 supports I2C or not.  Maybe in software only?  The PSo5 DOES!

    I've been trying to get someone to tell me they perform better than a AVR 328P and I cannot find the current draw at full load.  They talk about how to measure it but don't mention it.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • crjeder
    0 crjeder over 10 years ago in reply to johnbeetem

    Cheap ARM Cortex M* boards could be found by every manufaturer. For NXP there are the LPCXpresso Nordic semi offers a dev, too and there is the https://www.adafruit.com/products/2267

    , stm discovery and nucleo, energy micro gecko, mbed, Freescale Freedom, Infineon XMC 2Go ... a lot of choices. A quick search turned up more than 100 different boards for under $30.

    My choice is Nordic Semi nRF if I need bluetooth and PSOC 4 for everything else.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • crjeder
    0 crjeder over 10 years ago in reply to screamingtiger

    from the Datasheet:

     

    Serial Communication Blocks (SCB)

    The PSoC 4200M has four SCBs, which can each implement an I2C, UART, or SPI interface.

    So the answer should be "Yes". These blocks are programmable hardware. I2C is implemented in hardware.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • crjeder
    0 crjeder over 10 years ago in reply to johnbeetem

    The Pioneer boards (~ $20) also include a debugger.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to johnbeetem

    John,

     

    the programmer question IMHO is not secondary. First because Joey seems having in ming to move a step ahead than the simple put the code on the bootloader. In the original view the idea of the bootloader was to pre-program applicative specific micro controllers that - only for some parts - can be updated OTG Then in the hobbyist world this became a sort of "must" But if you want really get good performances from a micro you should be able to program - really - it. This means a programmer and this is what makes the difference, I think. Not last the fact that a bootloader consumes precious memory in many cases.

     

    AVR can be programmed with MKII that is about 35Euro.

    PSoC - I am not sure if the bootloader is preloaded on the device as in the datasheet I see that it is possible to create bootloadable applications, they mention the USB (beakable part) only as a useful way to communicate to the PSoC from a PC but they show the bootloadable application as for example only, not suggested to use if as a standard (due the resources consuming).

    Nordic (I am a registered developer with them due some clients work I mentioned above) support also more expansive dev kits at a similar-highr price. Their cheap boards also inclused a JTag but it is for debugging only.

    NXP (also from them I followed their products development and received periodically sample chips) had development boards starting from 50$ up to a lot image

     

    Ten in this scenario you should also consider that while boards like PSoC these other processors are really great but are not so general purpose as they seems. I try to explain the processor itself IS general purpose but in the scenario of an already developed well tailored project where the processor should fit for some specific reasons and application.

    The real - and probably only - advantage that made Arduino for first and the generation of similar board, AVR-based or not, that made the success was their possibility to be applied as a small "microcontroller motherboards" in real projects at a real low price. If things are so - and this is my impression - many of the great devices should be excluded, unfortunately, untile the producer does not discover the great market of the independent makers, hobbyists and so on as a profitable market.

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • crjeder
    0 crjeder over 10 years ago in reply to screamingtiger

    found one performance figure for Cortex M0: 0.9 Mips / MHz. At 48 MHz hat would give you ~ 43 MIPS vs. 20.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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