Skip to main content

Pickit 3 first impressions

I just got a PicKit 3 through Element14/Newark, and I wanted to write about some first impressions using it with my mac. To make sense of the reason why it's even worth discussing, it's worth briefly talking about what it's like doing embedded programming on the mac. I'm only going to discuss the use of the few embedded platforms that I've tried to use. In this case, it's the TIMSP430 series, Atmel AVR, and Microchip PIC.


I didn't get very far with the MSP430. I received a development kit for free, some time ago, by attending an event at TI. Though TI finally "supports" the mac, this is only recently true. As it turns out, there must have been some problem with my development kit, because it kept crashing my computer. I guess I can try this later when I have time, but for the moment, it's a non-starter.

Atmel AVR

AVR fans have long held that the Atmel platform was the most "open source" and accessible. This is, in a sense, true. However, I look at it another way. I see Atmel's reliance on GCC as an example of laziness. Because I don't useWindows, I have no idea what Atmel Studio is like, but on other platforms, the only path for programming the AVR is GCC and AVR-libc. On the mac, the version of GCC available through macports appears to have been updated since I've used it, but it was a major version behind for quite some time.

I've already opened the door to a major flame-war, so I might as well keep going: GCC is a crap compiler. There, I've said it. "But why" you might be saying. In my experience, GCC produces larger binaries, that are less efficient, and slower. It's fine for a free compiler, and on a regular computer, where RAM space and processor capacity are abundant. However, on a microcontroller, these resources are precious.

I've used GCC and AVR-libc extensively on the mac. This solution is definitely workable. It 's not ideal, though. In addition to the shortfalls of GCC, there is no IDE support (though some hacking on Xcode will work), and the programmer interface (AVR dude) is primitive. In theory, it's possible to useAVR-gdb to debug AVR programs, but it looks very challenging.

Microchip PIC

Until last year, there was basically no support for programming a PIC on a mac. That all changed when Microchip released the beta of "MPLAB X," which is their latest version of IDE. Based on eclipse, it supports Windows, Linux and mac. In addition to providing an IDE for every major OS, Microchip also provides their high-quality compilers. The most extreme optimization features are reserved for the paid versions, but the free version is still better thanGCC.

Also, Microchip has always included extensive libraries for their peripheral functions with their compilers. It's very common to configure the registers manually when using the AVR. With the Microchip peripheral libraries, it's seldom necessary. Manually configuring peripheral registers is, at best, an annoyance, and it's usually a total headache.


I've used the Microchip ICD2 for years with good results, but it requiresMPIDE, which only runs on Windows. I had great hopes for mac support whenMPLABX was released.


Comments powered by Disqus