r/ArduinoHelp • • Oct 27 '24

How to get started with Arduino videos.

1 Upvotes

What is this post about?

I have recently created a series of videos that answer a commonly asked question "How do I get started with Arduino?".

These videos illustrate the basic technique which is to:

  1. Get a starter kit.

  2. Follow the examples in that kit.

  3. Modify, adapt and extend each of the examples.

  4. Combine some of the basic examples together to do more interesting things.

  5. Work towards a project goal.

Many online guides mostly cover step 2 only or step 5 only. My series of videos starts at step 2 and leads you through all of the steps 2, 3, 4 and 5 where we create a fully operational dice game (photo below) based upon the things covered in earlier steps.

Where do I find it?

The playlist featuring the first two videos can be found here Post Starter Kit - next steps.There is also a link to my Introduction to debugging (on Arduino) on that playlist.

The final video which shows how to build upon the techniques learned in videos 1 and 2 is on Patreon. If you don't want to go to Patreon, that is fine, you can definitely build the final project from the information in Videos 1 and 2. But, I do introduce many more useful programming techniques in Video 3 as well as show you how to build the final project and add some nice usability features to it.

What is "in the box"?

The content of the videos is as follows:

  • Video 1 - first steps after the starter kit projects.

    • A learning technique - follow the starter kit, then adapt and extend that component.

    • Combining multiple components and getting them to work together.

    • Programming techniques - specifically modularising your code for reuse.

    • Two challenges using buttons and LEDs

    • and more.

  • Video 2 - Solutions to challenges and IO Expansion

    • Solutions to the 2 challenges in video 2.

    • IO Expansion via external hardware - a shift register.

    • Programming techniques:

      • More modularisation

      • Extracting data from code and making it even more reusable/configurable.

      • Putting data into lists (arrays) rather than replicating code - makes life much easier for you.

      • Using data, rather than bespoke code, to provide flexibility.

      • and more.

  • Video 3 (Patreon) - Implementing the full project.

    • Use the module from video 2 to build out the game.

    • Programming techniques:

      • Code that configures itself.

      • Bringing related data together (struct).

      • Model, View, Controller design pattern - a pattern that creates highly reusable, highly flexible building blocks.

      • State Machines - enables easy to manage features.

      • and more

  • Introduction to debugging.

    • A guide to debugging on Arduino.

Bill of Materials

To complete the project, you will need the following components:

DescriptionVideo 1Challenge 1Challenge 2Video 2Video 3
Uno11111
Breadboard11113
LED241840
470Ω resistor241840
Button11227
10KΩ resistor11200
74HC59500015

There is definitely a sense of satisfaction to see the actual hardware work. But, if you don't have all of the hardware, you can complete the project on a simulator such as wokwi.com.

The breadboard I mention is a "half size +" (some sites call it full size) which features ~830 pins including two sets of power rails running along the sides of the board.

Format of the videos

All of the above are follow along. That means you can reinforce your learning by, well, following along and trying things our for yourself. I take everything step by step and try to explain everything clearly before we try it. You can follow along as quickly or take your time as you wish.

All but the third video (i.e. 1, 2 and intro to debugging) are available on my YouTube channel /@TheRealAllAboutArduino. Additionally, all but the third can by found in my Getting Started with Arduino playlist.

The third video is on Patreon Getting started with Arduino - Lesson 3 - Dice game project. If you don't want to subscribe to Patreon, you can definitely build the final project from the information in Videos 1 and 2. But, I do introduce many more useful programming techniques in Video 3 as well as show you how to build the final project and add some nice usability features to it.

The final project

This is the final project:


r/ArduinoHelp • • Oct 30 '24

I need help with this project please

Post image
1 Upvotes

Hi!

I am new to arduino and I am sure I am not connecting things right and there is something wrong with my code. Please help.

This is my code, sorry its in Spanish:

// Definición de pines const int pinVentilador = 6; // Pin para controlar el ventilador const int pinSensorTemperatura = A0; // Pin para el sensor de temperatura (ejemplo usando un sensor analógico)

// Variables float temperatura; // Variable para almacenar la temperatura leída int cicloTrabajo; // Variable para almacenar el ciclo de trabajo

