Highest processing power per dollar MCUs - Page 1
Forum section: electronics / general

author: CM800
author_rank: Frequent Contributor
timestamp: June 13, 2017, 11:08:40 am
content: Hello Everyone,I'm currently in the progress of planning out a project with a fellow EE,We are looking into running an interperator on an MCU as part of the product to allow customer-friendly programming and interfacing.As our product is targeting the more cost-sensitive areas our market, we would like to use something cheap to run.I was imaging an Cortex M4 or even M7 however the chips arn't exactly cheap-cheap.One of the plans I am looking at for the product is to have a control system as follows:Open-software User MCU -> Control MCU -> FPGA implemented peripheral.Is there any good chips out there that would be a good option? We arn't too concerned about peripherals, however Quad-SPI, UART, CAN and Ethernet would all be valued.What kind of MCU families are very good value for what you can get?I was imaging the STM32 range could be an option.

author: coppice
author_rank: Super Contributor
timestamp: June 13, 2017, 11:18:03 am
content: Nobody can tell you how to get the processing power you need at the lowest cost until you define how much processing power you need.The costs of MCUs have little to do with the processing power of the core. The core is a very small part of the chip. MCUs are dominated by memory and peripherals. If you don't value fancy peripherals there are a few MCUs which have lots of flash, some RAM and just a few peripherals. If you don't value the peripherals or lots of flash, maybe MCUs aren't for you.

author: CM800
author_rank: Frequent Contributor
timestamp: June 13, 2017, 11:29:42 am
content: Well, the rough plan is to run an interperater (or JIT?) on the MCU with some external FLASH (user program / data)I was picturing running Python or Javascript, for example, using these as a base:http://micropython.org/https://www.espruino.com/I'm leaning towards the Javascript base as it looks even more developed, plus the graphical editor.It seems that Cortex M4 would be suitable. I'm looking through Mouser & Farnell... Are there any cheaper cores that arn't on such sites?

author: ebclr
author_rank: Super Contributor
timestamp: June 13, 2017, 11:39:19 am
content: 600 Dmips 2 cores 3.76 USD ( module )https://espressif.com/en/support/download/documents

author: Jeroen3
author_rank: Super Contributor
timestamp: June 13, 2017, 12:46:54 pm
content: You probably can't win from popular chips like the BCM2837, but it's all in the quantity.

author: NorthGuy
author_rank: Super Contributor
timestamp: June 13, 2017, 01:16:49 pm
content: People run Basic on $1 PICs, so it can be done with very little resources if you're willing to do some work.But if you're going to have FPGA, it won't be cheap anyway. So, why not use Zynq? It'll have built-in CPU (or two), FPGA, and lots of power.

author: DBecker
author_rank: Frequent Contributor
timestamp: June 13, 2017, 06:25:42 pm
content: If you are willing to move above $8, there are many applications processors targeted at cheap phones and tablets that have significant processing power. Just be prepared for the zillion-layer perfectly designed boards needed to support them.If you are willing to program DSPs and specialized pipelines, there are $5 chips that are really impressive. And horrible to use.If you want programmability and speed, it's really difficult to beat WiFi and Bluetooth SoCs.

author: CM800
author_rank: Frequent Contributor
timestamp: June 13, 2017, 07:25:18 pm
content: Thank you everyone for your responses,We are hoping for a BOM of less then £50, preferably even better. Production volume would be 100's, hopefully towards 1000's.A soft-core seems to scream added cost considering our FPGA's fabric is not very big, looking at less then 10k elements hopefully! (however we haven't added all the functionality to the prototype we are planning for... so it could be more!)WiFi and Bluetooth do sound very nice to have in native, especially Bluetooth for programming / interfacing as it could then support upload / interfacing via phone.You've given me much to think about. I will have to... think about it.

