Author Topic: Which microcontroller should I learn?  (Read 47893 times)

0 Members and 1 Guest are viewing this topic.

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which microcontroller should I learn?
« Reply #100 on: February 18, 2016, 09:43:30 pm »
Oh please no PICs  :palm: :palm: :palm:. Arduino is miles better than hacking assembly on an archaic PIC. If you are getting into embedded programming the experience from Arduino will be way more valuable because a lot of current day embedded programming is high-level.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Cerebus

  • Super Contributor
  • ***
  • Posts: 10576
  • Country: gb
Re: Which microcontroller should I learn?
« Reply #101 on: February 18, 2016, 10:25:29 pm »
Determination, self-discipline, and doing the work where there is no internet to distract you.

Pretty tough if you've chosen, or had foisted on you, one of those tools that requires you to be online just to use them!  :(
Anybody got a syringe I can use to squeeze the magic smoke back into this?
 

Offline NivagSwerdna

  • Super Contributor
  • ***
  • Posts: 2495
  • Country: gb
Re: Which microcontroller should I learn?
« Reply #102 on: February 18, 2016, 10:46:26 pm »
IMHO this is a poor question (but there are some good answers!)

It was suggested that you learn programming... that sounds like a very sensible suggestion... Any platform with a C compiler will provide an environment for that.

... then...

which processor you choose will depend on what you are trying to achieve, the onboard peripherals of these devices varies hugely, (there was an example recently with the 3D printer video that said a Quadrature Encoder influenced the choice)... you might need lots of UARTs, RTC, LCD Drivers, lots of timers, who knows what...

So you are better off finding a project of some kind and then going through the thought process of which processor you would select to minimise the off-chip logic etc, think about cost and why that might be important, maybe you need more than one core? who knows what... but it can only be framed in the context of a problem.

Then once you have some context you can start looking at specific IDEs, language implementations and the libraries they come with.

The next step (perhaps related to the previous one) is to understand how the language C or whatever maps to the registers and together with the datasheet how to squeeze the correct behaviour out of the hardware. 

The good thing about Arduino is that it provides a nice capable 328P or whatever hardware platform but the terrible thing is the 'wiring' hides away the hardware so if you don't dig deeper you won't actually understand how it works... just look at the number of PWM/Comparator options on the 328P datasheet if you don't believe me.

But... You can start with an Arduino clone board at almost zero cost, prototype something and when you feel ready drop the 'Arduino' and program it as an AVR using a Dragon or something similar, just don't stop tinkering until you get to the silicon (you should understand what an interrupt is and why it could cause dither or screw things up if it took too long and all those lovely things).

... but that being said... I've just updated my PIC programmer because I need to control a raw LCD display.

 :)

« Last Edit: February 18, 2016, 10:53:04 pm by NivagSwerdna »
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19508
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Which microcontroller should I learn?
« Reply #103 on: February 18, 2016, 11:04:17 pm »
Determination, self-discipline, and doing the work where there is no internet to distract you.

Pretty tough if you've chosen, or had foisted on you, one of those tools that requires you to be online just to use them!  :(

Doesn't affect the first two, which are more important and are applicable to all aspect of life :)
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Which microcontroller should I learn?
« Reply #104 on: February 18, 2016, 11:37:42 pm »
"Also, I'm in limbo because I decided to just learn to program the AVR 328p that came with the Arduino because it seems simple"

Embedded programming existed long people people invented those fancy 32 bit chips.

You can definitively learn to become a great embedded programmer on the avr, or that pic. No 16 bit or 32 bit chip needed.

Once you have mastered the avr and other chips of more complexity, you will find that the cores make minimum difference.

Your problem seems to be a lack of discipline, or a fear of learning.

Just commit yourself to a chip, any chip, and start with the boring stuff and you will come out the other end as a winner.
================================
https://dannyelectronics.wordpress.com/
 

Offline ea_man

  • Contributor
  • Posts: 23
  • Country: it
