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

0 Members and 1 Guest are viewing this topic.

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Which microcontroller should I learn?
« on: February 08, 2016, 12:04:19 am »
So, I would like your opinion on which microcontroller should I learn.

I'm about to finish college (mechatronics engineering) and I've only worked with arduino. I would like to go from a hobbyist to a professional, my goal is to work on product development.

Among other things, I would like to know which microcontroller is most in demand now and for the foreseeable future.

Should I focus on that one? It is better to focus on only one?

Any information will be welcome, as you can probably see, I'm a bit green on the subject.

I was thinking about learning ARM, but there are so many types, and versions, and manufactures, I got very lost.

This is very subjective, I know, but that's what I want, the opinion of people with more experience than me.

Thank you very much!
« Last Edit: February 08, 2016, 02:17:36 am by cdonate »
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 18271
  • Country: nl
    • NCT Developments
Re: Witch microcontroller should I learn?
« Reply #1 on: February 08, 2016, 12:05:58 am »
Did you use the search function of the forum? This has been asked many times!
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #2 on: February 08, 2016, 12:15:15 am »
I did try, but what I got the most is how to learn microcontrollers, where to find info.

This is not what I would like to know, I would like to know which IC is most in demand now, what companies are looking for now. I would like to focus my effort on the one that will give me the best chance of finding a job.

If there a post that I missed with that info, please post the link here.
« Last Edit: February 08, 2016, 02:19:17 am by cdonate »
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Witch microcontroller should I learn?
« Reply #3 on: February 08, 2016, 01:08:29 am »
"I was thinking about learning ARM"

Your intuition is spit on. That part of the mkt is red hot. Spend time on keil or iar and you are in business.
================================
https://dannyelectronics.wordpress.com/
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Witch microcontroller should I learn?
« Reply #4 on: February 08, 2016, 01:25:32 am »
learn good programming instead
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #5 on: February 08, 2016, 01:26:51 am »
learn good programming instead

Well, that's no help...
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #6 on: February 08, 2016, 01:28:22 am »
"I was thinking about learning ARM"

Your intuition is spit on. That part of the mkt is red hot. Spend time on keil or iar and you are in business.

Thank for the reply. Tell me, should I focus on a specific one? v6, v7? Is there a big difference in programming different versions?
 

Offline 1xrtt

  • Regular Contributor
  • *
  • Posts: 63
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #7 on: February 08, 2016, 01:33:26 am »
If you're interested in ARM, there is an online course from University of Texas that started this January 20:

https://www.eevblog.com/forum/beginners/free-course-ut-6-03x-embedded-systems-on-edx-starting-now/msg846982/#msg846982

Although it already started, I guess you can still enroll. The course is based around the TI implementation of ARM (TM4C123), and you can get the evaluation board directly from TI: https://store.ti.com/Tiva-C-LaunchPad.aspx. I got mine delivered in 4 days, to Sao Paulo.
 

Offline 0xdeadbeef

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: de
Re: Witch microcontroller should I learn?
« Reply #8 on: February 08, 2016, 01:34:11 am »
Weren't all the witch microcontrollers burned?  ;D
Trying is the first step towards failure - Homer J. Simpson
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #9 on: February 08, 2016, 01:36:28 am »
If you're interested in ARM, there is an online course from University of Texas that started this January 20:

https://www.eevblog.com/forum/beginners/free-course-ut-6-03x-embedded-systems-on-edx-starting-now/msg846982/#msg846982

Although it already started, I guess you can still enroll. The course is based around the TI implementation of ARM (TM4C123), and you can get the evaluation board directly from TI: https://store.ti.com/Tiva-C-LaunchPad.aspx. I got mine delivered in 4 days, to Sao Paulo.

That's awesome! Thanks companheiro.
 

Offline TheCharels

  • Contributor
  • Posts: 12
  • Country: us
Re: Witch microcontroller should I learn?
« Reply #10 on: February 08, 2016, 01:42:04 am »
Weren't all the witch microcontrollers burned?  ;D
They tried but the engineers involved needed to sacrifice the virgins, none of the engineers survived.
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Witch microcontroller should I learn?
« Reply #11 on: February 08, 2016, 02:03:21 am »
Well, that's no help...

It helps a lot, as your question is completely pointless until you get a purpose (=job)
and if you come from Arduino then I am 100% sure you do not know good programming
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Witch microcontroller should I learn?
« Reply #12 on: February 08, 2016, 02:04:33 am »
Weren't all the witch microcontrollers burned?  ;D

 :-DD :-DD :-DD
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 616
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Witch microcontroller should I learn?
« Reply #13 on: February 08, 2016, 02:15:32 am »
I would like to know witch IC is most in demand now
You don't want to know that. The biggest demand for MCUs is in smart cards and automobiles, but few jobs are available in those industries. More likely you will be asked to maintain some legacy gear made by a company with a small market.

