38
rutee07
13d

Excited to learn again. I'm glad we have a shop that delivers these things in just two days even during the lockdown. :)

Comments
  • 4
    Nice.

    Look into PlatformIO, it will save you the pain of dealing with the Arduino IDE.
  • 3
    @PrivateGER Thanks for the tip!

    *"just the tip" plays in the background*
  • 1
    Nice, now you can penetrate that breadboard with the stuff included in the kit.
  • 3
    @Bybit260 No, I didn't try to penetrate it with my dick! Such accusations! Oh, you mean the other stuff.. Ah, yes, I suppose that would work.
  • 2
    Mikroe have some nice stuff too mate, if you decide you wanna up your game from arduino raspi and other little shits
  • 0
    @molaram I'll check it out, looks like it's available here too. Thanks!
  • 2
    @PrivateGER ? Arduino IDE is pretty painless as embedded IDEs go. In my experience platformio is way more unstable.
  • 1
  • 5
    @rutee07 Arduino is infamous for people not actually learning anything, but stitching together bad quality stuff, but I guess it's also what you make out of it. Like going through the chip datasheets although Arduino does everything to spare you that.

    If you intend to learn, then a good initial aim would be an LED blinky that doesn't use the Arduino libraries, i.e. where you do all the register stuff manually. The fastest route is using the libraries, analysing what exactly they're doing while having the chip manual open to see what which register setting does.

    I'd also recommend an introduction to basic electronic components in case you're not already familiar with that (just 38 minutes) because microcontrollers have always surrounding circuits for application:

    https://youtube.com/watch/...
  • 3
    @Fast-Nop I guess I will dig deeper after making a few stuff. At this point, I just don't know what to get and where to start. The things I read online and the items I see in the shops still look alien to me.

    I will do what you said in the second paragraph. Thanks for the advice.
  • 3
    @rutee07 One thing that I found particularly difficult to wrap my head around as beginner were how the booting and interrupts work, but it's not that hard once you get how the plot goes.

    There is a pre-defined location in the flash-ROM, usually the beginning, where the interrupt table has to be put. The kicker is that within the table, the function addresses for each interrupt have a fixed location by chip design.

    The chip always starts execution there, fetches the address of the reset interrupt function and the initial stack address, then jumps to the reset interrupt function and starts execution.

    Interrupts are similar - enabled via some register for each functionality, and when the event occurs, the chip looks into the interrupt table what the function (ISR - interrupt service routine) for that interrupt is.

    What can be somewhat tricky is getting the toolchain to put the table right there, which involves the linker file telling the linker to put the table at the right place.
  • 3
    @Fast-Nop orrr...@rutee07 could just start off with lego-ing stuff together and get to all that good stuff over time. It's literally what Arduino is for, and you can get started with interrupts and direct GPIO register access and stuff within Arduino too by only using as much of their framework as you want.

    Or go both ways and learn how to write stuff from scratch while simultaneously using Arduino's stuff to actually do thing and meet in the middle somewhere (i.e. use Arduino to do something then see how it actually works underneath).

    Either way my point is just that you shouldn't discount how useful and fun Arduino's libraries are. The hArDcoRe approach doesn't really get you actually building tangible stuff till much later, you'll be stuck on booting the mcu and writing a serial driver for weeks (since this isn't your job and debugging tales forever, I'm assuming you only get a couple of hours per week for this).
  • 3
    @RememberMe You don't learn much by just stitching things together. Learning involves doing, and doing takes time. Wax on, wax off.

    It's also a reason why putting "Arduino" in your CV when going for jobs in embedded isn't a good idea.
  • 3
    @RememberMe And yeah, I guess I'm oldschool, but what I've seen again and again is people who take shortcuts will be stomped later because they omitted the basics. The result is that as soon as something nasty happens, they can't debug anything because they don't even know where to start.

    If you learn from the basics, the initial progress seems slower - which is a problem for a lot of young people these days because they are after instant gratification in everything. But the reward will be much greater because it's not just that you get something done, you also know how it works.

    What ready-made Arduino stuff is good at, that's non-devs getting some stuff done e.g. for model railways, art installations or so. They don't want to understand how it works, they just want results, and that's totally fine for their needs.
  • 2
    @Fast-Nop top-down and bottom-up are both valid approaches to learning. You unilaterally advocate for bottom-up. Sure it's great but it's not the only way to do things. I find some people respond much better to seeing and playing around with the higher level and then diving deep to the lower levels. It really does depend on the person and I've seen people do great with both approaches. Learn low level details for sure, but there's no one right way to do it.

    Arduino is a perfectly valid way of doing dev stuff too, not just art installations and the like - but for prototyping. Production code has different requirements. And honestly if Arduino fulfills the requirements of production code, why not. Not everything needs to be a hardcore aerospace contract level project. If that's a problem then it's the production code requirements at fault, not the Arduino libraries, which are imo great.

    I'd also like to point out that I've heard countless old-timers complain about youngsters only caring about instant gratification and youngsters cribbing that old-timers are stuck in the past and refuse to learn/do anything new, and in my humble opinion they're both wrong :p

    I'd go so far as to say that the current generation of devs is, statistically, exactly the same as the previous, because human nature has remained basically the same. It has become a lot more popular with attendant decrease in average hardcore-ness, which is to be expected, but that doesn't mean that hardcore folks aren't around, if anything there are more of them.
  • 2
    Ouh I had a similar one, the RFID stuff is pretty neat.
  • 2
    Yeet !!!
  • 4
    @RememberMe Arduino IDE is a nightmare when you want to use C++ and have multiple source files.
  • 2
    @rutee07 if I may make a suggestion, try reading up on the physics of electricity and move on to simple then more complex concepts and circuits. You will be able to accomplish much more if you have a good grasp on the basics as opposed to just pasting in some schematic and components, which pretty much equals to copy-pasting code from SO

    Maybe there are some formally educated electrical engineers here who can come up with some good pointers on a lean learning path

    Just so you don’t end up like those “developer” shitheads who “write” “code” but have no clue how a CPU works or what a bit/byte is or what the logical operators do.
  • 2
  • 3
    @molaram See the YT link I gave, that's a solid intro with just 38 minutes.
  • 2
    @Fast-Nop that is awesome mate!
  • 1
Add Comment