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!

Comments

  1. @am_i_evil
    The only possible use I can see of it is for bus bit banging using that “infamous” FTDI bitbang mode.

    http://hackaday.com/2009/09/22/introduction-to-ftdi-bitbang-mode/

  2. @SpecV Microchip is not the best at up-keeping with their documentation. You may also find in 2-4month that the “default” register values may not be “recommended values” Get into habit of explicitly stating all register values even when they state that there is a default. If you think there is a bug…there probably is. Fix it and don’t waste time waiting on official fix. They are also in a habit of jumping ships. So while PIC32 is the latest fad your in luck. But once they come up with their next “big thing” they will drop PIC32 to back burner. All in all the micro’s are good, biggest issue is lack of good documentation. You’ll resort to combing forum posts for bits of information to get the complete picture.

  3. Jesse,
    I’m the PR person with Microchip. We’d like to ship a chipKIT(tm) board to you. What is your shipping address, including phone #?

    Also, I’m putting together a Virtual Press Conference to discuss the chipKIT platform. Would you like to attend?

    Michelle
    PR Person, Microchip Technology

  4. DJ JD says:

    @Roman Dulgarov –

    They probably did it because the entire community freaks any time anything changes. I remember a thread on the Arduino forums where an admin asked why there are always conspiracy theories when they change stuff.

  5. Will says:

    Got mine today and I’m getting the rundown tomorrow :)

  6. Ike says:

    Wow, they managed to combine two crappy things: Arduino and PIC. The world never ceases to amaze.

  7. WestfW says:

    >> Why is there a FTDI on it period?
    To implement simple serial communications (as used on Arduino) on a chip with built-in USB would require a significant amount of “background kernel” to be running on the chip, which is still sort of a researchy area (in Arduino-land) (as in “we don’t quite know how we’d like to do that”) (I think. What does teensy do ?)

  8. J says:

    Well its 8:30 MST. Looks like we are 30 min past the Press Conference Start Time…. Anyone else who was invited not able to connect?

  9. J, sorry for the confusion—the conference was scheduled for 8 a.m. Pacific, which is the same as MST, right now. Can we schedule a separate phone briefing for you? Please contact me offline at michelle.ragsdale@microchip.com

  10. EmbeddedMan says:

    WestfW is correct regarding FTDI. There was too much work to get the ‘background’ USB stack working properly, in the time frame needed, and FTDI was seen as a safe, low risk way to go. Not really anything special about FTDI – other USB to serial chips could easily be used instead.

    Having said that, I know that it’s possible to make this work with just a PIC32 – no FTDI needed. I demonstrated it on my UBW32 board (which has no FTDI chip). The big piece left is the PC side of the bootloading process – avrdude does not support FTDIless PIC32 bootloading, so a new tool needs to be put into place for that to happen. Hopefully it will, eventually.

  11. Mark says:

    Here are various answers to various questions above

    I did all of the porting of the core files for the PIC32 and I was the architect behind the multiple cpu implementation of the IDE.

    I will be at Maker Fair at the Microchip booth

    CROSS PLATFORM

    ALL of the development for pic32/chipkit was done on Mac. So the cross platform issue is resolved. In fact, from the IDE side, Mac was much easier to do than Windows.

    FTDI CHIP

    You cant use the on chip USB interface because the Arduino IDE resets the board to do a download. When you reset a chip running as a usb device, it disappears then comes back. There have been arduino boards that get around this (the Teensy) but they use a non-standard downloader.

    The reason for the FTDI chip instead of a microchip based USB support is again because of reset. The microchip M2200 could not do the reset correctly. Believe me, they tried to make the M2200 work.

    LIBRARIES

    Most of the libraries are ported and working. The rest of them should be ready on release date.

    Mark

  12. poslathian says:

    The LeafLabs Maple line boards dont have the additional FTDI chip. It definitely adds a layer of complexity (to have the USB running the background, and dealing with RESET and bootloader effects), but also flexibility – users can control the USB peripheral if they wish. Uno uses a secondary chip to offer configurable USB, which is nice too but adds another chip to the design.

    In the end, I think the “use the onboard USB” approach turned out to be much harder than expected, but eventually it has become quite stable.

  13. Alex says:

    @Mark

    Do you guys plan to make a shield that contains USB A host, USB B device, ethernet magjack, and possibly microSD card and RTC battery backup? I would like to see this shield for ChipKit Max32. Thanks.

  14. X says:

    @Alex – forget all that on a shield. I want a version with all that on the main board! Kind of like the Freetronics Etherten (which looks awesome but is not available in the USA, frustratingly… )

  15. Will says:

    @Alex and @ X

    I had my phone briefing with the people at Digilent and Microchip yesterday, and let me just say there’s a pretty awesome shield coming out for the Max32 this summer :)

  16. Alex says:

    @Will

    Would that “pretty awesome”-ness include what I wanted plus Google ADK support and XBee/Bluetooth/Mifi, but with a good and honest price to boot. It’ll be the “Internet of Best Things”. Thanks. :)

    Can’t wait for the official press release with more details.

  17. Beat707 says:

    Keeping my eye on this too, hope it turns out to be great, and that soon I can find “clones” on eBay. ;-)

  18. Alex says:

    Check out a review at this link: http://themakersworkbench.com/?q=node/421

    The spec for Max32 says only 2 SPI available, but the MCU spec says 4 SPI. Nice to have one more though. Else, five I2C and 6 UART with IrDA look good.

    Can’t wait to get this with the “awesome” shield.

  19. Dustin says:

    I’m confused… Is Ethernet built in on the either board? Also do they offer any student pricing?

    If anyone knows or the rep reads this, thanks in adavance

  20. Mark says:

    The software is now ready to download

    https://github.com/chipKIT32/chipKIT32-MAX/downloads

    All 3 OS versions are ready to go (Mac, Windows, Linux)

    As far as how it works, the core files and library files of course have been re-written to use pic32 hardware instead of avr hardware

    The ide has been modified to have a platforms.txt in addition to the boards.txt. This allows multiple compilers to be used. The design idea is that any gcc compiler can now be made to work just by adding a text file (platforms.txt) Everything about the compiler is driven by that file.

    The biggest difference in what we did compared to what maple did, is now you can select back and forth between AVR and PIC32 without changing programs. Just go up the boards menu and select a different board. Mega2560, Arduino-UNO, chipKit-MAX32 or chipKit-UNO. and click download. Thats all there is to it.

    We are calling it MPIDE for Multi-Platform IDE

    For anyone that has looked inside of the java ide code, the section that drives the compiler has been COMPLETELY re-written. This was a MAJOR undertaking.

    I am at Maker fair this weekend if anyone wants to stop by and see it and learn more how it works

    Mark
    lead programmer in the pic32 chipkit/Arduino project

  21. X says:

    thanks Mark! I’ll watch for the reviews and then place my order. This is HUGE for me because I was almost tempted to go with Netduino (more power than Arduino, but saddly incompatible… And old Linux dog like me could never switch to Visual Studio).

    I also have to comment in general, this looks like a FINE beginner board even if you want to avoid Aduino. It has everything you want on a development board. 128k and Ethernet for $50? Wow. No more hacking consumer routers for me….!

  22. WestfW says:

    The chip using on the larger board includes an Ethernet “Mac”, but it will need a daughter card containing an “Phy” and the magnetics/connector to actually talk to an ethernet. Semiconductor economics being what they are (weird), I can’t see a Phy+connector “shield” being much cheaper than a ENC28J60 (which includes both Mac and Phy) shield. Potentially MUCH faster, though (no SPI bottleneck!)
    And a “combo” shield that includes the missing bits of Ethernet + USB host + other stuff might make for an interesting combination…

  23. j_jwalrus says:

    i saw the combo usb/ethernet shield at the maker faire, SF yesterday.
    Talked with Mark Sproul from Rutgers U. /Fubar labs for a few minutes about it (Hes the guy who did all the software development, and Rick Anderson did the compiler modifications.
    Basically he said the Ethernet shield has some IC’s that talk on the physical level, and is going to be out in July ’11

  24. X says:

    @makomk – See, it does what I asked. :)

    It may not be in the official Arduino tree YET, but suddenly the “Arduino environment” is CPU agnostic. That’s just perfect – people can start with small boards, learn their own platform, and work their way up. Plus, traditional ARM boards tend to be rather expensive… this isn’t.

    This is like learning xmas is happening twice this year!

  25. WestfW says:

    Is there an official statement somewhere about the origins of this project and how the pieces are related? I’m curious as to whether Microchip engaged Digilent and Fubar, and etc. There’s nothing wrong with a company funding an open source effort, after all, and it would be nice to know who to credit or blame depending on how this works out…
    (“Mark Sproul from Rutgers.” Click. Any relation to Keith from “back in the days”?)

  26. Mark says:

    @WestfW

    Microchip started the project from the Academics division. They approached Digilent to do the hardware design. Digilent had dealt with me and knew I had the ability to pull off the software side.

    Yes, Keith is my twin Brother….

  27. Alex says:

    @j_jwalrus

    Can you please tell more about the ethernet/USB shield? What other stuff on it?

    Thanks.

  28. There will be a chipKIT Ethernet shield released sometime in June. The details I have are: Ethernet PHY and transformer, USB OTG, 32 KHz oscillator, 256 Kbit I2C EEPROM, and 2 CAN interfaces

    There will also be a Basic I/O shield released around the same time. Details on it are: 4 switches, 4 buttons, I2C™ temperature sensor, 256 Kbit I2C EEPROM, 128×32 OLED display, 4 open drain channels, 1 potentiometer, and 8 LEDs

  29. WestfW says:

    Is there a preferred forum location, mailing list, or whatever for continued discussion of MPIDE and the xxx32 boards?

  30. Mark says:
  31. Following the tradition of having the protoshield PCB available after a new board launch, here is the PCB

    and the KIT

  32. solar32 says:

    Actually this is not so compatible. First of all the Arduino IDE doesn’t support it, second the Arduino libraries are not compatible and some shields that are designed for the regular Arduino won’t work.

    This is going to create a lot of confusion with noobs

    It’s kind of pathetic that a big company like this has to copy a lame open source platform instead of innovating (given they have plenty of cash to hire proper engineers)

  33. Mark says:

    solar32

    There is a modified version of the Arduino IDE that supports BOTH the ATmega and the PIC32 chips

    Many of the libraries such as LCD and Stepper work exactly as is. Libraries that deal directly with the hardware such as Wire(TWI) and SPI have to be re-written, then they will be fully compatible libraries.

    Mark

  34. Beat707 says:

    I really think they should remove any reference to Arduino from the project until things are really working correctly. I agree with solar32, this is going to be a mess. I am one that almost placed an order for the board, just to find out the SPI and TWI libraries are not made yet. So how come they say is Arduino compatible, when a lot of projects uses SPI and TWI?! That’s just lame for such a bit company indeed.

  35. X says:

    You are much too kind Mark. I would simply have pointed out to solar32 that his comment was false, and and unnecessary actually had he bothered to actually read all the follow-up comments (such as yours, which added those details to the original breaking-news HAD post).

  36. j_jwalrus says:

    twi /i2c working on beta release of mpIDE (the arduino ide for chipkit32). Mark and Rick are hauling A-word to get these things fixed. I think they need to make a video explaining how this works. Mark made it sound simple , saying it was just a text config file that separates us from compiling for other chips (think ARM Coretex)

  37. Mark says:

    j_jwalrus

    I am working on getting the maple compiler chain to work under MPIDE, the compile process is working completely, I have a bug in the link command some place. Once this is working, we should be able to program the maple arm boards directly from MPIDE.

    I am going to put documentation to platforms.txt on the wili (www.chipkit.org/wiki)

    Mark

    I also am working on several other cpu families. If anyone wants to help, let me know and find me gcc compilers for the mac for your favorite cpu.

  38. Z says:

    1 question. can the chipkit dev boards or any other dev board (like adruino’s) be used to program, another distinct micro-controller?

  39. Mark says:

    Z

    I am not sure what you meant “to program another distinct micro-contoller”, The chipkit IDE is designed so that any cpu that you have a gcc C++ compiler for you can drop into it and use it like an arduino. A lot of work has to be done to make this work, create the platforms.txt file which drives the compiler and make sure you have a compatible bootloader, but then yes, you could use the MPIDE (chipkit version of Arduino IDE) to program other CPUs

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,442 other followers