Why 8-Bit Microcontrollers Refuse to Go Away
Quote
In an industry where five years represent an eternity, why is an ancient technology so appealing to engineers building state-of-the-art products?

The answer is that 8-bit’s success has little to do with it being, well, 8 bits. For many engineers, it’s about familiarity. That’s why white goods makers employ 8-bit MCUs in refrigerators, freezers, washing machines, dryers, and dishwashers. It’s why automakers use it in window lifts, door locks, mirrors, seat motors, and interior lighting. It’s why tens of millions of smart cards incorporate them, and why countless low-end motors are controlled by them.

“It’s about legacy,” Jim McGregor, founder and principal analyst for Tirias Research, told Design News. “The engineers have been using it so long that they just don’t want to switch their software base.”
With so many different MCUs to choose from it's unlikely that your employer will be using the one you trained on. So the answer is to not lock yourself into one platform, but try out several different chips and IDEs. Then you will have the skills to take on anything they throw at you.

Some people will say you should learn ARM or whatever, but with modern coding practices the core is irrelevant. The biggest hurdles are learning how the peripherals in a specific MCU work (which may vary greatly even within the same family) and how to use the vendor's IDE, frameworks, debugging tools etc. 

Quote
I've only worked with arduino
Arduino is not an MCU. It is a development environment that spans a wide variety of processors and is specifically designed to hide the underlying hardware. That is what makes it so easy to use. If you want a real challenge then take a bare MCU (any MCU) and try to program it from scratch with your own code. Then do it again with a different compiler.
 
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #14 on: February 08, 2016, 02:18:45 am »
Weren't all the witch microcontrollers burned?  ;D

Well, that was embarassing...  ;D
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Witch microcontroller should I learn?
« Reply #15 on: February 08, 2016, 02:30:31 am »
I would like to know witch IC is most in demand now
You don't want to know that. The biggest demand for MCUs is in smart cards and automobiles, but few jobs are available in those industries. More likely you will be asked to maintain some legacy gear made by a company with a small market.

Why 8-Bit Microcontrollers Refuse to Go Away
Quote
In an industry where five years represent an eternity, why is an ancient technology so appealing to engineers building state-of-the-art products?

The answer is that 8-bit’s success has little to do with it being, well, 8 bits. For many engineers, it’s about familiarity. That’s why white goods makers employ 8-bit MCUs in refrigerators, freezers, washing machines, dryers, and dishwashers. It’s why automakers use it in window lifts, door locks, mirrors, seat motors, and interior lighting. It’s why tens of millions of smart cards incorporate them, and why countless low-end motors are controlled by them.

“It’s about legacy,” Jim McGregor, founder and principal analyst for Tirias Research, told Design News. “The engineers have been using it so long that they just don’t want to switch their software base.”
With so many different MCUs to choose from it's unlikely that your employer will be using the one you trained on. So the answer is to not lock yourself into one platform, but try out several different chips and IDEs. Then you will have the skills to take on anything they throw at you.

Some people will say you should learn ARM or whatever, but with modern coding practices the core is irrelevant. The biggest hurdles are learning how the peripherals in a specific MCU work (which may vary greatly even within the same family) and how to use the vendor's IDE, frameworks, debugging tools etc. 

Quote
I've only worked with arduino
Arduino is not an MCU. It is a development environment that spans a wide variety of processors and is specifically designed to hide the underlying hardware. That is what makes it so easy to use. If you want a real challenge then take a bare MCU (any MCU) and try to program it from scratch with your own code. Then do it again with a different compiler.


You make very good points. But, after reading, I'm still unsure where to start.

I get what you are saying, but
Quote
try out several different chips and IDEs
kinda leaves me the same way.

Where do YOU think I should start?
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12611
  • Country: cn
  • Power Electronics Guy
Re: Which microcontroller should I learn?
« Reply #16 on: February 08, 2016, 02:37:39 am »
If you know how to program and how low level thing work, as taught in university second and third years, you should not have problems changing from a chip to another.
Therefore, learn whatever chip you want, and you will be fine. Good programmer can write good code even with Arduino, bad programmer writes shit on every platform.
If one really knows what he is doing, switching from a chip to another should not be painful at all.
So far I've used 8051, AVR, Blackfin+, Cortex M0, M3, M4, MSP430 and embedded x86 (sorry PIC fanboys, no PIC).
They are virtually all the same from a user's perspective, just different performance and peripherals, as long as you are not writing a compiler.
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Which microcontroller should I learn?
« Reply #17 on: February 08, 2016, 02:37:45 am »
Are you 100% sure?

