chipKIT Max32, an Arduino Mega upgrade with a PIC32 under the hood

For those of you who are looking to put some power behind your Arduino shields, Digilent just released their chipKIT Max32 prototyping platform. The board features a Pic 32 microcontroller, USB programmer and all the things you would typically expect from a development board.

The PIC32MX795F512 is a 32-bit MIPS processor core running at 80Mhz, 512KB flash memory and packs 128KB of SRAM data memory. Digilent also mentions utilizing the Pic’s built in USB 2 controller, 10/100 Ethernet and dual CAN controllers, but these will require shields specific to the chipKIT Max32. The board is also fully compatible with Arduino IDE and libraries as well as MPLAB and the PICKit3 in-system programmer/debugger.

With a price point just below the Arduino Mega 2560 this looks like a great resource for anyone looking to upgrade their Arduino webserver, or just embarrass their Arduino Arduino shield. Maybe it’ll just spawn some interesting gameduino upgrades. It can certainly cut down on extraneous Arduino usage. Either way we’ll be on the lookout to see what this performance bump can bring to table!

I kept hoping that the “Netduino” boards would actually become Arduino-compatible (instead of confusingly implying so).

Basically, this is all I really wanted… more powerful hardware in the super friendly Arduino package.

This looks powerful enough to masquerade other hardware… say, providing a SD card bridge for a Commodore 64 or Atari ST. Or maybe you can do Ethernet right off of the pins (no extra hardware necessary?).

dual CAN bus is nice. Has anyone played with one of these? I wonder how “fully compatible” this really is the Arduino IDE and libraries. Seems like a lot of work to port everything to pic32 no? It was certainly a ton of work to port everything over to cortex m3 for the leaflabs Maple board.

Awesome. I’m more excited about this because if microchip can support a arduino clone, that means that the pic development tool chain can support it. This is a win. Hopefully they mean support the arduino IDE means on all platforms (linux/mac)

Some of the other features not mentioned are the Real time clock calendar so no need for external time keeping, hardware IrDA support so it can communicate with laptops and printers using IR.

I can’t see it happily coexisting with the arduino IDE though if someone wants to use the full power of the chip. There are just too many functions that this chip has that the ardunio doesn’t . I would definitely look at using C on it from hitech or others . To use it like another arduino would be like only playing DVD on a bluray player, yeah it plays them and it looks good but you are missing out on some of the best things about the hardware.

I didn’t see any evidence that this is actually true. I mean, theoretically PIC32 is supported by gcc so it’s not out of the question, but I didn’t see any downloads, I don’t know of any support by the Arduino IDE for alternate compilers, and a lot of people have discovered that porting libraries isn’t as simple as it would seem (even between AVR families) once you consider the rather large base of rather poorly documented libraries that exist.

It still looks like a pretty sweet board for the price, though. It could certainly give some of the ARM contenders a run for their money.

I might be in the minority, but I kind of like PICs. PIC32 bundles in a ton of communication tools, so I hope to see some sweet ethernet/usb projects. Real question, why is the alternate text perfectforLEDflashing? Isn’t that a little over kill?

Nice EAGLE schematic. I like the way that they split up the PIC32. Also interesting that it still has an FTDI for the USB/Serial converter, considering that microchip offers a competing chip. I guess this is essentially a “leak” and full details will come out closer to the “ship” date of 21-May ?

Shame that the ethernet is not on the main board. That would make it a real killer.
But with the very high priced Arduino Mega2560, this was bound to happen. I rather had seen an AVR32, or an ARM. But it works :)

Last time I checked the PIC32 compiler and toolchain was Windows-only. Even though the compiler is just a slightly modified version of the open source GCC MIPS compiler, Microchip’s licensing conditions on the PIC32 libraries and headers forbid you from recompiling the compiler – including recompiling it to run on another OS.

@MattQ
Nothing wrong with liking pic, I like them as well. Arduino is popular because it is easy for beginners to understand, though pic isn’t hard either. PICs really have a lot going for them in the hardware area and price points. You can get pics like the 18F13K22 that run at 64Mhz and have 18 I/O, for $2.00 each. I think the programming aspect is what scares people away. But microchip sells the pickit 3 programmer on their site for $34.95 and that works with all pics.
There is also a ton of software that people can use for free like swordfish basic if they want to start with something arduino like.

