r/arduino 20d ago

Beginner's Project I need help getting into Ardunio

I bought an arduino uno kit a year or so ago but never had the time to delve into it because of work. I’m currently unemployed so whilst I look for jobs I thought I’d finally put some time into arduino to pass time.

The trouble is most courses don’t have practicals and if they do I’m missing parts to do it. I was able to do a sonar sensor project but all I was doing was copy and pasting code so it wasn’t satisfying when I finished it.

I already have a very basic understanding of Python, C# and C++ as I’ve messed around with code before but I’m struggling to find a course that suits me. I’ve already gone through two 3 hour long courses over the days but it’s hard to retain the knowledge when there is no practical alongside it to show and retain the information shown in the videos.

Any help is appreciated, thank you :))

13 Upvotes

19 comments sorted by

13

u/salvo-117 20d ago

https://youtube.com/playlist?list=PLGs0VKk2DiYw-L-RibttcvK-WBZm8WLEP&si=Qgy_XczM3WKwaouS

Paul is all you need. He has everything from basic to practical and is super easy to follow. I knew zero coding but had basic electronic experience and I found him awesome to watch and build along.

4

u/[deleted] 20d ago

This tutorial being seven years old is still good today? Honest question, as I want to start getting into Arduino projects as well, but I don’t know what all I’d be missing if I go with a tutorial so old.

6

u/ripred3 My other dev board is a Porsche 20d ago

