Let's Make Robots!

ATMEL or PIC

Okay, this is just a little "this vs. that" quiz so I can find out what you guys generally prefer. Vote PIC for PICs or PIC based devices like PICAXEs and ATMEL for ATMELs and stuff like Arduinos.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I only use the picaxe at the moment because I bought a bunch of them (5 x 08M, 4 x 28X1, 2 x 18X) and I'm not done with them yet. I like the quick way to program them with basic, but I'm rather frustated with the language: integers only, no equations in conditions and a lot of other stuff.

I also have an arduino nano and I have toyed with it. I like the size and the language. Not so sure I like the programming environment, but maybe I'll get used to that too.

My next step will be either programming PICs in assembler or C or using the arduino platform. Its been 23 years since I programmed assembly so it will take getting used to.

If I ever have the time and money to build a bigger bot, its brain will be some kind of netbook for sure. Use PICs or Atmels for driving motors and sensors and do all logic programming in a nice linux environment with lots of RAM and storage.

I use the Arduino, because it's the first thing I bought and it's easy for prototyping, but I also dove into bare PICs...not to good at using those yet though. I don't even know, I guess I like both.

PIC - 8 bit micro (others 16 and 32)

AVR - 8 bit micro (and AVR32)

PIC - Harvard architecture, separate data and program memory

AVR - modified Harvard architecture - special instructions allow program memory to be accessed as data if needed

PIC - 4 clocks to perform an instruction

AVR - 1 clock to perform an instruction

PIC - modified instruction set to accommodate C programming

AVR - instruction set built for C programming

PIC - usually requires special programming voltages and hardware

AVR - can use a serial programming dongle with no special voltages

PIC - freebie compilers in C, Basic

AVR - freebie compilers in C, Basic

PIC - old apples from 1975

AVR - new shiny tasty apples from 1996

 

"

PIC - usually requires special programming voltages and hardware

AVR - can use a serial programming dongle with no special voltages

PIC - freebie compilers in C, Basic

AVR - freebie compilers in C, Basic

PIC - old apples from 1975

AVR - new shiny tasty apples from 1996

"

PIC's can be programmed using a serial dongle too... They can even be programmed through ethernet, USB, etc so about special voltages and stuff what are you talking about

As for the old apples and shiny apple thing, what are you talking about?!?!

 

There are numerous PIC programmers that "raise the voltage on the MCLR pin to 12 volts" to get the device into "programming mode". This was true with the very commonly used 16F84 long ago and most other PICs that Microchip makes currently. A simple Google search for "PIC programmer" will turn up plans of cheap versions of PIC programmers that provide the extra 12 volts. It appears that the PICKit 3 also provides this extra voltage, probably through a booster circuit when programming the PIC over USB.

AVRs require only a standard 5 volts (or 3.3) to run and program.

The old apples compared to new apples was contrary to your inital post calling the comparision of PICs and AVRs as "apples to oranges".  The dates were in regard to when the PIC architecture was developed, compared to the date the AVR archetecture was developed. 

 

although id like to try AVR one of these days. Do they have integrated peripherals like ADC I2C RS232 and stuff?

They have ADC, (old 90S2313  had an analog comparator, old 90S8535 has 8 channel 10 bit ADC, newer replacement Mega8535 has same). The name Atmel uses for I2C is TWI (Two Wire Interface) to avoid licensing fees. They have a UART, though I don't know of any that have RS232. Usually RS232 voltage levels is added with an external chip or parts, I'd be surprised if any micro had it as part of it and not an external add on. Some devices have SPI, some have CAN, some have DACs. USARTs, DMA, counters, watchdog, etc.

One cheap little Atmel device that is fun to tinker with is the AVR Butterfly.  $20 and by adding headers, it can be made into a robot controller and reprogrammed with the standard AVR dongles. I haven't actually done it with mine, as I just like the apps it already has programmed in. Of course I could always reload those if needed afte a running a robot. 

I think they have ADC... but I'm not sure

You can run a PIC on 5.5-2VDC, and you can use a bootloader for the serial programming for ICSP. All programmers use a simple charge pump to increase the voltage needed.

 With the memory archtecture of the PIC, it allows for simultaneous executions and read times, and i dont see how the dates are really relevant.

That was the whole point though, no extra charge pump components needed to program an AVR. Simpler programmer. And bootloaders can be used on the AVR as well, if that is the method of programming you want.

The dates were partially a joke and partially relevant to show a micro that was great when it started, but has become a bit dated. AVRs have taken in a number of newer technologies from many sources including the PIC to develop a more recent, more powerful micro. There are even newer devices that have even better toys, but hobby level projects seems to run on 6 to 10 year old tech at minumum, and still cling to older things still.

 I've heard personal computer experts bemoaning the fact that the PC is still trying to be "backward compatible" with old x86  instructions and that they'd really like to dump the whole thing for a new PC system redeveloped from the ground up. But that's a lot of infrastructure to rebuild, so they keep cranking out the same old platform with new patches and faster speeds on top.

I think micros are similar, but not quite as entrenched. They new stuff can be more readily added to older micro tech, but some things still are holdbacks that are held onto.