Microchip Myths

Microchip Myths

I’ve used Microchip PIC family microcontrollers practically my entire career in engineering, since the 16C54 days. I do consider myself a fan of Microchip. That said, I think that Arduino is a wonderful platform, giving technology accessibility, open source, and a strong code and project base to the masses. I still lean on the hardware hackers and makers I know to try to use a “real” microcontroller; that is get down to the discrete microcontroller level instead of using a simplified middleman. It’s not that hard, and in some ways I think can be easier.

Anyway, there was a time when PICs were the “go to” for makers. These days it’s Arduino, or the Atmel parts used in the Ardunios. I’ve got nothing against Atmel; well, except that time when a start-up I worked for was using AtMegas and Atmel promised there was no way ever ever ever ever (that’s like four evers) go an allocation. Which then went on allocation –meaning basically “back order” — when we needed them most. Other than that, I don’t have a religious view of tech. It’s all good homie.


Image modified from work originally by Birdco. Check out his stuff on deviantArt. Thanks Birdco!

Still, I like Microchip. It bothers me to hear some of the myths and misinformation out there in both the professional and maker worlds about PICs.

So here we go!

1) PICs are just hobbyist devices.

I remember first hearing this way back in the 90s. Yeah, like anypony is going to ramp up semiconductor fabs for hobbyist parts. (Yeah, I know Parallax did with the Propeller. Cool hack there, they started making their own chips with surplus gear, not the same thing…) As of this writing Microchip has a market cap of 6.72 billion. Here’s a little something from their 2011 annual report.

Sales by Geography
Sales by geography for fiscal 2011… (dollars in thousands):
Year Ended March 31, 2011

Total Sales $ 1,487,205

That’s not $1.4 million in sales, that’s $1.4 million thousand. $1.4 billion in sales last year. OMFG there are lots of “hobbyists” out there. These guys spent $176 million on R&D alone in 2011. Conclusion, not just a “hobbyist” company.
(By the way, if you don’t know how to find and read annual reports and other SEC filings, learn. It’s part of the world we live in, and everypony needs to be able to make real decisions about firms…takes off MBA hat…)

2) PICs aren’t hobbyist/maker devices, Arduino/Atmel are.

Well, I’ll give you that the Arduino was designed to make microcontroller projects easier for makers, and it’s based on the Atmel family, but Atmel is another huge semiconductor company. For the longest, they made their bucks in non-volatile memory, not microcontrollers. It is my understanding that as of this writing, Atmel makes most of their profit from capacitive sense devices, not uCs. And if you’re old enough like me, you remember when “Atmel microcontroller” meant “flash based 8051 derivatives”.

But seriously, why would one be more or less of a maker part? Microchip parts are easily available in low quantity, and many devices still come in maker friendly DIP packages.

3) There are no free C compilers for Microchip parts.

Completely false. I’ve seen this statement over and over at Instructables, Hackaday, and other maker sites. It’s confusion at best, disinformation at worst. Want proof? Go to Microchip’s own compiler page and download them. Yes, they sell the compilers, but you can also install them in free mode. The difference? The free version doesn’t do all the code optimizations. But honestly if you are at the level, even as a “maker” that you need that much code space or performance for your project, you are probably an advanced maker, and can afford it if you really need it. Go check it out at Microchip’s site. And read the fine print, don’t just listen to some haxor on the ‘net.

Yep, here we go, here’s my reference so you know I’m not just a blah-blahing haxor on the ‘net. From the really cool 8x8x8 LED Cube project:

The software is written in C and compiled with the open source compiler avr-gcc. This is the main reason we use Atmel AVR micro controllers. The PIC series from Microchip is also a nice choice, but most of the C compilers cost money, and the free versions have limitations on code size.

The AVR route is much more hassle free. Just apt-get install the avr-gcc compiler, and you’re in business.

Ok, gcc is cool and street creddy and all, but that statement is false. Go download MPLAB and the C18 compiler and you can do the same thing on a PIC18F4680. Free tools. “But, but gnu gnu gnu.” Yeah, WTFE.

Additionally, the 16-bit and 32-bit (that would be the compilers for their PIC24/dsPIC and PIC32 families respectively) _are_ gcc. Put that in your pipe and grep it.

Oh and I don’t know about the Atmel parts, but I do know the baud rate generators in the PIC are flexible enough to get standard baud rates without having to go to the route of odd (but standard) frequency crystals. Geeze, that was something we did back in the 8051 days…

(Side note: I hate publicly saying “I’m a gonna do something” because my world is so busy it can be difficult to commit to breathing at times, but I do plan on building an LED cube. I’ll make it PIC based, and will be honest about how much of a hassle the project is. I’ll even try and port the existing Atmel source. Somepony hold me to this.)

4) The free C compilers for PICs have a limit on code size.

