Arduino in 100 Seconds

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

КОМЕНТАРІ • 912

  • @kehan6252
    @kehan6252 Рік тому +1593

    Arduino was what brought me into Programming.
    I wanted to build robots and eventually iron man (of course, it never happened) so I played with Arduino and learned about Programming.
    Then I moved onto Python and now I'm in Web Development watching this awesome channel.

    • @restsheets2962
      @restsheets2962 Рік тому +43

      Bro, you same as me. I also started with arduino, then pygame in Python and then i'm learning vuejs

    • @angryman9333
      @angryman9333 Рік тому +89

      you should've continued hardware programming :(

    • @konstantinrebrov675
      @konstantinrebrov675 Рік тому +31

      Why did you choose Web Development over Embedded Systems?

    • @kehan6252
      @kehan6252 Рік тому +38

      @@konstantinrebrov675 Truth be told, I did love embedded systems programming but there were no jobs to do with those stuff in my country so I had to switch to web dev. Honestly, I'm starting to like Web Dev more and since there's limited hardware in embedded systems and there's tons of things to do in Web Dev.

    • @noertri618
      @noertri618 Рік тому +8

      @@kehan6252 do it for hobby

  • @hasanthesyrian_
    @hasanthesyrian_ Рік тому +1748

    As a Mechatronics Engineering student, Arduino is a godsend.

    • @GSBarlev
      @GSBarlev Рік тому +95

      💯 Back when I was a physics undergrad (15ish years ago) our closest equivalent to an Arduino was a multi-hundred-dollar GPIO EVM hooked up to a computer running LabVIEW.
      (We also had to walk one mile to the physics building, uphill, in the snow)

    • @i0x37
      @i0x37 Рік тому +63

      @@GSBarlev you also had to defy physics on the way back by walking 1 mile, uphill in the snow once again

    • @jonas1630
      @jonas1630 Рік тому +16

      Hello fellow Mechatronics Engineer and Arduino enjoyer!

    • @pexenn23
      @pexenn23 Рік тому +1

      Its easy

    • @Oxigenium1
      @Oxigenium1 Рік тому +6

      @@GSBarlev But back then there was a microcontrollers already. Even without UV-erasable rom, just with flash as today. There was no problem to build your own playground with bread boards and circuits and use loaders for flashing. And there was people who did all sort of these things as well.

  • @StephenGillie
    @StephenGillie Рік тому +738

    My favorite thing to do with an Arduino is hook up an ultrasonic distance sensor and a relay shield, and plug an RC car into the relays. Then a one-liner in the loop to Map distanceFromWall to motorOutput, so it slows as it approaches a wall and stops just before. Map is a cool function that scales a value from between one set of ranges to between another set of ranges, vastly simplifying scaling arbitrary outputs with arbitrary inputs.

    • @tobbleboii5988
      @tobbleboii5988 Рік тому +17

      one thing i always wondered is why they made the map function using long as in and putput type, rather than float or double (or better yet, auto)
      it took us a while to figure out why we couldn't use it to map the analog input to a voltage. The remedy was to look up the map function of arduino online, copy it into your code and replace all long with float. It makes voltage reading so much more accurate

    • @Djellowman
      @Djellowman Рік тому +4

      Why would you use ultrasonic instead of an optical sensor?

    • @3Rton
      @3Rton Рік тому +7

      @@Djellowman wouldn't using optical sensor imply a lot more variables. E.g. if your lightsource is behind the car its own shadow will reach the wall before the sensor does so you'd get stop at different distances from the wall based on the environment lighting.

    • @StephenGillie
      @StephenGillie Рік тому +13

      ​@@Djellowman Ultrasonic has longer range than infrared optics, and isn't affected by temperature. I have some infrared sensors that basically stop working (detector always detects) when it's over around 90 F or 30 C outside. And cameras are a lot more complicated, need to figure out CV and maybe need another shield.

    • @AndrewTSq
      @AndrewTSq Рік тому +1

      @@Djellowman infrared ones can be sensitive to sunlight etc also, giving you noisy (more noisy) data then ultrasound.

  • @doesdev
    @doesdev Рік тому +726

    Purpose-Built Easy-to-Learn Programming Language.
    Yep, a good description of C++.

    • @jonforhan9196
      @jonforhan9196 Рік тому +75

      Easy to learn hard to master lol

    • @hackfleischking5162
      @hackfleischking5162 Рік тому +53

      True, I have to learn python after years of C++ and I hate it. C++ is so easy. It just does what you say with a few basic functions and keywords. Using python sometimes feels like it does what it wants.

    • @maksymiliank5135
      @maksymiliank5135 Рік тому +39

      @@hackfleischking5162 I felt the same thing. When I wanted to pass an object to a function in python i didn't know if it was a copy or a reference. C++ gives you a lot more control and python does a lot of things for you, but I like to know what's happening under the hood

    • @anon-fz2bo
      @anon-fz2bo Рік тому +2

      @@maksymiliank5135 yea I'm in the same boat

    • @Ok-_-719
      @Ok-_-719 Рік тому

      Yeah

  • @Joel-pl6lh
    @Joel-pl6lh Рік тому +198

    I tried to learn programming multiple times before, but when I got an arduino, that's when I got hooked. Seeing your code directly affects the world and react to it is just amazing! It also started my passion for engineering, and I am now studying in Comp. Eng :)

    • @hackfleischking5162
      @hackfleischking5162 Рік тому +14

      Same for me. I coded a bit in school and it was fun and all but programming something that does something in the real world was the real shit for me. Then the dark time when I had to programm a website came and I lost all the fun and quited programming for years. After many years the company where I work at a mini job needed a prototype, bought some components and needed someone to programm the arduino. I was asked if I could do it because I told them I programmed in the past. I had no idea what an arduino was or how to programm in C++ but I tried and created an abomination of stupid code that finaly did what it should. I had so much fun that I started studying embedded software development.

    • @hanasschoolwork4564
      @hanasschoolwork4564 Рік тому +1

      I love how different people are. We had to learn arduino first and while I didn't hate it, trying to connect the wires and sensors with my shaky hands was a hassle lol, I really started enjoying coding after we started to focus more on the software side.

    • @Joel-pl6lh
      @Joel-pl6lh Рік тому +4

      @@hanasschoolwork4564 Bro how many redbulls do you drink per day connecting wires is not hard💀
      But I agree that with many wires it can become messy, and sometimes you don't know if the problem is hardware or software side

    • @hanasschoolwork4564
      @hanasschoolwork4564 Рік тому +1

      @@Joel-pl6lh I drink a lot of coffee but my hands are just naturally shaky. I can't even take stable pictures lmao.
      And yep! Debugging the software side is enough for me :D

    • @siarheilabetsik5658
      @siarheilabetsik5658 8 місяців тому +1

      I love your avatar dude. I tried to remove a hair from my screen.

  • @vicradon
    @vicradon Рік тому +439

    I love embedded electronics and I'd say this is a very good intro video to Arduino.

    • @StephenGillie
      @StephenGillie Рік тому +14

      I get a special feeling thinking about my code moving across the floor, driving a remote control car's motors.

    • @angryman9333
      @angryman9333 Рік тому +11

      @@StephenGillie it makes you have an impact unlike software coding which is all virtual!

    • @konstantinrebrov675
      @konstantinrebrov675 Рік тому +2

      Yes, I agree with your statement.

    • @vicradon
      @vicradon Рік тому

      @@konstantinrebrov675 thank you ☺

  • @theabyss5647
    @theabyss5647 Рік тому +124

    Correction (you probably know that of course, but I'm not comfortable with imprecision): Arduino doesn't have its own language. It also isn't simplified C. It's actually C++, it's just that Arduino (the organization) built easy to use libraries around (initially) AVR libraries so that you could program in english, not in microcontroller technical.

    • @loekwous
      @loekwous Рік тому +5

      That == true, a lot of people say it is modified c, but avr-gcc compiles c++ without a problem.

    • @w花b
      @w花b Рік тому

      ​@@loekwous What's the problem with == true? Is it because the "true" doesn't exist in C? You can still add stdbool.h I don't get it

    • @loekwous
      @loekwous Рік тому

      @@w花b that was more or less a C/C++ joke. That == true --> that is true

    • @devrim-oguz
      @devrim-oguz Рік тому +1

      Well the libraries are mostly written in C, but the Arduino code usually resembles a C program.

    • @larrysal8866
      @larrysal8866 Рік тому +1

      @@loekwous it compiles C without a problem too

  • @JonathanBeri
    @JonathanBeri Рік тому +344

    Would love to see more hardware development content on this channel!

  • @DqwertyC
    @DqwertyC Рік тому +2933

    Ah yes, C++, a well known, purpose-built, easy to learn programming language.

    • @virabhadra2
      @virabhadra2 Рік тому +185

      Yes, it sounds emotional.
      But with Arduino you use only C-syntax. The rest of work is just to call sequentially the functions from Arduino libraries. Most of time you spent to study which function to call and with which args. Finally you don't have to be an experienced C/C++ programmer to feel free in Arduino.

    • @ramanmono
      @ramanmono Рік тому

      ua-cam.com/video/Fm5Ust7vEhk/v-deo.html

    • @mon0051
      @mon0051 Рік тому +119

      Why do people keep saying “you only use c syntax”.
      It’s 100% regular c++. There are some libraries auto imported by a pre processor , and the build tool is configured for you, but it’s still just c++.

    • @JuanBeta23
      @JuanBeta23 Рік тому +22

      It's just a bit harder than java, which of course it's also super easy to learn

    • @w花b
      @w花b Рік тому +3

      ​@@JuanBeta23 it's cool on the surface

  • @christoslytras7912
    @christoslytras7912 Рік тому +295

    The language itself is a custom C++ compiler that compiles to the instruction set of ATMega328P microcontroller and variants. I have written many arduino programs using C++ classes and making objects out of them.

    • @pavfrang
      @pavfrang Рік тому +40

      It is not a custom C++ compiler, it is the commonly used gcc. Depending on the architecture, the gcc variant is used, e.g. avr-gcc for the AVR CPUs. Yes, the default language is the C++ and more specifically C++11. Indeed, a bunch of header files is also included to allow every functionality of the microcontroller - however, this does not "change the language" technically.

    • @savejeff15
      @savejeff15 Рік тому +24

      its not even a custom c++ compiler. the .ino file is just rearranged to have all the functions at the top.
      i would also say that as there are Arduino cores for almost all architectures, Arduino is basically a standardized hardware abstraction

    • @jonforhan9196
      @jonforhan9196 Рік тому +1

      Even lambdas work in it, it’s basically g++ without std lib support

    • @vlad-the-compiler
      @vlad-the-compiler Рік тому +7

      @@savejeff15 indeed, Arduino is essentially a HAL - Hardware Abstraction Layer.

    • @yashaswikulshreshtha1588
      @yashaswikulshreshtha1588 Рік тому

      How did you use c++ on it? Please tell me, I really want to use c++ on arduino!!! Would be great help

  • @iceman442ho
    @iceman442ho Рік тому +8

    Arduino is one of the main reasons I started to learn how to code. Started with a line follower on a UNO and, over time, moved on to a 3D printer on a Mega.

  • @MindlessTurtle
    @MindlessTurtle Рік тому +18

    Yes, more hardware stuff, please. Would love a video on CUDA with Python.

  • @kingofgamesyamiyami6269
    @kingofgamesyamiyami6269 Рік тому +42

    Please do PlatformIO in 100 seconds! It's such a huge step up from the basic tooling Arduino provides by default.

    • @bradk8590
      @bradk8590 Рік тому +4

      A video on FreeRTOS could also be cool

    • @robertkirk6162
      @robertkirk6162 Рік тому +1

      @@bradk8590 Agreed. Also an ESP32 video those things are swiss army knives

  • @paulwhiterabbit
    @paulwhiterabbit Рік тому +20

    It's almost a decade ago but I still remember the school project we made with arduino, a basic calculator that just adds 2 numbers. I also remember how my fingers bleed from how much I peeled the wires while debugging it physically. But I don't remember a dedicated *.ino file for it. We just used C.

    • @unknownguywholovespizza
      @unknownguywholovespizza Рік тому +2

      Yes because C/C++ and rust are used for embedded programming so it's possible

  • @mondobe
    @mondobe Рік тому +4

    This is perfect! Just started working with Arduino yesterday in my Digital Electronics class.

  • @mh6276
    @mh6276 Місяць тому +3

    One thing. At 0:20, that is not the microcontroller, the microcontroller is actually the little black square near the ethernet port.

  • @XplorersofTech
    @XplorersofTech Рік тому +3

    I coded in arduino day and night at a summer camp I went to, it's amazing! I love the number of libraries available!

  • @CarbonAnimationProductions
    @CarbonAnimationProductions Рік тому +4

    literally the best tutorial ive ever seen, i wish people made more of these!

  • @jeffreysegovia7656
    @jeffreysegovia7656 Рік тому +2

    I'm an electronics engineer who jumped into the Web dev world. I worked with arduino alot and I can say that this video is really good! ☺

  • @huskielunar5185
    @huskielunar5185 Рік тому +6

    A video about FPGAs would be great! Learning that right now with a friend of mine

  • @AhmedHan
    @AhmedHan Рік тому +2

    Yes, I would like to see more hardware development content in this channel.

  • @brandon_wallace
    @brandon_wallace Рік тому +3

    I am so glad you did a hardware video. You should do more of them. I bet you could do a video on Single board computers, Super computers, IoT, mechanical keyboards, maybe even mice.

  • @florinbaciu2325
    @florinbaciu2325 Рік тому +152

    Cool videos, but i noticed some errors.
    1. 1:32 , arduino uno outputs 5V when a "pin" is set to high
    2. Correct me if I'm wrong, but Arduino is based on C++
    3. 2:00 , you cant really directly connect a motor to a digital pin, in most of the cases you would use a shield, or a driver to drive that motor
    Other than that, cool videos :). I really love this format

    • @yogpanjarale
      @yogpanjarale Рік тому +12

      2. Arduino ide langauge is very simplified Than C++ you can use C++ but without std

    • @CaioAletroca
      @CaioAletroca Рік тому +32

      1. Don't think this is a error, because there's a "greater than" sign before the 3.0V label, so technically yes, HIGH value is over 3.0 V
      2. You are right, this is an error, Arduino IDE uses C++, not a custom language
      3. Well, he means put a motor on a protoboard, not directly into the Arduino....

    • @jamesinman9262
      @jamesinman9262 Рік тому +2

      @@yogpanjarale Correct. I won a scholarship from a coding competition hosted by a local automotive company last June. I used low level concepts for optimization such as direct port manipulation and bit fields to save space on booleans and numbers and such.

    • @Pixelcrafter_exe
      @Pixelcrafter_exe Рік тому

      The high is Arduino library being weird. It's just a binary true.

    • @RealJohnnyDingo
      @RealJohnnyDingo Рік тому +1

      the uno uses an atmega328p-pu, which also works on a range of voltages including 3.3v, in which case the high output is 3.3v. if that really makes a difference to you I think you already know what you're doing 😁

  • @10a3asd
    @10a3asd Рік тому +5

    This is by far the most useful Arduino 'getting started' video out there. I wish I'd had this simple of a high-level overview when I started.

  • @WalterWeight1
    @WalterWeight1 Рік тому +40

    Would love to see some stuff on raspberry pis as well! Awesome vid as always :)

    • @everyhandletaken
      @everyhandletaken Рік тому +2

      I was going to get one on 12 month backorder, with some unicorn farts I had in storage, but decided I’m impatient & broke.

    • @vectoralphaSec
      @vectoralphaSec Рік тому +2

      @@everyhandletaken Yes patience and money two things I lack as well.

    • @GSBarlev
      @GSBarlev Рік тому +3

      I hope he has the patience to wait until the supply shortage ends
      (or until competitor SBCs see the same level of Linux kernel support so we can start using the term "Pi" like we use "Arduino" now for any of a wide range of compatible board)

  • @okage_
    @okage_ Рік тому +4

    been really interested about embedded electronics for a while now so i guess its time i start

    • @tobbleboii5988
      @tobbleboii5988 Рік тому +1

      definetly! If the price is what kept you from doing so i can highly reccomend the ESP32. It's super affordable, very resilient, has more than 10 times the clock speed of an arduino nano, much better analog resolution, wifi + bluetooth and so much more. Beginning is just as easy since it works with the arduino ide, but you don't reach the limits of your microcontroler as quickly

    • @okage_
      @okage_ Рік тому

      @@tobbleboii5988 thank you ill definitely check it out

  • @lonsbury
    @lonsbury Рік тому +1

    One of the things i love the most about Arduino is the range of devices you can program with the same code.
    All the way down to 8mhz 2kb flash attiny chips the size of a rice grain, up to ESP32 chips with dual 240mhz cores, wifi and bluetooth, and enough ram to emulate a commodore 64

  • @TheSamurai1122
    @TheSamurai1122 Рік тому +3

    This is amazing, your videos are my source for developments in tech. Would love to see a video on QT QML. :D

  • @rask004
    @rask004 Рік тому

    I run a Code Club, and I started with exploring Arduino this year, the students love it and their only limit is imagination (and our funding). Plus it's inspired me to save up and hobby from home. Eventually I want to do MicroPython as well.

  • @unknown9274
    @unknown9274 Рік тому +3

    Back in my Engineering Bachelor, they made us learn microcontrollers with a Texas Instruments Board with poor documentation so I developed my course project entirely on Arduino and then later ported it to the TI chip since it’s just so much simpler to work with arduinos

  • @SnehilCodes
    @SnehilCodes Рік тому +413

    It's great to see Jeff getting into embedded electronics 😄
    PS. This is how I started coding and fell in love with building stuff
    Edit: Mom I'm famous! 🥲

    • @mayankpal6519
      @mayankpal6519 Рік тому +1

      Ya it's pretty cool.

    • @ninobach7456
      @ninobach7456 Рік тому +4

      Any tips? :)

    • @SnehilCodes
      @SnehilCodes Рік тому +5

      @@ninobach7456 stay on the lookout for all sorts of sensors and actuators (motors, lcd displays, hacked gadgets) and how they can turn into something useful if combined together.
      I started doing this to the point that I started perceiving gadgets like individual components. Helped a lot in understanding low level design of thing. I started using arduino boards in all sorts of automations/lifehacks.

    • @alessioragonesi8549
      @alessioragonesi8549 Рік тому

      same for me

    • @evanbarnes9984
      @evanbarnes9984 Рік тому +1

      @@ninobach7456 follow a couple of simple project guides first. Adafruit actually had excellent project build guides that can get you going. They do rely on their own hardware, but that's nice because then you don't have to learn how to choose hardware right away, you can lean on their expertise. Sparkfun does this too. Then after a few simple guided projects, throw yourself into a project that is WAY too difficult and keep forcing yourself to learn new things to solve problems

  • @Rachinter
    @Rachinter Рік тому +2

    U have no idea how long I've been waiting for a video about Arduino from you. Great work, need more on embedded tech. ❤️💯🔥

  • @patrick71994
    @patrick71994 Рік тому +11

    And a tip: don’t use delay. It is a blocking function which freezes everything. Instead, check if the time has already passed a given amount and do the action. If not, wait for the next loop and check again.

    • @dhupee
      @dhupee Рік тому

      millis no?

    • @LatvianModder
      @LatvianModder Рік тому

      Tbh I think is a bad tip for beginners, for it's complexity, good tip for more advanced arduino programmers.

  • @vedatylmaz6581
    @vedatylmaz6581 Рік тому +1

    Its very suprising for me to find a video about something I started learning in school

  • @kaushikdey6333
    @kaushikdey6333 Рік тому +8

    Thanks arduino, for motivating me to pursue this insufferable computer science degree by giving me dreams of how its all a piece of cake

  • @miftahulrespati
    @miftahulrespati Рік тому

    I was a Nuclear Engineering students, with Electro Mechanical study program. Matlab and Arduino brought me to programming and now I'm a web developer

  • @GSBarlev
    @GSBarlev Рік тому +76

    If you do a deeper dive into open microcontroller computing, I hope you cover how the original Arduino developers got completely shafted.
    I also would love to see a "100 seconds" on microPython (/ CircuitPython) and cover how these days you can don't even have to write static programs--you can just start up a REPL (or, better, WebREPL) and just run python commands *directly* on the device. The level to which this has cut down on iteration time and increased prototyping speed has made it *really hard* to justify going back to Arduino.

    • @brandon_wallace
      @brandon_wallace Рік тому +2

      How did the original Arduino developers get completely shafted?

    • @GSBarlev
      @GSBarlev Рік тому +4

      @@brandon_wallace Do a web search for Hernando Barragán.

    • @timmy7201
      @timmy7201 Рік тому +2

      If there is one thing Embedded engineers hate more than Arduino, it's microPython / CircuitPython.
      They're all fun toys to play with, yet useless for real hardware development projects...

    • @GSBarlev
      @GSBarlev Рік тому

      @@timmy7201 In what way? Just the lack of stability? I've found uPython to be perfectly adequate for DIY projects--even moving off the breadboard and flashing to 8285s--but I'm far from a professional engineer

    • @brandon_wallace
      @brandon_wallace Рік тому

      @@timmy7201 What would you suggest people use for embedded engineering development?

  • @Foxhood
    @Foxhood Рік тому +2

    When i first started getting interested in electronics as a hobby as a kid. hobby friendly Microcontrollers where still a bit rare. You either where looking at expensive ecosystems like the BASIC stamp or needed a complete full-fledged programmer to get anywhere, so i mostly was just making 555 circuits. Then i found the Arduino "Duemilanove" and that started a long journey. Next month i'll be defending my Thesis to get a bachelor in electrical engineering, while besides that i'm working on a retro computer project with a old-school 6502 processor.
    Funny how things can go.

  • @Bobbyhiddn
    @Bobbyhiddn Рік тому +3

    Cool! I’m about to start working with a Raspberry Pico and I was considering getting an Arduino as well to compare.

    • @vicradon
      @vicradon Рік тому +1

      Pico is easy to use as it uses Micropython which is just Python for hardware.

    • @everyhandletaken
      @everyhandletaken Рік тому

      They are quite different by design..

  • @SkyyySi
    @SkyyySi Рік тому +2

    Seriously? I literally dug up my arduino YESTERDAY after not having touched it in, like, 2 years.

  • @m4rt_
    @m4rt_ Рік тому +5

    the stretches are C++
    ...
    It's just literally C++

  • @allyourmaze
    @allyourmaze Рік тому +1

    Not gonna lie I've been fascinated by SBCs for a while but this Arduino tutorial is pretty much the only one that's made me understand what arduino is really all about

  • @D3vV0id
    @D3vV0id Рік тому +23

    We need a video on the IEC 61131-3 languages! PLC programmers are often forgotten in the coding world!

  • @dj.yacine
    @dj.yacine Рік тому +1

    100 second is the best playlist in the world 🔥🔥🔥

  • @phillies4eva
    @phillies4eva Рік тому +28

    Pretty funny that you dip into some very intense stuff when it comes to other frameworks but totally miss the most epic parts of Arduino. Namely, providing the framework and hardware to interface various sensors and controllers to wireless protocols such as Bluetooth or WiFi.

  • @preethamreddy3021
    @preethamreddy3021 Рік тому +1

    A simple and wonderful introduction to arduino please we need more videos on embedded electronics

  • @rblorre
    @rblorre Рік тому +4

    Little precision on the language: Arduino uses C++ without it's standard library, but does include the C library, and has the Arduino library built-in. The only language difference is that main() is replaced by setup and loop. It is literally compiled with gcc

    • @iliasalaur
      @iliasalaur Рік тому +2

      Nope, main isn't replaced, setup and loop are functions that will be called in main.cpp, and this isn't a language difference

    • @rblorre
      @rblorre Рік тому +1

      @@iliasalaur Correct, it isn't. It's a different way to handle entry point specific to Arduino's bootloader

  • @bd8063
    @bd8063 Рік тому

    I just bought arduino nano and MKR 1400 a week ago. I`m going to develop a carsharing service and will build gps tracker with arduino. Thanks for the video, dude you are awesome !

  • @kuma9239
    @kuma9239 Рік тому +5

    Awesome tool to instigate the love of engineering. In my first semester at college I used it to build a car controlled by a Bluetooth on my phone. Using other parts like an ALU, some leds to represent some bits and a button to be the clock we also did processor capable of running some basic instructions.

  • @mathewb7609
    @mathewb7609 Рік тому +1

    sounds like you have a cold,
    Hope you get well soon! X

  • @jonasgrnbek7113
    @jonasgrnbek7113 Рік тому +4

    I literally just helped my uncle with an Arduino he recently bought! What a coincidence

  • @magnoid
    @magnoid Рік тому +1

    Definitely more hardware dev videos!

  • @pavfrang
    @pavfrang Рік тому +15

    You are wrong on this . It is not C and it is not a "C variant". It is pure C++. You can write a class definition (in the .ino or using a .h file), and obviously there are no classes in C. The default compiler is C++11 (try using some C++11 features to verify it!). There are some classes too, like the String, Serial class, which are different from the STL classes. If you check the headers internally, you can find out the classic main function which is the entry point.
    If it were a new language it would require a custom-made compiler. The compiler is the avr-gcc (for AVR chips), which is plain gcc for the AVR CPU.
    To conclude, there is no such thing as "Arduino C" obviously - and most people are completely unaware of that. It's just C++ with some headers and class definitions which you cannot see (without searching!).

    • @doigt6590
      @doigt6590 Рік тому +1

      Not necessarily. The way a language is implemented is up to the implementer. The fact you can use C++ with Arduino code or that the Arduino code itself is in C++ doesn't prove that Wiring (the original name of the language) isn't a language and if you read anything on the subject, it is clearly the author's intent and effect that Wiring (now known as Arduino) is a programming language.
      You can, for example, implement Pascal using C++ Macros. Does that make it not a language because you can use this hypothetical Pascal with C++? No because you still need the implementation to actual use that hypothetical Pascal. The same is true with Arduino.
      Also the custom-made compiler things is a very silly idea as C and C++ have both been compiled by other language compilers apart from their own. You can write C code in C++ for christ sake! Does that make the C++ language fake, an illusion? It's a completely ridiculous concept.
      The only thing I can agree on would be saying ino is a C variant. It is technically true, but it is misleading. Though it's not the first time that there's misinformation about the Arduino going about. Most of the world is grossly misinformed about the arduino's history for example.

    • @pavfrang
      @pavfrang Рік тому +1

      @@doigt6590 based on your terminology, whenever you add your custom library (headers + implementation) in C++ you define a new language. So every program is a new language? I think your aspect is a way of viewing things in general. Even this way, I would call this a C++ extension, not a C extension. If you compile your code as pure C it will not compile - it will compile as C++ only. I am talking about the default Arduino IDE and compilers that it uses obviously.
      The creator has not created his own compiler and does not interpret the code using his own tools - he uses a plain commonly used C++ compiler, so this is the way that code is interpreted in the end.

    • @doigt6590
      @doigt6590 Рік тому +1

      @@pavfrang Your dodging the points is not addressing the points. What specific terminology did I use that makes it so broad? I never said nor implied anything you said I said. Something tells me you're not reading what I posted so I'm just going to ignore anything along the lines of this again if you don't read my post. I think you'll agree it's infuriating when people don't take the time to read what you say despite taking the time to respond... and going by the length of your post, you don't have a lot to say, probably because you don't know and you're not actually addressing any point I made.
      As for compilers being used as libraries, if for some reason that ever comes up again, just so you know it's not a new concept and has been something going on for a while in many programming languages.
      Also last question, can you compile your ino code without any arduino tooling? Yeah I thought so, you must be using wizardry.

  • @azlan2907
    @azlan2907 Рік тому

    YUP! We definitely want more hardware dev content

  • @adityaanuragi6916
    @adityaanuragi6916 Рік тому +14

    I'm learning this in college rn lol but u really should've touched on the analog pins too for handling non binary input

    • @rblorre
      @rblorre Рік тому

      Agreed

    • @adityaanuragi6916
      @adityaanuragi6916 Рік тому +1

      @@rblorre I remember we used a potentiometer to adjust brightness of LED and was confused as heck why didn't do pinMode for an analog pin
      Turns out they're for input only so not required
      And pinMode can only set digital input or output
      Fireship should've explained this

    • @seb_thoms
      @seb_thoms Рік тому +1

      @@3793loop The analog input works over a built-in ADC, that's what the original comment was referring to

    • @rblorre
      @rblorre Рік тому

      @@adityaanuragi6916 Yep, use pwn pins for this purpose

  • @HomeCode
    @HomeCode Рік тому +1

    Rad! I'm a web developer and coding and robotics teacher and having some micropythyon or robotics with JS could be cool. The Johnny npm package is pretty great for this.

  • @austinmajeski9427
    @austinmajeski9427 Рік тому +5

    Could you do one about the ESP32 chips? (like the popular esp32-C3 by Espressif Systems)

  • @emaker1233
    @emaker1233 Рік тому

    Arduino is what made me realize how easy it is to start programming, this is a good intro to both the software and the hardware.

  • @jetseverschuren
    @jetseverschuren Рік тому +4

    Purpose built language is incorrect. It's C++ with a custom, easy to use, HAL library

  • @danielfernandes1010
    @danielfernandes1010 Рік тому

    The Arduino was what introduced me to programming. Was really into electronics for most of my childhood, the Arduino changed everything.

  • @candowe4926
    @candowe4926 Рік тому +179

    When you appear to be something but your entire image cancels out itself:

  • @varunahlawat9013
    @varunahlawat9013 Рік тому

    Yesss yessss yesss more hardware related content!

  • @kilgarragh
    @kilgarragh Рік тому +4

    0:35 sike, its actually just c++

  • @giffarialfarizy7310
    @giffarialfarizy7310 Рік тому +1

    Wow I never expected that you will discuss arduino 😮

  • @Mike-tb2hw
    @Mike-tb2hw Рік тому +7

    All I know this is the one computing channel AI is not gonna replace. Fantastic as always! 🎉

    • @vibaj16
      @vibaj16 Рік тому

      what if it's already an AI?

    • @micmacha
      @micmacha Рік тому +1

      @@vibaj16 What if... I'M already an AI!?!?

    • @Mercan1556
      @Mercan1556 Рік тому

      @@vibaj16 what if not?

  • @kebien6020
    @kebien6020 Рік тому +1

    "A simplified version of C"
    The language: Literally C++

  • @jstbyte280
    @jstbyte280 Рік тому +4

    This was missing in this channel.
    Now The Channel is Complete.
    Arduino Framework is Awesome But IDE is not.

  • @polaris_babylon
    @polaris_babylon Рік тому

    I would love to see more Hardware topics here!

  • @0brine
    @0brine Рік тому +3

    Wer all gona assend from Fullstack Developers to Fullware Developers

    • @0brine
      @0brine Рік тому

      Hardware + Software = Fullware

  • @arthurfleischman
    @arthurfleischman Рік тому

    PLEASE I BEG for hardware content with your video quality, btw Im an engineering student, and U helped me a lot

  • @necauqua
    @necauqua Рік тому +3

    The "arduino language" is literally c++, what?.. The sketch file just has the .ino extension and gets automatically a few includes added as well as a main method that runs the setup once and the loop continuously

  • @samarthtandale9121
    @samarthtandale9121 Рік тому +2

    I wanna see more such hardware and system development content on this channel, so I hit the like button!

  • @inzaghiposumaalkahfi9650
    @inzaghiposumaalkahfi9650 Рік тому +3

    1:08 I think, Arduino is prefer to C++. Because, in C++ are more developed the Libraries and Data Types.

  • @shoaibsabir019
    @shoaibsabir019 Рік тому

    That’s nice i have been looking to start playing with hardware but don’t know exactly how to start before this video

  • @ricardocnn
    @ricardocnn Рік тому +3

    I think that with Raspberry pi you can use others programming languages, even JavaScript.

    • @C0ntroller
      @C0ntroller Рік тому +2

      You are right, but it also has some downsides, mainly that the RPi will use more power doing nothing than the Arduino does when it's running code. It also costs much more. I would say they are targeted for different use cases: the RPi as low-energy general purpose Linux machine and the Arduino as way to make smart electric circuits and prototype IoT applications.

    • @dirrelito
      @dirrelito Рік тому +1

      RPi is really not the right tool if you want analog signals (Arduino boards have ADC onboard), 5v logic, or timing sensitive protocols. They have different use cases.

    • @rblorre
      @rblorre Рік тому

      Yes, but, do you want it to not melt 😂

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Рік тому

      Arduino can do microsecond-level response times, Raspberry π cannot.
      That’s the difference between a full computer running a full OS, and a bare-bones one running just the code you compile for it and nothing more. Each has their uses.

    • @ricardocnn
      @ricardocnn Рік тому

      @@lawrencedoliveiro9104 you are right, Raspberry is a full computer, but It has a lot of processing power.

  • @jeggalicious
    @jeggalicious Рік тому

    Thanks, was just planning on learning about Arduino products

  • @the555timer
    @the555timer Рік тому +9

    0:04 why tf does he have saftey glasses on?

  • @teamllr3137
    @teamllr3137 Рік тому +1

    If anyone is wondering, in the professional world, engineering directly manipulate registers because its faster

  • @de-ar
    @de-ar Рік тому

    "Meaning of Life" in 100 seconds next?
    Great videos man!

  • @grapy83
    @grapy83 Рік тому

    Wow. Best Arduino introduction ever 💪

  • @FranoGames
    @FranoGames Рік тому +1

    we learn arduino in class. a bunch of 13 year olds learning c++ as their first language is certainly a good idea. (arduino is basically c++ with custom compiler)

    • @kebien6020
      @kebien6020 Рік тому +1

      Not even a custom compiler, it's a custom wrapper around a regular C++ compiler (GCC if I remember correctly)

  • @j0131n
    @j0131n Рік тому

    Very timely, I've been wanting to learn this.

  • @crazycat2969
    @crazycat2969 Рік тому

    We started developing with Arduino in school, gotta say I like it so far

  • @arjunbv1866
    @arjunbv1866 Рік тому

    Kindly continue doing hardware related videos. Love all your content.

  • @nonstandarduser_
    @nonstandarduser_ Рік тому +1

    The smaller arduino nanos can also be an excellent 'USB converter', enabling all sorts of things through direct serial communication with a computer via USB.

  • @arabiccola
    @arabiccola Рік тому +1

    sleep(420) ... Ha ha
    Hey Jeff! I'm incredibly excited to see you doing Arduino! You did it no less wonderfully than I expected. I've tried to reach out to you via email to suggest you do NodeRED in 100 seconds. I also offered to give you input on that as I have been teaching this stuff for a few years and I think only a few people know about it. It's really an amazing tool. Please feel free to reach out!

  • @Padoinky
    @Padoinky Рік тому +1

    This was very helpful

  • @emanuelescarsella3124
    @emanuelescarsella3124 Рік тому +1

    I CAN'T BELIEVE IT!
    I just started a project where I'm using Arduino and you release it.
    What kind of wizard fukery is that?

  • @birdpump
    @birdpump Рік тому +2

    Yes, more embedded computing videos. Make one about FPGAs!

  • @codedpirater
    @codedpirater Рік тому +1

    Finally u got this one ❤️ fireship 🔥

  • @rakeshchowdhury202
    @rakeshchowdhury202 Рік тому

    I seriously have concerns this guy monitors my internet history.
    I just started learning Arduino, this guy made a video on it

  • @karstens7893
    @karstens7893 Рік тому +2

    It's c++ with the Arduino libraries not a custom language but does feel close to one

  • @GearsDatapacks
    @GearsDatapacks Рік тому

    I got into arduino recently. IT can be challenging sometimes, but it's fun.

  • @saurovrc
    @saurovrc Рік тому +1

    Love to see more hardware videos 🎊

  • @quantumsoul3495
    @quantumsoul3495 Рік тому

    I used to build Arduino projects when I was a kid. I highly recommend it as a way too learn programming/electronics to kids

  • @0xRAND0M
    @0xRAND0M Рік тому

    Fireship is God sent.Thank you so much for this.

  • @PlotTwists
    @PlotTwists Рік тому +2

    With chatGPT out there we better swap to hardware jobs :(
    Thanks fireship ... always ahead of the curve

  • @MARYAMOUSSA-e1l
    @MARYAMOUSSA-e1l 19 днів тому

    ما شاء الله على الشرح الواضح و الدقيق

  •  Рік тому

    Oh, I can finally add embedded systems engineer to my resume !! thanks fireship

  • @darkfllame
    @darkfllame Рік тому +1

    arduino actually uses c++, but it automatically include the needed files for I/O :)