Last Updated: 06/11/2024

Components

Below is a lost of various components, click on the component to see the tutorial and sample code.

Most code will work on Arduino UNO/Mega/ESP8266 and ESP32.

Components by Type Components By Name
Buttons - Switches - Relays - Rotary Encoders
Lesson 4 Digital Pins digitalWrite()
LED's
Lesson 7 Combining Sensors
Relays
Lesson 14 - External Interrupts part 1 - Rotary Encoder
Rotary Encoder
Lesson 5B - Toggle switches with Arduino
Toggle Switch
Lesson 16 Using a single button to control multiple modes with Arduino Uno C++
Using a single button for multiple modes
     
LED's - Neopixels
Lesson 5 Digital Pins digitalRead(), pull down resistors, debouncing buttons
Button Debouncing
Arduino and Neopixels
Neopixels
Arduino UNO and ESP32 controlling LED's with PCA9685
Arduino UNO and ESP32 controlling LED's with PCA9685
Multiple PCA9685 Servo driver circuit
Multiple PCA9685 PWM Servo Boards with servos and LED's
Analogue Sensor - Potentiometer
Lesson 6 Analog Pins analogRead(), pmap() function, switch() statement
Potentiometer
Lesson 7 Combining Sensors
Photo Resistor
Arduino Rain Drop Sensor
Rain Drop sensor
 
Digital Sensors
Lesson 7 Combining Sensors
PIR sensor
Lesson 8 Combining sensors part 2
IR sensor
HC-SR04 Ultrasonic Sensor
HC-SR04 Ultrasonic Distance Sensor
JSN-SR04T Waterproof Ultrasonic Module
JSN-SR04T Waterproof Ultrasonic Sensor
VL53L0X V2 Time-of-Flight Laser Distance Sensor
VL53L0X V2 Time-of-Flight Laser Distance Sensor
Arduino and Photointerrupters
Photointerrupter HY301
   
Motors - Stepper Motors - Servos
Lesson 10 - Arduino UNO servos
Servo Basics
Lesson 11 Arduino UNO advanced servo control
Servo speed Control
PCA9685 servos controlled by buttons
GS-1502 Linear Servo
PCA9685 PWM Servo Driver Board
PCA9685 PWM Servo Board
Lesson 12 - 28BYJ-48 ULN2003 Arduino UNO tutorial
28BYJ-48 with ULN2003
Lesson 12 - 28BYJ-48 ULN2003 Arduino UNO tutorial
28BYJ-48 with ULN2003
Stepper Motors
Stepper motors without microDelay()
Nema 17 control with and without delay()
Nema 17 stepper motor with and without delay()
L298N Motor Driver
L298N Motor controller board
     
MP3 - WAV Players
JQ8900 MP3 player Arduino ESP32
JQ8900 MP3 player with Arduino UNO, MEGA 2560 and ESP32
DY-SV5W MP3 Player
DY-SV5W MP3 Player Arduino Uno and Mega 2560
DY-SV5W MP3 Player
DY-SV5W MP3 Player ESP32 Dev Module and ESP8266 D1 mini
PCA9685
DFmini player & MP3-TF-16P v3.0 Player
Arduino and Serial UART MP3 player
Serial UART MP3 player
DY-HV20T and DY-HV8F with ESP32, Arduino Uno and Arduino Mega 2560 DY-HV20T and DY-HV8F MP3 players with Arduino Uno, Mega 2560 and ESP32 DY-HV20T DY-HV8F DY-Sv*F DY-SV5W mp3 playrs with buttons and leds Buttons and LEDs with DY-HV20T DY-HV8F DY-SV8F DY-SV5W MP3 Players  
Integrated Circuit (IC) chips
PCA9685 servos controlled by buttons
CD4021BE Shift register
  24LC256 External EEPROM
Arduino UNO with 24LC256 External EEPROM
 
Screens - LCD and Touchscreens
ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486
ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486?
Arduino/ESP32 GT911 Touch Screen
ESP32 with GT911 Capacitative Touch
ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486
ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486?
LCD Touch screen basics
Arduino UNO ST7793 shield touch screen
1602A I2C LCD Screen
1602A I2C LCD screen
1602A I2C LCD screen
     
