February 16, 2016
Software Is Free -- Sometimes
Microchip Makes MPLAB Xpress Available Online for PIC Developers
“You can lead a horse to water but you can’t make him drink.” – old proverb
Cloud-based thinking has affected – inflicted? – most aspects of our business now. We have cloud-based file storage, software-as-a-service, and remotely hosted search engines, user interfaces, and game hubs. Most of this is an improvement, and an excellent use of the prevailing technology. Some other parts? Eh.
As someone observed at a recent technology conference, “Remember, there is no cloud. It’s just someone else’s computer.”
One of the better uses of the technology is cloud-based software-development tools. Software is by nature location-independent, and what could be better than always-on, available-anywhere programming tools? Roll in a price of “free” and you’ve got yourself the ideal programmers’ workbench.
That’s the thinking behind Microchip’s latest software release, MPLAB Xpress. If you’re a Microchip user, you already know MPLAB X, the company’s in-house tool suite for its in-house PIC family of microcontrollers. Well, MPLAB Xpress is a cloud-based version of MPLAB X. They’re not exactly identical, but they’re darned close. Close enough that experience with one translates directly to familiarity with the other. Better still, your source code can also transfer from one to the other and back again.
In a nutshell, MPLAB Xpress is a free, online IDE (integrated development environment) designed specifically for Microchip’s 8-bit PIC MCUs. You just visit the website (mplabxpress.microchip.com), bang in some source code, click a few options, and get your executable handed back to you. There are no tricks, no gotchas, no time limits, and no code-size constraints. It really is a free development tool, there for the taking. You don’t even have to register with an email address or anything. It’s just – there.
For now, it works only with Microchip’s 8-bit parts. Sixteen-bit and 32-bit support are both on their way, probably around mid- to late this year.
Oh, and if free tools aren’t enough, there’s free code to go with it. The site also functions as the support forum, combining development, debugging, and pleas for help. If you get stuck, you can ask fellow MPLAB Xpress users to chime in, much like any other support forum. But since all MPLAB Xpress users are, by necessity, online and using the same tools as you, there’s a certain advantage to tapping that talent pool.
In typical Microchip fashion, the company has seeded the site with lots of code samples, peripheral drivers, interrupt handlers, and middleware that you’re free to snarf and include in your own code. Users can also contribute their own code if they’d like, and, over time, Microchip hopes that a significant portion of the code library will be user-generated.
This all implies, of course, that the code library is open-source. It is. You’re free to use anything you find there, even in commercial applications. If you choose to contribute something of your own, you have to agree to release all proprietary interest in it as well.
So what’s the catch? There isn’t one, really… well… unless you count “marketing” as a bad thing. Microchip is giving away a free version of its development tools for much the same reason that Twitter and Google are free. No, they’re not supported by advertising. But they are intended to generate interest in Microchip’s paying products. Ultimately, some MPLAB Xpress users will become PIC customers. (Some may already be customers.) But what better way to introduce tire kickers to the vast fleet of MCUs that is PIC than by encouraging free test drives?
Besides, it’s not as though cloud-based software tools are an entirely new idea. Microchip is a bit ahead of the curve here, but they’re not setting it. And since both the cloud-based tools and the traditional, locally hosted version are derived from the same code base, it’s not as though MPLAB Xpress was a ton of extra work. Going forward, both MPLAB X and MPLAB Xpress will improve in lock-step. They will essentially be the same IDE, but with one version locally hosted (and with some better features) and one cloud-based (with some functionality missing). There will still be some reasons to use MPLAB X, such as its change tracking, code templates, and scripting capability. And you can always pay Microchip for its optimizing compiler, if you want.
One of the good things about cloud-based software is that you always get the latest version. One of the bad things about cloud-based software is that you always get the latest version – whether you want it or not. Lots of MCU developers are finicky (not to say paranoid) about changing development tools midstream. Particularly with long-life projects, you don’t want to fiddle old code with a compiler that’s been through dozens of revisions. To help alleviate that problem, MPLAB Xpress can be rolled back to any of the ten most recent versions, or roughly a few years’ worth of updates. Want to freeze your code at the January 2016 version? You can do that, at least for a while.
Oh, and I told a little lie about not having to register to use the tools. That’s still technically true – the MPLAB Xpress site doesn’t require any sign-in at all – but that’s useful only if you can complete your project in one sitting. Once you leave the site, your work is gone unless you save it, and you can only do that with an account. So a quick “Hello, world!” joyride commits you to nothing. But beyond that, you’ll probably want to give Microchip your email address.
And like any good carnival barker, Microchip concludes its pitch with a sweetener. “Order now and we’ll throw in…” a free evaluation board! Yes, that’s right, folks, the first 2,000 customers to register at mplabxpress.microchip.com will receive, absolutely free, a tiny PIC16F18855-based board. Don’t wait! Get yours today!