# Need Guidance (not-spoon-feeding) on self-Learning Embedded System to get a Job

#### mack38

Joined Nov 29, 2019
21
My current Situation : -
• Already worked as a contractor from more than 10 years in the area of ERP integration development and architecture (Oracle SOA), still not getting stable job as, project on this technology are executed by service-based company (and everybody knows their ethics and moral)
• So, want to migrate into embedded development their by getting chance to get job in product companies. (not service companies)
• Already learn basic electronics, difference between microprocessor and microcontroller, I am already expert in C, C++, knows little bit Assembly (but not full), all type of protocol – UART, i2C, SPI, CAN.
• Now, I don’t know what should be my next step ? (do I simply use keil MDK-ARM to write some code accomplishing certain functionality but then the question is on which processor or microcontroller. And I can’t buy any board so is there any simulator of entire processor/microcontroller/board based on which I can write a code in C or C++ and that I can show in an interview to get a job.
• Also I need to show at least 1 year experience in embedded development on top of my 10 years non-embedded development so to justify that I need any industry-specific knowledge which means those product and technology (microprocessor/microcontroller) which are actually used by companies so that on interview I can justify them that I have the knowledge what they are looking as getting a job on being a fresher is impossible in India where currently I am staying so I have to show some experience.
• Maybe 1 or 2 industry-specific real-world projects will help me in this aspect, but I don’t know where I can get these projects. As only blinking an LED on board or controlling a motor speed won’t get me a job.

Please help me by guiding what next I should learn, any specific microcontroller, microprocessor, any specific area which is more in demand e.g. Automobile, home appliance, printer, laptop, TV, washing machine, Smartphone etc...

#### pmd34

Joined Feb 22, 2014
503
Hi Mack,
To prevent a huge amount of time, struggling with programming interfaces, compilers and modules, I would really recommend the Atmel AVR-8 microcontrollers "Atmega..." with AVR studio (software)- which is free!).
You can also get very cheap programmers and demo boards from china eg aliexpress. So although you say you can't buy any boards, if you want to be of interest to an employer, you really need practical knowledge, as hands on experience is everything!
These are the same ICs used with the Ariduino boards, but I would personally recomend the AVR studio software rather than the Arduino interface as it is more "professional" and what you might find in an industrial work place.

Then finding something to do other than flashing lights is the challenge. To really get your self immersed and motivated in it, it needs to be a project that you would really like the actual end product, as learning for the sake of learning is hard to do! So try and think of something fun you could have around the house or garden, a solar plant watering system, and radio controlled door opener, a window blind opener etc.. Then start to reseach what modules the project needs.. and off you go!

#### Papabravo

Joined Feb 24, 2006
12,901
The ethics and morals of industry are bound to disappoint you regardless of where you end up; and the guidance would be that you need to start with a reasonable set of expectations. You will not be able to accomplish your goal overnight. It will take you 3-5 years of effort consuming 80-90% of your spare time. The most challenging aspect is debugging a system that does not work. You have to develop the skill of drawing inferences from scant evidence about things that can and will go wrong. You need to develop the scaffolding, both hardware and software, to investigate what is going on in systems with limited display capabilities. This is not really an activity for for dabblers. That said the longest journey begins with the first step.

#### mack38

Joined Nov 29, 2019
21
Hi Mack,
To prevent a huge amount of time, struggling with programming interfaces, compilers and modules, I would really recommend the Atmel AVR-8 microcontrollers "Atmega..." with AVR studio (software)- which is free!).
You can also get very cheap programmers and demo boards from china eg aliexpress. So although you say you can't buy any boards, if you want to be of interest to an employer, you really need practical knowledge, as hands on experience is everything!
These are the same ICs used with the Ariduino boards, but I would personally recomend the AVR studio software rather than the Arduino interface as it is more "professional" and what you might find in an industrial work place.

