To many MCU's to chose from! - Page 1
Forum section: electronics / general

author: Ian.M
author_rank: Super Contributor
timestamp: December 21, 2015, 08:34:50 am
content: So what are your design constraints?

author: miguelvp
author_rank: Super Contributor
timestamp: December 21, 2015, 10:27:27 am
content: <-- Cypress fanboy, so go Cypressnot many MCUs can do this, leaving the actual MCU (Cortex M series) free to do other things:

author: daqq
author_rank: Super Contributor
timestamp: December 21, 2015, 10:44:48 am
content: Get an FPGA, make your own

author: Kjelt
author_rank: Super Contributor
timestamp: December 21, 2015, 11:27:45 am
content: Quote from: miguelvp on December 21, 2015, 10:27:27 amYou have a GPU for something like that

author: miguelvp
author_rank: Super Contributor
timestamp: December 21, 2015, 11:36:01 am
content: Quote from: Kjelt on December 21, 2015, 11:27:45 amActually making a tutorial using a $10 prototyping kit (plus an R2R VGA module that is sub $10 extra)https://www.eevblog.com/forum/projects/no-bitbanging-necessary-or-how-to-drive-a-vga-monitor-on-a-psoc-5lp-programmabl/The MCU is not doing a thing so far.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: December 21, 2015, 11:55:41 am
content: I did a VGA demo once with an NXP LPC1768, based mainly on DMA transfers.OK, I needed a small Vsync and Hsync interrupt, so there was some interrupt load, but also quite a lot of CPU time left (@100MHz).LPC1768 core boards are available on eBay for ~20€ which are great as base for own projects as all pins (apart from XTAL) are on the pin headers.http://www.ebay.de/itm/LPC1768-minimum-System-Board-Core-Board-usd-cable-/201162858944There are also interesting smaller devices from NXP like the LPC1549 (did a simplecore boardfor it) and the LPC800 family (e.g. LPC812 and LPC824).

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 21, 2015, 12:24:59 pm
content: Agree. I keep discovering new features all the time - and I'm not even familiar with ARMPick the make/range based on the quality of the (free) development environment provide. I mean everybody's got SPI/USB etc...Also for prototyping take the one that has the most memory and IO pins (and an extra serial for PC debugging). You will never know how much memory you need in the final version upfront. You know it when its (almost) done. Then multiply by 2 or 3 for future enhancements if that's on the road map.Make sure you pick a device that is not too expensive and readily available for the foreseeable future. If its just hobby stuff, take old stock. It's tools are still available and the price is low(er).

author: free_electron
author_rank: Super Contributor
timestamp: December 21, 2015, 03:37:41 pm
content: make your own with 1n4148 and 2n2222 's ...

