Microchip Unveils Online MPLAB IDE and $10 Board

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

MPLABXpress-window
MPLAB Xpress looks just like MPLAB X

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.

The Programmer

xpress-board-programmerI 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.

xpress-board-prog-footprints-croppedFrom 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.

Overall Thoughts

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.

104 thoughts on “Microchip Unveils Online MPLAB IDE and $10 Board

  1. Seems like all of them are trying to get people to using online IDE and code storage. No thanks! I want complete control of my code. Plus if you don’t have a connection or their site has issues it’s a single point of failure and you’re stuck until they come back up. That or could lose all of your code.

      1. me neither, but as long as they allow you to DL your code and provide a compatible offline app it’s not a problem, I welcome a simple, quick, get up and running solution. part of the problem with PIC for hobbyists is not the code or the programming, it’s setting up the tool chain and getting that light blinking. if the web IDE can postpone the pain of local IDE setup before you can try it then that’s only a good thing.

    1. Missed this portion in the post?

      “… 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. …”

      and

      “… Projects developed online can be downloaded an opened in the traditional MPLAB X software and vice-versa. …”

      1. Nope. But if I develop locally I don’t have to worry about any of it. Who says they won’t later decided to do away with a local IDE later? Just saying. I don’t do PIC anyway. But that is another story.

        1. Conversely if you develop online, you dont have to keep track of your toolchain, and probably not libraries for all sorts of stuff either, and you can use it from any computer you feel like without all the debris installing said toolchains create. I think there is a lot of Not Invented Here in this thread, which makes me wonder why you would rely on other peoples chip designs, that’s a single point of failure too.

        2. There’s another side to this story. What if your HDD fails? Do you do regular backups? Do you test that you can restore from those backups? Would you lose any effort from the last time you backed up if your disk failed while you were working? It’s shortsighted to point out risks for one technology without countering with risks for the other. At least the servers running the cloud version likely run on redundant hardware and storage.

          I’m not a big fan of the cloud in all situations, but it has its place. The fact is that this is a choice. You can use MPLAB X or you can load the IDE locally, or any combination of the two. That allows one to choose their risk stance, and choice is good.

          For me, I’d rather not install a huge IDE until I know whether it’s worth the effort or not. Plus, the last time I checked, MPLAB was PC only, making it a poor choice for my OSX and Linux infrastructure. An online solution addresses both of these concerns. It lowers the barrier to experimentation for me.

          1. I use Carbonite and backups/restoral works. I can restore to any of my devices. I also have copies on a flash drive I carry with me. I develop on a variety of devices, the Atmel series, ESP8266, and a variety of STM32.

            Yes, the great thing is there are lots of choices based on needs.

          2. I rsync my user files nightly It works locally or over the network (if you want more isolation/centralization). For my own stuff, that’s good enough.
            There are also the usual revision control tools cloud or from your local network if you need more than just simple backup/restore.

          3. Any non-noob backs up install files and entire disk. Your HDD could still fail surfing online (even get that lovely “crypto locker ” malware), developing online is one more thing to go wrong, and it will. Like auto updating your tool chain and breaking the build.

        3. I have seen projects that requires specific version of the compiler or libraries. Sometimes a new update might introduce new bugs (vs old ones you know about with work around. I have learnt to stick with the same version of the tool chain through out a development cycle. The online tool removes that level of user control and you’ll never know why things don’t run. I hope their online compiler is a full compiler and not have funny self imposed limits.

          My time is precious to me. I won’t touch a new chip/eval board/IDE without full hardware debugger. (i.e. either comes with one on the eval board/dongle or have open source DIY alternatives.)

    2. An online IDE has zero appeal to me, I feel the same way about mbed. Not being able to work offline and the lack of an interactive debugger means I’ll be looking for another platform.

  2. I wish all suppliers would have downloads of their toolchains as pre-installed VM’s available. It would be great to get a complete installed and setup toolchain in one go. The VM images would of course be larger than a regular install since the OS is included, but today when a toolchain can be multiple gigs in size that would be a small extra price to pay.

      1. This really is the way that the industry is going. For big open source firmware projects, like Particle, a Docker build environment for continuous integration is totally standard. The user-interface boundary needs to be sorted out, but once that is there, Docker containers will be standard for toolchains even for end developers.

      1. Actually they charge for their compilers, if you need code optimization, Free version of XC compilers makes programs even 40% bigger. For example this is usage summary for the same code that I had to make in free mode, so everyone can compile versus PRO mode:
        Memory Summary (free mode):
        Program space used EDBh ( 3803) of 1000h words ( 92.8%)
        Data space used B1h ( 177) of 100h bytes ( 69.1%)
        EEPROM space None available
        Data stack space used 0h ( 0) of 2Ah bytes ( 0.0%)
        Configuration bits used 2h ( 2) of 2h words (100.0%)
        ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
        Memory Summary (PRO mode):
        Program space used 935h ( 2357) of 1000h words ( 57.5%)
        Data space used 94h ( 148) of 100h bytes ( 57.8%)
        EEPROM space None available
        Data stack space used 0h ( 0) of 3Bh bytes ( 0.0%)
        Configuration bits used 2h ( 2) of 2h words (100.0%)
        ID Location space used 0h ( 0) of 4h bytes ( 0.0%)

        1. A bit of a difference there. I’m a little hazy on that. This is C code or is it assembly as well? I thought C is crippled like this.

          How does it compare against the open source toolchains?

          The Atmel toolchain does a very good job. I suppose now that Microchip owns Atmel, I suppose we’ll see the shenanigans with the AVR line now.

          1. Pure C except for two NOPs, which were needed because of timing when writing to program memory. And after forcing location of array of structures in specific memory address, free mode version reduced program space from 92,8% to 91,2%, IIRC. I wonder if online version of XC works in free mode or in PRO mode…

  3. I too generally stay as far away as I can from “cloud” sort of stuff.
    If i have the option, local is better in every way.
    Some sort of cloud backup storage is always available if that is required but I want the development to be on my machines, not a remote somewhere.
    There does seem to be a general push to cloud and I for one do not trust that.
    You just have to look at the Win10 snooping to wonder!

  4. Interesting development. Although I never had issues installing MPLAB(X) and the compilers. It did work for me on Windows and Linux. Nice you can use the online files too in the offline MPLABX (after downloading it :P)

    Will this new programmer capable of programming the whole PIC10,12,16,18,23 and 32 family or just the one included on the board? I think it is a neat feature and will be easier for non microchip afficianados to program occasional a PIC.

    1. The FAQ on the link above says

      “By the end of 2016, we plan to fully support our PIC24, DsPIC, and PIC32 architecture products. Stay tuned!”

      and

      “MPLAB Xpress supports PICKit3”

  5. “Thank You for registering for free MPLAB Xpress evaluation board. We will process your request and the evaluation board will ship within 3 to 5 business days. ” Do I actually get one???

    1. “Thank you for your interest! We will send you a discount code when the Xpress Evaluation board is available on microchipDIRECT for sale. ” – My response.

      Yep, looks like you will. I’m in Norway. Noticed the page reload on country selection, but finished anyway. Free boards limited to US?

    2. I *just* got mine in the post today.

      I “ordered” mine the same time as my last post here. Feb 15 @11:38

      It looks nice. It’d be nicer to have unfettered access to the USB side. But for free, who’s complaining?

    1. For me, uC without USB are simply dead. From interfacing to configuring, USB is today the way to go. And I definitely prefer a ARM core that have very good open source compiler. The IDE choice should be left to the user. The chip manufacturer should just provides open source reliable and well designed libraries to uses the peripherals. Providing that to the Arduino project could be a valuable starting point.

  6. It doesn’t seem to me they considered cutting board in half an option. If they did then it’s very badly made. Much better solution would be to put two 5pin ICSP headers on the board where programmer and aplication meet and use jumpers to bridge them. Remove jumpers and you have ICSP header ready for programming other PICs. Also make some holes in board so you can just snap it with your fingers, not using hacksaw.

  7. ” But this board could be separated on the line between programmer and application circuits and used as a somewhat crude programmer.” Would it be easier to remove the target chip and use the target portion of the board as a breakout for the programming lines?

  8. Hey Microchip, want to get hobbyists excited about your products? lntroduce a $10 pic32 board with these features (programmer e.t.c). Introduce cheap (<$20) deugging tools and for the love of God, make all of your GCC based compilers available for free already. All of your competitors do this already. It's the right thing to do.

          1. They do supply source for the compiler so they’re not breaking the license. You can compile it yourself and reenable the optimisations actually. As you said, it goes against the spirit of the GPL though with the locking of the optimisation features unless you pay or compile it yourself. The associated libraries are closed source however but that isn’t covered by a GPL license.

  9. “Let’s face it, the worst part of embedded development is setting up the toolchains.”

    PIC is not ARM installing the tools chain is as easy as downloading MPLABX and XC compilers and installing these software and one is ready go. Quite simple. And it runs ond Windows, Linux and OSX.

      1. Don’t mislead people like that. The ARM tool business has been a tribal mess for a long time. Anyone serious about doing ARM dev just buys a Keil license. Plenty of other solutions exist out there. It used to be the case that ARM themselves didn’t provide a compiler binary, so a dozen hobbyist projects were spawned. All sorts of jumbles of toolchain build scripts, YAGARTO, environment varibles, etc. That gnu-arm-eclipse project is reasonably recent.

        If I remember correctly CodeSourcery were one of the first outfit that just provided a packaged, working, recent, Win/OSX/Linux, ARM embedded bare metal target compiler package, as a free download. I recall meeting them at an ESC event, where they were handing it out on CD’s (how quaint).

        With enough screwing around, you could get eclipse and arm gcc to work. Then you needed some esoteric plugins from Zylin, needed to run GDB, etc etc. What a mess. Again: people who wanted to accomplish anything just bought Keil.

        Then manufacturers started offering their own versions, or got in bed with some boutique provider. There was a Kinetis Studio, Atmel Studio, CodeRed, CodeComposer Studio, Energy Micro had their own, etc etc. At least now, Atollic just outright provides a free no-limit, supports-everything eclipse based IDE for ARM.

  10. I’m a PIC user but I never buy their boards, they are overpriced even this one. PIC16F1885 is an 8 bitter not even a PIC18! The programmer MCU is more insterresting than the target MCU! They could have at least included a PIC24 16 bitter as target. Better buy a TI launchpad MSP432.

  11. Like everything I made in SecondLife is only usable or accessible in SecondLife, I’ve come to hate the cloud unless there is local storage as well. This is not that, but sneaky EULAs grant some companies full rights with no obligations to creators. Learn to code on it but not with anything you’d rather remained in your control.

  12. Seems some handbags are a swinging here, LoL. I say bring it on Microchip, more cheap random kit I can buy and not use after a week the better. :) It’s ace being alive now….. SO MANY COOL GADGETS

  13. >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.

    Truer words have never been spoken.

    I wish it was more similar to the msp430 launchpad, where the pic is DIP, so you could easy swap out PICs after you’re done playing with them for integration into something more permanent.

  14. Avoid at all costs. *NEVER* use cloud-based development tools for anything. IP ownership and security issues are only one problem. Worse, when the company gets acquired, goes belly-up, or just decides one day to revoke software support, your boards are forever useless. Instant obsolescence at a flick of the switch. If you’re concerned about losing data, there’s plenty of options for that (google drive, drop box, a recordable DVD..) . Too many companies are going this cloud route and it’s a disturbing trend.

  15. Wow I can’t believe how many whingers there are about this. If you don’t want to use it – don’t. They will never replace MPLAB IDE with this alone. There are too many corporate businesses who won’t allow its use by general policy. It’s just another option – the more the merrier. It’s marketed towards new / novice / non-professional users and for that group it might do well.

  16. Personally, I hate the idea of cloud computing like this. Read all 74 comments, to me it is a loss of control. You are giving access of your code to “the cloud”. What can go wrong? I’ve tried to access Circuit maker “cloud” software for two days. Tried every “fix”, 3 different browsers, and two different computers with different operating systems. Still get redirected to a dead page, never was able to download it. What can go wrong with the “cloud”? To me it puts reliance on someone else. Not a “it’s about me person” but even less on a company decision of what they want me to do, and make me do, or lose, because “they” decided to. Bad trend in my opinion. It has been well past my time that companies made decisions based on what was “best” for me. Don’t think most companies have that high on the list of “reasons” for decisions we make. Just an opinion.

  17. You guys are gonna give me a headache trying to explain why our readers , us , are so dumb they complain about something being ‘expensive’ that is <10$ retail, AND BEING GIVEN AWAY IN MASS QUANTITY try reading the article first and then crying about it . Microchip is amazing. I owe most of what I know to their providing me with tools, and fostering me in the forums . Try to shelve the kneejerk "Ermergerd is not duino, must h8 it !!!" thoughts. They own atmel. The duino vs argument is invalid. They are just more options in our tool boxes. Yes now there is a cloud option. Good, more options is always better as long as they dont change existing options which microchip is amazing at. You can still get pic16f84a if you really want, or 16 bit. or 32 bit . etc etc etc. Options are good but require thought to understand why it might be a good option for someone somewhere. Microchip has come a long way since not catering to people, like the linux crowd etc. Try not to get angry at them for doing so.

  18. They’re still charging for their compilers. Sigh. Sorry, “free for unoptimized”. Memory-constrained microcontrollers (like the 8-bit ones used by most users of this tool) are basically useless without optimizing compilers.

    1. I don’t mind paying for a compiler that was developed from scratch by Microchip. What grinds my gears is the fact that their dsPIC/PIC24 and PIC32 toolchains are all GCC based. The PIC32 compiler is basically mips-gcc. Microchip offers free versions of these toolchains that are ‘crippled’ with reduced optimization.

      The problem with Microchip’s 8-bit compilers is that the architecture of these 8-bit cores is really not C friendly at all as they; especially the PIC16 family, was originally designed to be coded in assembly. This is why it’s very hard to port GCC to the PIC16 and perhaps the PIC18 as well.

      So perhaps Microchip should charge only for the toolchains targeting their 8-bit micros…as they can be quite the feat of engineering..due to the PIC16/PIC18’s archaic architecture.

      I understand that the PIC16/PIC18 parts have their fans. Personally I wouldn’t touch these 8-bit PIC16/PIC18 micros with a 10-foot pole and I definitely wouldn’t encourage anyone interested in learning about micro-controllers in the 21st century to start learning with them.

      If you really have to program 8-bit micros look at AVR, otherwise move onto any of the ARM boards from ST, TI, NXP e.t.c. The cloud based mbed setup is great. Once you’re comfortable with it, you can download the mbed libraries and use them offline.

  19. What a weird thing to do. MPLABX is pretty good. It was a huge boon to Microchip that they provided a no nonsense IDE for free online. It is also great that it was NetBeans based, which is WAY better than the bizarrely industrial feeling of Eclipse. (I always thought that Arduino should rebuild their IDE on the NetBeans IDE, but it looks like the new Brackets based on is going to be pretty good and modern).

    It “just works”. You can plug in a debugger, and it works.

    The one downside to MPLABX is the immense slowness. I mean, like, bizarrely slow, even on fast computers. Java rears its ugly head again! I’ve always wanted to drive down to Santa Clara, find a Java team from Oracle having lunch somewhere, and force them to explain to me why Java based software was so incredibly slow, and what we can do about it. When you go and use Keil, it is kind of shocking how much faster it is…

    I suppose that the online IDE might get around the ridiculous and ever-present problem that gcc is just so incredibly slow on windows. AFAIK, it goes way down to mingw implementations of fork() and some other POSIX level stuff, and it is just very very slow on Windows. Sucks. It’s 2016, why can’t this be figured out?

  20. I’m really happy with this online IDE, I think Microchip has done a tremendous job to reach hobbyists better, but even the professional developer can profit from this initiative. Really good that they provide a cheap board soon, although it is not 100% clear to me if I can only program the onboard PIC, or also my existing (DIL) PICs, for example using ICSP, through that board.

  21. I just received a MPLAB Xpress Eval. board in the post this morning. I tried to get it to work, first there was a Java issue ( man I hate Java, there is always some version/compatibility issue). Then after installing a new version of Java, adjusting security settings etc and setting up the USB bridge it still didn’t work!!! The only thing I haven’t done is downloading and installing the USB CDC driver but I can’t do that because the link is broken.
    I thought part of the point of this was to make setting up a tool chain easier. I’ve been using PIC’s for years and this is far worse than any of the PIC tool chains I’ve set up before. I’m close to giving up because I’m struggling to see the point in this system even if it did work.

  22. Stop crying. Many people have indicated it works like a charm. Don’t blame Microchip, they launched something which makes me happy. If you don’t like it, stop crying and keep continuing using your preferred platform / uC / IDE / whatever. It is all soooooooo negative!

  23. Got my evaluation board today and had a test program working on it in under ten minutes. I like the board so far. Will I use it for something that I don’t want anyone else to see my code? No. But sticking it in some random project? Hell yes. Why not? Don’t care for the cloud crap, but for some projects that just doesn’t matter to me. And not having to set up a new tool chain was a plus, as I’m sure a lot of people new to the hobby will agree.

  24. When I received my free board I had it working in a few minutes. This new chip is amazing (PIC16F18855) it has linear addressing mode for RAM access, several core independent peripherals, ADC with computation, configurable hardware CRC, etc. I will use the board to test all the chip features.

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