Then finding something to do other than flashing lights is the challenge. To really get your self immersed and motivated in it, it needs to be a project that you would really like the actual end product, as learning for the sake of learning is hard to do! So try and think of something fun you could have around the house or garden, a solar plant watering system, and radio controlled door opener, a window blind opener etc.. Then start to reseach what modules the project needs.. and off you go!
I can see that "MPLAB X IDE " is also free and has more feature than "Atmel Studio " on this link https://www.microchip.com/development-tools/
so what would be my first step -->
1) install the correct compiler, but which one ?
3) install the correct Debuggers, but which one ?
4) install the supporting file and packages, but which one ?
4) Create and start programming using IDE but on which processor/or microcontroller-based
Is there any simulator of a microcontroller with IDE or a separate installer for that?

#### sagor

Joined Mar 10, 2019
157
Mack, as a constructive suggestion, if you are planning to work with "English speaking" companies or customers, you could use a refresher course in English writing. If applying for a job elsewhere, like one where you work in your native language, then this should not be an issue.
It is evident by your question that English is not your first language. In general, your English is rather good, but you have several grammatical errors. So, a lot depends on where or who you plan to get a job with. If applying to a firm that deals a lot with English speaking customers, your written resume may or may not pass first review by the potential employer, regardless of how good your programming skills are.
Good luck with the job search....

#### pmd34

Joined Feb 22, 2014
503
Hi Mack,

Well to answer your many "which one" questions... just AVR studio.. it has compiler, assembler and IDE all built in so you dont have to worry about linking files and using many different software packages which can be a nighmare. Thats why i recommend!

#### mack38

Joined Nov 29, 2019
21
Hi Mack,

Well to answer your many "which one" questions... just AVR studio.. it has compiler, assembler and IDE all built in so you dont have to worry about linking files and using many different software packages which can be a nighmare. Thats why i recommend!
Just want to confirm that AVR Studio and Atmel Studio are the same as I am not able to find any download link of AVR Studio but I am able to find Atmel Studio at here http://studio.download.atmel.com/7.0.1931/as-installer-7.0.1931-full.exe

I can also see that "MPLAB X IDE " is free and has more feature than "Atmel Studio " on this link https://www.microchip.com/development-tools/

so should I use MPLAB X IDE or Atmel Studio (if it is AVR Studio) ?

#### mack38

Joined Nov 29, 2019
21
Hi Mack,

Well to answer your many "which one" questions... just AVR studio.. it has compiler, assembler and IDE all built in so you dont have to worry about linking files and using many different software packages which can be a nighmare. Thats why i recommend!

I saw a few videos using Keil for LPC... NXP using Assembly language and register by register value manipulation. I hate to write Assembly language also don't understand the complete language but 60% .

I love to write C, C++, Java so I was thinking if there is any editor where I simply write C, or C++ or Java and see the result on simulated hardware on my laptop monitor (showing complete board, sensors, complete system responding on the execution of my code).
Where I can choose in the IDE :- microcontroller, sensors, and the entire board based on my need and then simply write code and then when executing that code I can see how the system is behaving in a simulated GUI/animated form on my monitor. And later I can show that code in the interview or upload at git-hub to form a strong profile.

#### Papabravo

Joined Feb 24, 2006
12,901
I saw a few videos using Keil for LPC... NXP using Assembly language and register by register value manipulation. I hate to write Assembly language also don't understand the complete language but 60% .

I love to write C, C++, Java so I was thinking if there is any editor where I simply write C, or C++ or Java and see the result on simulated hardware on my laptop monitor (showing complete board, sensors, complete system responding on the execution of my code).
Where I can choose in the IDE :- microcontroller, sensors, and the entire board based on my need and then simply write code and then when executing that code I can see how the system is behaving in a simulated GUI/animated form on my monitor. And later I can show that code in the interview or upload at git-hub to form a strong profile.
Hating to write Assembly Language will condemn you to the lower paid ranks of embedded systems engineers. The ones who are worth their salt can design the hardware, layout the boards, write boot loaders, and use an IDE to write C or any other language de jour. After reading your posts I don't feel that you have what it takes to succeed on this quest unless you readjust your expectations.

Joined Mar 10, 2018
3,891
Core across the industry these days is ARM, largely. Cores used M0, M0+, M3, M4.

You could approach this by studying example projects. There are 100's for PSOC.
Many in tool, many on Github.

https://github.com/cypresssemiconductorco/PSoC-4-BLE PSOC 4 BLE Projects

