How to Get Started Learning Embedded Systems

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 มิ.ย. 2024
  • Patreon ➤ / jacobsorber
    Courses ➤ jacobsorber.thinkific.com
    Website ➤ www.jacobsorber.com
    ---
    How to Get Started Learning Embedded Systems // I've been meaning to start making more embedded systems videos - that is, computer science videos oriented to things you don't normally think of as computers (toys, robots, machines, cars, appliances). I hope this video helps you take the first step.
    Related links:
    Arduino - www.arduino.cc/
    Energia - energia.nu/
    Raspberry Pi - www.raspberrypi.org/
    MSP430 Info (The low power processors I use in a lot of my research)
    www.ti.com/product/MSP430FR5994
    Prior Embedded Systems Video - • Why all CS/CE students...
    ***
    Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
    About me: I'm a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
    More about me and what I do:
    www.jacobsorber.com
    people.cs.clemson.edu/~jsorber/
    persist.cs.clemson.edu/
    To Support the Channel:
    + like, subscribe, spread the word
    + contribute via Patreon --- [ / jacobsorber ]
    + rep the channel with nerdy merch --- [teespring.com/stores/jacob-so...]
    Source code is also available to Patreon supporters. --- [jsorber-youtube-source.heroku...]
    Want me to review your code?
    Email the code to js.reviews.code@gmail.com. Code should be simple and in one of the following languages: C, C++, python, java, ruby. You must be the author of the code and have rights to post it. Please include the following statement in your email: "I attest that this is my code, and I hereby give Jacob Sorber the right to use, review, post, comment on, and modify this code on his videos."
    You can also find more info about code reviews here.
    • I want to review your ...

ความคิดเห็น • 320

  • @JacobSorber
    @JacobSorber  4 ปีที่แล้ว +88

    Sorry for the lag in videos. Life's been crazy busy. Hopefully, I'll be able to post more regularly in the coming weeks. And, if any of you are worrying about how dark this one was...I know. My filming setup here in Botswana is quite limited, and I was racing the setting sun after work.

    • @indiradendukuri2821
      @indiradendukuri2821 4 ปีที่แล้ว +2

      Can you do more videos on embedded systems sub topics like rtos etc

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +3

      @@indiradendukuri2821Probably. It's all a matter of time for me. I make youtube videos on the side when I have a little extra time. There's never as much time as I would like for this. So, yes, an RTOS video is probably in my future, but it might be a few months. My first embedded systems videos will, I'm sure, focus more on the basics.

    • @johny6702
      @johny6702 4 ปีที่แล้ว

      Can u pls continoue

    • @vertism.wilder4213
      @vertism.wilder4213 4 ปีที่แล้ว

      Hi Jacob. Thank you for the information. I am thinking about earning my associate's degree in Robotics & Embbeded Systems. I am interested in Robotics due to cosplay Ironman suits. I would like to reinvent the wheel buy developing a suit a for the medical field.

    • @vertism.wilder4213
      @vertism.wilder4213 4 ปีที่แล้ว

      Currently in the Carolinas

  • @nontraditionaltech2073
    @nontraditionaltech2073 4 ปีที่แล้ว +37

    Thanks for the awesome content, I hope you decide to keep the Embedded stuff coming!
    I’m a CS grad w about 9 months in Industry. This stuff is hard to learn on your own but it has been a blast! Quality content is gold when going about this solo!!

  • @amigodiba9560
    @amigodiba9560 4 ปีที่แล้ว +10

    Great video, thank you, Mr. Jacob, for starting a new session of Embedded Systems that will help a lot of us to learn, understand and deal with Embedded Systems filed.

  • @rafalzasada8826
    @rafalzasada8826 4 ปีที่แล้ว +56

    Great! As a electronic engineer this is the main thing I am interested when it comes to programming (apart from Labview programming).

  • @supwut7292
    @supwut7292 ปีที่แล้ว +1

    Your content always amazes me as a cs student. It’s always rich and straight to the point, I almost can’t imagine it’s free. Idk if anyone pointed that out but I really appreciate it.

  • @nilutpolkashyap
    @nilutpolkashyap 4 ปีที่แล้ว +5

    Thanks a lot for this video, Sir. It helped to solve lots of my doubts. I love embedded systems programming and I am from Computer science engineering. I will get a raspberry pi this week.

  • @vaibhavshinde5520
    @vaibhavshinde5520 4 ปีที่แล้ว +339

    Matthew macaughney teaching embedded systems .

  • @totaljustice1582
    @totaljustice1582 4 ปีที่แล้ว +11

    Starting my second semester at uni soon I which we have a module on embedded systems. Perfect timing on the video haha

    • @sanskartewatia4320
      @sanskartewatia4320 3 ปีที่แล้ว +4

      damn that great man! In my electronics and communication degree we have embedded systems course in the sixth semester. Basically those of us who are interested have to do projects/online courses because obviously 3 years into ECE degree is already too late to get into embedded systems.

  • @ericaclark9273
    @ericaclark9273 3 ปีที่แล้ว

    Dude, best video I have seen on this. Keep up the amazing work.

  • @jeremiahhandcock1795
    @jeremiahhandcock1795 ปีที่แล้ว +1

    how interesting is this? I subscribed to your channel because of learning C in university at the beginning of 2022. Now, I find my direction and want to be an embedded system engineer see your video again, in embedded system

  • @srijanarya3794
    @srijanarya3794 3 ปีที่แล้ว

    I didn't even know what an embedded system is until i watched this video. Can't say i understand it fully but at least i got some info about this topic thanks to this guy!

  • @zachmanifold
    @zachmanifold 2 ปีที่แล้ว +30

    I just got into embedded systems about a month ago. I already have prior experience with C so I decided to skip the Arduino route and start writing code for the STM32 family. I've tried a couple other microcontrollers but I'm loving STM32 so far. It's been a little difficult at first since I had no guide, I was kind of messing around for a couple weeks trying to understand everything but now I'm at a point where I can write some useful software I can use in real life.

    • @LRflex
      @LRflex หลายเดือนก่อน

      What were you using to learn the STM32?

    • @zachmanifold
      @zachmanifold หลายเดือนก่อน

      @@LRflex Do you mean project-wise or how I learned to write code for them? Project-wise I just made stuff I thought was fun, like a simple controller for a game which was really just a 5-button keyboard or a simple physical calculator.
      For code, I just spent a lot of time reading the data sheets and at first used STM32Cube but later just used template makefiles and wrote a lot of code “manually” where I only defined the addresses I was going to use and created simple functions that activated GPIO or timers depending on the project

  • @reflectedcrosssite2848
    @reflectedcrosssite2848 3 ปีที่แล้ว +1

    0:45 we did have microcontroller class in my highschool! Granted it was pretty basic arduino class and it was technical highschool but still was my favorite

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว +1

      You fortunate soul. I'm glad you had that experience. Microcontrollers are great.

  • @mavhunter8753
    @mavhunter8753 4 ปีที่แล้ว +108

    C's importance is underplayed here! Even if the JVM was available, C would still be a better choice. The capability to have full, and direct control over the hardware, in addition to having little to no natural overhead.

    • @zoeherriot
      @zoeherriot 3 ปีที่แล้ว +2

      It really depends on what you need to do.

    • @maxbd2618
      @maxbd2618 2 ปีที่แล้ว +1

      @@zoeherriot Is there a specific example of where it would be more efficient to run code on a virtual machine rather than just directly feed machine code to the processor when working on embedded systems?

    • @zoeherriot
      @zoeherriot 2 ปีที่แล้ว +6

      @@maxbd2618 yes. When speed of development is more important than any performance limitation.

    • @SkyenNovaA
      @SkyenNovaA 2 ปีที่แล้ว +4

      The ability to make those micro-optimizations is an invaluable advantage of C

    • @ishworshrestha3559
      @ishworshrestha3559 2 ปีที่แล้ว +2

      Ok

  • @viktorsocial
    @viktorsocial 2 ปีที่แล้ว +2

    You really sparked my passion and interest towards embedded systems! I already had the seed, but you just poured the water and the sun over it!

    • @JacobSorber
      @JacobSorber  2 ปีที่แล้ว +1

      Glad I could help. Best of luck with whatever you decide to build.

  • @deanprinceagbodjan6272
    @deanprinceagbodjan6272 4 ปีที่แล้ว +1

    Thanks Jacob for video, very helpful

  • @victorcubas7248
    @victorcubas7248 3 ปีที่แล้ว

    My favorite mcus are the nxp/freescale ones. I learned with those and are great

  • @returnnull3476
    @returnnull3476 2 ปีที่แล้ว

    Finally someone else understands my annoyance with IDE's.

  • @BillyBobJoeSnr
    @BillyBobJoeSnr 4 ปีที่แล้ว +3

    There are some RTOS (real time operating systems) out there.
    A few extremely popular ones are:
    ZephyrOS, FreeRTOS (Inc Amazon version) RIOT as well as a number of good SDKs from silicon manufacturers.

  • @whodaFru4551
    @whodaFru4551 4 ปีที่แล้ว

    very interesting topic. definitely looking forward to your next videos!

  • @d3stinYwOw
    @d3stinYwOw 3 ปีที่แล้ว +2

    Clang is great for bare metal development and now you can use it for AVR :). LLDB on bare metal does not exist unless you write python stub to have "thread context", so GDB still is the easiest choice to have debugging of embedded systems

  • @ismailbenalla795
    @ismailbenalla795 3 ปีที่แล้ว

    thank you so much for all these important information

  • @revealingfacts4all
    @revealingfacts4all 3 ปีที่แล้ว

    If you're willing to spend a little money, I can recommend two things. 1. Is the dsPIC line of microcontrollers from Microchip. Their Explorer kits come with breakout boards and swappable processors. The dsPIC33 family is quite nice. 2. Get into SoC (Sytem On Chip) boards like NXP's sabrelite (I think it's called something else now) but essentially it runs Yocto Linux and will give you ability to do embedded Linux on a breakout board like a raspberry Pi but more inline with what you may see in automotive or more advanced systems.

  • @gulianjungu5756
    @gulianjungu5756 2 ปีที่แล้ว

    Ohh, a well good video, I like it, I will watch all of your videos! Hope you keep doing it!

  • @caleb-hill
    @caleb-hill 4 ปีที่แล้ว +19

    7:00 he speaks the language of the power user.

  • @anatolystrashkevich7621
    @anatolystrashkevich7621 4 ปีที่แล้ว +1

    thank you, very useful

  • @markjensen7381
    @markjensen7381 3 ปีที่แล้ว +12

    Would really love to see videos addressing data structures and algorithms as applied to constrained embedded devices. Really tired all the videos/books on high-level software principles that totally ignore embedded environments. Lets start with systems where no heap and no dynamic memory allocation are allowed. Lets apply some critical thinking on how we can improve programming in this environment. Embedded devices are not going away.

  • @6s6
    @6s6 4 ปีที่แล้ว +1

    Awesome video... Subscribed!

  • @Bob-zg2zf
    @Bob-zg2zf 2 ปีที่แล้ว

    the best explanation!

  • @ahsanmohammed1
    @ahsanmohammed1 3 ปีที่แล้ว

    Thank you sir.

  • @shamikchakraborty3341
    @shamikchakraborty3341 4 ปีที่แล้ว +1

    Maan, I'm doing a course from an Institute on Embedded Systems Designing. That's why i got attracted to your C/OS videos.

  • @chacmool2581
    @chacmool2581 2 ปีที่แล้ว +2

    I am starting a certificate program in Embedded Systems Engineering at the University of California system, and the choice of micro-controller for the program is the STM32L4. Tell me the pros and cons, and what I can expect in terms of learning, ease and job market relevance.

  • @crusaderanimation6967
    @crusaderanimation6967 2 ปีที่แล้ว +3

    8:10 TBH i would recommend to watch Ben Eater BreadBoard computer series, it isn't about embedded systems but building simple computer from scratch but after that and few other thing after looking at Attiny13a block diagram yesterday day or something, i felt like at home... patrological one but still home.

    • @nonnullptrhuman504
      @nonnullptrhuman504 2 ปีที่แล้ว

      "Bean Eater" Lmao

    • @crusaderanimation6967
      @crusaderanimation6967 2 ปีที่แล้ว

      @@nonnullptrhuman504 well i'm Dialectician and not native speaker so sometimes i write things like that XD

    • @nonnullptrhuman504
      @nonnullptrhuman504 2 ปีที่แล้ว

      @@crusaderanimation6967 its okay, its not about u are a native speaker or not. I just find it funny. Btw are u still learning embedded systems?

    • @crusaderanimation6967
      @crusaderanimation6967 2 ปีที่แล้ว

      @@nonnullptrhuman504 Yes, but i run into issues with interrupts on my setup so for now i'm working on other things and hopefuly i will try again in near time

  • @eom-dev
    @eom-dev 2 ปีที่แล้ว +2

    The "control issues" line made me laugh.

  • @TwixWaffles
    @TwixWaffles 3 ปีที่แล้ว +4

    if you want to go professional, would go straight for cortex-m, most other are kind of deprecated by it. And learning ATMEGA today is like learning to program for DOS

    • @slickfish7585
      @slickfish7585 3 ปีที่แล้ว

      And what are you thinking about PIC?

  • @k4piii
    @k4piii ปีที่แล้ว

    Thank you man, so much useful information.
    How can you learn CAN protocols and connect different embedded system to communicate between them?

  • @chakreshjoshi4302
    @chakreshjoshi4302 2 ปีที่แล้ว

    thanks

  • @grippnault
    @grippnault 3 ปีที่แล้ว +12

    Will you please ... please, do a series on embedded systems? Embedded Systems is what I want to do. It is extremely important to me. Please, if you can find the time I am sure that there are hundreds if not thousands of people who feel the same as I do about this topic.

  • @dolby360
    @dolby360 4 ปีที่แล้ว +218

    What am I doing here. I'm an embedded developer for 3 years. Actually I need to go to sleep to get up early tomorrow...

    • @akashthoriya
      @akashthoriya 4 ปีที่แล้ว +2

      Please guide me

    • @dolby360
      @dolby360 4 ปีที่แล้ว +4

      @@akashthoriya Be more specific

    • @akashthoriya
      @akashthoriya 4 ปีที่แล้ว +2

      @@dolby360I don't know, How should I start? Currently, I'm learning C++. What should I do after c++? Are there any books or courses which can be helpful in my journey?

    • @dolby360
      @dolby360 4 ปีที่แล้ว +15

      The is a great course I took called: " mastering embedded systems " you can find it in udemy.
      Maybe try to start your own project.

    • @akashthoriya
      @akashthoriya 4 ปีที่แล้ว +2

      @@dolby360 okay, thank you

  • @ritviksapra1368
    @ritviksapra1368 3 ปีที่แล้ว

    Thanks so much for all these resources. Just please upload them regularly!

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว +1

      You're welcome. I try to keep them coming weekly whenever I can.

    • @ritviksapra1368
      @ritviksapra1368 3 ปีที่แล้ว

      @@JacobSorber I actually was looking for a channel like yours. People like you who are up and coming make good content and reply to comments. I love these kind of channels! I am hoping to study from your channel and get a good job in embedded systems. So please make good vids 🙏😂😁

  • @laminekaba3064
    @laminekaba3064 4 ปีที่แล้ว +5

    Hi Jacob before going deep on embedded, can you please make a tutorial on "volatile" keyword. thanks.

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +3

      I'll see what I can do. A volatile video would probably be pretty easy to throw together.

  • @WhileTrueThenDream
    @WhileTrueThenDream 3 ปีที่แล้ว +1

    Embedded software is awesome.

  • @soumikmukherjee9468
    @soumikmukherjee9468 4 ปีที่แล้ว +1

    I had started with AVR chips and then quickly moved on to ARM M4 microcontrollers.Those provided by STMicroelectronics are cheap and has a lot of features to play with.

  • @tango2olo
    @tango2olo 4 ปีที่แล้ว +5

    Please make a video series on creating a Linux device driver for a network card using its datasheet.

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +5

      That would be cool. That would be a bit more involved than my usual video. So, probably not going to happen in the next month, but I'll see what I can do. Thanks.

  • @maverick7615
    @maverick7615 4 ปีที่แล้ว +11

    Could you add this video to the Embedded playlist as well?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +2

      Yeah, just added it. Thanks.

  • @anirudhg5061
    @anirudhg5061 3 ปีที่แล้ว +2

    Could you please make a video on Careers in embedded systems? Can there be freelance embedded engineers? Do you have any information on embedded hardware development and the skill sets required to learn them?

  • @TonyDaExpert
    @TonyDaExpert 3 ปีที่แล้ว +1

    I am just starting out my second year as a computer engineering major. Embedded systems seem fun

  • @shamikchakraborty3341
    @shamikchakraborty3341 4 ปีที่แล้ว +1

    When you said we can find a C/C++ compiler for almost every microprocessor in the market.........
    ......from my experience, the C/C++ compilers are actually running inside the IDE of the particular processor that we bought. This IDE is running on my desktop. So basically for every piece of code, i turn it to some machine level code and download it on the microprocessor.
    We can also use higher level languages to code too.

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      Any language that is first compiled to C (or that you have a cross compiler for), can then be compiled for your microcontroller. But some high-level languages (ruby, python) require an interpreter that runs on the microcontroller. And, on some microcontrollers that can be a challenge due to memory and computational power constraints.

    • @shamikchakraborty3341
      @shamikchakraborty3341 4 ปีที่แล้ว

      Ok. So if we write codes for Microcontrollers in a particular language which when compiled converts to C, then that is not a problem.
      is there any programming language that compiles to C?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      @@shamikchakraborty3341 Nearly all compiled programming languages use either C or Assembly as an intermediate step on their way to creating a binary executable. But, it's not a product of the language, as much as how the compiler writer decided to design the compiler. I would guess that g++ uses gcc in an intermediate stage. I believe LLVM has its own custom intermediate language. I would guess that Rust uses C as an intermediate. I really don't know about the functional languages like Haskell. But, the point is that two different Haskell compilers could do it differently-one could compile to ASM and then to executable code, or it could use C as an intermediate step. Or, I suppose it could just skip the middle man and generate binary code, but that would just be too much work with no benefit.

    • @rakeshkrmandal7364
      @rakeshkrmandal7364 4 ปีที่แล้ว

      @@JacobSorber Sir, can I code Arduino in Python ? If yes, then how ??
      Thank you.

  • @MrAnandml
    @MrAnandml 2 ปีที่แล้ว +1

    Rust with stm32 is like match made in heaven ...our company created a tinyml inference pipeline with stm32 and tensorflow-micro Rust .

  • @djoleluk
    @djoleluk 3 ปีที่แล้ว +1

    I am a Java programmer and Mobile App Developer. I'm curious, for example, can i use C to program outputs on most PLC like Schneider or Simens or some CNC industrial machines, like i can use Arduino language to program outputs on an Arduino mc? I would like to learn more about this and what language is the best for this type of embedded programming.

  • @k.parikshitshetty8107
    @k.parikshitshetty8107 2 ปีที่แล้ว

    More videos please 🙏

  • @waitwhat3547
    @waitwhat3547 3 ปีที่แล้ว +4

    is STM32 Nucleo board a good platform as a starter, I already know how to use Arduino and RPi

  • @MarkoDoder97
    @MarkoDoder97 4 ปีที่แล้ว +5

    Professor, i'd appreciate some advice.
    I'm currently third year CS student and i took Embedded systems course this semester just to try it out.
    It's one of my favorite courses so far and i'm really thinking about it as a career path. (we are using arduino)
    However, i'm not sure how to justify 2 more years of only software work that's gonna take up much of my precious time to get really good at this stuff, realistically i could work on it after school work maybe for 1-2 hours on most days.
    I don't have any digital signaling course or anything like that, Operating systems and Computer architecture is the closest thing i've had to this.
    Couple of questions:
    1. How do CS majors do in this field? (I'm eager to learn deeply like you proposed)
    2. Am i in a tight spot with this background regarding embedded systems? I'd hate to only be able to focus on it when i graduate.
    3. I have this idea of slowly making turning my house into a smart house, however i don't really have any frame of reference of how much it would take to get required skillset and what are all the things i need to know for stuff like this? (Turning on lights and locking doors from mobile app etc.)
    My C is solid at least. :)
    Any advice is appreciated!!!

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว +7

      Not sure how I missed this comment, 8 months ago.
      1) I was a CS major, and I've done fine. I did have to learn some stuff about circuits and electricity on my own, but it wasn't too difficult. More generally, the students I hire in my lab are usually CS majors or EE/CE majors. In both cases, there is a learning curve. I have tried to structure my lab so that lab members help train each other in the areas they're weak in. It works pretty well.
      2) That's hard to say. I'd say, if you want to do it, do it. 2 hours a day is more than most spend on it, and it's better than nothing. How long it will take you to be great at it will depend on you - it's really hard to predict without knowing a lot more about you.
      3) Sounds like a fun project. My advice is to start small. Learn to program a microcontroller. Then learn how to interface with stuff (like a sensor or an actuator that could lock a door). Explore wireless communication techniques. Working small-to-large like this, will help you do something useful, even if you don't make it all the way to the full DIY smart home, before running out of time, money, and patience
      Solid C is a good starting point. Best of luck.

  • @highway2heaven91
    @highway2heaven91 3 ปีที่แล้ว +1

    Just wondering, I have a CE Bachelor’s degree and I’m currently pursuing a Programming Associate’s. Could I land an Embedded Systems job with these degrees and which companies do I look at?

  • @flokipanda
    @flokipanda 4 ปีที่แล้ว +1

    Sir, make video on operating system development?

  • @risingsun8609
    @risingsun8609 3 ปีที่แล้ว +1

    I have learned C programming but I need some practice to make my skill on C sharp. Besides, I need to know what kind of problems I might face in Embedded Systems. I have been doing web development using PHP and WordPress plus some article writing, I am not enjoying what I am doing at the moment and I do enjoy coding in C. Can you suggest to me a good website or a book where I can get tutorials on C and Embedded Systems also practice on various C and Embedded Systems problems? I am trying to build my career in Embedded systems. Have a good day.

  • @user-de9mx3kc8t
    @user-de9mx3kc8t 4 ปีที่แล้ว +1

    What about real time operating systems? Can a newbie get into Embedded systems with rtos?

  • @embededfabrication4482
    @embededfabrication4482 2 ปีที่แล้ว +1

    but none of the learn C tutorials seem to cover much related to microcontrollers?
    can you recommend any?
    my current interest is in making intelligent remote controllers for hub motors with lora and voice commands
    sure arduino been around for a while but STM32 is so cheap and powerful and it's used everywhere, doesn't it make sense to use that platform? The nucleo boards are pretty cheap too

  • @joserosa5342
    @joserosa5342 3 ปีที่แล้ว +1

    Im serious to learn C. Im from architecture. The future is saying, u need to learn Programming language as basic skill. Robotics, AI in the future ahead

  • @shivamsaxena764
    @shivamsaxena764 4 ปีที่แล้ว

    You can add beaglebone boards also as an option. I would prefer beaglebone over raspberry Pi boards.

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว

      Definitely. I've used them as well with good results. Thanks.

  • @ngozik-opara4373
    @ngozik-opara4373 3 ปีที่แล้ว

    Thank you Jacob for this video. Please I want to know in a nutshell "what is the general idea behind embedded system?" Please I need a response to help me sole a problem. Thank you.

  • @mngmn
    @mngmn ปีที่แล้ว

    Good cheap platform for option 2? One which is low level yet has alot of documantation and a good community maybe?

  • @zeeshanayub9706
    @zeeshanayub9706 4 ปีที่แล้ว

    I heard somewhere that ARM Cortex microprocessors are really popular these days. You did mention that you use Texas Instruments microcontroller, but what do you think about ARM Cortex specifically?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      They seem to be solid options. I use the TI MSP430 controllers because they have FRAM and they are a bit lower power than most of the ARM Cortex MCUs (though some of the M0 line are pretty low power, as well). But, I have nothing bad to say about the ARM chips. They seem solid and very popular.

  • @SoulSukkur
    @SoulSukkur 3 ปีที่แล้ว

    what about the video game, shenzhen io? Do you think it's a good introduction to embedded systems?

  • @avijitmishra1936
    @avijitmishra1936 4 ปีที่แล้ว +2

    Please make a course with only one microcontroller of your choice from ground up. There are no courses which really makes you understand what's happening inside the microcontroller at the level of gates and Boolean algebra. It may take some time but it would be really helpful for many out there.

  • @mohammedshahed3432
    @mohammedshahed3432 3 ปีที่แล้ว

    Could you please create a road map for embedded systems
    I only know CPP P.L and other front-end web dev stuff.

  • @trenttagestad5282
    @trenttagestad5282 3 ปีที่แล้ว +5

    "and it runs on Linux, for heaven's sake" ♥️🤣

  • @abioladivine-peaceokikijes1657
    @abioladivine-peaceokikijes1657 2 ปีที่แล้ว +1

    I already started with c++, please I need to go back to learn C?

  • @jasonbaxter3658
    @jasonbaxter3658 3 ปีที่แล้ว +4

    Hello Jacob, I've been working on small scale sensors for the last 7 years as a technologist and my urge to make the jump into embedded systems has always been growing. I've really struggled to make the leap into embedded systems as it feels like a world of its own. These videos are very useful.
    We use various systems at work but generally it is using C and Xilinx. is Xilinx common and a good one to get started (taking the second option)? I found arduino does too much for me and have struggled to go from Arduino to Xilinx.

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว +4

      By Xilinx, I'm assuming you are talking about their FPGAs. I would personally, start with a microcontroller, unless you are coming from a hardware background are more comfortable with circuits than software. FPGA's are good for making your own pseudo-hardware-basically describing a circuit you would like to have in a hardware description language (HDL) and it will use it's large arrays of LUTs to implement your circuit. This is super useful when I need it, but I find that learning on a microcontroller in C is a bit gentler when you're just starting.

  • @lucas404x
    @lucas404x 4 ปีที่แล้ว +1

    Great video! One question: What is the intro song?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      Thanks. The song was just something I found on the YT music library. I think it's named Urban Lullaby, or something like that?

    • @lucas404x
      @lucas404x 4 ปีที่แล้ว

      @@JacobSorber haha, thanks! I found it

  • @ifyourespondyourmad.2409
    @ifyourespondyourmad.2409 ปีที่แล้ว

    Personally I want to learn c++ and I want to go to a trade school and learn communications electronics. So I want to learn about circuit boards, and signal waves and that sort of stuff.

    • @claw214
      @claw214 ปีที่แล้ว

      😂

  • @Erza-nk4rn
    @Erza-nk4rn 12 วันที่ผ่านมา

    I study computer science and find this very itneresting. Do i have to be an electro engineer for this? Is there a course on embeded i can take?

  • @muhammadaburmeeleh8915
    @muhammadaburmeeleh8915 4 ปีที่แล้ว +2

    great video, I have a question though. I'm learning embedded systems right now using ATMEL SAM and STM32 microcontrollers and I just don't know which one to stick to till the end. Do you have any suggestions?
    PS: I'm an electrical engineering student and I'm learning this stuff by my self.

    • @muhammadaburmeeleh8915
      @muhammadaburmeeleh8915 4 ปีที่แล้ว

      @@JihedCh thanks for the advice buddy

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      It's going to depend on what you need them to do, but I agree that it wouldn't hurt to learn both. Most things we do with one MCU translate pretty well to another. And, seeing how things are done on two chips will probably help you see pretty quickly which one you like best.

    • @muhammadaburmeeleh8915
      @muhammadaburmeeleh8915 4 ปีที่แล้ว

      @@JacobSorber thank you for the reply

  • @mikebean.
    @mikebean. 2 ปีที่แล้ว +1

    I wish this video was around when I was 15

  • @shamikchakraborty3341
    @shamikchakraborty3341 4 ปีที่แล้ว

    I have questions.
    Is the concept of Object Oriented Programming a necessity or a Luxury when designing a brand new OS?
    Can we see a brand new OS being build on Java or Python or anyother Higher level OOP & Interpreted Languages?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      OOP is a luxury in designing an OS. Many an OS are built in C. The issue with building an OS in puthon, Java, Ruby, etc, is that they require fairly extensive runtime support (either a virtual machine or an interpreter). Consequently, you can expect the OS to be much slower than one built with a compiled language (C, C++, Assembly, Rust, etc)

  • @toprakalp4275
    @toprakalp4275 4 ปีที่แล้ว +4

    during the whole video I thought if enderman will spawn in left corner of the room lol

  • @soonfamous
    @soonfamous 4 ปีที่แล้ว +3

    Great vid, I got my interest in Arduino cause of it. Completely unrelated part of the comment, you do know that you sort of sound AND look like matthew McConaughey right?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +1

      Yeah, I have heard that once or twice. Thanks, Avraam. Best of luck with your Arduino adventures.

  • @jithendrayenugula7137
    @jithendrayenugula7137 3 ปีที่แล้ว +1

    hey I just came over your channel and I really loved this video. I am a ML/ deep learning student. Is there something where can I explore the intersection of AI and embedded systems? What about FPGAs? Are FPGAs embedded systems too?

    • @eddie2378
      @eddie2378 3 ปีที่แล้ว +3

      With FPGAs you basically design your own CPU, your own assembly and code on top of it.

    • @falconux7006
      @falconux7006 2 ปีที่แล้ว +1

      check esp32 (ESP32-CAM & ESP32-WROOM-32), it's a great platform for exploring deep learning inference at the edge (using tensorflow lite for microcontrollers)

  • @askr7512
    @askr7512 4 ปีที่แล้ว +1

    Is it a evergreen field friend.. ?? Which country has good potential for embedded engineers... ?? I mean the job opportunities

  • @jenselstner5527
    @jenselstner5527 3 ปีที่แล้ว

    Did you ever consider to use ++i over i++ in situations where it doesn't matter which one to actually have to use (e.. for loop), because of the not so optimizing C compiler for the embedded systems?

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว +2

      I have, but usually old habits (i++) and the fact that it usually doesn't make that much difference win out.

    • @josephdaquila2479
      @josephdaquila2479 5 หลายเดือนก่อน

      Yeah I'm trying to think of actual applications of this.
      The only one that comes to mind is if you're wanting to display something before it changes and then increment it for the next iteration

  • @xviewmytubex
    @xviewmytubex 3 ปีที่แล้ว

    This is the first video I selected in searching for info on creating code for usb drives. With that said, if I'm still off topic, I'm still asking my question here. Lol. Where would I start for learning how to code usb drives (your every day memory flash, thumb drive). I'm working on pentesting my virtual lab, and also screwing with friends. Lol. Thanks!

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว

      I'm not sure what you mean by "coding usb drives". Are you wanting to basically write malware that you would store on a USB drive and try to infect your friends' machines?

    • @xviewmytubex
      @xviewmytubex 3 ปีที่แล้ว

      @@JacobSorber Yes sir! Thanks!

    • @xviewmytubex
      @xviewmytubex 3 ปีที่แล้ว

      @@JacobSorber I mean, if it's not as easy as copying the code files and pasting in the drive's folder. Lol.

  • @kenwallace6493
    @kenwallace6493 4 ปีที่แล้ว +1

    I know you are not a big fan of IDEs but do you have any opinion on PlatformIO? I have had some early success with it and it covers many platforms (but not TI).

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว

      I don't have personal experience with it, but I've heard good things. It's on my list of things to check out when I find the time. And, it looks (from their website) like they do support the MSP430. docs.platformio.org/en/latest/boards/timsp430/lpmsp430fr5994.html

    • @kenwallace6493
      @kenwallace6493 4 ปีที่แล้ว

      @@JacobSorber OK, I see it now. I happen to have the C2000 Piccolo LaunchPad with device F28027 which is not listed by PlatformIO. Dang!

  • @b_34_asmitakatti84
    @b_34_asmitakatti84 ปีที่แล้ว

    for a moment i really thought why would Matthew McConaughey would talk about embedded systems?! you look so much like him. anyways, great content bro!

  • @Bob-tu9jq
    @Bob-tu9jq 2 ปีที่แล้ว

    How do you display data from STM32 to your PC's GUI program?

  • @nathan8472
    @nathan8472 2 ปีที่แล้ว

    thanks dude, I was accepted to csu Chico for EE and "Embedded System Development" course made me rethink if I should attend or not because the prerequisite is Alogarithms and I took that years ago and remembered it being difficult and me barely passing. I'm learning C program on my own with books off amazon and coding on eclipse at the moment. So is Embedded System heavy on code? It says EECE course. anyways you made this video in 2019 so I might not here a reply.

    • @JacobSorber
      @JacobSorber  2 ปีที่แล้ว +2

      The answer to this question can vary a lot. For me and my research group, "embedded systems" is both software and hardware heavy, but I've known "embedded systems" people who are almost exclusively harware-focused and some who are software-focused. Most embedded systems folks do some of both, but without knowing more about the program it's hard to say. But, either way, algorithms are fun.

  • @beytulk
    @beytulk 3 ปีที่แล้ว +2

    I have a question not actually related to this topic but should a beginner university student who is more interested in embedded systems more than web developing, learn html, css for 1 year? Or shouldn't I strive on them that much. I learnt C last term. Unexpectedly I joined a web developing team of a club in my uni. I'm thinking a lot about quitting it. Really would like to see your thoughts. Thank u.

    • @ozlem066
      @ozlem066 5 หลายเดือนก่อน

      Hi, its been 3 years, what are you doing now

  • @mobiconcept
    @mobiconcept 2 ปีที่แล้ว

    Teaching young people to program devices! What can possibly go wrong? :) I can see kids trying to reprogram mom's washing machine and instead of the occasional sock going missing the washing machine goes into orbit! 😀

  • @kaatupoochico9654
    @kaatupoochico9654 3 ปีที่แล้ว

    gonna start my career at AMERICAN MEGATRENDS. thanks in advance

  • @Asyss_Complex
    @Asyss_Complex 3 ปีที่แล้ว

    Thanks for the video!
    You said your research is based on the MSP430 microcontrollers, do you know of any good resources (books, websites) to learn how to use it?
    You caught my attention when you said that it's great for low power consumption applications, and it would be perfect for my future projects.
    One last question, what other microcontrollers do you recommend for the beginner to learn on from the Texas Instruments family?
    Most of the time, people recommend the Atmel (now Microchip) and STmicroelectronics boards, but I'm not familiar with ITs boards at all.

  • @SloeElvis
    @SloeElvis 4 ปีที่แล้ว +1

    Hey Jacob, I love your videos and have been looking to get into learning more about embedded systems. however, I really dislike C++ (and C, though not to the same extent) and have recently found a lot of joy in programming Rust. I know there's even a book for embedded Rust programming rust-embedded.github.io/book/intro/index.html.
    What do you think about that language? I've built up quite a bit of experience with it already. Do you feel it would translate well to embedded systems? I know this is a bit of a vague line of questioning but I'd love to get your feel on the matter.

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว +4

      I like the idea of Rust. It seems like a solid language, and I hope it has a future in embedded systems. My only frustration, so far, with it is the immaturity of the whole ecosystem around it. Support for the specific microcontrollers that I use most often isn't great, and often that just means...Oh well, back to C, because C works. But, I'm definitely rooting for Rust. I just don't end up using it as often as I would like.

    • @SloeElvis
      @SloeElvis 4 ปีที่แล้ว

      @@JacobSorber Yeah that makes a lot of sense. One definitely wouldn't want to choose a platform around a language.
      Thanks a lot for your answer dude, much appreciated!

    • @sudonim116
      @sudonim116 2 ปีที่แล้ว

      @@JacobSorber how do you feel about Zig

  • @toddmoore112
    @toddmoore112 4 ปีที่แล้ว +2

    On udemy there are great courses on embedded c and microcontrollers.

    • @gopimarvathi3733
      @gopimarvathi3733 4 ปีที่แล้ว

      Todd moore please leave a author name here

    • @toddmoore112
      @toddmoore112 4 ปีที่แล้ว

      @@gopimarvathi3733 just search microcontroller u get it

  • @smortlogician9258
    @smortlogician9258 3 ปีที่แล้ว

    hi! love from India. can you please help me I have a doubt. can a computer science engineer study hardware for embedded systems and work with embedded systems? I am going to start college this year and will be studying computer science engineering. I also like electronics and will probably get a minor in electronics. what should i do to start learning electronic circuits?

  • @UsmanKhan-nw8wd
    @UsmanKhan-nw8wd ปีที่แล้ว

    Matthew McConaughey called, he needs his face back!

  • @bradleymassengale6271
    @bradleymassengale6271 4 ปีที่แล้ว

    I've recently started getting an interest in embedded software development as a career. Am I completely out of luck because of my degree? It's in IT, though I've recently been employed as a web developer in training?

    • @JacobSorber
      @JacobSorber  4 ปีที่แล้ว

      Of course not. There's always room for course corrections. You just need to pick up the pieces that you're missing-and it's never been easier to pick up missing educational pieces.

  • @sakshisingh8167
    @sakshisingh8167 3 ปีที่แล้ว +1

    PLEASE DO STM32F407VG DISCOVERY BOARD

  • @jjuel5
    @jjuel5 2 ปีที่แล้ว

    Thoughts on Rust for embedded systems?

  • @kresh1619
    @kresh1619 ปีที่แล้ว

    can anyone suggest which platform should I start with, to learn ethical IOT hacking ?

  • @Kelly90292
    @Kelly90292 3 ปีที่แล้ว

    Can't stop thinking about the movie Philadelphia

  • @arthurfleischman
    @arthurfleischman 3 ปีที่แล้ว +1

    how about rust for embed? what do you think?

    • @JacobSorber
      @JacobSorber  3 ปีที่แล้ว

      I think it's a great idea, as long as you can find a rust compiler that works for your platform.

  • @provokator-provocateur7603
    @provokator-provocateur7603 2 ปีที่แล้ว

    Ok but what about Lua? Lua programming language was build for embedded systems and it's very close to C.