author: asgard20032
author_rank: Regular Contributor
timestamp: December 21, 2015, 04:13:52 pm
content: We are now almost 2016, so I round it up to WE ARE in 2016. So stay away from PIC and AVR, altought they are nice architecture, there are now so many cheap ARM development board, and since verry recently, even a free professionnal IDE.IDE : Atollic (free, professional), Crossworks (Cheap, 150$, professional), VisualGDB (90$, cheap), Keil (free for STM32L0 and STM32F0, professional), and a bunch of other free IDE that I wouldn't recommend. AND DON'T FORGET ABOUT YOUR MANUFACTURER IDE, generally, even if not the best, the manufacturer IDE work painlessly and include extra feature like pin assignment code generator.By the way, Psoc 5 and Psoc 4 are ARM cortex, so my recomendation apply to them. If you are serious about learning mcu, choose two family, and learn them. 2 different of course. For example, Psoc and either nxp/stm32/freescale.Psoc: Many 10$ board, and if you want more arduino like, they got the pioner board, around 25-35$ depending on which family. There is also the freesoc2, but more costly.STM32: Lot of cheap discovery board, 10-20$, and nucleo board (arduino form factor), 10$. No manufacturer official IDE.NXP: See other people for recommendation. Their free IDE is limited to 256k, but you have access to USB stack... (probably also RTOS and ethernet stack)Freescal: Lot of nice Freedom board, 10-40$. Their free IDE has no restriction, and has real time operating system, USB stack, ethernet stack....Atmel: See other people for recommendation. Not verry popular, altought I like their documentation format. Their IDE is... well, some people like and other dislike.Texas instrument : Check their cheap launchpad. IDE is ok... They got a wifi ARM : CC3200. They have USB stack, ethernet stack, RTOS.Energy micro: Low power mcu, not much love, because people don't know about it, but everyone that tried it fell in love with those. They got an IDE.There are many many more manufacturer, but try to stay within the well know manufacturer for your 1-2 main microcontroller. Of course, for some verry project specific, you could explore other...For a 2 manufacturer combo, i would suggest one from [STM32, NXP, Freescale], and for the other, any one from the one i suggested. Psoc + [STM32, NXP, Freescale] would be the best combo, because you could learn so much from two such different architecture. Psoc simplify the ARM side, but allow you to have an FPGA like side, while with [STM32, NXP, Freescale], you could learn the true ARM side.Most of the development board nowadays can be used as a programmer for other board.If you want to try something other than ARM, or a 1 arm + 1 something else combo, then look after msp430, a nice little 16 bit mcu from texas instrument. Also look at PIC32. Altought a little bit bugged, and the very controversy harmony framework, this can be a nice occasion to learan about mips.If learning mcu, and very powerful tool don't interest you and you just want a project done, either take an arduino/arduino like board with an arduino/arduino like development environment, or a simple AVR or PIC12, PIC16, PIC18.

author: coppice
author_rank: Super Contributor
timestamp: December 21, 2015, 04:42:49 pm
content: Quote from: miguelvp on December 21, 2015, 10:27:27 amAnd that's because the market for people wanting to do that with the kind of MCU that has an M series core is rather limited.

author: miguelvp
author_rank: Super Contributor
timestamp: December 21, 2015, 04:57:16 pm
content: Quote from: coppice on December 21, 2015, 04:42:49 pmThey do use it for driving full graphic LCDs:http://www.cypress.com/documentation/component-datasheets/graphic-lcd-interface-graphiclcdintfAlso supports full USB (12Mbps), SPI and I2C. I think there is a touch screen module available as well. It's not a full VGA but looking at the logic behind it is very similar.

author: Bruce Abbott
author_rank: Frequent Contributor
timestamp: December 21, 2015, 05:30:58 pm
content: Quote from: MT on December 21, 2015, 08:07:46 amUntil you have a specific requirement, and then the field narrows significantly.