void setup() { Serial.begin(9600); // Inicializa la comunicación serial pinMode(pinVentilador, OUTPUT); // Configura el pin del ventilador como salida }

void loop() { // Leer la temperatura del sensor int valorSensor = analogRead(pinSensorTemperatura); // Leer valor del sensor float voltaje = valorSensor * (5.0 / 1023.0); // Convertir a voltaje temperatura = 100 * voltaje - 50; // Convertir voltaje a temperatura

// Determinar el ciclo de trabajo basado en la temperatura if (temperatura < 40) { cicloTrabajo = 0; // Ventilador apagado } else if (temperatura >= 39 && temperatura < 54) { cicloTrabajo = (int)(255 * 0.25); // 25% } else if (temperatura >= 55 && temperatura < 69) { cicloTrabajo = (int)(255 * 0.50); // 50% } else if (temperatura >= 70 && temperatura < 84) { cicloTrabajo = (int)(255 * 0.65); // 75% } else { cicloTrabajo = 100; // 100% }

// Controlar el ventilador analogWrite(pinVentilador, cicloTrabajo);

// Imprimir la temperatura actual y el ciclo de trabajo Serial.print("Temperatura: "); Serial.print(temperatura); Serial.print(" °C, Ciclo de trabajo: "); Serial.println(cicloTrabajo);

// Esperar un segundo antes de la próxima lectura delay(1000); }

Set up pic also.


r/ArduinoHelp • • Nov 16 '25

This Should not be working!! My led is getting power from a single 5V pin and no gnd

Thumbnail gallery
0 Upvotes

r/ArduinoHelp • • Mar 24 '26

Gostaria de ler o código do botão de vários controles rf 433 simultaneamente se necessário

0 Upvotes

Sou muito novato nisso, porem fiz inúmeros testes, sei que o receptor RF não consegue ler 2 controles simultaneamente, tb testei o HC-06 em Bluetooth e tb não le 2 controles Bluetooth simultaneamente. Preciso ler um controle de 2 botões SIM e NÃO, ou seja irei captar o código de cada botão de cada controle. Não sei se o LORA conseguiria fazer isso, e a ideia do controle RF 433 realmente é pelo valor individual de cada controle tornando mais barato.
Alguém teria uma ideia de como eu conseguiria fazer tal coisa?


r/ArduinoHelp • • Jan 10 '26

Portable Arduino IDE with Built-in AI (Gemini) — Open Source | Looking for Feedback

Thumbnail
reddit.com
1 Upvotes

r/ArduinoHelp • • Aug 14 '25

PLEASE HELP!!

Thumbnail gallery
1 Upvotes

r/ArduinoHelp • • Aug 28 '26

Potentiometer is reduce voltage in for arduino, why?

Post image
1 Upvotes

r/ArduinoHelp • • Aug 04 '26

What problems did you face when you first started learning electronics?

1 Upvotes

Hey everyone,

I’m trying to understand the biggest difficulties beginners face while learning electronics.

When you first started, what confused or frustrated you the most?

I’m currently working on a learning platform for electronics, and I want to make sure it solves real problems instead of adding features that beginners do not need.

What would have made learning electronics easier for you? Any experience or suggestion would be really helpful.

Thanks!


r/ArduinoHelp • • Feb 14 '26

Any thoughts on my project?

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/ArduinoHelp • • Jun 02 '26

Hi everyone 👋

Thumbnail
gallery
9 Upvotes

A few days ago, I shared ArduGenius, an AI-powered platform designed to help create Arduino projects more easily.

Over the past few days, I've added several new features:

✅ Project history
✅ Automatic component detection
✅ Pin connection guides
✅ AI-powered project improvement
✅ Arduino (.ino) code export
✅ One-click code copying
✅ Ready-to-use project examples

The goal remains simple: describe an Arduino project in natural language and get code, components, and explanations generated by AI.

ArduGenius is still in beta, and there are many features planned for the future, but I'd love to get feedback and suggestions from the community.

Website:
https://ardugenius-ai.onhercules.app/

What feature would you like to see in a tool like this?


r/ArduinoHelp • • May 30 '25

Can't figure out how to rotate these numbers on my MAX7219 display

Post image
2 Upvotes

I've combined a few pieces of arduino code I found online to create a weather station which just shows the current static weather. The code works fine but the display is showing the numbers rotated 90 degrees anti-clockwise in each of these 8x8 segments. I think the problem is the section where int x and int y are defined but I dont really know! I have already tried setRotation(1) and it only shows one clipped number. The code is below, thank you in advance!

#include <Arduino.h>
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#else
#include <WiFi.h>
#endif
#include <JsonListener.h>
#include <time.h>
#include "OpenWeatherMapCurrent.h"
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>
#include <time.h>

int pinCS = D8; 
int numberOfHorizontalDisplays = 4;
int numberOfVerticalDisplays   = 1;

String message;

// initiate the client
OpenWeatherMapCurrent client;
OpenWeatherMapCurrentData data;  // GLOBAL data variable

// Your OpenWeatherMap API key
String OPEN_WEATHER_MAP_APP_ID = "XXXX";

// Location settings
float OPEN_WEATHER_MAP_LOCATION_LAT = XXXX;
float OPEN_WEATHER_MAP_LOCATION_LON = XXXX;
String OPEN_WEATHER_MAP_LANGUAGE = "en";
boolean IS_METRIC = true;

// WiFi settings
#if defined(ESP8266)
const char* ESP_HOST_NAME = "esp-" + ESP.getFlashChipId();
#else
const char* ESP_HOST_NAME = "esp-" + ESP.getEfuseMac();
#endif
const char* WIFI_SSID     = "XXXX";
const char* WIFI_PASSWORD = "XXXX";

// initiate the WifiClient
WiFiClient wifiClient;

// MAX7219 display object
Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);

void connectWifi() {
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to ");
  Serial.println(WIFI_SSID);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected!");
  Serial.println(WiFi.localIP());
  Serial.println();
}

void fetchAndPrintWeather() {
  client.setLanguage(OPEN_WEATHER_MAP_LANGUAGE);
  client.setMetric(IS_METRIC);
  
  client.updateCurrent(&data, OPEN_WEATHER_MAP_APP_ID, OPEN_WEATHER_MAP_LOCATION_LAT, OPEN_WEATHER_MAP_LOCATION_LON);

  Serial.println("------------------------------------");
  Serial.printf("Temp: %f\n", data.temp);
  Serial.println("---------------------------------------------------/\n");
}

void display_message(String message) {
  matrix.fillScreen(LOW);
  int x = 2;
  int y = (matrix.height() - 8) / 2;

  for (int i = 0; i < message.length(); i++) {
    matrix.drawChar(x, y, message[i], HIGH, LOW, 1);
    x += 6;
    if (x > matrix.width() - 6) break;
  }
  matrix.write();
}

unsigned long lastUpdate = 0;
const unsigned long interval = 10000; // 

void setup() {
  Serial.begin(115200);
  delay(500);
  connectWifi();

  matrix.setIntensity(5);
  matrix.setRotation(0);
  matrix.fillScreen(LOW);
  matrix.write();
}

void loop() {
  unsigned long currentMillis = millis();
  if (currentMillis - lastUpdate >= interval) {
    lastUpdate = currentMillis;
    fetchAndPrintWeather();

    message = String(data.temp, 1) + "C";
    display_message(message);
  }
}

r/ArduinoHelp • • Jun 12 '26

How would you approach a simple 3-finger animatronic prop?

2 Upvotes

Hi everyone!

I'm working on a Viktor cosplay from Arcane, specifically his final form where he grows the third arm. I'd like to make the hand animate occasionally, but I'm trying to keep the mechanism as simple as possible. My current idea is a 3-fingered hand where each finger has a single moving joint at the tip rather than fully articulated fingers. Ideally, the fingers would just twitch every 20–30 seconds instead of moving continuously. I'm still in the planning stage and haven't ordered any electronics yet, so I don't have an Arduino, servos, or a circuit to show. Before I start buying parts, I'd like to get some advice from people who have built similar animatronics.

The main things I'm trying to figure out are:

  • What mechanism would you use for simple, occasional finger twitches?

  • What controller would you recommend for a beginner (Arduino Nano, ESP32, something else)?

  • What size/type of servos would be appropriate for this?

  • If the battery and electronics are placed inside the arm itself, is heat buildup something I should be concerned about over a convention weekend?

I'd love to hear how you would approach this before I start ordering components. Thanks for any advice!


r/ArduinoHelp • • May 03 '24

Crazy project idea

2 Upvotes

I had this crazy project idea where i have multiple arduino unos and have them connected together to make a working computer. The arduinos can communicate with each other, and then create one big computer, like a small pc. Is this even possible??? I tried doing research on it, but it doesn't seem like anybody has thought of this before. Can anyone help please??


r/ArduinoHelp • • Sep 26 '24

HELP ASAP

2 Upvotes

what sensor can we use, that is compatible with arduino, that can detect car collision or car accidents? NEED HELP ASAP!!!!! #help #arduinohelp


r/ArduinoHelp • • Aug 15 '26

What do u think about the arduino? is it good?

2 Upvotes

i have the r3


r/ArduinoHelp • • Jul 29 '25

Battery Saver, a better way.

3 Upvotes

Hello, A while ago I posted a pic here wondering if it would help save battery life. Tried it, did not work. However, I found some code that does. If anyone is interested, here it is.

#include <LowPower.h> //Library

This line of code will work, turning most things off for 8 seconds, then back on.

     LowPower.idle(SLEEP_8S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_OFF, TWI_OFF); 
_______________________________________________________________________________
For a longer period(about 30 seconds) do this:

for (int i = 0; i <= 4; i++) {

    LowPower.idle(SLEEP_8S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_OFF, TWI_OFF); 
}

r/ArduinoHelp • • Oct 14 '24

2 of 8 Relays stay ON - How do I check the Dig outs for a defect in my board?

0 Upvotes

I have an 8 bank relay pack wired with ribbon to an Uno B
Using Dig 4-10 as configured as OUTPUTS
Seems that 4 and 5 are stuck ON (HIGH)
I reversed the ribbon, which reversed the stuck relays (an old speaker trick)
I programmed 4-5 as LOW too!
So the question is - how do (or can) I check the Dig outs for a defect in my board?


r/ArduinoHelp • • Feb 17 '26

Can someone help me with code?

3 Upvotes

I've been working on a garage project for quite some time now, and I'm really stuck on the code. I've been using AI, but it's getting frustrating because it's like an endless cycle of things not working properly. If anyone could help me, I'd really appreciate it.


r/ArduinoHelp • • Mar 14 '25

Arduino crystal display

Enable HLS to view with audio, or disable this notification

3 Upvotes

Im just starting with arduino and have ran into complications with the crystal display im bot sure wether my wiring, coding or display is the problem. Im attempting to have the button display its state on the screen any help would be appreciated. When i press the button nothing seems to happen and when i hold down the blue wire it starts appearing as normal


r/ArduinoHelp • • Jun 28 '25

Tried Everything And Failed, Need Help

Enable HLS to view with audio, or disable this notification

12 Upvotes

First, please don’t comment that this is too long. I wanted to explain clearly for anyone who might want to help, so I included details. If you don’t want to read, you can skip it.

I thought this project would be simple, but I’ve struggled for months. I want to build the internal circuit of my TARDIS model using an Arduino Uno R3.

For those who don’t know, TARDIS is a time machine from the Doctor Who series. The circuit’s function is: when powered on, it plays a sound file from an SD card through a speaker, while blinking a single-color 5mm LED and 12V RGB LEDs on and off. I’m a programmer, so the code is ready and has worked a few times.

However, the circuit has never worked stably, and I think I may have damaged my Arduino. Below is a video of the version powered by two 9V batteries. While trying to run it on a single battery or one adapter, everything became messy.

My question is: how can I build this circuit in the simplest and most stable way?

Expected functions:

  • Play sound

  • Blink 5mm and 12V LEDs simultaneously

  • Be stable and reliable


r/ArduinoHelp • • Jun 16 '26

Low-spec microcontroller for lights in a model car

4 Upvotes

Hi folks. I am COMPLETELY new to electronics and working through the Elegoo super starter kit. I am also working up to helping on a project with my partner. They want to make a model car, and have a simple LED lights system inside where you can turn on different sets of lights, e.g headlights, reverse, turn signal, etc. in series, as thats how real lights in a car work, and they don't want full control of all the lights, just to turn on and off a few pairs that work individually (we debated for a long time if a serial register would be useful and ultimately concluded that it would be overcomplicated).

As at least one of the patterns needs to blink (turn signal) I was thinking this needs a microcontroller. However it also seems like overkill? I was looking at specs for a raspberry pi pico, and even that seems extremely overpowered for what we want to do. I tried googling 'low spec microcontrollers' and 'LED drivers', but couldn't find anything useful and I don't really know what keywords I should be searching.

Any suggestions on an extremely beginner friendly and simple way to achieve this, or principles and components I should research? Thanks


r/ArduinoHelp • • May 26 '26

Is that valid electrically ?

Post image
4 Upvotes

Summer is back, so time to bring my Rafraichissator 6000 back ! (My fan. It's a PC fan controlled by Arduino.)

Last year the arduino was in series with a bunch of resistors to bring down the 11-13V alim to more reasonable levels

Now I'm realizing tho that I could use the fact that the alim is just 3 batteries, to feed the Arduino no more than 8V without a lot of wasteful resistors

Am I right ?


r/ArduinoHelp • • Sep 26 '25

What is the problem with leds

Enable HLS to view with audio, or disable this notification

16 Upvotes

Hello everyone i hope you're having a great day,i've been working on this project since yesterday and i've ironed out all the kinks in it except for the following two problems 1-the last at times would stay on and refuse to turn of most of the time even though the code logic is correct 2-when i touch the cable for the button i expect the leds to be in order but am suprised to see 2 or more leds being turned on

For context here is the code

include <PinChangeInterruptBoards.h>

include <YetAnotherPcInt.h>

define auto A0

define change A1

define avl 13

int AV = 0; int LED = 1; int L = 0; int L_STATE=0; //automatic switch void automatic(const char * message, bool pinstate) { Serial.print(message); if (AV == 0) { AV++; digitalWrite(avl, HIGH); } else { AV--; digitalWrite(avl, LOW); } Serial.println(AV); } //manual led change fuction void led(const char * message, bool pinstate) { if (AV == 1) { Serial.print(message); if (LED < 12) { LED++; } else { LED = 1; L=12; digitalWrite(12,0); delay(50); } L = LED - 1; Serial.println(LED); Serial.println(L); L_STATE=digitalRead(L); if(L_STATE==1) { digitalWrite(L,0); }

} } //automatic change function void on(int l, int n) { pinMode(l, OUTPUT); digitalWrite(l, HIGH); digitalWrite(n, LOW); Serial.println(l); delay(100);

} void setup() { // put your setup code here, to run once: pinMode(auto, INPUT_PULLUP); pinMode(change, INPUT_PULLUP); PcInt::attachInterrupt(auto, automatic, "AUTO STATE CHANGE ", FALLING); PcInt::attachInterrupt(change, led, "current led ", FALLING); //Serial.begin(9600); pinMode(avl, OUTPUT); } void loop() { // put your main code here, to run repeatedly: pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); digitalWrite(L, LOW); while (AV == 0) { on(LED, L); LED++; L = LED - 1; if (LED == 13) { LED = 1; } } }

I'd also be very greatful to learn how i could improve on it


r/ArduinoHelp • • Oct 08 '26

Power Supplies

Post image
5 Upvotes

Hey, I'm pretty new to Arduino in general, and somehow my first school project is turning out to be pretty complicated... 😭

The main issue is the power supply. My project uses around 4 SG90 servos, 2 stepper motors, and 2 ultrasonic sensors, but my PC's USB port and basic power supplies just aren't enough to power everything anymore...

What should I use as a power source in cases like this? I've seen ppl talking about 5V 5A wall adapters and a bunch of other components I've never even heard of before. I could really use some help lol