Advanced capability has a rich set of analog, and logic fabric where you can use
basic logic to create specific HW capabilities in addition to all the peripherals and
of course the core. All GUI drag and drop. Catalog of components attached. A
component is an onchip resource in the case of PSOC. Right click each component
to config, and get API typing for manipulating component.

Example DSP project using just a fraction of the onchip resources (shown in right hand window) -

From simple components up to and including DSP component. Wizards to do state
machines, DMA, and general component configuration.

IDE and Compiler free - https://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

Board to start with $10 - https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and Many short videos for training, robust forum for support. https://www.cypress.com/video-library/PSoC-Software/psoc-creator-101-lesson-1-introduction-0/108116 Low end PSOC 4 and PSOC BLE, Mid Range PSOC 5LP, High end PSOC 6 dual core. Regards, Dana. #### Attachments • 178.5 KB Views: 5 • 67.6 KB Views: 4 Last edited: #### pmd34 Joined Feb 22, 2014 503 Just want to confirm that AVR Studio and Atmel Studio are the same as I am not able to find any download link of AVR Studio but I am able to find Atmel Studio at here http://studio.download.atmel.com/7.0.1931/as-installer-7.0.1931-full.exe I can also see that "MPLAB X IDE " is free and has more feature than "Atmel Studio " on this link https://www.microchip.com/development-tools/ so should I use MPLAB X IDE or Atmel Studio (if it is AVR Studio) ? Hi, sorry I was not sure if Microchip had dropped the use of Atmel yet.. but yes, its Atmel Studio (and the programming is primarily writen in C but you can also use assemble code if you like.) Thread Starter #### mack38 Joined Nov 29, 2019 21 Core across the industry these days is ARM, largely. Cores used M0, M0+, M3, M4. You could approach this by studying example projects. There are 100's for PSOC. Many in tool, many on Github. https://www.element14.com/community/thread/23736/l/100-projects-in-100-days?displayFullThread=true PSOC 4 projects https://github.com/cypresssemiconductorco/PSoC-4-BLE PSOC 4 BLE Projects Advanced capability has a rich set of analog, and logic fabric where you can use basic logic to create specific HW capabilities in addition to all the peripherals and of course the core. All GUI drag and drop. Catalog of components attached. A component is an onchip resource in the case of PSOC. Right click each component to config, and get API typing for manipulating component. Example DSP project using just a fraction of the onchip resources (shown in right hand window) - View attachment 193571 From simple components up to and including DSP component. Wizards to do state machines, DMA, and general component configuration. IDE and Compiler free - https://www.cypress.com/products/psoc-creator-integrated-design-environment-ide Board to start with$ 10 - https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and

Many short videos for training, robust forum for support. https://www.cypress.com/video-library/PSoC-Software/psoc-creator-101-lesson-1-introduction-0/108116

Low end PSOC 4 and PSOC BLE, Mid Range PSOC 5LP, High end PSOC 6 dual core.

Regards, Dana.

As you mentioned "PSoC Creator" IDE which is free, so My question is if I am using this IDE then for this do I need to buy Bords from "cypress.com" company only or I can use this editor with other vendor-specific MCU/board.
Another question is does this "PSoC Creator" is better than "Atmel Studio" ? and which editor are used by actual companies as my target is to learn and justify that I really worked in so and so company at the time of interview and in case if 'PSoC Creator' will give a negative impression (as might be no big company used this) then it will be difficult for me to crack the interview.

#### mack38

Joined Nov 29, 2019
21
Core across the industry these days is ARM, largely. Cores used M0, M0+, M3, M4.

You could approach this by studying example projects. There are 100's for PSOC.
Many in tool, many on Github.

https://github.com/cypresssemiconductorco/PSoC-4-BLE PSOC 4 BLE Projects

Advanced capability has a rich set of analog, and logic fabric where you can use
basic logic to create specific HW capabilities in addition to all the peripherals and
of course the core. All GUI drag and drop. Catalog of components attached. A
component is an onchip resource in the case of PSOC. Right click each component
to config, and get API typing for manipulating component.

