A 32-bit processor for open source projects with longevity - Page 1
Forum section: electronics / general

author: profdc9
author_rank: Frequent Contributor
timestamp: August 22, 2019, 02:39:56 pm
content: I don't desire to start a flame war with this question, just a discussion...I work on open source hardware designs (you can see some of them athttp://www.github.com/profdc9). The way I see it, one of the biggest benefits of the Arduino platform is the standardization on a few processors, especially the ATMega328P. This processor is an 8-bit processor, and quite sufficient for many purposes, but is getting somewhat dated. However, because of its ubiquity, it is likely to be around for quite a while, so any open source hardware projects that use it are likely to continue to be useful for quite some time.However, it is harder to find a 32-bit processor that is equally ubiquitous so that an open source hardware project may use it and be relatively assured that the processor will be available to construct the device long into the future. It is especially useful to have open source hardware libraries for the processor, such as are available with the Arduino, so that complete source code could be provided to compile the firmware. Because some parts of hobbyist development tools are not open source, I have elected not to use them as I would not know if these tools will still be available if the tool provider is no longer around.What do you think is a good processor platform for open source hardware? I have been using the STM32F103C8T6 bluepill, mostly because while it is not the most powerful 32-bit processor anymore, it is extremely ubiquitous, cheap, and the stm32duino supports it. What other 32-bit processors should be considered for open source hardware projects?

author: james_s
author_rank: Super Contributor
timestamp: August 22, 2019, 03:29:47 pm
content: I'd probably just stick to the STM32 family since it's common and widely used and you're already familiar with the low end. More powerful members of that family should be relatively easy to move up to.

author: ledtester
author_rank: Super Contributor
timestamp: August 22, 2019, 03:57:30 pm
content: Consider that in order to reproduce a project in the future you may have to preserve an entire operating system image including extra installed packages/DLLs in order to run a tool chain. And this applies even if the OS is Linux.

author: legacy
author_rank: Super Contributor
timestamp: August 22, 2019, 04:44:57 pm
content: RISC-V? ()

author: RoGeorge
author_rank: Super Contributor
timestamp: August 22, 2019, 04:54:04 pm
content: Another could be Stellaris microcontrollers from TI.A very good series about programing the Tiva boards based on Stelaris cortex M4If you prefer for programming something similar with Arduino, use Energia:http://www.ti.com/tool/ENERGIAEnergiais free, and maintained by Texas Instruments.

author: SiliconWizard
author_rank: Super Contributor
timestamp: August 22, 2019, 05:25:15 pm
content: What do you mean by longevity? How many years?