Re: Which microcontroller should I learn?
« Reply #105 on: February 19, 2016, 12:30:55 pm »
Anyone have any tips?  Please and thank you.
Get yourself in a course, a teacher will tell you what to do providing the best path to learn things. Ask for a detail course program, resources and examples used, better if there's a forum where the students can discuss.

Check if there's just a beginner level (may be noobs improvising) or if they have different levels and a solid path - vision, check if the lab has the right equipment (laptops and just standard arduino kit = not good. Many boards / uC / loads of components, custom kits for each class level = good) and if you can go there to practice.

As for the parent's question: Arduino (learn basics of programming, electronic, uC programming paradigms) -> learn C++ > learn to program AVR with ATmega328p on a breadboard (combinatory logic, "real" embedded programming) -> buy more Attinys -> step up to MSP432P40 or PSOC 
« Last Edit: February 19, 2016, 12:54:16 pm by ea_man »
 

Offline Cerebus

  • Super Contributor
  • ***
  • Posts: 10576
  • Country: gb
Re: Which microcontroller should I learn?
« Reply #106 on: February 19, 2016, 02:11:40 pm »
Anyone have any tips?  Please and thank you.
Get yourself in a course, a teacher will tell you what to do providing the best path to learn things. Ask for a detail course program, resources and examples used, better if there's a forum where the students can discuss.


Classic "Didn't read the question".

The original poster's second sentence was "I'm about to finish college (mechatronics engineering) and I've only worked with arduino".

This guy's just finished what sounds like a degree level course. I somehow don't think he's looking at the level of enrolling on a course at the local technical college/extension college/adult education classes. He's not asking "How do I start" but "Where's best to go next".

Anybody got a syringe I can use to squeeze the magic smoke back into this?
 

Offline Cerebus

  • Super Contributor
  • ***
  • Posts: 10576
  • Country: gb
Re: Which microcontroller should I learn?
« Reply #107 on: February 19, 2016, 02:18:37 pm »
Determination, self-discipline, and doing the work where there is no internet to distract you.

Pretty tough if you've chosen, or had foisted on you, one of those tools that requires you to be online just to use them!  :(

Doesn't affect the first two, which are more important and are applicable to all aspect of life :)

Pah! Self-discipline is over-rated. It tends to get between you and all those cream cakes, bottles of beer and other procrastinatory diversions.  :P
Anybody got a syringe I can use to squeeze the magic smoke back into this?
 

Offline captbill

  • Contributor
  • Posts: 37
  • Country: us
Re: Which microcontroller should I learn?
« Reply #108 on: February 19, 2016, 05:43:24 pm »
Arduino's are nice for small project that needs to be finnished in e very limited time.

as many might have said before, don't just use a micro to let a led blink, thats totaly misusing a µC.

the choice of what to use ( atleast for me) depends on the requirements of the producs.
in some cases i use 16 bitters (like the pic24), but in a recent project i use a efusA9 and program in C#.
don't just learn one type of micro, start with one.

i started with pic's like the pic16f628A, just because it has a large comunity, many diferent ide's and ofcourse a cheap programmer.
if you are staying with developmentboards it might not be a problem as some (like the arduino) have a 'build in' programmer.

the http://www.keil.com/mcbstm32f400/ is a easy board (arm Cortex™-M4) and is much more powerfull than a pic16.
but a pic16 might do a better job then an arm processor. it all depends on the application you are going to make.

You have pointed out a very important consideration when you say "a PIC16 might do a better job than an ARM". Very important because, more times than not, an ARM is overkill in the majority of real life scenarios. You just don't need so much processor to do "everyday things". The ARM enables you to do "programming" whereas a PIC(or like) demands you do full scale "engineering" , which I think is what OP (and all of us) is ultimately discussing here.

Ultimately, a well engineered approach is one where you have the right chip for the project, just like you want well fitting clothes. Also, this keeps you on your toes and demands you to become a better programmer whereas with ARM what you end up with the luxury to design without limitations, which invites poor practices, bad habits.

