TI MSP430 vs Freescale Kinetis: a price comparison
2013-11-06
I've been using MSP430 microcontrollers for a while now, but I wanted to look into something more powerful, but not necessarily much more expensive. I believe component cost is a major factor when designing electronics (for many reasons).
I found the Freescale Kinetis line of devices, which looks really good capability-wise. So let's try to compare the pricing of (some) MSP430 devices and (some) Kinetis K and L series devices, with a Tiva-C (Stellaris) thrown in for comparison.
Here's the table of prices compiled from Farnell. The prices are in PLN, but it really doesn't matter that much, I cared mostly about the relative pricing. Divide by 3 to get USD if you need to. All prices are from the first price break (usually qty 10), and I only chose devices that make sense to me in my projects.
Things I noted:
- The low-end Kinetis KL05 devices (MKL05Z32VFK4, MKL05Z32VFM4, MKL05Z32VLC4 and MKL05Z32VLF4) are almost the same price as the tiny MSP430G2412 (~$1.60-$2 or so). That is amazing, considering they are modern 48MHz 32-bit ARM processors, have 4 times the flash memory, 16 times the RAM, and many more peripherals (G2412 has no ADC).
- It makes little sense to use the MSP430G2553 unless you already have designs using it (I do).
- The cheapest USB-capable device in the kinetis line is the KL25 (MKL25Z128VFM4). It is slightly more expensive than the USB-capable MSP430F5502, but with much more flash and RAM. Also, Farnell doesn't sell cheaper KL25 devices, I suspect they would end up being the lowest cost USB solution.
- The first K10 (MK10DN32VFM5) at roughly $2.50 is a 48MHz Cortex-M4 core with DSP instructions.
- The first K20 (MK20DN32VLF5) is only 3 times as expensive (at $3.65) as the tiniest MSP430 I use. That is also amazing.
- Tiva-C (TM4C123AH6PMI) is only price-competitive if you need large memory sizes and floating-point. Sadly, it makes zero sense to me as a hobbyist — also because I could not find Code Composer licensing terms for Tiva-C devices. For MSP430 there is a 16kB memory limit.
My key takeaways from this:
- I will switch to Freescale Kinetis (KL05, KL25 and K20) for most of my new projects. The chips are good, inexpensive, and the tools are free (CodeWarrior is free up to 128kB, which covers all low-end devices I might want to use).
- I will continue to use MSP430 in either legacy projects, for really simple projects, or for designs where every microamp counts (another blog post on power consumption of MSP430 vs Kinetis is coming).
- Sadly, the Tiva-C (formerly Stellaris) which I had high hopes for, isn't an option at all. It's way too expensive plus it isn't clear if developer tools will be free.
This was really eye-opening for me. Thank you for your research. However, what is the cost of the Kinetis solutions when you include the cost of the passives required for basic functionality? (for say, making a breakout board).
I don't think there is any meaningful difference. You still need decoupling caps, and probably a RESET pullup resistor (though I'm not sure about that), and not much else. The cost of those passives is, at a first approximation, zero.
Janek,
Why you ruled out STM32F family ?
Well, I didn't quite rule it out, but:
I don't know that family at all, and it is very difficult to get an overview/introduction to a microcontroller family,
a quick look at pricing (Farnell) showed that in general, STM32F devices tend to be more expensive than Kinetis and many MSP430 chips,
the less expensive STM32F have Cortex-M0 and Cortex-M3 cores, while I'd much rather use Cortex-M0+ and Cortex-M4.
However, given the amount of problems I already found with Kinetis chips, I'd gladly also look at STmicro. So how about you write a blog post with an introduction/overview and recommended starter chips/kits? :-)
Janek,
STM32F have IMHO:
Pros:
- better internal peripherals (more 32bit timers, non fixed prescalers)
- best of ARM family (NXP/TI/ST) open source support
- lots of books (few of them in Polish)
- biggest community
- available in Poland in single quantities (www.kamami.pl)
Cons:
- crappy bloated "helper" StdPeriphLib libraries (for example make a struct, fill it, pass struct to function, unpack it there and modify registers)
With this eclipse plugin http://sourceforge.net/projects/gnuarmeclipse/ I was able to start and run "blinky" code in less than 30 minutes..
I could actually use a 32-bit timer. I was surprised the Kinetis timers are 16-bit.
As for other reasons, well, I was always a contrarian, I don't like to do what everyone else does just because everyone does it. I need to be convinced myself.
And again — most low-end STM32F seem to be M0 and M3. The cheapest M4 core is about 2x as expensive as a similar Kinetis K20 (see http://pl.farnell.com/freescale-semiconductor/mk20dn64vft5/mcu-kinetis-k20-cortex-m4-48qfn/dp/2133563).
We need some Hackerspace in Warsaw , as a place to meet from time to time for people like this who are not students any more :)
Yes, definitely. I would really like to hear about STM32F, for example.
Fortunately it seems there is an increasing group of people finding a renewed interest in electronics, so something might actually happen soon.