Blinking an LED: Embedded Rust ecosystem explored

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 163

  • @chrisgriff1512
    @chrisgriff1512 6 місяців тому +135

    As a professional Embedded Firmware Engineer, I would have killed to have this guy teach me when I started out.

  • @MrMillyBob
    @MrMillyBob 6 місяців тому +123

    Do I know rust? No
    Do I program embedded? No
    Did I throughly enjoy the video anywas? Absolutely!

  • @therealjpster
    @therealjpster 6 місяців тому +60

    Long time Rust Embedded Working Group member and full-time Rust and Embedded Rust trainer here.
    This was so good. 10/10, no notes.

  • @radar1437
    @radar1437 6 місяців тому +58

    the best video i see so far explains layers in embbeded WITH EXAMPLES , keep the great work , the video productions is very good . expect tutorials soon .❤❤

  • @lua-nya
    @lua-nya Місяць тому +1

    Thank you for using code as part of explaining each abstraction layer, it truly helps.

  • @jakubdavid2715
    @jakubdavid2715 6 місяців тому +16

    The real strength of Rust is the awesome content crated by people like this guy.
    This is essentialy a dramatization of a Rust book, one place with a comprehensive domain specific content.
    I love it.

  • @JulianBolivarGaleno74
    @JulianBolivarGaleno74 6 місяців тому +19

    Really Impressive, I didn't have idea that Embedded Rust was on so elaborated state yet and exist support crates for different micros and also commercial boards. I was thinking that on Embedded Rust everything will be need to be did at "bare metal" level. Thanks so much for taking the time to made this videos!

  • @hnariman_
    @hnariman_ 4 місяці тому +6

    Please please please, keep up with this channel and this quality of content. This is absolutely my favorite channel since few days I've discovered it. I'm a professional engineer with years of experience in a different (web) stack and just love Rust. I do embedded and Rust development as a hobby/pet projects since I'm not trained to do it professionally.
    This channel is a game changer for me, if you ever decide to create some course or newsletter or patreon I hope I will not miss it.
    Bravo! This is excellent content, very very pleasant, just love video editing in first few videos and overall, and are really really motivating and eye opening to variety of things. I do sincerely highly appreciate existence of such a channel. Thank You!!!

  • @lxbtlxbt
    @lxbtlxbt 3 місяці тому +4

    "...Oxidation forms on the metal; so that's where we begin!"

  • @yosiaagustadewa
    @yosiaagustadewa Місяць тому

    Please make a bootcamp course for us, i love the way you tech rust easily

  • @alexitosworld
    @alexitosworld Місяць тому

    I don't work in embedded software, and barely touch Rust, but you got yourself a new sub! The content and presentation on these videos are top notch! thanks and congrats! 🎉

  • @nulltrope
    @nulltrope 3 місяці тому +1

    This was an excellent overview of the different ways one might write embedded rust. I appreciated how you started out doing it the most manual way via unsafe, then showed each abstraction layer on top. I was having trouble visualizing this reading the docs so seeing you step through them w/ examples really helped.

  • @PtYt24
    @PtYt24 2 місяці тому +2

    As am a fairly seasoned programmer and was trying to get into rust and embedded, what a gem you tube help me find, keep on coming!!

  • @AerialWaviator
    @AerialWaviator 6 місяців тому +3

    A very friendly, well explained intro to Rust on embedded systems. The algorithm recommended video, so took a peak with a bit curiosity, now wanting to learn more.

  • @LibreGlider
    @LibreGlider 6 місяців тому +1

    Don't know if you know or like it, but you're a natural great teacher. You should cover more rust topics with a real-world example. Just like the blinky light.

  • @cqubemc4169
    @cqubemc4169 6 місяців тому +11

    Really great Video! I would love to see a video from you about embassy-rs and async embedded rust and where it fits into the whole embedded rust ecosystem.

    • @therustybits
      @therustybits  6 місяців тому +17

      Embassy/async videos coming…

    • @yondaime500
      @yondaime500 6 місяців тому +1

      Speaking of which, the embassy docs have an example that is the same idea as this video, called layer-by-layer.

  • @rammrras9683
    @rammrras9683 5 місяців тому +1

    You found too many ways of blinking an LED and I found a great channel to follow!

  • @kentbowling7513
    @kentbowling7513 6 місяців тому +13

    Great video, and cleared up some of the acronym salad I see I out there. Please keep it up.

  • @AleifrLeifrson
    @AleifrLeifrson 2 місяці тому

    These videos are an absolute joy to watch!

  • @weiSane
    @weiSane 6 місяців тому +3

    The production quality and the simple way you teach and explain things makes it such a great experience to watch and learn from your videos. This is too good 👌

  • @dennisdecoene
    @dennisdecoene 6 місяців тому +4

    Third video and 13k subs. I think you hit the motherlode. Well done. Thank you for this content, hope you can keep going!

  • @TheEvertw
    @TheEvertw 6 місяців тому +1

    This is a masterful video, HIGHLY recommended if you want to start with embedded Rust.

  • @juanbeliz6296
    @juanbeliz6296 6 місяців тому +6

    Cristal clear. Superb teacher...Thx for this serie of videos about embeded rust. Kudos

  • @themenon
    @themenon 3 місяці тому

    Waiting for the next video! Clear and consice explanation!

  • @Onyx-it8gk
    @Onyx-it8gk 6 місяців тому +2

    This is so cool!!! I just ordered my microbit. I'm sure you're busy, but hopefully you'll keep making these videos.

  • @simonakpoveso5022
    @simonakpoveso5022 5 місяців тому

    This channel is a goldmine in my search for embedded content. I've been writing software for over 5 years and miss my early embedded career. I'd like to transition back and your videos are wonderful. Thank you and I look forward to future videos

  • @NotherPleb
    @NotherPleb 6 місяців тому +5

    Really good video! I think you're the first one on YT exploring this space of Rust and you'll be helping a lot of people get started. Keep it up! I hope to see some tutorials on using I2C and SPI interfaces :)

  • @yperboreus
    @yperboreus 6 місяців тому +1

    Thanks for the vids so far, here’s to getting a lot more people into embedded!

  • @zactron1997
    @zactron1997 6 місяців тому +4

    Excellent explanation. I like the focus on why these layers of abstraction exist, and how Rust lets you traverse this whole tower of abstractions as you please.

  • @alexdai_
    @alexdai_ 3 місяці тому

    Your video makes embedded dev so coool!

  • @rartero
    @rartero 3 місяці тому +1

    I love how you structure the explanation of each video, thanks, very good job!

  • @AndyDuplain
    @AndyDuplain 5 місяців тому

    Fantastic information! Thank you!

  • @artificeindustries
    @artificeindustries 4 місяці тому

    I’m really looking forward to more of these videos. Please keep them coming!

  • @jakobgegeniger6793
    @jakobgegeniger6793 5 місяців тому

    Great Introduction, I followed your guide and the setup was a piece of cake.
    I would love to learn from you, how to structure a bigger embedded project.
    Hopefully some with unit tests, that could also run partly on the Host system.

  • @rbsfinger
    @rbsfinger 4 місяці тому

    " Oxidation forms on the metal." Dope. Subscribed.

  • @Jon4as
    @Jon4as 6 місяців тому +1

    Very nice video!
    But waiting for the next one will be hard!

  • @nilton61
    @nilton61 6 місяців тому +1

    Maybe this is a tangent. But back in the days i developed some, lets call them exotic, i/o techniques for coping with limitations. For example using analog multiplexers to read a whole matrix keyboard with just a few pins or reading both channels of an encoder and using them as a 2bit value to index into an array to detect state changes. Without doing soma analysing it feels a bit hard to implement these with HAL or BSP.
    Great video, exact the right level of detail and great pace and well scripted. Thank you

  • @alexs6986
    @alexs6986 6 місяців тому +2

    This is just phenomenal content

  • @PlayerOne1999
    @PlayerOne1999 6 місяців тому +3

    Finally this video pop out🎉🎉.

  • @FedynaPavlo
    @FedynaPavlo 6 місяців тому +1

    I guess my biggest problem with your videos is that they come out not that often. Otherwise, the best embedded tutorials so far!

    • @therustybits
      @therustybits  6 місяців тому +2

      This one was supposed to come out several weeks ago, but travel and sickness pushed it back... on the upside, the delay allowed me to catch a fairly major update to the `nrf-hal` crates, which if missed would have rendered the example from the HAL chapter inoperable when run under the latest version. So there is a silver-lining to being late I guess 😂

    • @lohikarhu734
      @lohikarhu734 5 місяців тому

      better a bit less often, and this quality maintained!
      BTW, any suggestion for just learning more Rust basics...strangely, by connecting bare metal to Rust, I start to understand more... big thanks!

  • @ozanmuyes
    @ozanmuyes 4 місяці тому +1

    The video is amazing, as is Rust and embedded capabilities. But like this one almost all the videos I've come across talks about blinky (I guess it's the Hello World equivalent for embedded).
    Nevertheless I'd like to shift gears and utilize other peripherals like WiFi, Bluetooth, gyro etc. Can someone point me the direction? Where should I start?

  • @neekonsaadat2532
    @neekonsaadat2532 6 місяців тому

    Fantastic video! Great job covering the process of finding the information you need and implementing an idea start to finish. This series is going to become a staple for getting started with embedded rust, and even rust alone for some!

  • @nicholasmascioni3333
    @nicholasmascioni3333 6 місяців тому +1

    Really high quality video, great job!

  • @sebastianestay
    @sebastianestay 15 днів тому

    This is gold, thank you

  • @mikkelens
    @mikkelens 6 місяців тому

    I wish I had this exact video before I started working with my microprocessors HAL a couple weeks ago, and before I tried working with my 8x8 multiplexed LED just last week. Excited for more videos!

  • @slash.9882
    @slash.9882 6 місяців тому +1

    great video, glad to be watching part 2

  • @j-p-d-e-v
    @j-p-d-e-v 6 місяців тому

    I started studying embedded rust last saturday and did this blinky exercise. Rooting for more of your videos in the future. Great content!.

  • @WilliamWatkins-o6z
    @WilliamWatkins-o6z 6 місяців тому

    Great, This is way I'm at, looking forwards for the next video. I'm actually really eager to your videos as they will be my supporting material to try and persuade colleagues to try rust in their projects. thanks

  • @cubedude76
    @cubedude76 3 місяці тому

    wow this was an extremely well made video thanks!

  • @thebigswiss1239
    @thebigswiss1239 6 місяців тому

    Thank you very much!!!!!

  • @fluffy_tail4365
    @fluffy_tail4365 6 місяців тому

    Thanks for this overview, coming from C embed it can be a bit confusing to find your bearings in the rust ecosystem. The ability to possibly write your own BSP for custom boards to properly handle complex peripherals (like IC2 screens or memory) sounds great

  • @utubercj
    @utubercj 5 місяців тому

    The video is awesome : it makes embedded rust fun to learn !

  • @CyrilLEVIS
    @CyrilLEVIS 2 місяці тому

    Your videos are awesome, thanks a lot !

  • @mannycalavera121
    @mannycalavera121 6 місяців тому

    Superb videos. Clear, concise, beautiful.

  • @centameta8597
    @centameta8597 4 місяці тому

    See you soon, in each video, in each amazing work :)

  • @CanadaElon
    @CanadaElon 6 місяців тому

    He is definitely a team leader ❤

  • @KirylZhydalovich
    @KirylZhydalovich 5 місяців тому

    I can't wait for the next tutorial, the are so great!

  • @PauloLuisFranchiniCasaretto
    @PauloLuisFranchiniCasaretto 6 місяців тому

    Great content, and great production. The music is such a vibe

  • @andrewrussellmalcolm
    @andrewrussellmalcolm 6 місяців тому

    Great video. I'm off to try some of these approaches on my stm32 projects😊

  • @unaimillian
    @unaimillian 6 місяців тому

    Very informative videos! Thank you a lot for the effort ❤
    I'm new to the embedded world so clarifications on each step are very useful. Also cool to know how to approach the same problem with a different layers of abstraction.

  • @ybb_
    @ybb_ 6 місяців тому

    These vids are awesome, please do continue!

  • @jackkendall6420
    @jackkendall6420 6 місяців тому +1

    Pro content, respect.

  • @peterklemenc6194
    @peterklemenc6194 6 місяців тому

    Fascinating and educational, thank you!

  • @VladimirDjokic
    @VladimirDjokic 6 місяців тому

    You were born to be a teacher!! Great Video!

  • @yondaime500
    @yondaime500 6 місяців тому +2

    11:30 this is called the TypeState pattern, by the way.

  • @justinw6978
    @justinw6978 6 місяців тому

    Thank you for another excellent video! :D

  • @kv7622
    @kv7622 6 місяців тому

    this reminds me of a Friends episode (I know) "He uh, forgets to umm… Oh-oh he always, he always umm-Oh, who am I kidding! He’s the best roommate ever! (Hugs Chandler.)" The best Embedded Rust series ever! Keep up the great work.

  • @yad-thaddag
    @yad-thaddag 6 місяців тому

    I don't know Rust and I don't write embedded software, but this video is amazing!

  • @skippy_oz
    @skippy_oz 6 місяців тому

    Damn, these are good. Love the tone, love the rythm. Keep up the great work!

  • @dymastro788
    @dymastro788 6 місяців тому

    Thank you!! Awesome stuff

  • @miguelfrutos8738
    @miguelfrutos8738 6 місяців тому

    Great video!! Thanks for sharing

  • @homeape.
    @homeape. 2 місяці тому

    this was super cool

  • @FuadIsmail
    @FuadIsmail 6 місяців тому +1

    I knew this one's coming after the last one 😁 Already pre-liked the video! ❤

  • @1vader
    @1vader 6 місяців тому

    5:25 btw, there's also a write_volatile method on pointers, so you could have written this as GPIO0_PINCNF21_ROW1_ADDR.write_volatile(PINCNF_DRIVE_LED). It saves an import and reads slightly nicer imo.

  • @edgeeffect
    @edgeeffect 6 місяців тому

    Very very good breakdown of the various layers of abstraction in embedded Rust... "oxidation forms on the metal"... NICE!
    My main take away from this is that the nRF52833 is quite a nice chip... sounds loads less over-complicated than the STM32s

    • @ekon01cz
      @ekon01cz 6 місяців тому

      STM32 has one of the best documentation out there. What do u mean over-complicated? Setting output pin is about setting THREE registers.

  • @Saturate0806
    @Saturate0806 6 місяців тому

    the into got me hooked

  • @sluagh5534
    @sluagh5534 6 місяців тому

    Loving your channel, great video!

  • @Ramiprops
    @Ramiprops 6 місяців тому

    Another video, another banger. Keep up the good work!

  • @descriptionsuchandsuch4709
    @descriptionsuchandsuch4709 6 місяців тому

    Such a great video! Your videos are truly the best ones I've seen regarding embedded rust. The others were always skipping some steps and left a lot of ambiguity.
    If you are ever searching for ideas to make a video out of: I'd love to see one that ports one little program to multiple different microcontrollers / boards to show the steps that need to be changed.
    Or a video about using SPI to drive a simple peripheral - for example an 8x8 LED-Matrix. I tried the latter, but failed due to the MAX7219-crate potentially having some bugs.
    Please continue to make these great, detailed videos. Tell us if you're in need of patreon subscriptions :-D

  • @arniesneider7163
    @arniesneider7163 2 місяці тому

    I love your videos, keep going!

  • @luqasc1
    @luqasc1 6 місяців тому

    You make great content!!
    Keep it coming 🔥🔥🔥

  • @johnwu5908
    @johnwu5908 6 місяців тому

    Strong Opening

  • @jesusvelasco4893
    @jesusvelasco4893 6 місяців тому

    Amazing

  • @TheOmfg02
    @TheOmfg02 6 місяців тому

    Man, you’re gonna get big :)

  • @panagiotischagias4119
    @panagiotischagias4119 6 місяців тому

    awesome!

  • @pedromota7506
    @pedromota7506 6 місяців тому

    Gotta love this guy ❤

  • @lefran229
    @lefran229 6 місяців тому

    Keep up the great work!!

  • @reinhardtvonbrandis3760
    @reinhardtvonbrandis3760 6 місяців тому

    Awesome video!

  • @tomekmgr
    @tomekmgr 6 місяців тому

    Fantastic!, thanks ❤

  • @IvanDeMarino
    @IvanDeMarino 2 місяці тому

    Hey mate, what happened?
    I’m sure I speak for others: we would love to have more content. You are gifted!
    Hope you can back to this series.

    • @therustybits
      @therustybits  2 місяці тому +1

      Here you go! ua-cam.com/video/wni5h5vIPhU/v-deo.html

    • @IvanDeMarino
      @IvanDeMarino 2 місяці тому

      @@therustybits I know. Thanks for doing this new video just for me :P

  • @hemlobrypto
    @hemlobrypto 6 місяців тому

    man i love this channel

  • @drew-koning
    @drew-koning 6 місяців тому

    Another great video!

  • @henrispriet9812
    @henrispriet9812 6 місяців тому

    amazing video!

  • @fdm-monster
    @fdm-monster 6 місяців тому

    I recommend people to take a look at Embassy. The concept in this video and the previous ones is great, but it is also very complicated. Just my 2 cents

  • @arnetriesyoutube
    @arnetriesyoutube 6 місяців тому

    I really loved this video and I hope to see more from you soon :)
    One question: What is your workflow with music? Do you write it yourself or is there some nice software you use? Is it stock music that is just timed really well?
    Thanks!

    • @therustybits
      @therustybits  6 місяців тому

      All the music is from Epidemic Sound, for now at least.. I think I'm burning through some of their best content at an alarming rate 😅 I try to find songs that fit the mood of the chapter or just sound cool & help carry the story forward, and try not to reuse tracks between videos. Editing is done in Final Cut Pro. We'll see how long I can continue making videos this way, but for now I'm really enjoying how they turn out 😀

  • @skinoma
    @skinoma 6 місяців тому

    Finally another video :))

  • @krauterbaguette3645
    @krauterbaguette3645 6 місяців тому

    love when you drop a new video 😂

  • @eliwhalen604
    @eliwhalen604 6 місяців тому +1

    Curious what the name of the book is on the table in the background haha

    • @therustybits
      @therustybits  6 місяців тому +1

      Slowly making my way through “The Linux Programming Interface”…

  • @jrmoulton
    @jrmoulton 6 місяців тому

    So good!!

  • @BensProgrammingLab
    @BensProgrammingLab 6 місяців тому

    Hey, I really love your videos! Thanks for the videos! I wanted to ask if you could at some point also cover embedded Linux with rust?

    • @therustybits
      @therustybits  6 місяців тому

      Possibly! Must admit that is not my wheelhouse: running on embedded Linux is probably going to more closely resemble a Rust program developed for your host machine (using `std`) than something that is highly resource-constrained like an MCU (using `no-std`). Would be interesting to investigate eventually though...