I am quite new to all this myself and don't mean to sound like an expert whatsoever. I am trying to piece together a system to address these same concerns and it's important to be prepared from the starting gate, which is where I am, essentially.



 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Which microcontroller should I learn?
« Reply #109 on: February 19, 2016, 06:07:49 pm »
Quote
more times than not, an ARM is overkill in the majority of real life scenarios.

Many times, a 4Mhz PIC or AVR is an overkill too.
================================
https://dannyelectronics.wordpress.com/
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1672
  • Country: us
Re: Which microcontroller should I learn?
« Reply #110 on: February 19, 2016, 06:33:21 pm »
You have pointed out a very important consideration when you say "a PIC16 might do a better job than an ARM". Very important because, more times than not, an ARM is overkill in the majority of real life scenarios. You just don't need so much processor to do "everyday things".

That is quite true for commercial work when you have to consider the BOM cost of the product. Using a PIC16 might be indicated if it costs less than an ARM and you're making millions of units.

If you're making a one-off or a limited run, say 100 pieces, of a product, then BOM cost isn't a big deal and you have to trade off cost of the part versus the engineering time required to implement the firmware. Sure, a PIC16 might save you $0.50 over an ARM Cortex-M0, but it's not worth it if your engineers spend many extra hours trying to shoe-horn the required functionality into the PIC.

It might be more fun and more "elegant" to try and make due with a lesser MCU, but this sometimes doesn't make engineering sense.

For Hobby projects, on the other hand, anything goes. The cost differential of even a high-end ARM Cortex-M part versus a PIC16 doesn't matter. Most of my hobby projects take a few hundred hours of work, so spending $12 for an ARM Cortex-M4 gets lost in the noise. Hell, I spend more than that on lunch every day.
Complexity is the number-one enemy of high-quality code.
 

Offline ea_man

  • Contributor
  • Posts: 23
  • Country: it
Re: Which microcontroller should I learn?
« Reply #111 on: February 19, 2016, 10:32:14 pm »
Classic "Didn't read the question".
Sorry if my quoting was misleading, I'll try again:

I have a similar problem as OP so I hope he doesn't mind if I jump in with my own thoughts.

I've always had an interest in technology/computers and over the last year it has grown immensely.  I've started to learn about the intricacies of the actual hardware and how it works.  I've been also been learning about electricity and electronics since the go hand in hand.  I've had an Arduino for a few years now but never really used it.  So I've decided that I would like to learn how to program microcontrollers for hobby reasons.  Maybe make an GPS/Alarm system for my car.  Or my own smart thermostat.  I want to bypass the Arduino environment because programming the bare metal gets me excited.  Plus it'll help me understand how CPUs work.  My issue is I can\t focus on one thing at a time.

I bought a great C programming book a few months ago but I haven't passed chapter 8 yet.  The reason being that when I get home I jump on the internet and I start looking at cool projects to make, different development boards, datasheets and etc.  In and of itself that's not bad, but I won't be able to do any of those things because I'm not learning C or how to actually program these chips.  Also, I'm in limbo because I decided to just learn to program the AVR 328p that came with the Arduino because it seems simple.  But then I'm like "maybe I should try a different board?".  Hmmm 16-bit?  ARM?  Maybe a TI board? Maybe, maybe, maybe.  I just want to be able to decide on a direction and actually stick to it and get the work done.

Anyone have any tips?  Please and thank you.
Get yourself in a course, a teacher will tell you what to do providing the best path to learn things. Ask for a detail course program, resources and examples used, better if there's a forum where the students can discuss.

Check if there's just a beginner level (may be noobs improvising) or if they have different levels and a solid path - vision, check if the lab has the right equipment (laptops and just standard arduino kit = not good. Many boards / uC / loads of components, custom kits for each class level = good) and if you can go there to practice.

