Today, Microchip released a few interesting tools for embedded development. The first is a free online IDE called MPLAB Xpress, the second is a $10 dev board with a built-in programmer. This pair is aimed at getting people up and running quickly with PIC development. They gave us an account before release, and sent over a sample board. Let’s take a look!
Online IDE, Compile, Storage, and Community
The new software is called MPLAB Xpress. It’s an in-browser IDE that stores your code online and compiles server-side. It spits out a .hex file that is downloaded by your browser and flashed to the target device, and it is capable of interfacing with traditional debugging hardware.
To me this feels very much like Microchip is making a bid for the hobby market. It is unlikely that PIC veterans will drop MPLAB X (the offline IDE) for this in-browser version. But this is ideal for teaching first time embedded and well suited for a quick hack. Let’s face it, the worst part of embedded development is setting up the toolchains. It tends to be fraught with hard to find downloads, dependency problems, and it can be a long time before you know if your problem is in the tools, your own test code, or the hardware itself.
This is actually where I can see professionals turning to MPLAB Xpress. The online IDE is linked to a Microchip community platform which includes the usual social element like forums. But it also acts as a code repository with project files you can pull into your IDE with a single click. Working with a new chip for the first time? Pull the hello world code (written by Microchip engineers) into MPLAB Xpress and make sure it works before heading off to MPLAB X (the traditional offline tools) to get down to the real work.
More good news is that this in no way replaces offline tools. The two will be developed side-by-side, and anyone comfortable using MPLAB X will notice right away that the two feel the same. I was happy to find that compiling and flashing 1.3k .hex files felt as snappy as it does locally. But to be fair I didn’t do any benchmarking and the servers are likely not supporting a lot of user load yet.
The Dev Board
I love having dev boards around, and this one should turn some heads. At $10 it tweaks that “ah, why not?” string in your brain. The target device is a PIC16F18855 which carries 14 KB of program memory, 1 KB of RAM, has a host of peripherals and an internal oscillator configurable for 1-32 MHz.
On the board you’ll find four user LEDs, a trimpot, and one push button. The designers have done a fine job of breaking out pins, which are labelled on the top of the board, along with 3.3V, 5V, and four GND connections. Interestingly there is a mikroBUS footprint which includes female pin headers, so those who are invested in that ecosystem should be quite happy.
I think Microchip has lagged behind in the hobby market because non-professionals are hesitant to purchase a real programmer. They began to grind down this speed bump to non-professional development with the introduction of their Curiosity Board last year which featured a PKOB programmer. This board continues the work, again by putting the programming hardware right on the PCB. This board — which is called the MPLAB Express Development Board — enumerates on Linux, OSX, and Windows as a USB Mass Storage device and requires no extra drivers. This is similar to the mBed model, all you need to do is drag and drop your .hex file and it is automatically programmed. As I mentioned before, this is really snappy. In fact, I could perceive no lag whatsoever between mouse drop and the completion of programming when trying out Microchip’s demo projects.
From a hacker’s perspective the board is a two (or perhaps three) for one. There is the obvious target micro. But this board could be separated on the line between programmer and application circuits and used as a somewhat crude programmer. There are several resistors bridging the programming lines. The is no V-groove so we’re talking about serious cutting, and those resistors would be a bit fiddly to solder to a proper programming header, but it’s possible.
That standalone programmer idea is the two-in-one. The possible three-in-one is to use the programmer itself as a programming target. The chip is a PIC18F25K50. This chip can be reflashed with a USB bootloader and program itself as a standalone uC. However, few of the pins are broken out so your mileage may vary. This is a chip that supports USB connectivity. There are footprints on the back of the board which I presume are programming headers for using a traditional programmer (like a PICKIT3). Solder a header onto these (the footprints are 0.1″ spacing for easy work with the iron) and program your own USB-wielding designs.
This is great. The value for the board, the features of the browser-based suite, and online community are a boon to development on PIC hardware.
For now the XC8 compiler is the only one supported but I’m told XC16 and XC32 will be implemented and live before the end of this year. The free version of the compiler is used, but those who have purchased the upgrades can unlock them online as well.
Each user is allotted 10 GB of private storage for their code. Projects developed online can be downloaded an opened in the traditional MPLAB X software and vice-versa. The Microchip code examples are a big plus and they’ve opened the mechanism for community contributed code as well. For that, time will tell if there is a critical mass of submissions and an adequate vetting process to filter out unreliable code. But the single click to go from the code examples page to a working IDE is really slick.
Microchip is giving away 2000 free boards as part of the launch. Look for the button on the MPLAB Xpress landing page to claim one.