Edit : The tail is Nicely done whereas the front is, well slapped on a sticker.

      • bitfucker@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Pick a hardware to tinker with. I’d suggest a development kit rather than some cheap mcu-psu-downloader-only board. Now listen, it may be more on the expensive side, but you don’t have to deal with hardware trouble first since many development board usually provide a lot of functionality to play with.

        Second, check the official documentation for said devkit and play with it. You’ll ended up immersing yourself on your selected manufacturer but that’s fine for learning.

        After you’ve more understanding of the workflow for embedded development, then I can safely advice you to start exploring. A simple one would be programming the same board but using a different workflow. You may ended up with the manufacturer IDE, and wondering how to get to your beloved editor for example. Then you start to learn the build workflow until download and debug step.

      • BassTurd@lemmy.world
        link
        fedilink
        arrow-up
        12
        ·
        3 days ago

        Low level programming skills in a low level language, C being the most popular. With memory safe languages like rust gaining more traction, C may eventually be a thing of the past, but imo, learning C will make you a better programmer in all languages because if you know C you know how everything works. Other than that, it could be something that uses a specific language like Arduino. Embedded programming is generally programming that interfaces with hardware directly, so really it’s just knowing how to program, and then doing it in a specific area.

        There’s a good book called Code: the hidden language of computer hardware that goes in depth of computer architecture and build up from there.

      • Ethan@programming.dev
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        3 days ago

        You need to understand how code actually works. If you’ve only worked with highly abstracted languages like Python, Ruby, JavaScript, etc then you should probably start by learning lower level languages like C or C++. Or maybe Rust and Go but they’re kind of low level and abstracted at the same time. If you already know C/C++ then buy yourself an Arduino (or equivalent) and start screwing around. If you’re in school and interested in this as a career, take some electrical engineering or digital circuit design classes.

        • jubilationtcornpone@sh.itjust.works
          link
          fedilink
          arrow-up
          5
          ·
          2 days ago

          One of the best bosses I ever had was an electronics engineer (I’m software). There are a lot of shared concepts between engineering disciplines. I enjoyed working with hardware engineers and getting to see how they approach problems.

          • squaresinger@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            9 hours ago

            You mean with an actual plan?

            “Agile development” (aka business substituted a plan with utter chaos and daily changing super-urgend demands) has ruined our industry.

            Agile done right can be helpful, but in 95% of times, agile isn’t done right.

            Electrical engineering can’t quite work like that because if you want to try out a change you have to order new, expensive prototype boards that take time to be finished and delivered. Can’t just run a new pipeline and have the new version in production within minutes.

        • RamblingPanda@lemmynsfw.com
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          I used to utilize Arduinos, but since I tried an ESP32 I never looked back. Those fit my needs much better and come with all the connections I want. Especially in combination with home assistant.

          • Ethan@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 days ago

            It sounds like you already know how to do embedded programming, at least at the hobby level. For someone who’s new to that, Arduino IDE is the easiest learning curve I know of. As far as which boards to use, I have no specific feelings which is why I said Arduino or equivalent.