Chipkit Max32 vs Arduino Due (MIPS vs ARM) - Page 1
Forum section: electronics / general

author: Stonent
author_rank: Super Contributor
timestamp: August 22, 2013, 04:46:04 pm
content: So these two kits are similarly priced, designed to be the same layout. For people who have experience with both Pic32 and Atmel's Cortex M3, what do you think about these two? Back in the 90s MIPS chips were known as number crunching powerhouses and ARM was mainly low end gadgetry. But now ARM has taken over much of the embedded market and there is some pretty impressive hardware out there. My new phone has a 1.5GHz 4 core Qualcomm Krait (S4 Pro) chip and about as smooth as can be.So are there any stand out features of one over the other today in the lower end MCU line?

author: nctnico
author_rank: Super Contributor
timestamp: August 22, 2013, 06:30:53 pm
content: I'd go for ARM. In the end that will allow you to use a much broader range of controllers than just the PIC32.

author: FrankBuss
author_rank: Unknown
timestamp: August 22, 2013, 06:44:21 pm
content: I have a chipkit max32 and tested it with some sketches, and if there are no AVR low-level code in it, it works the same as an original Arduino. The chipkit has more IO ports, and CAN and ethernet. MIPS is a nice architecture, the Sony PSP uses this core, too. But from C you don't see any difference and if you don't need the extra pins and interfaces, maybe the Arduino is better, because there might be more low-level libraries released for it (tricks like FBAS signal generators etc.).

author: Unknown
author_rank: Unknown
timestamp: August 22, 2013, 07:11:39 pm
content: Nothing wrong with either MIPS or ARM, no point on focusing on the core unless you have a particular demanding application in mind. Focus on tools, community, support and peripherals. My guess is that the community around the Arduino Due is larger and that the Chipkit may even lose momentum now it's not the 32-bit alternative to the Arduino anymore, but I'm not familiar with either community.

author: Stonent
author_rank: Super Contributor
timestamp: August 22, 2013, 07:31:21 pm
content: Is there any noticeable performance difference? I wonder if a benchmark could be set up where the chip drives an LCD and completes a few calculations or procedures and increments the display. Let it run for an hour and see how many iterations had completed.Another idea is current consumption of the two boards.

author: Stonent
author_rank: Super Contributor
timestamp: August 22, 2013, 07:32:37 pm
content: Also I am interested in CAN for use in interfacing with vehicles.

author: boz
author_rank: Regular Contributor
timestamp: August 22, 2013, 08:42:20 pm
content: You wont go wrong with either, as one poster says the Arduino IDE isolates you from the low level stuff of either architecture and as both are basically programming in C its no big deal to move from one to another. Grown up engineers will happily work with either depending upon what chip currently suits their project, budget and timescale.If you dont have a specific project in mind or this is your first board I would seriously consider sticking with the basic UNO, its cheaper, all the shields and libraries just work and it has better support, the Mega format boards are 3.3V and have different pin connections for some shields which may cause frustration. You have enough of a learning curve ahead of you and you can always buy the bigger board when you need the horsepower and get a bit more experience.

author: andersm
author_rank: Super Contributor
timestamp: August 22, 2013, 08:55:28 pm
content: If you're only going to be using Arduino-like environments there shouldn't be too much differences as the low-level stuff is hidden. If you're going to be programming bare metal, I'd go with Cortex-M. Modern MIPS cores carry a lot of legacy architecture around, and the microprocessor extensions feel kind of bolted on.Performance-wise MIPS claim a slight edge clock-for-clock, at the expense of about 50% code size increase. The MIPS core used in the PIC32MX MCUs can also run in a mode with narrower instructions called MIPS16e, which reduces code size but is correspondingly slower. Think ARM vs. Thumb in ARM7TDMI.

author: Stonent
author_rank: Super Contributor
timestamp: August 23, 2013, 12:25:03 am
content: I've got an Uno, MSP430 Launchpad, just got a Stellaris Launchpad and a handful of sample AVRs from Atmel.I guess I'm mostly interested in how much Integer and FP horsepower these PIC32 chips have. I don't have any PIC hardware yet.

author: ejeffrey
author_rank: Super Contributor
timestamp: August 23, 2013, 12:42:37 am
content: For integer, it looks like they are going to be pretty similar. For floating point, both will be emulated, so it will be slow no matter what. The choice probably comes down to peripherals and software support. If you are only going to use the arduino environment, it probably doesn't matter at all. ARM may give you more upwards portability, for example to a chip with a hardware FPU if you care about floating point performance.

author: Harvs
author_rank: Super Contributor
timestamp: August 23, 2013, 12:49:36 am
content: QuoteIf that's what you really cared about, why not just move away for arduino form factor and get a STM32F4 disco board for $15 which has a floating point unit and dsp instructions?

author: Stonent
author_rank: Super Contributor
timestamp: August 23, 2013, 12:59:35 am
content: Quote from: Harvs on August 23, 2013, 12:49:36 amThese little boards are like Pokemons or Beanie Babies, you've just gotta collect them allAs long as they all stay cheap I'll pick them all up one by one.I've got an old SGI Indy workstation in storage that had a MIPS chip that could do some pretty impressive stuff even without a 3D board installed.I had a 50MHz MicroSparc Sun Workstation that I used as a webserver and MP3 Player years ago.

author: ejeffrey
author_rank: Super Contributor
timestamp: August 23, 2013, 05:12:55 am
content: Other than sharing the same family of instruction sets there isn't really a lot in common between the PIC32 and the SGI Indy. Even the ISAs are really not the same, the Indy had a 64 bit CPU with an FPU, while the PIC32 is 32 bit and has no FPU. The pipeline, cache, and memory architectures are all considerably different.

author: nctnico
author_rank: Super Contributor
timestamp: August 23, 2013, 10:40:08 am
content: Indeed. The MIPS architecture is still used on a large scale for special products. But don't fool yourself by that. If you look for community support you need a flood light to find it. I've been down the MIPS road before and learned ARM is a much safer bet. If you want to use a piece of open source software in your project which needs assembly to improve speed then the chances it already has assembly code for ARM are a million times bigger than it has assembly code for MIPS.