The PIC32 7 series is the buggiest mCU i have ever worked with. I just graduated college as an EE, my senior project was a robot driven by the PIC 32. I found that it had bugs that were unexplainable. For instance i used the SPI peripheral to comm with a gyro, and a PWM to drive an H bridge circuit, sometimes the SPI would turn the PWM off. So it was a guess which peripheral would work. I dont know if it was the PIC 32 starter kit or the chip but too many bugs, I read the errata cover to cover and found nothing. None of my teachers could explain it either.

@ftorama – I’ll play with this UNO clone if it’s $20 cheaper than Leaflabs… And much more powerful than the Arduino version.

Ditto on comments about PIC toolchains – this isn’t even Microchip’s board, it’s Digilent’s. TBD on how well they make it work in the Arduino IDE but if they pull it off, that’s fricken sweet. Seems like those of us who don’t get early samples will find out May 21st…

X: Arduino is very much not CPU agnostic. The standard Arduino release compiles code to AVR binaries; whatever the chipKIT Max32 webpage might claim those aren’t going to run on a PIC32. Now, it’s possible in theory to modify it to compile code for a different platform – but that means supplying your own C compiler and libraries, and the ones for PIC32 are Windows only and have onerous licensing conditions.

JimParker: ah, that’s somewhat better. Presumably it still has the lovely copy protection that disables compiler optimisations (most or all of which were actually developed by GCC contributors) after a “trial” period, ties your license to a particular machine, etc though.

The PIC18F13K22 runs at 64MHz but each instruction needs 4 instruction cycles to excute, so it really runs at 16 MHz. Adding the poor assembler, you’ll see that an ATmega is much more powerful than this

@makomk: “Microchip’s licensing conditions on the PIC32 libraries and headers forbid you from recompiling the compiler – including recompiling it to run on another OS.”
Reference? I hadn’t heard that part before. The “missing optimization” when using the gcc-based compilers (pic24, pic32) is some sort of microchip-added global optimization, not the basic optimizations that the HiTech compiler has been dissed for not doing on pic16/pic18. I think.

It’s far from clear Microchip are in a position to restrict their use – they didn’t even write the standard libraries for PIC32, instead appearing to have used the MIPS ones – but that might not stop them.

You need to look at page 280 of the data sheet. Almost all are 1 instruction cycle except compares which naturally take 2 or 3 cycles depending on the result. Hardware multiplies are 1 cycle as well. Add to that I2c that runs at 16Mbps and it is a hard chip to beat for $2

Well, I’m also using PIC32 in one of my classes, we are more than 260 students using them an no one as yet found an hardware bug, my professors are also using it in the MSL team, and in a lot of other classes.

You can donwload MPLabX that runs under Linux, Windows and Mac, the same for the compilers.

Yes the compiler as some limitations in the free/lite/student version, but you dont gain a lot using the super agressive optimizations because almost all the libs where re-written in hand-crafted assembler, so the compiler cant optimized them much more, and if you really want and you are using for personnal and non commercial use, just download the source and compile it, you are free to do it.

“Program using a modified version of the Arduino IDE, available as a free download for PC, Mac OS, and Linux. (Coming 5/21)”

I’m a whole lot more comfortable with that statement. Three cheers to Digilent for clarifying the situation!

> this isn’t even Microchip’s board, it’s Digilent’s.

I think that (one of?) Digilents target markets is to design and “manufacture” evaluation boards for semiconductor manufacturers. I have a Xilinx “starter kit” in a fancy box that says “Xilinx” all over it, purchased directly from Xilinx at a trade show, that has “DigilentInc” on the actual PCB. It sounds like a fun business; always getting to play with the newest toys… I wouldn’t be surprised if this ends up being Microchip’s next PIC32 eval board.

“(Coming 5/21)”
Hmm. For Maker Faire? I see Microchip is a vendor this year. oughta be a lot more interesting than a multi-hundred-dollar “sunspot.” I’ll SO be buying one if there’s a Faire Discount (and there are any left…)

@Roman Dulgarov
Do you know for a fact that the FTDI is completely redundant, and there is absolutely -no- advantage to it?

It may just be that the FTDI enables greater power savings (as little dedicated chips sometimes do vs. processors). Or maybe it’s another technical advantage (freeing up the processor to do more things or have more pins available). Or maybe it was done simply to facilitate a rush to market, by copying as much of the Arduino as possible.

I would wait for a hands-on review before forming any opinion of it being “wasteful”..

(Also, it seems wrong to look at any Arduino through the lens of “wasteful”. It’s a very general purpose board with a lot of stuff added on to make it easily approachable. Relax. :-)