Again, I’ve read this at various maker sites as well as the above quote. Wrong. Like I said, they do have some optimizations in the paid versions that can make code smaller and faster, but there is no limit of code size with the free compilers. None. I’ve used their free compilers to build multi-stack projects. Hundreds of source files, thousands and thousands of lines of code, running TCP/IP and Zigbee at the same time. Is your blinky maker project actually going to be more complex than that?

5) Microchip’s IDE is only for teh windows. Why you no linux?

They were late to the game, but MPLABX runs under Linux. But you know, I was VP at a contract design house for many years, and we used Windows machines for microcontroller development and EDA. An OS is just another tool, it’s not a religion. Get over it. Hey eye heart Linux as much as the next guy with black leather and a Mohawk, but when your $10,000 schematic capture and layout tool runs on windows, that’s what you use. Anyway, check out MPLABX.

6) But Atmel parts are designed to do maker stuff! PICs can’t do the things we want to do.

This reminds me of, back in the day, being told “PCs CAN’T do image editing, only Macs”. Pony, please. Those comments come from folks who don’t yet understand what goes on in a processor. You are just moving bits and doing math. What those bits control, what the math is about, the processor doesn’t care. Ultimately the big difference between processors is how fast they are.

Different microcontrollers do come with different built-in peripherals. And there are times when one family or device is just the ticket for a given project, but pretty much any function an Atmel has can be found on a PIC.

7) PICs are too hard for makers to use.

Seriously? Maybe you should just stick with blinkies.

8) But using an Arduino gives me street cred!

Yay! You win 100 internets. WTFE.

9) Atmel parts are easy for makers to buy.

Yeah, Microchip was the first to that game. They realized that a good sampling program and selling onsies through DigiKey was a great marketing path. Atmel followed suit. Both of these companies have done a great job with this, making their parts readily available through a number of online vendors.

Again, kudos to Microchip and Atmel for doing this. Availability of building blocks is critical for innovation, whether at the maker level, or the professional level. There are some really cool parts out there that are difficult to get your hands on, even if you’re a seasoned pro like me. While I understand some firms business decisions to do so, the long run big picture benefits from parts being easily available.

10) ARM ARM ARM Raspberry Pi. Why play with tiny little processors when you can have an OS?

That’s a different discussion, check out my thoughts on that at “Plain Microcontrollers in a Raspberry (Pi) Flavored World?” Like I say in that post, RPi and uC are different tools for different jobs.

11) What about Freescale? Aren’t they the real professional microcontroller guys?

Ugh. Motorola. Their catalog of parts would reach to the moon. But then you’d have to go to the moon to get them. These guys have always been bad about listing every custom part in their catalogs, and you find what you need and are told yes, you can have one of those if you order 25,000 and want to wait 8 months. Whatever. Yes, I’ve done many projects with Mot parts, from the lowly 6xxx stuff to Coldfire etc. My advice to makers is steer away from them, unless the part is exactly what you need and you know what you’re doing.

It’s kind of funny though, there was a time when your home project had no street cred unless it used a 68HC11. All the cool young turks go “whaaaa?” And to you grey beards, yes, I know they still make ’em and some folks still use ’em. Hell, seems like no processor family totally goes extinct, but as far as maker projects, who’s using them now? So much for the long term value of street cred…

12) You’re just a shill for Microchip

Yeah, no.

Yes, I was VP of engineering for a major Microchip design partner. Yes, I have had clients pay me to design in, develop for Microchip parts, but no I do not have a business relationship with Microchip. Actually, I wish I did. They’re a great company, but I think the whole Arduino scene caught them off-guard, and they are slowly getting to be more in touch with the maker base. I think a leather wearing, Ray-ban sporting, Mohawked phun haxor with a couple of decades of real world embedded systems experience like me would make an awesome Microchip spokesperson at the MakerFaires and cons I already attend. Today’s young maker is tomorrow’s decision making design engineer or start-up junkie, and I give some great tech talks and look totally cool on camera. Plus I could use a steady job. Hrm. Have tech; will travel.

Whatcha say Microchip folks? Yeah, I won’t hold my breath.

13 But but, gnu gnu, gcc, open source open source, gnu gnu…

What is that, the sample phrase for a Richard Stallman dance song?

The thing is Microchip has Linux based tools, free compilers including some gcc, easy to get parts that come in maker friendly through-hole packages. PICs are found in alarms, fireworks, field equipment, hot tubs, all sorts of professional applications. The PIC family is as accessible and easy to use as Atmel, and as professional and real as any billion dollar company can offer.

Hacking and making are about understanding and doing what others think you can’t do. Don’t take things out there at face value. Learn enough for your decisions to be based in fact.

And then go make something!

———
Side comment. I really prefer the term maker over hobbyist. “Hobbyist” implies somepony doing stuff just for distraction/entertainment purposes. What we’re seeing in the Maker Revolution are people doing things for passion and purpose, sometimes even profit. These are good things, and I think the new maker ethos is much bigger than what used to be “electronics hobbyists”.



« | »

Leave a Reply