author: NorthGuy
author_rank: Super Contributor
timestamp: August 22, 2019, 05:57:24 pm
content: If you use C, then it is highly portable, so the CPU doesn't really matter. If you're careful not to use something CPU-specific, you can re-compile for other CPU (even if the CPU doesn't work now) and it will work.Periphery is more difficult. Making sure that an MCU with specifc periphery is still widely used 20 years for now is practically impossible. If you tried to do this 20 years ago, any MCU you might have chosen wouldn't look good now. Therefore, you would need your own HAL (hardware abstraction layer) which would let you easily port to practically any MCU regardless of the periphery used.Then there's aging. Whatever you do now has a very good chance to become completely obsolete 20 years from now, so it won't really matter if it runs on any MCU or not.

author: SiliconWizard
author_rank: Super Contributor
timestamp: August 22, 2019, 06:24:27 pm
content: Agree with that.The best secret for longevity is to depend on external factors as little as possible.Write portable code, separate the very low-level stuff from the rest, and don't count too heavily on extremely specific features of a given MCU (if you do, be prepared to switch to something else entirely if needed).It's a fast-moving industry. Companies are merging all the time. You don't know what's going to happen in a few years from now. Sure if you're selecting an MCU that's relatively recent (neither the ATMega328 nor the STM32F103 are) and target a reasonable lifetime (like 5 years from now), going for the major vendors will get you that without too much to worry about. 10 years, it's already another story: to make sure of that, you'd have to ask the vendor for a guaranteed lifetime and delay of notice.Heck, for instance, that may come as a shock to many, but who knows if Microchip won't decide next year to end the old Atmel AVR line altogether? That may generate a simple and guaranteed stream of revenue for now, but it's also competing with some of the low-end Microchip parts, and it's kind of old tech...Don't put all your eggs in one basket, as they say.

author: rstofer
author_rank: Super Contributor
timestamp: August 22, 2019, 06:37:43 pm
content: I wouldn't bet against technology and its apparent rate of change. In other words, I wouldn't count on 20 years of longevity.I have often thought that tech projects are about the inputs and outputs. What does it do? The 'how does it do it' becomes a minor consideration. I can do it a lot of ways and the way I choose 20 years down the road will invariably be different than what I choose today.So, document the inputs and outputs and a general flow and let the hardware evolve as it will over time.OTOH, 20 years is't that long. I've been retired for 16 years and it seems like yesterday.The ATmega328P will be around for a very long time. Heck, the PIC16F84 is still in production and has been since '93 (26 years). It is priced at a premium due to low volume but its still around. Doesn't Microchip have the business model of never obsoleting a device?

author: nctnico
author_rank: Super Contributor
timestamp: August 22, 2019, 06:49:58 pm
content: The NXP LPC ARM controller have a good track record. Choose one which is cheap and well stocked from Farnell and it will be around for a long time. The ones I used in projects in 2006 are still for sale and in production.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: August 22, 2019, 07:39:48 pm
content: Quote from: profdc9 on August 22, 2019, 02:39:56 pmYou ask about processor, but then mention 'processor platform' and STM32F103C8T6 bluepill appears to actually be aPCB module, not a chip ?If the STM32F103C8T6 bluepill works fine, then stick with that.I think there are Asian `clones` of the 32F103 chip, that your module supplier could choose to use.

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: August 22, 2019, 08:32:20 pm
content: Aside from being a generally decent, easy-to-use chip, STM32F103 in particular has three things going for it: ST tends toward a common pinout for each package type so that migration to other members of the STM32 family won't usually require much more than a recompile with new libraries. ST has also "committed," for what that's worth, to 10-year longevity of their commercial MCUs. (Possibly coincidentally, that is also the period of time for which a mask work copyright holds.)Last but especially worth highlighting is multiple sourcing: unlike the ATmega328P, you can go on LCSC and buy 99.9% drop-in compatible 32F103 clones by no fewer than four other foundries. (Possibly also coincidentally, the STM32F103 is no longer protected under mask work copyright.) Barring displacement by some new killer hotness, say RISC-V, or some science-fiction-magnitude shift in semiconductor physics, I expect at least one of those other devices will be available for quite a while.Anyway, the ability to modify a full design to suit wants and needs is the great promise of OSHW. Some future port to ESPduino or RVduino or Googleduino or whatever the cool kids are using in 10-20 years doesn't have to be your problem. If it's a design worth building in 10-20 years, the odds are good that someone will already have adapted your design and posted their fork of it. AADC's famous LC meter comes to mind for one example. I suggest you spend your worry on other single-sourced parts in your designs which could take more effort than an MCU to drop-in replace, and accept their pull request when it comes.

author: profdc9
author_rank: Frequent Contributor
timestamp: August 22, 2019, 10:00:58 pm
content: I have used the LPC2148, LPC2368, and LPC1768, and they are all good processors. One of my concerns, looking at the market, is that when a processor is made in many variants, and you depend on a particular variant, if you don't choose the variant that is the most popular or highest stock, it may be hard to get in the future. The variations in processors, of course, are very helpful in both selecting the lowest cost part with the required capability needed for the job, but I don't imaging all these variations will be available in the future. I think that if I had designed everything with the LPC2148, the projects will be much harder to get nowadays.Quote from: nctnico on August 22, 2019, 06:49:58 pm

author: profdc9
author_rank: Frequent Contributor
timestamp: August 22, 2019, 10:09:27 pm
content: One of the reasons I use the STM32F103CBT6 is the large number of devices that already seem to use it, and it's also been cloned by Chinese companies. I don't plan to use the clones unless the original is not available, but it does suggest that the chip is ubiquitous enough to be cloned by others, which is kind of when you know it's going to be around for a while, for example, like the Z80 or Intel processors. In a way, AMD, while being competition to Intel, is the best thing that happened to it, because it ensures that no one is going to worry about the architecture being neglected or obsoleted.It's very hard to avoid all specialized chips. Obviously RISC-V would be cool to try, but is not really there yet until a major manufacturer uses it in place of ARM. But for example, I use the SI5351A clock generator for the VNA I designed. I'm not sure how long that will be around, but it's a hard part to find an equivalent of or replace easily for the price, which is less than a dollar.I designed my own version of the bluepill just so if for some reason the others become unavailable, one can make one, but the nice thing about having the $2 bluepill is that it already comes mostly ready to go, and you just plug it into your board. I also made a bluepill for the STM32F405RGT6. This is used for a few dev boards, but of course is not nearly as common as the STM32F103C8T6 part.But it would be good to try to have a collection of open designs that could be recycled in the future, even if some reprogramming was needed.Quote from: jhpadjustable on August 22, 2019, 08:32:20 pm

author: nctnico
author_rank: Super Contributor
timestamp: August 22, 2019, 10:33:02 pm
content: Quote from: profdc9 on August 22, 2019, 10:00:58 pmBut that one was released in 2006 and has a 15 year product life time. You can buy them in single quantities from Farnell.

author: amyk
author_rank: Super Contributor
timestamp: August 23, 2019, 03:36:43 am
content: A 32-bit x86 in an FPGA. Might as well include the rest of the PC too

author: rsjsouza
author_rank: Super Contributor
timestamp: August 23, 2019, 02:38:23 pm
content: Quote from: RoGeorge on August 22, 2019, 04:54:04 pmYou can also take a look at the MSP432 family, which has several devices identical to the TM4C but uses their newer software packages (Simplelink). I particularly love Tivaware (for TM4C MCUs) and its simplicity, but if you plan to move around and reuse code with other stuff like Wi-Fi or BLE, the MSP432 may be more interesting as it is easier to migrate.Some interesting references arehere,here,hereandhere.Quote from: RoGeorge on August 22, 2019, 04:54:04 pmCode Composer Studio is free as well and can import Energia projects - to me the most interesting aspect is to see how it expands the whole tree of source files and headers masked by the Wiring interface.

author: MT
author_rank: Super Contributor
timestamp: August 23, 2019, 04:52:10 pm
content: Quote from: nctnico on August 22, 2019, 06:49:58 pmIn general your right but "well stocked" at Farnell i have serious doubt's about! Pricing and stock is all over the place including the introduction-of-new-product-happy-pricing-policy they have, depending on device chosen.I find Farnells stocking and pricing quite strange.

author: David Hess
author_rank: Super Contributor
timestamp: August 23, 2019, 05:28:28 pm
content: ARM would be my first choice. There are many low end general purpose ARM based microcontrollers which have had good availability for years now. But avoid online development systems. They are less reliable than the hardware.

author: e100
author_rank: Frequent Contributor
timestamp: August 24, 2019, 05:31:04 am
content: On a related theme, how do PLC manufacturers support their customers who expect a system to stay in service for decades? Do they stockpile components at the start of a product lifecycle, or are they dependent on recycling components from retired units that get taken out of service during routine upgrades or shutdowns?

author: nctnico
author_rank: Super Contributor
timestamp: August 24, 2019, 10:14:01 am
content: Quote from: e100 on August 24, 2019, 05:31:04 amProbably automotive parts and last-time-buys. But in the end it comes down to keeping enough units in stock. Although I suspect that a low end PLC manufacturer will keep less in stock compared to a brand like Siemens.

author: Kleinstein
author_rank: Super Contributor
timestamp: August 24, 2019, 11:11:22 am
content: Quote from: e100 on August 24, 2019, 05:31:04 amThey may stock some spared at the end of production - usually not right from the start. Usually the manufacturers will announce and last time buy.When already used for long enough, they may have an idea on how many replacements they may need.There have been cases when this system kind of did not work, especially is a certain relatively unique production facility suddenly closes (e.g. due to a major failure). µC are usually using a more comon CMOS process - however special version like FRAM use special processes.It is only rare cases that recycled parts from old systems are actually used, at least from the official channels. This may still be a last resort in some cases. However this gets increasingly difficult with BGA parts and already the step to RoHS made this more difficult.

author: westfw
author_rank: Super Contributor
timestamp: August 25, 2019, 03:59:39 am
content: TI, who is on their third generation of Cortex microcontrollers (msp432), with rather “iffy” futures for the 2nd gen parts (TIVA), and quickly abandoned the 1st gen parts that they inherited from Luminary?FPGAs, that seem to age out of production faster than any other semiconductor I’ve ever seen? (Replaced by some faster,cheaper, denser part at lower voltage node, but still “obsolete” all too fast.)You’ve got to be kidding!I’ve got pic16c57 parts (1st generation Microchip) that are more usable today than much more recent Xilinx, Altera, and Luminary chips. :-(The stm32 chips seem a likely candidate. Not only have they stuck around for a while, but the upgrade path (pin compatible, features added) looks good (and even multi-vendor!)Likewise, chips from Microchip.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: August 25, 2019, 07:06:53 am
content: Quote from: profdc9 on August 22, 2019, 10:09:27 pmYou should look at this thread..https://www.eevblog.com/forum/microcontrollers/risc-v-microcontrollers-from-gigadevice/looks like it follows a 'F103' standard, so your board may need minimal changes ? Be interesting to know how many changes ?Quote from: profdc9 on August 22, 2019, 10:09:27 pmSo long as they can FAB a part, and the volumes are commercial enough, they will keep making it.The Si5351A even has default clock-out models, stocked by many distis. Mouser and Digikey show 2 custom parts as 'normally stocked' as well as the default parts.Digikey have added 80 new products in the customer versions, and give 406 results for a general Si5351 search.

author: capt bullshot
author_rank: Super Contributor
timestamp: August 25, 2019, 09:06:42 am
content: Talking longevity, the STM32F103 series recently has been renewed on the 10 years longevity program by STM. So one can expect them to be available for the next ten years - that's quite a long time for these things, especially regarding they've been on the market for around ten or more years yet.

author: SiliconWizard
author_rank: Super Contributor
timestamp: August 25, 2019, 02:03:41 pm
content: Again, and as NorthGuy and I hinted, you first have to consider whether targetting "longevity" (from the thread here, we could think of this as a minimum of 10 years I guess...) makes sense at all for open source projects. The whole point of them is that everything is open, shared and everyone in the world can contribute and make it evolve. Why want to release projects that are not meant to evolve (at least on the hardware side)? It really looks like an idea for pure software developers (and even so, why limit software development on a platform that will be completely obsolete in 10 years, even if it still is usable for many things), not for hardware ones. Target maybe a couple years just so that the project doesn't end up in the trash bin shortly. If you're still working on it, and noone has taken over, make it evolve.IMO, for an open-source project, the mere idea of that just hinders innovation.Longevity is something you think about for safety-critical / commercial projects, with certifications and all that stuff, or if you're using a very specific component that is hard to replace. Where it really matters. Not typically an MCU which are ubiquitous.Design your open-source project so that people can make it evolve easily. Document it well, and try not to select too specific parts that would be very hard to replace without a complete redesign.Just a thought. Do whatever you please. The EEVBlog forum does not endorse my opinion. Do no start a war. Etc.

author: laugensalm
author_rank: Regular Contributor
timestamp: August 25, 2019, 02:53:28 pm
content: Fifteen years ago I'd have said: Blackfin. Now, I'd say: STM32.Question is: what do you regard as most volatile:- Companies being bought by others or going down- Tools with fading support, new OS- Developers no longer familiar with 'old' technologyThere's plenty of tech which will not make any large steps in evolution and which might be around for another 20 years. I trust for example that some ARM Cortex series, TIs msp430 and derivatives will be around for another 20.If you want the CPU to be opensource as well, you'd have to go do the design in an FPGA architecture that is assumed to be around for a while, plus tools that can be run from at least a virtual machine in the next 15 years.And this is where it gets interesting: I keep running into migration problems for old systems, where customers have stocked some exotic Z80 alike in DIL for doomsday, but the tools won't work any longer.This is where you start re-doing stuff from scratch and use a common architecture that is at least supported by GCC. And finally, since go you opensource: The community can do the porting to next generations. Problem solved?

author: legacy
author_rank: Super Contributor
timestamp: August 25, 2019, 06:56:21 pm
content: Quote from: laugensalm on August 25, 2019, 02:53:28 pmSo RISC-V?

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: August 26, 2019, 07:15:07 pm
content: Case in point :https://github.com/watterott/WebRadio. A nice little project, but based on Luminary chip which TI acquired, then dropped. There is not an obvious replacement, but either way would take a bit of rework in both hardware and software to migrate to a new chip.

author: nctnico
author_rank: Super Contributor
timestamp: August 26, 2019, 07:21:55 pm
content: AFAIK the Luminary and now TI ARM chips never got much traction so I wouldn't use these for a project which needs long term support.

author: DBecker
author_rank: Frequent Contributor
timestamp: August 27, 2019, 04:46:43 pm
content: Quote from: e100 on August 24, 2019, 05:31:04 amChip makers have the luxury of storing undiced (and often untested) entire wafers from the final production batch. Whole wafers are easily stored, and newly packaged chips are far less troublesome during assembly than old stock.Recovered chips, or even carefully stored old stock, are going to require cleaning and drying, test assembly runs and likely per unit hand inspection and testing.

author: dot-bob
author_rank: Newbie
timestamp: August 27, 2019, 06:18:18 pm
content: Right now unless you ultra low power standby I would be heading for the NXP i.MX RT 106x line of micro. It is really starting to gain in popularity and cost/performance wise currently blows everything out of the water. The teensy 4.0 platform is based on this micro. I have many NXP processors that were originally 10 year longevity and are still being made 25 years later.-Bob