author: nctnico
author_rank: Super Contributor
timestamp: June 13, 2017, 07:55:48 pm
content: What is the product lifecycle? Cheap devices may not be around very long so if this product needs to be produced for a long time then going for the cheapest device may not be worthwhile. Also for several 1000 pieces the engineering costs will still dominate the cost of the product so you better care about getting the software up&running on a more expensive chip because that will be cheaper in the end. The biggest mistake in these kind of projects is to choose a poorly documented chip with flaws and too little memory. That will be become a bottomless time (and thus money) sinkhole.I'd get a good grasp on the software development effort required first and then see which device is a good fit. This may take creating a prototype first to determine the resources needed. From there you can make a somewhat educated guesstimation on which device would fit while looking at both production and engineering costs. Remember engineers (especially the ones who write software) usually way too optimistic about the time they need. It is not uncommon to need a multiplier of 5 or 6.

author: Jeroen3
author_rank: Super Contributor
timestamp: June 14, 2017, 06:00:20 am
content: Raspberry pi sells a compute stick. Or a zero stack-on board.Based on your quantity, this seems the cheapest option. Time will be most expensive.

author: danadak
author_rank: Super Contributor
timestamp: June 14, 2017, 11:38:05 am
content: You mention FPGA implementation of peripheral. Also UART, CAN, SPI, Ethernet.PSOC can do a lot pof this (sans no ETH MAC on board).For me what stands out is -1) Routability2) Fast 12 bit SAR A/D and slow 20 bit DelSig3) DFB (Digital Filter Block) that is dual channel, handle FIR or IIR filters, or DFBcan be used as a GP fast processor block, similar to RISC block4) MSI logic elements GUI based and/or the UDB Verilog capability. Eg. the FPGAlike capability5) Onboard Vref6) IDAC, VDAC, OpAmps (up to 4), comparator, mixer, switch cap, analog mux....7) LCD, COM, UART, I2C, I2S, One Wire, SPI, Parallel, LIN, CAN, BLE, USB9) Custom components capability, create with schematic capture or Verilog10) DMA to offload processes like filters, COM, Display11) ARM M0 (PSOC 4) or M3 (PSOC 5LP) or 8051 core(PSOC 3)12) Extensive clock generation capabilities13) All components supported by extensive prewritten APIshttps://www.element14.com/community/thread/23736/l/100-projects-in-100-days?displayFullThread=truehttp://www.cypress.com/documentation/code-examples/psoc-345-code-examplesGreat video libraryAttached component list. A component is an on chip HW resource.Free GUI design tool with schematic capture, "Creator". Components have rich API library attachedto each component. Compilers free as well.An example of digital filter design, operating in background while rest ofPSOC doing other stuffDev board for $ 10https://www.google.com/search?q=psoc+digital+filter+image&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwjnrsXU07rUAhVP9GMKHaH_CkkQ7AkIPA&biw=1366&bih=648#tbm=isch&q=psoc+image&imgrc=eguoTYfRItp2TM:There is also a Pioneer board for $ 25 that has Arduino footprint to take expansion cards, PSOC 4.PSOC 4 is low end of family, consider 5LP parts as well. PSOC 4 also has arduino footprint boards (pioneer) as wellhttps://www.elektormagazine.com/labs/robot-build-with-cypress-psochttp://www.cypress.com/products/32-bit-arm-cortex-m-psocRegards, Dana.

author: danadak
author_rank: Super Contributor
timestamp: June 14, 2017, 11:42:24 am
content: 1) PSOC 5LP family has an internal DSP engine that can function as anotherprocessor, in fact the PSOC 6 family imminent has a true dual processor architecture.Cortex M0+ and Cortex M4. The DSP engine can be programmed to do some nonstandard math or control, or used in its standard config as a digital filter, FIR or IIR,dual channel, up to 128 taps in FIR.2) The routing is pretty general, except that the analog has a preferred, not mandatory,ports. There is a tool to analyze the switch paths in case one wants to deviate from thenorm.3) User can create custom components (chip functionality) using Verilog or schematiccapture using all the predefined basic logic elements.4) I am not a PSOC expert, just an active user. There are people on their website supportingdesigners that I would classify as knowing a lot more than I do, Bob Marlowe being one. Heis very active over there helping.5) Recently analog primitives have been added so one can build special analog capability.I do not know yet how complete that is. But looks interesting. I worked in the field asan FAE with a number of companies doing dual processor designs, for reliability, non-stop computing, etc..6) The on board bandgap ref is +/- .1%, not too shabby.7) DMA facility quite good, in terms of triggering, chaining, background operations etc..Dual ADCs, 12 bit SAR + 20 bit DelSig, or dual 12 bit SAR.9) There are several families, some sub $1, all with various HW resources. Even Bluetooth istargeted by one family. The high end parts are not cheap, but when fully used very competitive.All use same tool, PSOC Creator. Free, including compiler.10) Some people are doing PSOC development on MAC using Parallels. Linux I see activityon web, at your own risk I gather.11) Several wizards make life easy setting up components like digital filter, DMA, routing evaluation,clock system, ADC setup......Just a few of the good things in a PSOC.Regards, Dana.