sure, in my experiences (guys on my pre-job interviews) Arduino has always demonstrated to be far from the definition of "good programming", and guys like you are more worried to follow the last dish of the day (which arm CPU ? which compiler ? which vendor ?  :palm: :palm: :palm: :palm: ) instead of caring about important things, and as result their code is usually a fsck crap

no help from you

I don't like the way you have introduced to us, so, don't worry, it's just my 50 cents, and no more help will follow
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Which microcontroller should I learn?
« Reply #18 on: February 08, 2016, 02:40:33 am »
Are you 100% sure?

sure, in my experiences (guys on my pre-job interviews) Arduino has always demonstrated to be far from the definition of "good programming", and guys like you are more worried to follow the last dish of the day (which arm CPU ? which compiler ? which vendor ?  :palm: :palm: :palm: :palm: ) instead of caring about important things, and as result their code is usually a fsck crap

no help from you

I don't like the way you have introduced to us, so, don't worry, it's just my 50 cents, and no more help will follow

If you thought that I was asking the wrong question, just tell me. I made very clear that I was a beginner, that's why I'm here. But ok, have a nice one.
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Which microcontroller should I learn?
« Reply #19 on: February 08, 2016, 02:44:27 am »
If you know how to program and how low level thing work, as taught in university second and third years, you should not have problems changing from a chip to another.
Therefore, learn whatever chip you want, and you will be fine. Good programmer can write good code even with Arduino, bad programmer writes shit on every platform.
If one really knows what he is doing, switching from a chip to another should not be painful at all.
So far I've used 8051, AVR, Blackfin+, Cortex M0, M3, M4, MSP430 and embedded x86 (sorry PIC fanboys, no PIC).
They are virtually all the same from a user's perspective, just different performance and peripherals, as long as you are not writing a compiler.

Well, thanks for the info, that's good to know. I'm quite parcial to AVR (probably because I always saw the IC on my Arduino boards). This looks to be the right approach.
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Which microcontroller should I learn?
« Reply #20 on: February 08, 2016, 02:46:25 am »
Good programmer can write good code even with Arduino

even if arduino is good for rapid prototyping, there are at least three negative aspects
1) arduino's examples, libraries, etc, are (just to use an euphemism) usually not so good
2) arduino call the programming "sketch" instead of "code"
3) arduino doesn't have the concept of "module"
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12611
  • Country: cn
  • Power Electronics Guy
Re: Which microcontroller should I learn?
« Reply #21 on: February 08, 2016, 02:51:18 am »
Good programmer can write good code even with Arduino

at least, three negative aspects
1) even if arduino is good for rapid prototyping, examples, libraries, etc, is (just to use an euphemism) usually not so good
2) arduino call the programming "sketch" instead of "code"
3) arduino doesn't have the concept of "module"

1. If it works, it is good. That's my rule of FAST prototyping. I do not use Arduino in products.
2. I call everything that feeds in a compiler or spits out of a compiler "code".
3. You can always write 100 functions in a single .c file, like sqlite3 (I know it is concatenated with a script, you can do so in Arduino as well).
 

Offline cdonate

  • Contributor
  • Posts: 18
  • Country: br
Re: Which microcontroller should I learn?
« Reply #22 on: February 08, 2016, 02:53:21 am »
Good programmer can write good code even with Arduino

at least, three negative aspects
1) even if arduino is good for rapid prototyping, examples, libraries, etc, is (just to use an euphemism) usually not so good
2) arduino call the programming "sketch" instead of "code"
3) arduino doesn't have the concept of "module"

Well, since I can use .c, .cpp and .h in Arduino sketches I can do anything that is made available by the compiler. I don't use the Arduino IDE (a joke, in my opinion).

Don't dismiss a programmer just because he only ever worked with Arduino. Take a look at http://www.visualmicro.com/. Using Arduino to blink a LED is very different than creating a wireless array of sensors.
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Which microcontroller should I learn?
« Reply #23 on: February 08, 2016, 03:01:50 am »
1. If it works, it is good. That's my rule of FAST prototyping. I do not use Arduino in products.

yes, and forget to be employed in avionics, for example
 

Offline legacy

  • Super Contributor
  • ***
  • Banned!
  • Posts: 4426
  • Country: ch
Re: Which microcontroller should I learn?
« Reply #24 on: February 08, 2016, 03:04:32 am »
3. You can always write 100 functions in a single .c file, like sqlite3 (I know it is concatenated with a script, you can do so in Arduino as well).

oh, duck :palm: :palm: :palm:
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf