How To Learn Embedded Systems At Home | 5 Concepts Explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 มิ.ย. 2024
  • Today I'm going to show you how easy and cheap it can be to start learning embedded systems at home. All you need is a development board, like the MSP430.
    Texas Instruments MSP430 LaunchPad (US): amzn.to/3KzlePN
    Texas Instruments MSP430 LaunchPad (UK): amzn.to/2UipjAq
    MSP430 Microcontroller Basics - Book (US): amzn.to/2OY8tDT
    MSP430 Microcontroller Basics - Book (UK): amzn.to/2P1QoVf
    Last video: • My Tech Everyday Carry...
    Follow me on Instagram : / thefabytm
    Like me on Facebook : / thefabytm
    Secondary Channel : / morethefabytm
    Follow me on Twitter : / thefabytm
    Register to get $5 coupon on PCB order: www.nextpcb.com/register?code...
    My name is Fabi and I am an Engineer and Tech Enthusiast from Romania. On my TH-cam channel I do thorough reviews of gadgets, showcase my programming projects and show you which cars I am driving.
    0:00 Introduction
    0:16 5 Essential Concepts
    0:33 What are Embedded Systems?
    1:57 1. GPIO - General-Purpose Input/Output
    3:14 2. Interrupts
    4:18 3. Timers
    6:37 4. ADC - Analog to Digital Converters
    7:44 5. Serial Interfaces - UART, SPI, I2C
    9:46 Why not Arduino at first?
    10:11 Outro & Documentation
    This video is part of my Embedded Systems Explained series.
    Today I'm going to show you how easy and cheap it can be to start learning embedded systems at home. All you need is a development board, some wires and a computer.
    First of all, what is an embedded system? It's everything you'd expect a computer to have, a processing unit, memory, I/O, just integrated in a mechanical or electrical system. Because they usually doesn't need as much processing power as a computer, embedded systems have much more limited resources, thus encouraging a developers to use resources wisely.
    Before starting, it's important to choose a family of microcontrollers to start learning. Even though a lot of them have development boards available (MSP430, Microchip PIC microcontroller, Atmel ATMega) I know it can be hard at first to make such a choice, so I'm going to recommend you the platform I learned at first and the one I still use daily. Because of the large selection of microcontrollers that it offers, the good documentation, code examples for each peripheral and large community, I recommend you pick a Texas Instruments MSP430 board.
    The 5 Concepts explained in this video are:
    1)GPIO
    These are just like I/O ports on your computer, but much simpler. They can either output one of two values or read the value at the port (as a logical value). We output a value to these ports or read values from these ports through registers. These are memory locations allocated to a specific peripheral and are meant to configure and interact with the peripheral.
    2)Interrupts
    Interrupts come in handy when trying to run a piece of code after something happens. In contrast to polling, where we wait inside a loop for an event to happen (such as a flag being set), we activate a hardware interrupt and write an interrupt handler -- here we put the code that we want to run when the event happens.
    3)Timers
    Basic timers count up, up & down, continuously and can be used for timeouts, counting how long a process takes, creating a real time clock and many more. Count up means counting up until reaching a programmed limit, then starting again from 0. Count up & down counts up until the programmed limit, but then counts down until reaching 0. Continuous means the timer counts until it overflows and then starts again from 0.
    Usually, timers have capture and compare modules. The capture mode allows us to time other processes - The compare mode allows us to output signals with a modifiable duty cycle.
    4)ADC - Analog to digital converter
    ADCs or analog to digital converters allow us to convert a voltage into a number we can work with in software.
    We'd use this to measure the voltage of a battery, such as the system's own battery or to read certain sensors.
    The opposite of an ADC is a DAC or digital to analog converter, which outputs a certain voltage depending on the code we supply to the DAC.
    5)Serial interfaces
    Serial interfaces allow us to communicate with other integrated circuits or even to a PC. The most basic serial interface usually available is UART, which stands for Universal asynchronous receiver/transmitter and requires just 2 data wires - TX and RX. It signals the start of a communication through a start bit, followed by 8 bits of data, optionally a parity bit for basic error checking and a stop bit.
    In contrast, SPI and I2C allow multiple devices to be connected to the same bus and allow for faster speeds.
    Why should you NOT choose Arduino at first when learning Embedded Systems? Because it has many layers of Software over the Hardware and you won't interact with the hardware at the low level.

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

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

    This video inspired me to create more content about Embedded Systems, so here is a playlist of my Embedded Systems Explained series: th-cam.com/play/PLeAb9_hv082weQ10WcvFfLBlNcCYXlQ4q.html
    I've already uploaded 3 videos about Embedded Systems, stay tuned for more! 💡

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

      TH-cam is great if you want to learn how to repair your car, HVAC, appliances, etc. I have literally saved thousands of dollars by doing most of the work myself. I have also taken some free Python courses and studied some concepts in C++. BTW, I am firmware developer with 30 years experience but I am having trouble finding a job because employers expect you to be an expert in several languages and companies like Amazon expect you to be an expert in algorithms too. BTW, I use to work as a Refrigeration/HVAC tech but the thought of crawling through 130 degree attics again makes me ill.

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

      TH-cam does indeed have tons of videos that are helpful when trying to pick up all sorts of skills!
      It's tough out there, I agree! Keep looking and perhaps try and see if you can't do something on your own.

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

      @@picklerix6162 Are you in the United States or elsewhere?

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

      @@aramesh428 - I am in the USA

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

      How do I build a embedded computer specifically for a single purpose. Unlike the Raspberry Pi or Aurdino, which can be used for running various types of Apps and OS, I need to build a computer that will run a specific app only and it will boot to load that app only. For example, a windows pc can be used to run Sony playstation games using an emulator app but a Sony playstation game console can only run the ps games. In the same way I want to built a tablet like PC that will able to do only browsing and after it's switched on, only the browser will load on the screen. So, is there any such microprocessor board that can be programmed to do such specific task?

  • @user-uw9zf3ub7e
    @user-uw9zf3ub7e 4 หลายเดือนก่อน +5

    One thing I like about presentation is you talk straight to the point. Please bring in videos on building ARM based system design.

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

    I started embedded systems with a nios2 soft-processor on a FPGA, which is like learning to ride a bike downhill but I really enjoyed it, and it helps you so much to understand hardware, especially while coding hdl.

  • @nisar-systemarchitect
    @nisar-systemarchitect 3 ปีที่แล้ว +44

    Most efficient 10 minutes used on YT. Thank you so much for this effective tutorial.

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

      Wow, thanks a lot!! I’m really happy this helps people out!
      I’m not sure if you know about it, but I made a series out of it, teaching embedded systems: th-cam.com/play/PLeAb9_hv082weQ10WcvFfLBlNcCYXlQ4q.html

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

    Agreed, for a beginner the TI ecosystem is so streamlined. Also, they have a strong academic connect.

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

      Yes, it’s mostly easy to find what you’re searching for!

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

    Great breakdown of embedded microcontrollers. I like your reasoning for choosing the TI series of microcontrollers. I too love working at the machine and hardware level, especially in assembler, to really get full control and understanding of what's going on under the hood. Looking forward to more great videos on this and other related topics. Liked! Subbed! Smashed the notification bell!

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

      Thanks so much! While I don’t work in assembler that often, I always look at the assembler code generated from my C code, it’s always interesting to see how the compiler chooses to implement it!
      Stay tuned, a new video is coming out today!

  • @minnedanhieux883
    @minnedanhieux883 หลายเดือนก่อน +1

    Not recommending arduino for starters, I think I found what I'm looking for. Crisp info no blabla. Thx.

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

    You can use Arduino, but only if youre programming at the assembly level + the AVRDUDE programmer through the command line. It feels exactly like if you were programming a 6502 / 65C816

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

      That’s true! To be fair, I was mostly referring to the Arduino IDE (and Energia for MSP430).

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

    This is really helpful. Thank you!

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

    Loved the video! Great Info on the embedded systems for beginners!

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

      Thank you! You could also check out the other videos in the playlist as they’re all aimed at people looking to get started with embedded systems!

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

    Agreed! quick and precise guide for embedded system.

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

      Thank you! You can check out the other videos in my Embedded Systems Explained series too!

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

    Great video, many thanks. Keep up the good work!

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

      Thanks a lot! Check out the other videos in this series if you found this one useful!

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

    Thanks for making these vids man. Do you think you can make a series on a simple canbus system in practice? There's many vids out there on what CANBUS is, but there's little info on how to set it all up in an example manner. The CANBUS concept isn't hard to grasp, but implementing it seems to be alot more complicated, especially for those who knows nothing about coding and embedded systems.

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

    A great guide. I am personally using texas instruments tm4c to learn all the mentioned concepts. I hope, you make videos like this on all described modules. You have a great concept delivery. Cheers.

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

      Thank you! I will continue to make videos on all modules and peripherals! There is already a new one you uploaded about SPI and I2C!

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

    Very high quality video. I loved it, keep up the great work!

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

      Thanks! You might’ve already seen in the description, but there are more videos in this series if you are interested in learning about Embedded Systems!

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

      @@TheFabytm yes I watched most of them😊 Keep making more. Here are 2 more I would like to see:
      - how to read data sheets
      - operating systems like: RTOS, linux..

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

    Very comprehensive introduction, waiting for more content💯

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

      Next video in this series on embedded systems is coming out Sunday, so stay tuned! 😉

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

    Clear explaintation, Many thanks for sharing!

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

      Thanks, I’m glad you enjoyed it!

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

    I'll recommend RISC-V for a beginner to get started with learning assembly.

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

    Many thanks for sharing!

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

      Glad you found it helpful!

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

    I'd like to hear about comprehensive programs short of a bachelor's or master's degree in engineering where you can learn embedded. I am particularly interested in the intersection of data analytics, edge computing and machine learning on micro-controllers.

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

    Nice information.. thanks

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

    Great for the explanation. This was very helpful.

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

      Awesome, I’m happy it helped you!

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

    Wow, you made it very clear!

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

      Thanks! Stay tuned for more videos on similar topics, I have one planned already!

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

    Great Explanation!!!

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

      I’m glad you found it useful! 😁

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

    Good, concise and clear explanation

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

      Thank you, make sure to check out the other videos in the, they share the same style!
      Playlist: th-cam.com/play/PLeAb9_hv082weQ10WcvFfLBlNcCYXlQ4q.html

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

    Hello Fabitm,
    your tutorials are great.
    I'm missing the product / Amazon link to the NI you recommend in your video.
    Could you please share the product information again in the comment?
    Thanks a lot to you

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

    Nice! It would've been nice if I could watch this when I was a beginner. Good work!

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

      Thanks! I’d like to do similar videos on other subjects as well! If you have any ideas in mind for stuff you’d like explained, I’d love to hear them!

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

      @@TheFabytm Debugging would be a good one!

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

    I hope you will explain i2c, spi, and CAN bus soon

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

      That’s actually a great idea since I only mentioned i2c and spi. CAN Bus is also one I wanted to mention but felt I shouldn’t as I wouldn’t have been able to explain it without making the video too long.
      Thanks for the idea!

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

    Very nice introduction video. Keep going!!!

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

      Thank you! Stay tuned for more videos on similar topics!

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

      I'll, be sure of that, friend.

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

    I'm eagerly waiting I know Therotically but practically I know some of these concepts. I hope soon you start these topics

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

      Stay tuned, I usually post once a week (Saturday/Sunday) and I will post more videos on similar topics!

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

    what is your opinion on the texas instrument vs the stm32 dev board?

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

    Thank you for this

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

      I’m glad you like it!

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

    Q: "what is an embedded system?"
    A: "it's a system hammered into a wall"

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

      About as accurate as it can get😂

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

    I’ve started a course on udemy with the texas launchpad with the TM4C123 uC. The board is very good and I’m learning a lot with this bare metal C programming course! Thanks for using it as an example also.

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

      Great approach, it will pay off! Knowing how to work with the hardware at this level opens up a lot of possibilities!

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

      TheFabytm yes! I wish to become an embedded systems engineer, but the way seems to be very long and hard. At least I’m already a computer engineer, but I’m working as a frontend developer. One step that I hope that helps me is the master degree in electrical engineering that I’m taking right now, but some online courses and tips are also very welcome.

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

      Good luck, you’ll make it, the first steps are a bit harder.

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

      Name of the course bro

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

      @@keshavkumart5150 Bare Metal Embedded - C Programming (TM4C123)

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

    most underated channel

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

      Thanks man! Spread the word around with your friends, I’d really appreciate it!

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

    Really awesome video and quite unique topic summarisation content. It will really help for beginners as well as intermediate learners of embedded systems, specially self learners. Electronics is wide subject. To understand its concept thoroughly, you must have that view towards world and running systems. You must think in that way. And yes, it's possible for 1 of 10 ratio. Your content clarifies many directions that must be learnt and must be thoroughly understood before studying or teaching beginners. With this knowledge it gets very handy to switch between different MCUs and MCU families, even switching to PC motherboards, complex boards,etc. Thank you for such a collective content video. Keep it up broda.

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

      Thank you! I’m thrilled you found my content interesting and hope to be able to produce more of it in the future!
      Electronics is indeed a wide subject but if approached the right way (each day learning and understanding something new), it can be fun and fulfilling!

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

    So useful knowledgements for who wants an embedded system engineer like me. Thanks a lot

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

      I’m glad you found this to be helpful! Stay tuned for more!

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

    look forward to next video

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

      Thanks! Next video is coming out tomorrow, stay tuned! :)

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

    fast but good explanation dude if possible please make a video on ti msp430 like controlling gpio and timmers manupulation

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

      Thanks! I will but I want to go through the basic topics first! The next video is coming out Sunday, so stay tuned!

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

    Very well made video. Thank you so much for sharing! Subscribed and hit the bell notification! :-)

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

      Amazing to hear that! Thank you!

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

    Thanks

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

    Wish I had seen this video when I first started learning

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

      This won’t be the only video on embedded systems, so stay tuned for more! Perhaps there’ll be something that will help you!

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

    It's been great learning with my tm4c, I'm learning UART now

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

      Don’t skip SPI and I2C! Both are very useful and more versatile than UART!

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

    I cannot seem to find that MSP430 Launchpad anywhere to buy.

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

    What are some entry jobs that lead to embedded jobs while you learn to program?

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

    This video basically covered my entire embedded systems class lol.

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

    Thank you

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

      You are welcome!

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

    Once one owns peripherals and driver development. You should start implementing a more complex system using an RTOS

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

      You’re right! The plan is to go through the peripherals and other important concepts and then start a project-course where people can follow along.

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

    My first project was arduino. It was a littel bit cofused becuse i didnt know anything but now is mutch easyer after 4 years. Build myself many iot stuf and smart switches and sensors. Feels like a perfect toy.

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

      It is for the things you said, but mostly what you do is use libraries which do all the heavy lifting (interfacing with the hardware).

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

      Is it hard or easy ??? Now I’m thinking 2 learn this skill ==embedded s/f enjineer

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

    Ordered a pair of arduinos a few days ago to start learning embedded software, now I sort of wish I'd stumbled across this video sooner lol

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

      Don’t worry, you can use Arduino to get you started and even later on for quick prototyping!

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

    5:38 I don't get how the timer capture/compare logic works. Maybe you make a video and explain it more in detail?

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

    Amazing

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

    Are you familiar with John Valvano's course on EdX? I enrolled in to some time back but the going was a bit tough. I'm going to watch all your videos and try out that course again.

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

      I haven’t heard of that course. Can you describe what you found makes it tough for you? I’m genuinely curious as I’m thinking about making more series like this one.

  • @HL-fy8nq
    @HL-fy8nq 2 ปีที่แล้ว +1

    What model is that awesome monitor your are using?

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

      It’s the Dell U4919DW, you can check out my channel to see some videos about it!

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

    Regarding Arduino, isn't it quite useful to have the libraries for the sake of learning low-level interaction? You can check the source code and use it as assistance, you just ought to consciously make an effort to not use the library itself.

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

      It can be, but similar libraries are available for the MSP430 as code examples.

  • @user-ff4mh7ih8y
    @user-ff4mh7ih8y 7 หลายเดือนก่อน +2

    @TheFabytm Can you share some resources to the topics discussed here for beginners? Can you also share resources to embedded systems?

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

      You can start with my Embedded Systems Explained series! th-cam.com/play/PLeAb9_hv082weQ10WcvFfLBlNcCYXlQ4q.html&si=0jB5AGjFWn6GNzRu

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

    good

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

    I would love you to explain timers

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

      I did explain them briefly in this video. Would you like a more detailed explanation?

  • @user-ks1ri7iw5r
    @user-ks1ri7iw5r 3 ปีที่แล้ว +4

    what do think about this syllabus?
    Syllabus
    The best way to understand what you will learn in this class is to list the labs you will complete and the example projects we will build. You will complete each lab first in simulation and then on the real board. For each module we will design a system and you will build and test a similar system.
    Module 1: Welcome and introduction to course and staff
    Module 2: Fundamental concepts: numbers, computers, and the ARM Cortex M processor
    Example. Develop a system that toggles an LED on the LaunchPad
    Lab 2. Run existing project on LaunchPad with switch input and LED output
    Module 3: Electronics: resistors, voltage, current and Ohm’s Law
    Module 4: Digital Logic: transistors, flip flops and logic functions
    Lab 4. Debug a system with two inputs and two outputs
    Module 5: Introduction to C programming
    Example. Develop a system that inputs and outputs on the serial port
    Lab 5. Write a C function and perform input/output on the serial port
    Module 6: Microcontroller Input/Output
    Example. Develop a system that inputs from a switch and toggles an LED output
    Lab 6. Write C software that inputs from a switch and toggles an LED output
    Module 7: Design and Development Process
    Example. Develop a system that outputs a pattern on an LED
    Lab 7. Write C functions that inputs from a switch and outputs to two LEDs, which is a simulated pacemaker
    Module 8: Interfacing Switches and LEDs
    Example. Develop a system with an external switch and LED
    Lab 8. Interface an external switch and LED and write input/output software.
    Module 9: Arrays and Functional Debugging
    Example. Develop a system that debugs by dumping data into an array
    Lab 9. Write C functions using array data structures that collect/debug your system.
    Module 10: Finite State Machines
    Example. Develop a simple finite state machine
    Example. Develop a vending machine using a finite state machine
    Example. Develop a line-tracking robot using a finite state machine
    Example. Develop a stepper motor robot using a finite state machine
    Lab 10. Interface 3 switches and 6 LEDs and create a traffic light finite state machine
    Module 11: UART - The Serial Interface, I/O Synchronization
    Example 11. Develop a communication network using the serial port
    Lab 11. Write C functions that output decimal and fixed-point numbers to serial port
    Module 12: Interrupts
    Example 12. Develop a system that outputs a square wave using interrupts
    Example 12. Develop a system that inputs from a switch using interrupts
    Example 12. Develop a system that outputs to a DC motor that uses pulse width modulation
    Lab 12. Design and test a guitar tuner, producing a 440 Hz tone
    Module 13: DAC and Sound
    Example 13. Develop a system that outputs analog signal with a R-2R digital to analog converter
    Lab 13. Design and test a digital piano, with 4 inputs, digital to analog conversion, and sound
    Module 14: ADC and Data Acquisition
    Example 14. Develop a system that inputs an analog signal with an analog to digital converter
    Example 14. Develop an autonomous robot that uses two DC motors and two distance sensors
    Lab 14. Design and test a position measurement, with analog to digital conversion and calibrated output
    Module 15: Systems Approach to Game Design
    Lab 15. Design and test a hand-held video game, which integrates all components from previous labs.
    Module 16: Wireless Communication and the Internet of Things
    Lab 16. Connect a CC3100 booster pack to the LaunchPad and communicate with an access point. Lab 16 will not be graded, but we will provide a way for you communicate with a class server

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

      I think it includes a lot of interesting things, it just depends over what period of time you’d learn all of this as there’s a lot to learn. If they are rushing it, there’s no real benefit to such a broad syllabus!

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

      Good ,it takes a Lots of time

    • @user-ks1ri7iw5r
      @user-ks1ri7iw5r 3 ปีที่แล้ว

      @@raghuls2000 yes , but to learn Embedded System it take a lot of time , i am right ? not just for fun, to work on it in life

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

    WHAT IS ACTUALY THE BEST THING TO START LEARNING WITH IN ELECTRONICS? BREADBOARDS?

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

      Yes, experimenting with transistors, diodes, passive components on a breadboard might be the best way but you need to also study the theory behind it if you want to really understand stuff

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

    Is this Texas instruments thing the same as an Arduino? Sorry if this is a dumb question I am trying to learn about embedded systems.

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

      Sorry. Just finished watching the video. Question answered. Thank you very much this has been helpful :)

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

      Glad you found it helpful! The MSP430 and ATMega (the microcontroller found on arduino boards) are similar in their architectures. The thing with arduino is that you can program it with arduino IDE and take advantage of the plethora of libraries available.
      You can use Energia for MSP430 which can use the same libraries, though usually you will have to adjust bits and pieces because the libraries were initially written for Arduino.

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

    Well stm32 family is recommended as well

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

      STM32 is also a good choice!

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

    can you teach IOT with app development. I am having a problem with esp8266. I need to make a app in angular or flutter but the problem is saving the ssid from the phone. How to make a platform like that

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

      I might do a series in the future on this topic, for now I want to finish this Embedded Systems Explained series.
      I want to help you though, why is it a problem that you have the ssid from your phone?

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

      @@TheFabytm i had made the iot hardware.
      But i am using third party softwares. I wanted to make my own app. In which i have to upload my wifi password and name through my app...

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

      Upload these credentials to the ESP? I’m not sure I understand what you’re trying to do.

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

    Why not use an arduino?

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

    What are the options for beginners? Arduino has done great things for the micro controller industry. What options lead to jobs as an embedded programmer?

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

      Well, I’d say the route I proposed (picking up a development board, learning the basic concepts and doing some hobby projects) can absolutely lead to job opportunities. It’s the way I got my job (by showing them my projects which involved mostly using the concepts shown in the video - serial communication with a sensor, interrupts on timer events for sampling said sensor and a few more complex projects with a GPS module and GSM module - kind of like a tracking device).

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

      Don't lie... Arduino projects are just hobby things. If u really want to learn embedded systems, try programming an Arduino board in atmel studio and learn to set the right bits. Embedded systems is mostly being good at reading data sheets like an attorney reads law. Alot of complex cross-references etc.

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

      @@dsmeckt2283 Now now, let's not downplay the importance of Arduino. It is supposed to be 100% open source, which is not applicable to all industries. The translation layer also takes up space which requires more resources that cost money in high volume products. It has its place, but not in defence, automotive or consumer products .

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

    I will bless you if you make video how to connect cheap 4g cellular module to 32 bit controller

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

      Stay tuned, I’m thinking about making a project series on something very similar!

  • @P.L.U.S.
    @P.L.U.S. 5 หลายเดือนก่อน

    Do i need to learn this to do drone dev?

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

      Yes, embedded would be a big part of it!

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

    Heyy, I am from India and I wanna start a project for my final year in embedded system. Where should I start from and what basics I need to learn about components used for the same?

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

      It might be interesting to try and make a cell phone. There are modules, such as the GSM800L which make this relatively easy. You’d also need a display (I’d recommend the 0.96 inch OLED displays). As far as the microcontroller goes, a higher specced MSP430 should do the job, Arduino is also fine if you are a beginner!

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

      Hey how can I contact you?

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

    Can I use Arduino or ESP to learn Embedded System the professional way? Kindly recommend a microcontroller to start with

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

      You’d learn embedded systems at a hobby level using Arduino. You wouldn’t really deal with real embedded systems things such as registers. I’d recommend starting with a microcontroller that offers a development board (MSP430, PIC, ATMega but not Arduino).

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

      @@TheFabytm Thank you very much. I will focus on those microcontrollers. MSP430, PIC, ATMega

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

      @@TheFabytm Thanks a lot. I will start with PIC. Can you link me up with any PIC beginner projects I can start with. Thanks.

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

      @@dtadetayo Hi. I’m looking to pick up a career in electronics. Starting out first as a hobbyist. I would like a learning partner if you don’t mind.

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

      @@emekaosigwe I don't mind. I'm IN.

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

    Could you talk about CAN?

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

      Yes! I have this planned for a future video!

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

      ​@@TheFabytm Excellent! thank you so much, nice job :D

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

      Thanks! :)

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

    Make video tutorial on stm32 nucleo boards
    Please

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

      I can’t promise this as I haven’t used STM32 boards.

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

      Yes I too want stm32 related videos and development part.

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

    I'm trying to understand CMake these days (I work mostly with GNU Make)

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

      Haven't had a chance to use CMake until now but I started reading up about it.

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

    it is a good explanation. But you can improve the animation, and bring more animation in your explanation. But overall good job

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

      Thanks for the tips! Could you give me an example of the type of animations you’d like to see?

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

      @@TheFabytm i know this will be looks like demanding, but TED is always good example to go. Good luck

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

    I thought I/O uses Special function registers contrary to General purpose registers..

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

      Did I mention general purpose registers? They are module registers. As far as I know, on the MSP430 special function registers are used for interrupt enable and interrupt flag registers.

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

    Is this field related to Mechatronics Engineering??

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

      Some parts are related, yes!

  • @sammykoujah2487
    @sammykoujah2487 6 หลายเดือนก่อน +1

    If you started with Arduino already, is it still beneficial to try out the TI series and learn things again from a lower level. I’m a BS student in Computer Engineering so I’ve worked a lot with Arduino but haven’t had much embedded experience other than that. My University is more software focused.

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

      Yes, of course! Give it a go!

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

    If you are absolute beginner, Arduino would be great to start with.

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

      Great in one way, but it could also limit how much you’re learning.

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

    Complete Explain Microchip 8-bit TCP/IP project in 8 bit MCU

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

      I’ve got a different idea for a practical project, but I’ll see! Thanks for the idea!

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

      @@TheFabytm we are waiting....

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

    Check this Online course for deeper view into embedded system programming using arm cortex-m3 microcontroller www.udemy.com/course/embedded-arm-cortex-m3-programming-guide/

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

    Hello..

  • @user-gi4op1kv3r
    @user-gi4op1kv3r 15 วันที่ผ่านมา

    One thing I learned from embedded system and specially embedded software is that you can not learn it at home and you should be out there in the field.

  • @Pk-sw8ip
    @Pk-sw8ip 3 ปีที่แล้ว +2

    I want to learn STM32, how to start STM32?

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

      It’s about the same for all platforms really. Learn a few basic concepts such as the ones mentioned in this video and in my new video and then Start actually doing something with it (doing a project).

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

    Arduinos, for quick and dirty prototypes. Outch

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

      Yup, I see Arduino as a powerful platform because of all the available libraries for different chips/sensors, but wouldn’t use it to learn embedded systems, it keeps you too far away from what’s actually happening under the hood.

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

      @@TheFabytm , The software layer is pretty thick yes, high level abstractions make things easier but hide the real guts and it's not optimal for academic/learning purposes, I agree .

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

    Hello.. Can u help me in embedded systems. I want to learn it.. I am from 🇮🇳india

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

      Hello, sure! I’d recommend watching the videos from my Embedded Explained series as you’ll find out more about all of the essential topics.

  • @TrinhTran-ib9zw
    @TrinhTran-ib9zw 4 หลายเดือนก่อน

    I want to study at home where I am start

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

    The fact that your monitor is so wide I can't see either edge of it is a bit distracting, but cool video.

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

      Alright, I’ll try to frame it better! Thanks for reaching out!

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

      @@TheFabytm No worries man, I'm just jealous of your great swaths of pixels.

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

      Haha, it really is great having a super ultrawide!

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

    and here I thought Arduino was low enough

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

      You can go much lower, that’s for sure!
      If you want to learn more about embedded systems and microcontrollers in general, I’d recommend watching my series on it, here is a link to the playlist: th-cam.com/play/PLeAb9_hv082weQ10WcvFfLBlNcCYXlQ4q.html

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

    i want to learn embedded S. Any one out there want to guide

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

      You could start by watching my series on this topic! It’s quite extensive already as it covers most of the important topics about embedded systems!

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

    weird how all these terms and methods are so similar in electronic music.

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

    Isn't arduino better to learn

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

      I’d say it makes things too easy, it isolates you from what matters about embedded systems (low level optimizations, registers, etc.)

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

    Where is the code ? !!!!!

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

      This series focuses on the theoretical side, after finishing the series, I plan on making a practical class where you guys can follow along as we build something (which involves code, of course).

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

      @@TheFabytm Thank you :)

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

    Is your home country india

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

      No, I’m from Romania! :)

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

    Not for beginners!

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

    Drop your linkedin id

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

    Wtf you saying??! I got lost minute 1 !!

  • @chuck-snow
    @chuck-snow ปีที่แล้ว

    I have using a lot of these platforms over the years, and I was having a problem whit the Arduino just not having enough to work thit a project I wasmaking a CNC Pick-UP Winder "For Guitars" the biggest problem was using an Encoder to keep track of the motor shaft RPM, turns, angles ect to synchronize whit the Stepper motor guiding the copper wire onto the bobbin.. TI "Texas Instruments" i though would be a good fit since it has encoder hardware on some of there boards and, Motor related stuff.. So I bought one of there boards... The learning curve is HUGH ... even whit having a Programing degree and able to code C, C++ ... and asking for help Support was like Pulling Teeth, I could even log in or register on the Forum to ask for help because you CAN NOT join unless you have an University Email or some kind of Educational Email or an Approved business Email ..
    I could not even get the Support personnel to Direct me to a Document of repo to learn the Syntax example, parameters ect ..
    I would not recommend TI, your much better off the Use STM32 better stuff better support better documentation..