Example DSP project using just a fraction of the onchip resources (shown in right hand window) -

View attachment 193571

From simple components up to and including DSP component. Wizards to do state
machines, DMA, and general component configuration.

IDE and Compiler free - https://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

Many short videos for training, robust forum for support. https://www.cypress.com/video-library/PSoC-Software/psoc-creator-101-lesson-1-introduction-0/108116

Low end PSOC 4 and PSOC BLE, Mid Range PSOC 5LP, High end PSOC 6 dual core.

Regards, Dana.
Hi, sorry I was not sure if Microchip had dropped the use of Atmel yet.. but yes, its Atmel Studio (and the programming is primarily writen in C but you can also use assemble code if you like.)
Atmel Studio has a limit that supports only Atmel MCU (or also which Atmel obtaining 'IPs' of ARM microcontrollers only which means I have to purchase Atmel based board only, I don't know if most of the real companies are buying AVR or Atmel having ARM on it) but Keil u Vision support multiple platforms like AVR, ARM, CORTEX-M, C166, C251, C51 and 8051 based MCU architectures manufactured by various companies.
Atmel Studio is free but Keil uVision is not free (Free only for evaluation purpose with limited space).
so what I was thinking is it possible if we can associate Keil with Atmel Studio in order to overcome both product limitations (space and limited to Atmel MCU only) ?

Joined Mar 10, 2018
3,891
As you mentioned "PSoC Creator" IDE which is free, so My question is if I am using this IDE then for this do I need to buy Bords from "cypress.com" company only or I can use this editor with other vendor-specific MCU/board.
Another question is does this "PSoC Creator" is better than "Atmel Studio" ? and which editor are used by actual companies as my target is to learn and justify that I really worked in so and so company at the time of interview and in case if 'PSoC Creator' will give a negative impression (as might be no big company used this) then it will be difficult for me to crack the interview.
Boards from some other vendors, although limited, and centric with PSOC cores on them.

Cypress small company, look at annual report for WW units shipped. As far as better, yes and same, yes because
PSOC is not just an ARM core, it has tons of analog as well like 20 bit A/D, onchip Vref, muxes, OpAmps, Comparators,
DAC, mixer, and advanced functions like DSP, LUT, Digital Filter, State Machine, user design of custom onchip
components. Same in that it handles standard IDE stuff like compile, debug, project management.

Regards, Dana.

#### mack38

Joined Nov 29, 2019
21
Boards from some other vendors, although limited, and centric with PSOC cores on them.

Cypress small company, look at annual report for WW units shipped. As far as better, yes and same, yes because
PSOC is not just an ARM core, it has tons of analog as well like 20 bit A/D, onchip Vref, muxes, OpAmps, Comparators,
DAC, mixer, and advanced functions like DSP, LUT, Digital Filter, State Machine, user design of custom onchip
components. Same in that it handles standard IDE stuff like compile, debug, project management.

Regards, Dana.
Thanks Dana, Now I understand the entire story of PSOC.

Now I got the road map about what and how I should proceed further for self-learning 'Embedded System'.
Thanks to all, this Forum is really helpful for me.

#### mack38

Joined Nov 29, 2019
21
Hi, sorry I was not sure if Microchip had dropped the use of Atmel yet.. but yes, its Atmel Studio (and the programming is primarily writen in C but you can also use assemble code if you like.)
Thanks pmd34,
Now I got the road map about what and how I should proceed further for self-learning 'Embedded System'.

#### BobTPH

Joined Jun 5, 2013
2,255
Asking us is not going to tell you what companies you want to work for are looking for.

Look at job postings n your area or wherever you might want to work. Find out what skills the are looking for.

Bob

#### SamR

Joined Mar 19, 2019
1,803
Unfortunately, going about selling your skill set no longer works. Now unless the job (and its requirements) is posted for applications it does not exist. The days of hiring a "good man" are long gone. Going about passing out your Resume' will get you a polite smile from the secretary who when you pass out the door will promptly drop it in the trash.

#### Papabravo

Joined Feb 24, 2006
12,901
Networking is the single best technique to finding a job. Without a viable network you might as well stand on a soapbox with a megaphone for all the interest you will attract.