author: CM800
author_rank: Frequent Contributor
timestamp: June 14, 2017, 02:00:56 pm
content: Thanks for your input, Expecially Dana, quite a wealth of information.Unfortunately PSoC isn't quite as indepth to implement the -very- custom peripheral I require. (interpolated pulse train generator for motion control)I will consider PSoC as a possibility though due to it's exotic system, I will have to talk it over with the other EE as he will be implementing most of this project and I'm unsure as to how familier with it he is. I'm currently leaning towards STM32F with Javascript implemented, I've ordered the dev-boards for it this morning. (I'm mostly guiding the project as I have other responsibilities at the company)

author: danadak
author_rank: Super Contributor
timestamp: June 14, 2017, 05:19:47 pm
content: QuoteI do not know the gate count you are looking at, but you can create a customvia schematic capture or Verilog.Regards, Dana.

author: CM800
author_rank: Frequent Contributor
timestamp: June 14, 2017, 05:25:03 pm
content: Quote from: danadak on June 14, 2017, 05:19:47 pmUnfortunately not,I did mention further up the chain that I'm expecting to use around 10k logic units.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: June 17, 2017, 12:09:47 pm
content: Quote from: CM800 on June 13, 2017, 11:08:40 amI've spent some time looking for a best value/high performance option in ARM. I would say the two that come out are Kinetis K series, and STMF4 series (maybe STMF3 as well). The pyBoard runs STM32F411RET6, Teensy 3.6 uses a Kinetis K66, both good price/performance without getting into M7 or A series.If you are buying 500,000 units, the best value is in smart phone chips like those from Broadcom etc. But it's unlikely they will even talk to you unless you are big player. Other high spec chips are more available, like Freescale iMX6, TI Sitara range, but these are not cheap unless you are ordering 10,000s.If you are willing to go the Chinese route, there is best bang/buck value in Allwinner, Espressif. But sourcing reliable parts and getting information is quite difficult, unless you have contacts in China.

author: bson
author_rank: Unknown
timestamp: June 18, 2017, 11:39:45 pm
content: Keep in mind there's a board cost also - a more complex board will be more expensive to assemble and test...

author: cdev
author_rank: Super Contributor
timestamp: June 19, 2017, 12:26:35 am
content: The Navspark Arduino-compatible GPS boards use the Leon3 Sparc CPU, which is open - sort of, and looks kind of interesting.the cheap navspark mini is only $6 which is cheap for a complete 32 bit dev board system, and it contains a "free" GPS.

author: technix
author_rank: Super Contributor
timestamp: June 19, 2017, 12:39:25 am
content: This is technically not a MCU: Allwinner V3s, Cortex-A7 MP1 @1.2GHz, costs single-digit dollars. No this is not an outdated surplus but an actively promoted low cost processor.About the BCM2837 you can get the Compute Module 3 which is just 2837, RAM, PMIC and optionally eMMC on a SODIMM module. And you still get the bootloader.

author: Harvs
author_rank: Super Contributor
timestamp: June 19, 2017, 12:47:32 am
content: Couple of people have mentioned the ESP32. If you're considering this just be aware that the details of your algorithm can dramatically affect the performance of this processor due to the (relatively) small cache and slow pipeline to the external flash memory where code is stored.But it's cheap and easy to try...