As for the parent's question: Arduino (learn basics of programming, electronic, uC programming paradigms) -> learn C++ > learn to program AVR with ATmega328p on a breadboard (combinatory logic, "real" embedded programming) -> buy more Attinys -> step up to MSP432P40 or PSOC 
 

Offline leftek

  • Regular Contributor
  • *
  • Posts: 53
  • Country: cy
Re: Which microcontroller should I learn?
« Reply #112 on: February 20, 2016, 11:09:01 am »
I have started with PIC microcontroller with MikroC compiler. Have many libraries and is easy way for start.
Any microcontroller you will choose is the right choice. There are not bad choice for microcontrollers.
After you will learn, the change of it will be very easy.  :)
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Which microcontroller should I learn?
« Reply #113 on: February 20, 2016, 02:20:47 pm »
Quote
Any microcontroller you will choose is the right choice.

Absolutely agree. Rather than wasting time worrying about which mcu to learn, you should just pick one and start learning.
================================
https://dannyelectronics.wordpress.com/
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which microcontroller should I learn?
« Reply #114 on: February 20, 2016, 02:56:05 pm »
There are not bad choice for microcontrollers.
After you will learn, the change of it will be very easy.  :)
The change won't be easy if you have choosen a microcontroller which is very limited (processing speed, memory, etc). One of the very nice things about NXP's ARM controllers is that NXP works very hard to keep the peripherals the same. The problem you often encounter when changing to a different microcontroller is that you need to rewrite a lot of code which deals with peripherals or the clock setup.
If walk into a dead-end road (for example starting with an 8 bit PIC) then you will need to change to something completely different at some point. It is better to walk into a road with a clear path towards higher end devices without needing to rewrite lots of code you have written before.

Edit: The point is: there is most definitely a bad choice!
« Last Edit: February 20, 2016, 06:14:49 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19508
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Which microcontroller should I learn?
« Reply #115 on: February 20, 2016, 06:17:52 pm »
Quote
Any microcontroller you will choose is the right choice.

Absolutely agree. Rather than wasting time worrying about which mcu to learn, you should just pick one and start learning.

Ever since the late 70s, for questions such as these the key determining factor has been the development environment.

Pick a development environment that is comfortable and offers the right facilities, then choose a MCU/board that works with that environment.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline cdonateTopic starter

  • Contributor
  • Posts: 18
  • Country: br
Re: Which microcontroller should I learn?
« Reply #116 on: February 20, 2016, 09:16:30 pm »
Thanks to everybody who gave his 2 cents. I do appreciate every comment and it really changed my views. on the matter.

Quote
IMHO this is a poor question (but there are some good answers!)

Yes, I can see that now, it was the wrong question. But I think that's the point of coming here, now I have a much better ideia how to proceed.

I'm taking a step back and focusing on learning good C programming and the development of embedded systems. I'm starting with these two book: http://www.amazon.com/Making-Embedded-Systems-Patterns-Software/dp/1449302149 and http://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628.

The first one focus on the development of embedded systems, a very nice read. The second I don't think needs explanation.

After that I'll go to an 8-bitter, the Atmega328PB, the new version.  And since a common theme among the answers was that I needed to know multiple uCs, I'll try a ARM also. Maybe the Tiva C or a STM, since I have both here.

I already have a possible project for the 325PB that uses sensors, PWM, interrupts and ADC. I think it'll give an somewhat broad idea how to use various aspects of the IC. The ARM I still have no idea what to do.

What do you guys think? Is this a good enough path?

I'm working as a front-end designer for 3 years now (couldn't work as an engineer until finishing college), since the middle of my bachelors degree and I can't stand it anymore, I need to move on to another area, and working with embedded system is my goal.

Please, any tips are still welcome.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19508
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Which microcontroller should I learn?
« Reply #117 on: February 20, 2016, 09:38:40 pm »
Thanks to everybody who gave his 2 cents. I do appreciate every comment and it really changed my views. on the matter.