1602A I2C LCD screen
24LC256 External EEPROM
28BYJ-48 Stepper Motor
28BYJ-48 Stepper Motor - Part 2
ads1256 24bit ADC with Arduino Due
CD4021B Shift Register
DFmini player & MP3-TF-16P v3.0 Player
DY-HV20T and DY-HV8F MP3 players with Arduino Uno, Mega 2560 and ESP32
DY-SV5W MP3 Player Arduino Uno and Mega 2560
DY-SV5W MP3 Player ESP32 Dev Module and ESP8266 D1 mini
EEPROM - Arduino UNO Built in
EEPROM 24LC256 External
GS-1502 Linear Servo
GT911 Capacitive Touch
HC-SR04 Ultrasonic Distance Sensor
HY301 Photointerrupter
ILI9481 SPI LCD Touch Screen and FT6236 Capacitive Touch Screen
ILI9488 / ILI9486 SPI LCD Touch
IR sensor
JQ8900 MP3 player
JSN-SR04T Waterproof Ultrasonic Sensor
MP3 player UART Serial
DFmini player & MP3-TF-16P v3.0 Player
L298N Motor controller board
Namur type sensor
Nema 17 Stepper motors without microDelay()
Nema 17 stepper motor with and without delay()
NeoPixels

PCA9685 PWM Servo Board
PCA9685 PWM Servo Boards with servos and LEDs
Arduino UNO and ESP32 controlling LED's with PCA9685
PCA9685 controlling multiple servos direction and speed with millis()

PIR sensor
Photointerrupter HY301
Potentiometer
Rain Drop Sensor
Relay Modules
Rotary Encoders

Servos with Arduino Uno
Servo speed control with millis()

Serial MP3 player
Shift Register CD4021B
Touch Screen ILI9488 / ILI9486 SPI LCD
Touch Screen ILI9481 SPI LCD Touch Screen
LCD Touch Screen Basics
ULN 2003 - 28BYJ-48 Stepper Motor
ULN 2003 28BYJ-48 Stepper Motor - Part 2
VL53L0X V2 Time-of-Flight Laser Distance Sensor


Components

DY-HV8F, DY-HV20T, DY-SV8F and DY-SV5W integrating buttons and leds

DY-HV8F, DY-HV20T, DY-SV8F and DY-SV5W MP3 Players with Arduino UNO, Mega 2560 and ESP32.

WARNING: If using with 5v UNO or Mega 2560 use a voltage divider as shown in the ciruit diagram, this can be omitted for 3.3v boards such as the ESP32

DY-HV8F, DY-HV20T, DY-SV8F and DY-SV5W boards have 3.3v logic pins.

The boards give 4 Ohm/20W or 8 Ohm/10W sound output.


This project shows how to play a background set of tracks triggered by a button while using a 2nd button to interrupt and play a single track. The project also shows how to integrate a flashing LED into the code as an example of adding lighting sanimations to go with the sound.

This can be used as a basis for a lot of Model railway sound projects.

As my project is for few background sounds for a model railway the 8mb storage was just about enough.

Click Image for larger Version

DY-HV8F DY-HV20T DY-SV5W DY-SV8F integrating buttons and LED's Arduino UNO Mega 2560 ESP32

Click to download sketches.


Click to download Datasheet (Uses same system as DY-SV5W)

IMPORTANT: DIP switch Positions

1 OFF
2 OFF
3 ON

DY-HV20T DY-HV8F

DY-HV8F DY-HV20T MP3 Player Arduino ESP32

DY-HV8F and DY-HV20T MP3 Player with Arduino UNO, Mega 2560 and ESP32.

WARNING: If using with 5v UNO or Mega 2560 use a voltage divider in the same way as with the JQ8900

The DY-HV8F and DY-HV20T boards have 3.3v pins.

The boards give 4 Ohm/20W or 8 Ohm/10W sound output.

WARNING: This board is a 3.3v IO pins so for 5v boards such as the Arduino UNO/Mega 2560 you will require a voltage divider.

Ideal for short project sounds including voice commands.
Also ideal for model railway sounds.

The main difference between the boards is that the DY-HV8F has a built in 8mb USB storage system while the DY-HV20T allows SD cards up to 32GB to be used to store tracks so is better if you want to run lots of larger tracks.

As my project is for few background sounds for a model railway the 8mb storage was just about enough.

Click Image for larger Version

DY-HV8F DY-HV20T ESP32 circuit UNO Mega 2560

Click to download sketches.

An extra sketch has been added with improved random play time as well as a bug fix on sketch 2 line 131