author: westfw
author_rank: Super Contributor
timestamp: December 21, 2015, 10:44:21 pm
content: Not only are there too many MCUs to choose from, there are also too many cheap development boards (Arduino and Raspberry Pi wanna-bes) to choose from!OTOH, as a hobbyist or student, the risk is low. Spend your $25 and get something, and it will do lots of interesting things, and you'll learn a lot (that IS transferable) making it do stuff. Even as a professional, there are things that you probably won't notice until you actually try to use the MCU. Here are a couple examples:The Cortex M0 or M0+ cpu is sorta ugly. It's got limitations on many traditional instructions, and is missing others. The Gnu float library for M0 is the un-optimized gcc library, which means that anything that uses floats bloats rather dramatically (and isn't very fast.) (M3 and better have hand-optimized assembler to do floating point.)Many smaller MCUs won't give you 8 bits in a row of GPIO, especially after you consume some pins for necessary "secondary functions."Vendor libraries suck.Peripherals have gotten very complex. They can be hard to use without the vendor libraries (which suck, remember...)Wouldn't you rather have a nice little module with a large fraction of a gigabyte and gigahertz that runs linux? Same price. Different "issues." :-)

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: December 21, 2015, 11:22:15 pm
content: Most people who use float on a microcontroller don't understand the implications anyway. And that includes controllers which have hardware support.It is surprising to see how people assume that a 32bit float would magically resolve all the resolution constraints that a fixed point 32bit implementation might have and don't even care to think about stuff like denormals or what happens if the mantissa exceeds 24bit. E.g. try to compare 16777216 and 16777217 in float.IMHO the main reason to use float (in hardware) is that it can be much faster to do a float multiplication than a 64bit multiplication/division. But of course you might need to save much more registers for task switches etc.Anyway I wouldn't base my controller selection on good float library support. I can't imagine any reason why I would want to use a software float library except maybe for compatibility with a (s)printf function or something like that. Well, even then I'd consider it an ugly hack.I agree though that Cortex M3 is much more convenient to use than M0/M0+. Quite a lot of useful instructions like reserved load/store (ldrex, strexne) and count leading zeroes (clz) are missing.And Cortex M0/M++ doesn't have support for bit banding either. Then again, I'd still prefer a nice Cortex M0+ over any AVR.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: December 22, 2015, 04:40:05 pm
content: Quote from: asgard20032 on December 21, 2015, 04:13:52 pmThe recent PIC32MZ has tarnished the reputation of the PIC32. Microchip released parts way before they were ready, hence they were full of bugs that rendered them almost unusable. The latest parts in the EF series have cleaned up most of the issues with the earlier chips, however. The older PIC32MX series has been stable for quite a number of years now and these parts have no more errata than your typical ARM Cortex-M part. Microchip provides a free IDE and a free C compiler (with additional optimizations if you're willing to pay, or free if you're willing to download the GPL'd code and build it yourself).Although I like the PIC32, I think the ARM Cortex-M3/4/7 is a better architecture and more future proof. The M4 has optional 32-bit hardware floating point, and the M7 has 64-bit floating point (although the only M7 I've seen so far, the STM32F7, has only 32-bit floating point). I haven't needed hardware floating point in an embedded application very often, but the capability is there if I ever need it.Westfw is right about vendor libraries -- they all suck big time. I wouldn't bother wasting my time with them unless I were desperate or under a tight deadline, but even then I'd have reservations. I've always written my own peripheral drivers and recommend that others do likewise. Yes, some of the peripherals have gotten complex, but you often don't need all that complexity and can implement a driver for only a subset of the functionality you need.

author: dannyf
author_rank: Super Contributor
timestamp: December 22, 2015, 04:47:57 pm
content: The issue of libraries can be easily addressed, over the long run, with middleware - it is very rare for 3rd party libraries to be used directly in any shop with good quality control.

author: tszaboo
author_rank: Super Contributor
timestamp: December 22, 2015, 06:05:30 pm
content: Have you tried choosing an opamp recently? They cost more than the MCU, they get a datasheet which has typical value of 1 and min max is 1000. Every manufacturer has a magic arrangement for measuring the same stuff, and you are supposed to believe them, becaue there is no way to test all batch.And then, selecting a MOSFET.Or a power supply.Or a precision resistor...Recent design, 5% of the BOM was the digital stuff.Selecting a MCU is simple, I usually have an idea what to use by the time I know the specification. Selecting the rest, that is where the art is.

author: autobot
author_rank: Regular Contributor
timestamp: December 24, 2015, 03:31:57 am
content: Of course it depends on requirements. But starting with useful software as a way to narrow mcu's is helpful.So maybe the simblee.com will work for you: and arduino based bluetooth mcu(module) , with a library that lets you EASILY build good looking smartphone apps for your users to control the project, with many other nice features. And of course it's an arduino, with all the benefits.The other option - go to the mbed site, they offer a limited st of mcu's but with a lot of software , probably written by embedded engineers - with great support of tools, prototyping platforms, etc...

author: Marco
author_rank: Super Contributor
timestamp: December 24, 2015, 09:38:15 am
content: Quote from: NANDBlog on December 22, 2015, 06:05:30 pmA 25ns comparator costs about as much as a micro which has one built in.