You will find that it is usually relatively easy to give the right answer to a question. But it is much more important - and much more difficult - to determine which is the right question. The right question is one where the answer causes you to go this way or that way.

Quote
What do you guys think? Is this a good enough path?

Whatever you choose and enjoy is a good enough path. (The best is the enemy of the good!)
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Which microcontroller should I learn?
« Reply #118 on: February 21, 2016, 02:07:12 am »
Quote
What do you guys think? Is this a good enough path?

Once you have a good programming habit, you will find that the mcu cores are for the most part transparent, and peripherals are highly alike in terms of functionality and vastly different in terms of implementation and complexity. Blinking a led for example is roughly the same on an AVR and on a Cortex-M4. Getting the pwm to work on the AVR and a Cortex-M4 involve roughly the same thought process but the actual code will differ significantly.

All this 8-bit vs. 32-bit thing is mostly marketing. The differentiation and steep learning curve is in the peripherals.

As to programming books, well, K&R is very good in my view and personally I like to read up on large companies' programming guide books. Running Lint or MISRA on your code can be quite educational as well.

Also, you will find that it is much easier to learn if you actually code to a chip. In this case, you are fortunate in that you have all the tools to practice your learning on.

The AVRs are a good chip for that purpose as they are simple to set up and easy to get going - minimizing distractions and frustrations a beginner may have with a more complex chip like those ARM chips.
================================
https://dannyelectronics.wordpress.com/
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which microcontroller should I learn?
« Reply #119 on: February 21, 2016, 02:18:34 am »
You keep insisting ARM microcontrollers are complicated but it highly depends on which you choose. I can name a few 8 bit controllers with very obfustigated peripherals and ARM controllers with very simple peripherals. For example: NXP's ARM controllers use the 16450/16550 UART which has been the standard on PCs for decades so there is a huge amount of sourcecode and knowledge for that particular UART.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Which microcontroller should I learn?
« Reply #120 on: February 21, 2016, 03:33:38 pm »
PowerPC and MIPS add more complexity by sever orders of magnitude  :D

ARM ones are the most friendly and comfortable side of the RISC family
while, in my opinion, the bloody-dead MC88K was the most elegant
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Which microcontroller should I learn?
« Reply #121 on: February 21, 2016, 03:35:19 pm »
take an embedded ARM module by Olimex, be sure it's supported by Keil
and have fun

that's all folks
 

Offline JacquesBBB

  • Frequent Contributor
  • **
  • Posts: 829
  • Country: fr
Re: Which microcontroller should I learn?
« Reply #122 on: February 21, 2016, 05:51:39 pm »
I've had an Arduino for a few years now but never really used it.  So I've decided that I would like to learn how to program microcontrollers for hobby reasons. 
I want to bypass the Arduino environment because programming the bare metal gets me excited.  Plus it'll help me understand how CPUs work.  My issue is I can\t focus on one thing at a time.

I bought a great C programming book a few months ago but I haven't passed chapter 8 yet.  T

Anyone have any tips?  Please and thank you.

It is never easy to work by yourself with books. This needs a capacity of concentration and to be highly motivated.
Studies at school or at the University are more easy.

Now,  you have the possibility to have something in-between, with the MOOC system,  the  free online courses.
But beware, it you zap from one course to another, you will not learn anything.
The only way to go is to  register to one course, and to  follow it  completely and do the assignments.

For what you are looking for, there is a great MOOC that fits exactly your needs.

https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-03x#!

See my post mentioning it

https://www.eevblog.com/forum/beginners/stepping-out-from-arduino-start-on-january-20-with-keil-ide-and-ti-launchpad/msg845895/#msg845895

It is still time for registering,  and  you will learn a lot on the inside of MCU,  with nice real boards experiments
using a professional  IDE with debugging (Keil).
This will open you the gate to any possible MCU or IDE.
« Last Edit: February 21, 2016, 05:59:31 pm by JacquesBBB »
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Which microcontroller should I learn?
« Reply #123 on: February 22, 2016, 02:25:00 am »
 