Click to download Datasheet (Uses same system as DY-SV5W)

IMPORTANT: DIP switch Positions

1 OFF
2 OFF
3 ON

DY-HV20T DY-HV8F

JQ8900 MP3 Player Arduino ESP32JQ8900 MP3 Player with Arduino UNO, Mega 2560 and ESP32.

Click to download sketches.


Click to download Datasheet

The JQ8900 is a small solid state MP3 player with 4mb of onboard storage.

The unit is best controlled using Serial commands (UART).
Sounds are loaded directly via a USB connector.

The unit claims to work with MP3 and WAV files. I have only tested using MP3 files.

WARNING: This board is a 3.3v IO pins so for 5v boards such as the Arduino UNO/Mega 2560 you will require a voltage divider.

Ideal for short project sounds including voice commands.
Also ideal for model railway sounds.

Click Images for larger Versions
JQ8900 Arduino ESP32
JQ8900 MP3 Player Arduino ESP32 bottom view

JQ8900 Circuit diagram for Arduino ESP32

CD4021B Shift Register 11/03/2024

PCA9685 servos controlled by buttons

GS-1502 Linear Servo 08/01/2024

PCA9685 servos controlled by buttons
ESP32 with ILI9488 SPI LCD Touch or is it a ILI9486?
FT6236 Capacitive touch screen.
17/01/2024
ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486

Multiple PCA9685 PWM Servo Boards with servos and LED's 05/01/2024

Multiple PCA9685 Servo driver circuit

PCA9685 PWM Servo Board 27/12/2023

PCA9685 PWM Servo Driver Board

DY-SV5W MP3 Player
ESP32 Dev Module and ESP8266 D1 mini
09/02/2024

DY-SV5W MP3 Player

DY-SV5W MP3 Player Arduino Uno and Mega 2560 15/12/2023

DY-SV5W MP3 Player

Stepper motors without microDelay() 25/11/2023

Stepper Motors

Arduino and Namur type sensor 10/11/2021

Controlling a NAMUR sensor with an Arduino

State Machine Example based around model railway requirements 08/03/2023

State Machine Example

DFmini player & MP3-TF-16P v3.0 Player 21/12/2022

PCA9685

Arduino UNO and ESP32 controlling LED's with PCA9685 05/05/2022

PCA9685
Arduino UNO with 24LC256 External EEPROM 16/03/2022

24LC256 External EEPROM

Arduino Uno built in EEPROM 08/12/2021

 
ESP32 with GT911 Capacitative Touch 10/01/2022

Arduino/ESP32 GT911 Touch Screen
ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486? 02/01/2022 ESP32 with ILI9481 SPI LCD Touch Screen or is it a ILI9486

Nema 17 stepper motor with and without delay() 08/12/2021

Nema 17 control with and without delay()

L298N Motor controller board 09/08/2021

L298N Motor Driver

HC-SR04 Ultrasonic Distance Sensor 12/08/2021

HC-SR04 Ultrasonic Sensor

Servos 13/08/2021

Servos

LCD Touch Screen Basics 09/09/2021

LCD Touch screen basics

ads1256 24bit ADC with Arduino Due 24/09/2021

ads1256 24bit ADC with Arduino Due

JSN-SR04T Waterproof Ultrasonic Sensor 24/09/2021

JSN-SR04T Waterproof Ultrasonic Module

Serial MP3 player 28/09/2021

Arduino and Serial UART MP3 player

Rain Drop Sensor 01/10/2021

Arduino Rain Drop Sensor

VL53L0X V2 Time-of-Flight Laser Distance Sensor08/10/2021

VL53L0X V2 Time-of-Flight Laser Distance Sensor

NeoPixels 04/11/2021

Arduino and Neopixels

Photointerrupter HY301 01/12/2021

Arduino and Photointerrupters

How To's

How To 1 : Debouncing buttons 15/09/2021

How To 2 : Multiple HC-SR04 Ultrasonic sensors using bit shifting with 74HC595 05/10/2021

How To 3 : Issues when joining two sketches together 22/10/2021

How To 4 : Creating a Project - Alarm example 25/10/2021

How To 5 : Nema 17 stepper motor using micros() for timing. 08/12/2021

How To 6 : FIFO (Circular) Buffer 23/12/2023

Comments


If you have any projects you would like videos on please email the address in this image: and use Components as a reference.