Atmel v Microchip v Freescale

Having now worked with all three uControllers and their respective IDEs, I thought it would be beneficial to start a milestone summary of my observations.To begin, I recently went back to the Microchip PIC family on account of their superior battery life (ultra low watt sleep) - which it seems is a full order of magnitude better than freescale or atmel. I note that microchip has recently? added a C compiler to the free IDE, in addition the PICs now come with a matrix multiplier which increases the speed of multiplication to a single cycle, this they say is on par with DSP speeds, and I think quite relevant to the UAV community as these applications are multiplication-intensive, and often cpu bound.IDEFreescale - nice processor wizard makes setting up peripherals easy - step-through debugging. Supports real USB devices.Atmel (Arduino) IDE sucks frankly, no step-through debugging, 2 processor selection. - Arduino is stuck in FTDI-landMicrochip - now supports step through debug on all modern flash uControllers from C source. Supports real USBCyprus Psoc. Frankly I wet my pants. PSoC has cool features like a programmable gain Op Amp, and now some higher current outputs and HighSide drivers integrated? - but the complexity and learning curve look steep, in addition to which the noise aspects of the PGA seem unusable for a wheatstone bridge for example. It's more of a Machine descriptor IDE, than a sequential language. Reminds me of the Parallax Propeller, but the Cogs are analog.ADCFreescale 12 bitsAtmel / Microchip 10 bitsCyprus - Include signal conditioning onboard, (ie gain and filters)?Propeller fuggetabouditUSBMicrochip will sublet it's USB Id'sFreescale, good USB Support, USB ID's are prohibitively expensive.Atmel/Arduino (fuggetaboudit)Learning CurveArduino is far and away the winner here.Next are the PIC Basics - which are easy but expensive.Freescale in C is not bad - free with excellent entry level packages (ie Spyder).Microchip recently bought Hi-Tech (pdfsucks) so I expect the PIC in C to improve. It's already free and usable, though installation requires it's own webinar.I'd like to hear how these observations may compare to others out there who have used multiple toolchains for entry-level ucontroller projects.
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Developer
    Hey guys, not sure if anyone has talked about this yet but I just ordered one and I am pretty excited about it. Powerful ARM7 with a big community to support it. Check it out. http://mbed.org/
  • @Roy Brewer
    It was a 56F8357, with metrowerks, back in 2005.
  • Developer
    And I only agree in part as well. :) Community is key, but if you look at the leading community sites for AVR such as AVRFreaks. AVRStudio + WinAVR (AVR GCC) is the most prevalent C coding environment. I am not bashing Arduino at all. Heck I use it all the time, since it's great for generating simple code that just works. But in regards to a chip vs chip comparison, it would be the wrong tool. The lack of debugging should be reason enough, but also missing support for the more advanced AVR features.
  • John,
    Agree only in part. As others have mentioned, the community which surrounds a technology is a critical consideration, and to no small extent, the Arduino community is the significant pool of the open source atmel community. Freescale provides its own open source community via many examples in C and a C++ compiler with debug. Microchip is the worst - most of its examples are in assembly, and its debugging solutions are the worst or most expensive. Atmel has a small problem in that their flash is not as durable as freescale or microchip, but theirs is otherwise a quite respectable offering - I'm sure.
  • Developer
    I'm sure it has already been mentioned but.. ATMEL != ARDUINO
    Arduino is a simple "teaching" environment that use a small subset of available Atmel chips and functionality.
    If you want to do a Atmel vs. MicroChip vs. whatever comparison you need do the comparison using AVRStudio, the official IDE for Atmel chips.
  • @Otto Pilot

    Do you have experience using the Luminary Micro chips with opensource tools for a UAV project?

    - Roy
  • @ ernani reis
    Which freescale DSP are you referring to? The DSP56xxx series? Was it the NewMicro's Isopod series?

    - Roy
  • @Chris Anderson:(et al) If you're looking into the BeagleBoard, you may want to check out the Gumstix Overo line. http://www.gumstix.com/store/catalog/motherboards.php The higher end products use the same chips as the BeagleBoard. The Gumstix's line are more expensive, but may have a better form factor for UAVs and other embedded control applications. I like the DSP and the floating point hardware. A UAV may not be able to make use of the built in graphics processing. Another interesting TI chip is the Piccolo - http://www.ti.com/corp/docs/landing/f280xx-piccolo/index.htm, which includes a "control law accelerator". I haven't used any of these chips/boards, but they do seem worth a look.

    - Roy
  • MPLAB update:
    No Save on Crash or Power loss - Freescale will save your butt automagically.
    No right-click, goto definition of variable method, or macro under cursor (Freescale Yes)
    Minimal open h file under cursor (won't find files outside the current project).
    Freescale includes BOD, microchip does not.
    Microchip has a watchdog, but doesn't allow it to be disabled under code. for longer sleep than 2 sec. Freescale has a low-power timer which can be disabled. (Still PIC is better sleeper).
    automagically.no is parked
  • God bless the PIC MPLAB IDE (by which is universally meant the approximate opposite).
    By contrast the Freescale IDE is C++ by default, C is the language of tutorials, and most examples. Freescale is a C community. PIC, on the other hand has third party languages (pick your poison). Most if not all examples will be in assembler, the community is largely Assembler, or a random collection of incompatible C / Pic/Basics. Freescale includes a very nice processor wizard, which will handle the initialization, and create peripheral objects, while you can expect to spend most of your time in PIC setting up initialization and setting registry options which are cryptic and likely to be poorly document in your language of choice.

    - meanwhile PIC sleep is 10 - 50 times less current Freescale sleep... sigh.
This reply was deleted.