Author Topic: A 32-bit processor for open source projects with longevity  (Read 8229 times)

0 Members and 1 Guest are viewing this topic.

Offline profdc9Topic starter

  • Frequent Contributor
  • **
  • Posts: 347
  • Country: us
A 32-bit processor for open source projects with longevity
« on: August 22, 2019, 02:39:56 pm »
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 at http://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?
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21608
  • Country: us
Re: A 32-bit processor for open source projects with longevity
« Reply #1 on: August 22, 2019, 03:29:47 pm »
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.
 

Offline ledtester

  • Super Contributor
  • ***
  • Posts: 4225
  • Country: us
Re: A 32-bit processor for open source projects with longevity
« Reply #2 on: August 22, 2019, 03:57:30 pm »
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.
 
The following users thanked this post: legacy

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: A 32-bit processor for open source projects with longevity
« Reply #3 on: August 22, 2019, 04:44:57 pm »
RISC-V? (  ;D )
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 8546
  • Country: ro
Re: A 32-bit processor for open source projects with longevity
« Reply #4 on: August 22, 2019, 04:54:04 pm »
Another could be Stellaris microcontrollers from TI.

A very good series about programing the Tiva boards based on Stelaris cortex M4





If you prefer for programming something similar with Arduino, use Energia:  http://www.ti.com/tool/ENERGIA


Energia is free, and maintained by Texas Instruments.
« Last Edit: August 22, 2019, 04:57:04 pm by RoGeorge »
 
The following users thanked this post: rsjsouza

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 17821
  • Country: fr
Re: A 32-bit processor for open source projects with longevity
« Reply #5 on: August 22, 2019, 05:25:15 pm »
What do you mean by longevity? How many years?
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3565
  • Country: ca
Re: A 32-bit processor for open source projects with longevity
« Reply #6 on: August 22, 2019, 05:57:24 pm »
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.
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 17821
  • Country: fr
Re: A 32-bit processor for open source projects with longevity
« Reply #7 on: August 22, 2019, 06:24:27 pm »
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.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 10089
  • Country: us
Re: A 32-bit processor for open source projects with longevity
« Reply #8 on: August 22, 2019, 06:37:43 pm »
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?
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 30311
  • Country: nl
    • NCT Developments
Re: A 32-bit processor for open source projects with longevity
« Reply #9 on: August 22, 2019, 06:49:58 pm »
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.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3385
  • Country: au
Re: A 32-bit processor for open source projects with longevity
« Reply #10 on: August 22, 2019, 07:39:48 pm »

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?
You ask about processor, but then mention 'processor platform' and STM32F103C8T6 bluepill appears to actually be a PCB 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.
 
The following users thanked this post: thm_w

Offline jhpadjustable

  • Frequent Contributor
  • **
  • Posts: 295
  • Country: us
  • Salt 'n' pepper beard
Re: A 32-bit processor for open source projects with longevity
« Reply #11 on: August 22, 2019, 08:32:20 pm »
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.
"There are more things in heaven and earth, Arduino, than are dreamt of in your philosophy."
 
The following users thanked this post: thm_w

Offline profdc9Topic starter

  • Frequent Contributor
  • **
  • Posts: 347
  • Country: us
Re: A 32-bit processor for open source projects with longevity
« Reply #12 on: August 22, 2019, 10:00:58 pm »
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.

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.
 

Offline profdc9Topic starter

  • Frequent Contributor
  • **
  • Posts: 347
  • Country: us
Re: A 32-bit processor for open source projects with longevity
« Reply #13 on: August 22, 2019, 10:09:27 pm »
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.

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.
 
The following users thanked this post: jhpadjustable

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 30311
  • Country: nl
    • NCT Developments
Re: A 32-bit processor for open source projects with longevity
« Reply #14 on: August 22, 2019, 10:33:02 pm »
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.
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.
But that one was released in 2006 and has a 15 year product life time. You can buy them in single quantities from Farnell.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 9175
Re: A 32-bit processor for open source projects with longevity
« Reply #15 on: August 23, 2019, 03:36:43 am »
A 32-bit x86 in an FPGA. Might as well include the rest of the PC too ;)
 

Online rsjsouza

  • Super Contributor
  • ***
  • Posts: 6198
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: A 32-bit processor for open source projects with longevity
« Reply #16 on: August 23, 2019, 02:38:23 pm »
Another could be Stellaris microcontrollers from TI.
You 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 are here, here, here and here.

If you prefer for programming something similar with Arduino, use Energia:  http://www.ti.com/tool/ENERGIA

Energia is free, and maintained by Texas Instruments.
Code 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.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline MT

  • Super Contributor
  • ***
  • Posts: 1849
  • Country: aq
Re: A 32-bit processor for open source projects with longevity
« Reply #17 on: August 23, 2019, 04:52:10 pm »
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.
In 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.
« Last Edit: August 23, 2019, 04:54:33 pm by MT »
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 19240
  • Country: us
  • DavidH
Re: A 32-bit processor for open source projects with longevity
« Reply #18 on: August 23, 2019, 05:28:28 pm »
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.
 

Offline e100

  • Frequent Contributor
  • **
  • Posts: 635
Re: A 32-bit processor for open source projects with longevity
« Reply #19 on: August 24, 2019, 05:31:04 am »
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?
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 30311
  • Country: nl
    • NCT Developments
Re: A 32-bit processor for open source projects with longevity
« Reply #20 on: August 24, 2019, 10:14:01 am »
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?
Probably 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.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 17272
  • Country: de
Re: A 32-bit processor for open source projects with longevity
« Reply #21 on: August 24, 2019, 11:11:22 am »
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?
They 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.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4662
  • Country: us
Re: A 32-bit processor for open source projects with longevity
« Reply #22 on: August 25, 2019, 03:59:39 am »
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.

 

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3385
  • Country: au
Re: A 32-bit processor for open source projects with longevity
« Reply #23 on: August 25, 2019, 07:06:53 am »
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. 
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.   

You 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 ?


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. 
So 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.


 

Offline capt bullshot

  • Super Contributor
  • ***
  • Posts: 3033
  • Country: de
    • Mostly useless stuff, but nice to have: wunderkis.de
Re: A 32-bit processor for open source projects with longevity
« Reply #24 on: August 25, 2019, 09:06:42 am »
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.
Safety devices hinder evolution
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

- - -
-->