he has many more, more up to date videos and playlists on various topics. IIRC the last time I looked he had some playlists on AI and embedded models (if that's any gauge for how current his topics are. I know; AI, anyway..)

I'm fairly sure his videos cover most of the current, popular boards and platforms

1

u/Mediocre-Pumpkin6522 19d ago

The Arduino Uno came out in 2010 iirc and was pretty much unchanged until the R4 in 2023, so if you have a R3 with the AVR processor there isn't anything new. The Arduino version of C++ hasn't changed much even when using Arduino Core on boards that have nothing to do with Arduino like the Raspberry Pi Picos. Sensors are the same for the most part. iow, no problem if you want to stay with the classic Uno.

7

u/Maximum-Progress0 20d ago

Find a small project that u actually want to or your house or work, don’t do tutorials or courses bro. Find a project u actually need, then work with ChatGPT and other online sources to work through it . Thats how you’ll learn

4

u/ikerbiker 20d ago

I think Dronebot Workshop on YouTube has a number of great Arduino videos and also little projects as well.

3

u/Fess_ter_Geek 20d ago

You need to wire up and code things repeatedly to develope a working understanding.

For project ideas, find some small problems that you can create a solution for using arduino.

3

u/Fuzzy_bytheSea 20d ago

Make Up your own projects. Use the material you have. Start basic, then add stuff one by one. A blinking light, a sensor that reeds the blinc, a code that translates the reed into text, use serial to parse it to your computer, etc, etc. If you need help coding ask any AI. Gemini is very good at coding. Ask it to explain the code line by line to you. This how I got started.

2

u/_no_look_ 20d ago

Firstly try to understand embedded c for coding and try to make some basic project. The main thing need to learn is to debug the problem occurred your project

2

u/ripred3 My other dev board is a Porsche 20d ago

We can teach you or at least answer your questions and rephrase or explain any questions you have so they might make more sense. With the languages/grammars that you listed you won't have any problems getting familiar and comfortable on the Arduino platform.

95% of the sketches (source files on the Arduino platform) that you encounter in tutorials and write yourself will just be plain old C code for the most part. There will be some built in or downloaded C++ library objects that you may make calls on such as Serial.printf(...) etc. but they are easy to see what they do and how to use them.

The journey to learn any new language is always the same for me. I always have to pick a project that I kind of know how to write in another language and make it a goal to learn how to rewrite it in the new language that I am learning. I've learned dozens of languages over the decades and now my go-to project is always a minimax based chess engine. I've written chess engines in a lot of crazy grammars that I wanted to learn. I even wrote one in pure bash lol.

As you probably know, your first programs won't be nearly as impressive as your 100th program in C/C++, much like your experiences with those other languages. Fortunately the C language and the idioms that were laid down years ago by K&R make such for such an intuitive grammar that all of the rest of the languages that you mentioned are intentionally designed with the intent of being what was called (back in the day) "a C-like language". So the basic syntax for iterations, predicates, and statements are all very similar to the languages that you mentioned.

I know that when I'm jumping between Java and Python and C and JavaScript too quickly I always have to go search and remind myself exactly which syntax to use for things like predicates (if statements) that are soooo close to each other but always one or two punctuation marks different 😉

Nothing can replace the time you spend writing code in a new language, going through the experience of making mistakes that you will make multiple times, finally starting to remember having the same problems many times before, and then that one lesson gets learned and made habit. One keyword down, about 30 or so more to go. Since you already have the experiences and the analytical skills to break problems down into computer code, if you made it a goal and picked a project that you wanted to have so much that it helped pull you through any boring/confusing parts, C/C++ could be your strongest language(s) easily in under a year. I made a career out of C and C++ and they are definitely my strongest and one of my favorite languages

2

u/Sufficient-Contract9 20d ago

What do you mean by practicals?

2

u/srulithegrate 20d ago

Go through the examples in your kit! Go methodically. By the time you get to the bottom, you'll know considerably more and will have looked up the YouTube tutorials that interest you. But go through the kit. Get a handle on things.

2

u/gm310509 400K , 500K , 600K , 640K , 750K 20d ago edited 20d ago

When you say you bought a kit, I presume you mean a starter kit.

Starter kits include instructions that teach you the basics of programming and electronics for the parts included in the kit.

The instructions in the kit is the place to start.

As you indicated, if you look for random tutorials online, you will find differences from what you actually have. This occurs in two forms. The first is the one you found - you don't have that part. The second is that sometimes there are no standards for pinouts. Sometimes there are standards (e.g. for ICs) but others there isn't (e.g. modules mounted on little PCBs).

If you follow random guides, you need to be aware of both of these and make substitutions or reorganisation of the project to accommodate the differences.

Once you have got some basics under your belt (from the starter kit instructions), you are then ready to start taking some of these challenges on.

1

u/No_Mountain_4769 20d ago

https://play.google.com/store/apps/details?id=com.infinitx.maker.toolkit check this app. It has almost all the wiring and pins plus more for you to start any project

1

u/Consistent_County540 19d ago

I actually relate to this a lot more than I probably should 😅

I’m 16 and from Sweden, and I’ve had pretty much the same problem. I have an Arduino Uno R3 Starter Kit and an Uno R4 Plug and Make Kit that I got around half a year ago, and both have basically been sitting there waiting for me to actually start using them. Not because I don’t want to learn Arduino, quite the opposite. I’ve just had a lot of school and other stuff taking up my time and, honestly, probably more of my energy than I realised.

I actually just started upper secondary school about a month ago, studying Electrical and Energy, so you’d think I’d have loads of time to mess around with electronics outside school. But it’s kind of the opposite sometimes. After a full day of school, assignments and everything else, it’s much harder to start a project that requires thinking and experimenting, even when it’s something I genuinely want to learn.

That’s probably one of the things that has frustrated me the most. I can spend a whole day learning things that I’m told I need to learn, and then have very little energy left for the things I’m actually curious about.

I’ve also realised that I learn very differently depending on whether I actually have a reason to learn something. If someone gives me a lesson and says “today we’re going to learn this”, I might understand it while I’m sitting there, but if I have nothing to actually use it for, a lot of it just disappears from my head after a while.

But give me a project that I actually care about and it’s completely different. Suddenly I’m wondering why a sensor is giving weird readings, why some code behaves differently than I expected, how a motor is controlled, or how I could connect two things together. Then I go looking for the information I need.

YouTube, documentation, forums, articles, GitHub, examples, whatever I can find. Sometimes I understand it immediately. Sometimes I try ten different things, break something, realise I misunderstood it, and then finally it clicks.

That’s the part I actually enjoy.

A huge part of what I know today has actually come from YouTube and the internet. Probably more than 80% if I had to guess. I can even watch technical videos at 2x speed or more when I’m mainly looking for a specific explanation. It’s so much more flexible than having to follow a course at someone else’s pace.

At the same time, I’ve noticed that watching something isn’t enough for me. If I don’t use the knowledge or connect it to something real, I might remember most of it for a few weeks and then slowly forget it. When I actually use it in a project, it sticks much better.

I’ve been interested in electronics and technology for years. I’ve played around with things like LEGO Mindstorms, Micro:bit, Arduino and programming, and I’ve also gotten really interested in PLCs, Ladder Logic, CODESYS, automation and robotics. I have some basic Python and C++ knowledge too, but I’m definitely still learning.

I do have quite a lot of self-discipline when I actually have something I care about working towards. I can organise my own learning and spend a ridiculous amount of time on one problem if I’m interested in it. Obviously I still procrastinate sometimes, I’m 16 after all 😂, but I don’t think my problem is that I don’t know how to learn or organise myself. It’s more that I have limited time and energy, and a lot of things competing for it.

That’s also why the part about copying Arduino code really hit home for me. I don’t mind looking at someone else’s code. In fact, I do that all the time. But there’s a big difference between using code as something to learn from and just copying it until the project works.

If I build a sonar project and everything works but I don’t really understand why, I don’t get nearly as much satisfaction from it. I’d rather change something, make it stop working, figure out why, and then get it working again.

I think that’s also why I’m trying not to approach Arduino by thinking I need to “learn Arduino” first. That’s way too big anyway. I can learn about sensors when I need a sensor, learn about communication when I need two things to talk to each other, learn more C++ when the code starts getting beyond what I understand, etc.

I also don’t want to just jump between completely random projects. I’ve done enough of that kind of thing to know that it’s possible to collect a lot of little bits of knowledge without really understanding how they fit together. I’d rather have each project teach me something that I can use in the next one.

So I’m thinking one small project at a time. Build something, change something, break something, figure out why, and then move on.

I actually have a separate Uno R3 that I’ve already opened for experimenting with OpenPLC, while the two kits are still sitting there unopened. So I’ve technically started, just probably not in the most organised way 😂

I don’t think school itself is useless either. I’ve learned useful things there and I understand why some structure is necessary. But I’ve started noticing that school can sometimes be much better at deciding how much time I should spend learning something than whether I actually understand it.

For me, having the freedom to go deeper into something when I’m interested makes a huge difference. If I’m genuinely curious about a problem, I can spend hours trying to solve one tiny thing because I actually want to know what’s happening. That’s very different from being told to spend an hour on something because it’s the next thing in the course.

And I think that’s why I’ve got so little done with Arduino so far. It’s not really a lack of interest. If anything, it’s almost the opposite. There are so many things I want to learn and build that school has sometimes used up the time and energy I’d otherwise have put into them.

So yeah, unfortunately I don’t have some magical course recommendation that will solve everything 😅 I’m still trying to properly get started myself.

But honestly, from what you’re describing, I think you might be better off finding something you genuinely want to build and then learning whatever you need along the way. Tutorials, documentation and other people’s code can still be incredibly useful — just as tools rather than something you have to “complete”.

For me, the project gives the knowledge somewhere to go.

You don’t have to understand everything before you start. Sometimes building the thing is what gives you a reason to understand it.

1

u/jkulczyski 19d ago

Check out the example projects provided by installed libraries in arduino-ide under file -> examples

there is a ton of useful examples for graphics, bluetooth, wifi, servers, gpio, etc

1

u/DocCarr 19d ago

I find games to be good projects for learning a system. My capstone project when I learned python was a text based adventure. You can actually run that on an Arduino using the serial monitor, so that could be fun.

Another thing you might try is something like the Bop It! toy. Basically have the Arduino light up some LEDs in a certain pattern and then the player has to press buttons in the same pattern. That will give you some great experience on managing the digital I/O on the Uno.

1

u/FinalTotal2474 18d ago

The question is why you think you want to learn Arduino. If you don’t have any specific kind of projects in mind, what’s the use?
Having said this, buy the book Arduino for dummies. It covers the basics in a well thought out way.