Offline asgard20032

  • Regular Contributor
  • *
  • Posts: 184
Re: Which microcontroller should I learn?
« Reply #124 on: February 22, 2016, 03:38:25 am »
My advice : Stay away from arduino and API like arduino.

1) They are overpriced. Today, you can get development board for many mcu brand, including some atmega, for around 10$. Getting an arduino at such price is an impossible task, at least, if you want a legit mcu. I don't recommend buying non legit chip, it may just waste your time debugging some "extra non intended feature", not present in the official chip, also know as bug. Those chip are maybe not false mcu, but maybe just either stolen, or one that failed some test and got saved from garbage from some aliexpress seller. Save yourself the effort of debugging non legit chip. Of course, you may get some legit arduino at nice price in some event, like last year arduino day from sparkfun.

2) Lack of debugging : In the official arduino, the only mean of debugging you got is printing over serial. But what happen if the bug has to do with serial? Or the debugging over serial break the realtime of the project? print take lot of processor time. Also, if you intend to really learn embedded system and work your way trough register, how may you debug setting up the frequency and uart with print debugging without being able to print?

3) Using API such as arduino + wanting to get your way at register level = large risk to break some arduino API related stuff. You never know, by setting up pwm or timer or changing frequency which part of the API you may break. For example, by re configuring timer, you may break  the delay function(incorrect delay value). And unfortunately, which feature you may break by changing which peripheral is not the most documented thing. So by wanting to do thing progressively by mixing arduino stuff + your own register level (aka the real way stuff) may be more error prone than going the full register way.

4) Programming on arduino teach some bad programming habbit. Multitasking with delay, no interrupt (except by going to register level and by forcing some handler, see point 3, MAYBE breaking up some API), is not a good thing. What you really need is going sleep + interrupt + state machine. When mcu doing nothing, no delay, but sleep. Some interrupt watch out for some event and guide out the state machine. Another way is to go RTOS, or to mix up RTOS + state machine in each process/thread.

My recommendation, go with a developpment board priced around 10-20$, from a legit source, with either onboard debugger or a porribility to plug your own debugger. (Altought you may plug a jtag to arduino, it require some modification to the board, and debugging the debugger -> mcu interface... no thanks). But yeah, arduino is a good idea. When you design, try to make thing as modular as possible, to make reusable code. Take example on the arduino API, and adapt it to your programming.

Some possible board: Any ST discovery/nucleo board, any launchpad from TI (in TIVA or msp430/msp432, don't touch hercule or c2000, too much advanced/specialized stuff), Freedom board from Freescale, some atmel xplained board (i think its the name), those nice psoc board... Almost every mcu has some affordable board. Just think about which path in the long way you want to follow.

Doing low power stuff? msp430/msp432, stm32l0/stm32l1/stm32l4, some kinetis, ANY silicon labs mcu

Want to get in the big train and get mainstream as much as possible? : arm cortex m0/m3/m4, as your power need rise.

Want to get lot of connectivity? Maybe you like IoT project? arm cortex or pic32 got many connectivity

Your personal project is geared toward DSP or radio frequency? Why not some cortex m3/m4 or pic23/dspic

You are more an hardware guy and thinking with the practical side of the project and don't want to focus too much on the programming aspect? Why not cut off your development time and go with some 8 bit mcu? AVR is the easiest one, very clear datasheet. Except if you need CAN or some other functionality, don't go with pic18. Pic18 is overpriced performance wise. AVR also, but at least you get a nice architecture. But if your programming need is simple enough and just want some more advanced peripheral, why not go with pic16? Not as overpriced as pic18, and include the most recent peripheral from microchip, including hardware PID controller... YEP, a full PID where you just set up 2-4 register, and no software overhead.

Just try to figure out the main area of focus of you future personal project, and we may help you selecting the perfect mcu for your need.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf