Arduino Sbs Getting Serious

Tags: Arduino

Create Arduino gadgets that can communicate, move, interact, measure and detect.

Last updated 2022-01-10 | 4.6

- Use communications technologies like Wifi
- BLE
- and radio
- Use servo
- DC and stepper motors with various controllers
- Use LCD
- OLED and TFT screens with buttons and touch interfacese

What you'll learn

Use communications technologies like Wifi
BLE
and radio
Use servo
DC and stepper motors with various controllers
Use LCD
OLED and TFT screens with buttons and touch interfacese
Store data in external storage like SD Cards and EEPROM
Optimise a sketch to minimise memory footprint
reduce power consumption and increase performance
Control large loads like relays and lights
Improve button reliability with hardware debouncing
Much more
please see curriculum for a full listing

* Requirements

* You have a basic understanding of the Arduino
* A copy of the Arduino IDE
* You can write simple sketches
* You can create small circuits on a breadboard
* Basic tools
* like a multimeter
* a breadboard
* wires
* an Arduino Uno board
* etc (a list of required tools and parts is available in the first section of the course
* free to access)

Description

Welcome to Tech Explorations Arduino Step by Step Getting Serious, where you will extend your knowledge of Arduino components and techniques and build up new skills in the largest, and the most comprehensive course on the Web!

Arduino is the world's favorite electronics learning and prototyping platform. Millions of people from around the world use it to learn electronics, engineering, programming, and create amazing things, from greenhouse controllers to tree climbing robots remotely controlled lawnmowers. 

It is a gateway to a career in engineering, a tool for Science, Technology, Engineering, and Mathematics education, a vehicle for artistic and creative expression.

The course is split into 40 sections and over 250 lectures spanning more than 30 hours of video content. 

In each section, you will learn a specific topic. 

Each topic contains:

  • multiple examples of code

  • wiring schematics

  • demonstrations of a completed circuit

  • alternative scenarios

Peter, the instructor, and designer of this course, helps you understand the code and the circuit wiring by walking you through them, step by step and explaining every line of code and every wire of the circuit. 


Students have access to:

  • The course repository, which contains all of the sketch code, wiring schematics and external resource links, which Peter keep up-to-date and correct

  • The course discussion Forum, where you can ask questions. Peter monitors this Forum regularly and responds to your questions

  • The Tech Explorations Makers Club private Facebook group where students can discuss their gadget ideas. Use this group to ask questions that don't fit within the context of the course, discuss your projects or help others


This course contains:

  • 24 hours of brand new video content 

  • 12 hours of retouched video content (which I will be replacing in regular intervals with brand new content)

  • 42 sections with totally reorganised content

  • More than 280 lectures (and counting)

  • Over 100 new and updated sketches (and counting)

  • Over 50 new circuit schematics (and counting)

  • New course repository, reorganised so that sketches, schematics and lecture external resources are easy to find (access everything at one place)


Here are some of the topics that you will learn about in this course (for a full list, please look at the course curriculum):

  • Advanced environment, motion, position and GPS sensors. 

  • New ways to receive input from the user with keypads, potentiometers, and encoders.  

  • New ways to provide feedback to the user, with color screens, complete with a touch-sensitive surface!

  • Awesome ways to configure LEDs, monochrome or color. 

  • Use matrix or LED strips, display text, graphics, and animation.

  • Create motion with various kinds of motors and controllers.

  • Networking with Ethernet and Wifi. Communications with Bluetooth, Bluetooth Low Energy, 

  • Communications with highly-reliable packet-based radio, and simple, ultra low-cost radio for less critical applications

  • Multiplying your Arduino's ability to control external devices with shift registers and port expanders.

  • Much, much more (for a full list, please look at the course curriculum)


This course is not appropriate for people new to the Arduino. It will not teach you about the basics of the Arduino, like how to use the Arduino IDE, blink an LED or create a simple sketch and circuit. If you are a new Arduino maker, you should consider taking the Tech Explorations Arduino Step by Step Getting Started course first.

Apart from a basic understanding of the Arduino, a student of this course must be willing to work hard. You can't learn serious skills without serious work. There are a lot of courses out there that promise you a fun and easy learning experience. This is not one of them. I promise you a lot of hard work ahead.

What about tools and parts? 

Other than a few essential tools and parts that you can learn about in the first section of the course (which is free to watch) I only ask that you come with an appetite to learn and a willingness to work hard. The course features a large variety of parts, but you don't need (and you shouldn't) get them all to begin learning. In fact, getting all of these parts too early is not a good idea! Watch the free lecture to understand why in the first section of this course.

Should you join right now?

Watch the free lectures in the first section of this course before you choose to join. They contain valuable information that will help you decide if this is the right course for you. 

I look forward to learning with you!

Who this course is for:

  • Arduino makers that wish to improve their skills and knowledge
  • Teachers who want Arduino resources for their classroom
  • Maker space coordinators who are need an online resource for their members

Course content

43 sections • 281 lectures

What is this course about? Preview 02:51

Is this course right for you? Preview 02:35

Finding your way around the course Preview 15:24

Each lecture in this course contains several resources:

1. Videos

2. Sketches

3. Schematics

4. External resources

From time to time, I update them in order to correct errors and improve the quality of the course. 

In this video, I will demonstrate how to find and access these resources quickly and get to the learning part without frustration!

List of parts Preview 00:41

This course features a large number of components and tools, and a few software applications. 

The downloadable PDF file that you can download from this lecture contains an exhaustive list, broken down by section.

You do not need to have all of the parts before starting the course! This is actually not a good idea! Instead, ensure that you have the basic tools, parts and software that are listed at the top of the first page of the list. Then, only acquire the parts needed for the particular sections that you actually want to complete.

You have life-time access to this course, so do not feel in a hurry to do everything immediately! Take your time, enjoy learning, and get into each section in depth.

Two common questions about parts and tools Preview 02:32

How to ask a question Preview 09:38

How to report an error Preview 01:34

[0490a] Introduction to the BME280 Preview 05:08

This is lecture 490a.

[0490b] BME280 SPI wiring Preview 07:22

This is lecture 490b.

[0490c] BME280 I2C wiring Preview 03:49

This is lecture 490c.

[0490d] BME280 Sketch walkthrough and demo Preview 06:43

This is lecture 490d.

[0540a] Introduction to the MPU6050 motion sensor Preview 04:56

[0540b] A look at the MPU6050 datasheet Preview 04:36

[0540c] MPU6050 wiring Preview 06:48

[0540d] MPU6050 Arduino sketch Preview 14:08

[0540e] MPU6050 Processing demonstration Preview 12:23

[0540f] MPU6050 bonus lecture Preview 04:51

[0590a] Introduction to the HMC5883 compass magnetometer Preview 03:00

[0590b] HMC5883 wiring Preview 02:19

[0590c] HMC5883 sketch Preview 07:09

[0590d] HMC5883 demonstration Preview 04:57

[0620a] Introduction to the flex sensor Preview 04:23

[0620b] Flex sensor wiring Preview 05:45

[0620c] Flex sensor sketch Preview 04:23

[0630a] Introduction to the membrane potentiometer Preview 05:07

[0630b] Membrane potentiometer demonstration Preview 04:22

[0640a] Introduction to the rotary encoder Preview 07:58

[0640b] Rotary encoder wiring and quadrature encoding Preview 10:05

[0640c] Rotary encoder sketch Preview 10:16

[0670a] Introduction to the keypad Preview 03:37

[0670b] Working out the keypad pins Preview 11:41

[0670c] Keypad wiring Preview 13:44

[0670d] The phone keypad Preview 07:06

[0680a] Keypad 1-wire connection, Introduction Preview 09:49

[0680b] Keypad 1-wire connection, wiring Preview 08:54

[0680c] Keypad 1-wire connection, sketch Preview 09:53

[0690a] Keypad with the 74922 decoder IC, Introduction Preview 08:48

[690b] Keypad with the 74922 decoder IC, wiring Preview 04:01

[690c] Keypad with the 74922 decoder IC, sketch and demo Preview 08:42

[690d] Bitwise operators Preview 09:56

[0730a] Introduction Preview 06:41

[0730b] Setup, graphics primitives and documentation Preview 08:00

[0730c] Displaying images from the SD card Preview 04:54

[0730d] Using the joystick and integrated button Preview 03:14

[0730e] How to create your own user interface: make the background image Preview 07:01

[0730f] How to create your own user interface: an example sketch Preview 14:10

[0732a] Introduction Preview 06:10

[0732b] Wiring Preview 03:22

[0732c] Simple demonstrations Preview 08:31

[0732d] Displaying data Preview 11:16

[0732e] The library and resources Preview 02:12

[0735a] Introduction Preview 06:26

[0735b] Setup the IDE Preview 03:14

[0735c] Graphics functions and documentation Preview 07:22

[0735d] Test the touch interface Preview 03:57

[0735e] Test the SD card module Preview 04:37

[0735f] Create a custom user interface image Preview 07:23

[0735g] Create a custom user interface sketch Preview 12:11

[0740a] Introduction Preview 03:32

[0740b] Wiring Preview 02:45

[0740c] Libraries and support Preview 03:32

[0740d] Finding the right constructor for your screen Preview 07:53

[0740e] Demo sketch Preview 05:26

[0760a] Introduction Preview 04:16

[0760b] Single display wiring Preview 02:11

[0760c] Single display sketch Preview 06:29

[0760d] Single display drawing Preview 09:23

[0760e] Custom graphics Preview 06:25

[0760f] Animation Preview 04:47

[0770a] Four 8x8 LED matrix display introduction Preview 07:59

[0770b] Four 8x8 LED matrix display graphics primitives Preview 07:23

[0750a] Introduction Preview 04:17

[0750b] Single display pin role discovery Preview 07:03

[0750c] Single display wiring Preview 04:32

[0750d] Single display sketch Preview 06:54

[0750e] Single display, working out the digit byte array Preview 08:29

[0752a] Single display with a single resistor Preview 05:22

[0752b] The sevseg library Preview 10:33

[0753a] Dual seven segment display, pin discovery Preview 09:20

[0753b] Dual seven segment display, wiring Preview 05:45

[0753c] Dual seven segment display, sketch Preview 08:54

[0754a] Single seven segment display with shift register, Introduction Preview 07:48

[0754b] Single seven segment display with shift register, wiring Preview 03:19

[0754c] Single seven segment display with shift register, sketch Preview 08:00

[0755a] Seven segment clock display - Introduction Preview 03:24

[0755b] Seven segment clock display - pin discovery Preview 10:40

[0755c] Seven segment clock display - wiring Preview 08:47

[0755d] Seven segment clock display - sketch Preview 09:10

[0755e] Seven segment clock display - Demo and wiring correction Preview 04:59

[0757a] Seven segment clock display & I2C backpack - Introduction and wiring Preview 03:28

[0757b] Seven segment clock display & I2C backpack - sketch Preview 11:42

[0757c] Seven segment clock display & I2C backpack - demo and wiring correction Preview 02:21

[0810a] White 12V LED strip with the TIP122 transistor, Introduction Preview 02:03

[810b] White 12V LED strip with the TIP122 transistor, TIP122 datasheet Preview 03:52

[810c] White 12V LED strip with the TIP122 transistor, circuit Preview 02:51

[810d] White 12V LED strip with the TIP122 transistor, wiring test Preview 11:51

[0810e] White 12V LED strip with the TIP122 transistor, blinking Preview 02:50

[0810f] White 12V LED strip with the TIP122 transistor, fading Preview 05:06

[820a] RGB LED strip with the TIP122, introduction Preview 02:03

[0820b] RGB LED strip with the TIP122, testing Preview 05:15

[0820c] RGB LED strip with the TIP122, circuit and wiring Preview 03:43

[0820d] RGB LED strip with the TIP122, sketch Preview 03:30

[0830a] Adafruit Neopixel 5x8 shield, Introduction Preview 08:09

[0830b] Adafruit Neopixel 5x8 shield, Quick setup and demo Preview 02:47

[0830c] Adafruit Neopixel 5x8 shield, Sketch, control single pixels Preview 12:34

[0830d] Adafruit Neopixel 5x8 shield, Sketch, draw graphic primitives Preview 04:58

[0840a] Adafruit Neopixel strip 8 LED, Introduction Preview 04:08

[0840b] Adafruit Neopixel strip 8 LED, Sketch introduction Preview 01:26

[0840c] Adafruit Neopixel strip 8 LED, Circuit and assembly Preview 05:08

[0840d] Adafruit Neopixel strip 8 LED, Sketch walkthrough Preview 08:41

[0850a] Adafruit Neopixel RGBW 30 LED strip, introduction Preview 03:03

[0850b] Adafruit Neopixel RGBW 30 LED strip, Wiring Preview 09:59

[0850c] Adafruit Neopixel RGBW 30 LED strip, Programming and demo Preview 03:27

[0850d] Adafruit Neopixel RGBW 30 LED strip, Sketch walkthrough Preview 10:42

[0899] Introduction to motors Preview 13:53

[0900a] DC motors principles of operation Preview 11:37

[0900b] Motor control with the L298N, wiring Preview 09:20

[0900c] Motor control with the L298N, sketch and demo Preview 11:12

[0903a] Motor control with the L8871, introduction Preview 05:38

[0903b] Motor control with the L8871, Wiring Preview 02:57

[0903c] Motor control with the L8871, sketch and demo Preview 04:19

[0910a] Motor control with the Adafruit Motor Shield v2, introduction Preview 07:10

[0910b] Motor control with the Adafruit Motor Shield v2, Wiring Preview 02:24

[0910c] Motor control with the Adafruit Motor Shield v2, Sketch and demo Preview 08:49

[0930a] Introduction to servo motors Preview 08:20

[0932a] Direct control of a servo motor, wiring Preview 02:10

[0932b] Direct control of a servo motor, sketch and demo with one motor Preview 04:54

[0932c] Direct control of a servo motor, sketch and demo with two motors Preview 05:11

[0933] Define servo motor moves in an array Preview 02:30

[0940] Continuous rotation servo motor Preview 06:43

[0945a] The Adafruit Servo Shield, introduction Preview 03:36

[0945b] The Adafruit Servo Shield, wiring Preview 01:45

[0945c] The Adafruit Servo Shield, Sketch Preview 14:42

[0945d] The Adafruit Servo Shield, Control an LED Preview 12:16

[0950a] Introduction to stepper motors Preview 13:02

[0950b] Dissecting a bipolar stepper motors Preview 04:47

[0950c] How to determine the coil wires of a bipolar stepper motor Preview 03:58

[0952a] NEMA17 with the L293 controller & Stepper library, introduction & wiring Preview 07:46

[0952b] NEMA17 with the L293 controller & Stepper library, sketch & demo Preview 05:12

[0970a] NEMA17 with the Easy Driver controller, introduction Preview 06:50

[0970b] NEMA17 with the Easy Driver controller, wiring Preview 03:51

[0970c] NEMA17 with the Easy Driver controller, sketch Preview 09:45

[0972a] NEMA17 with the Easy Driver controller & AccelStepper, intro &sketch Preview 07:39

[0972b] NEMA17 with the Easy Driver controller & AccelStepper, demo Preview 07:18

[0975a] NEMA17 with the Adafruit Motor Shield v2 & AccelStepper, intro & sketch Preview 09:27

[0975b] NEMA17 with the Adafruit Motor Shield v2 and AccelStepper, Demo Preview 09:58

[0980a] Unipolar stepper motor with Adafruit Motor Shield, introduction Preview 03:10

[0980b]Unipolar stepper motor with Adafruit Motor Shield, determining coil wires Preview 07:10

[0980c] Unipolar stepper motor with Adafruit Motor Shield, demo Preview 10:30

[0982a] Unipolar stepper motor with the ULN2003 driver, introduction Preview 02:12

[0982b] Unipolar stepper motor with the ULN2003 driver, wiring Preview 02:03

[0982c] Unipolar stepper motor with the ULN2003 driver, sketch & demo Preview 07:37

[1100a] Introduction to Ethernet networking Preview 07:58

[1100b] The Ethernet shield Preview 10:37

[1101a] Simple chat server, introduction and wiring Preview 03:59

[1101b] Simple chat server, demonstration Preview 09:06

[1101c] Simple chat server, sketch Preview 13:42

[1102a] Simple chat server with LCD shield, wiring and demo Preview 04:36

[1102b] Simple chat server with LCD shield, sketch Preview 06:58

[1110a] Simple reporting web server, introduction and wiring Preview 03:40

[1110b] Simple reporting web server, sketch walkthrough part 1 Preview 07:44

[1110c] Simple reporting web server, HTTP request formatting Preview 03:22

[1110d] Simple reporting web server, sketch walkthrough part 2 Preview 08:16

[1111] Simple reporting web server outputting CSV formatted data Preview 03:50

[1120a] Simple controlling web server with one LED, wiring and demo Preview 12:15

[1120b] Simple controlling web server with one LED, sketch Preview 13:37

[1121] Simple controlling web server with two LEDs Preview 11:29

[1210a] Introduction to the ATWIN1500 Wifi module Preview 10:36

[1210b] Wiring the Adafruit ATWIN1500 breakout Preview 07:41

[1210c1] Adafruit ATWIN1500 Wifi breakout, simple demo Preview 04:55

[1210c2] Adafruit ATWIN1500 Wifi breakout, sketch walkthrough Preview 10:59

[1210c3] Adafruit ATWIN1500 Wifi breakout, firmware version check Preview 01:51

[1210d1] ATWIN1500 Wifi breakout firmware upgrade Preview 13:10

[1210d2] ATWIN1500 Wifi breakout SSL certificate update Preview 03:03

[1210e1] ATWIN1500 Simple reporting server, wiring Preview 03:47

[1210e2] ATWIN1500 Simple reporting server, sketch Preview 07:49

[1210e3] ATWIN1500 Simple reporting server, demonstration Preview 03:37

[1211a] ATWIN1500 controlling LEDs with a CSV file on Amazon S3, intro Preview 02:36

[1211b] ATWIN1500 controlling LEDs with a CSV file on Amazon S3, Setup S2 Preview 07:47

[1211c] ATWIN1500 controlling LEDs with a CSV file on Amazon S3, Demonstration Preview 04:02

[1211d] ATWIN1500 controlling LEDs with a CSV file on Amazon S3, sketch Preview 13:15

[1212a] ATWIN1500 controlling LEDs with a simple web server, introduction & demo Preview 04:26

[1212b] ATWIN1500 controlling LEDs with a simple web server, sketch Preview 08:59

[1820] Introduction to Shift Registers Preview 07:17

[1821a] Driving 8 LEDs with one 595 Shift Register, intro and IC pin roles Preview 07:11

[1821b] Driving 8 LEDs with one 595 Shift Register, Assembly Preview 10:57

[1821c] Driving 8 LEDs with one 595 Shift Register, Sketch Preview 05:00

[1823a] Driving 16 LEDs with two 595 Shift Registers, introduction Preview 04:05

[1823b] Driving 16 LEDs with two 595 Shift Registers, wiring Preview 01:54

[1823c] Driving 16 LEDs with two 595 Shift Registers, sketch Preview 07:21

[1218a1] Introduction to the HC-06 Preview 01:45

[1218a2] HC-06 Wiring Preview 03:39

[1218a3] HC-06 Pairing Preview 07:05

[1218b] HC-06 Reading sensor data Preview 06:35

[1218c1] HC-06 with SoftwareSerial Preview 08:23

[1230a] Introduction to BLE Preview 06:45

[1230b] A few things about the BLE standard Preview 03:37

[1230c] nRF8001 setup Preview 04:07

[1230d] nRF8001 callBack Echo demo Preview 02:51

[1230e] nRF8001 simple duplex communications demo Preview 04:29

[1240a] Introduction Preview 05:34

[1240b] Pinouts Preview 10:45

[1240c] Wiring and Demo Preview 11:20

[1240d] Firmware update Preview 04:20

[1240e] AT Commands Preview 14:06

[1240f1] Serial data link demo Preview 06:19

[1240f2] Controlling data link demo Preview 06:19

[1240g1] HID Keyboard sketch Preview 04:18

[1240g2] HID Keyboard demo Preview 03:38

[1240h2] Controller demo Preview 12:04

[1300a] Introduction to the nRF24 Preview 02:49

[1300b] Module pinout Preview 07:35

[1300c] Simple test wiring Preview 05:13

[1300d] Simple test sketch Preview 15:39

[1300e] Simple test demo Preview 03:02

[1300f] Comprehensive demo Preview 06:36

[1300g] Comprehensive demo sketch Preview 10:37

[1310a] Introduction Preview 03:08

[1310b] Receiver and transmitter pins and wiring Preview 03:22

[1310c] Receiver and transmitter sketches Preview 07:33

[1310d] Demo Preview 03:32

[1410a] Reading and writing to an SD card, Part 1 of 3 Preview 13:41

[1410b] Reading and writing to an SD card, Part 2 of 3 Preview 10:16

[1410c] Reading and writing to an SD card, Part 3 of 3 Preview 09:09

[1420a] EEPROM (internal and external) Part 1: Basic use Preview 10:43

[1420b] EEPROM (internal and external) Part 2: the EEPROMex library Preview 05:22

[1430] EEPROM (internal and external) Part 3: Using an external EEPROM Preview 09:44

[2100a] Hardware interrupts Part 1: Introduction Preview 12:02

[2100b] Hardware interrupts Part 2: Using volatile variables Preview 05:02

[2100c] Hardware interrupts Part 3: Timers Preview 04:53

[2100d] Hardware interrupts Part 4: High-definition Pulse Width Modulation Preview 05:59

[2120] Memory management Part 1: Introduction and Flash Preview 05:34

[2130] Memory Management Part 2: Static RAM Preview 07:26

[2140] Power management with sleep mode and prescaling Preview 23:11

[2110] Using the build-in pull-up resistors Preview 07:01

[1810a] Hardware switch/button debouncing Part 1: Background Preview 07:05

[1810b] Hardware switch/button debouncing Part 2: Demo Preview 07:28

[1850a] Control more devices with a port expander, Part 1: Background and setup Preview 14:09

[1850b] Control more devices with a port expander, Part 2: more examples Preview 08:58

[1520a] Real time clock, Part 1 of 2 Preview 15:41

[1520b] Real time clock, Part 2 of 2 Preview 07:29

[1700] Using the TIP22 transistor to control an LED strip Preview 07:28

[1720a] Relays Part 1: Introduction Preview 04:37

[1720b] Relays Part 2: How NOT to control a relay Preview 14:58

[1720c] Relays Part 3: Connect a 12V relay component calculations Preview 09:45

[1720d] Relays Part 4: Connect a 12V relay connections Preview 07:27

[1720e] Relays Part 5: Relay shields Preview 04:02

[1500a] Introduction to GPS Preview 08:19

[1500b] Wiring the Adafruit module for direct communication with computer Preview 05:33

[1500c] Getting and using raw text data from the module Preview 05:25

[1500d] Using the Adafruit GPS library Preview 15:47

[1500e] Using the TinyGPS+ library Preview 07:38

[1900] Intro and power circuit Preview 08:31

[1910] Atmega, reset and clock Preview 11:12

[1920] Power LED and testing Preview 08:25

[1925a] Create your own printed circuit boards (PCB), Part 1 Preview 18:07

[1925b] Create your own printed circuit boards (PCB), Part 2 Preview 19:57

[2600a] Using Processing (the language) with the Arduino, Part 1 Preview 14:42

[2600b] Using Processing (the language) with the Arduino, Part 2 Preview 11:50

[2500a] Create your own Library, Part 1 Preview 16:51

[2500b] Create your own Library, Part 2 Preview 27:04

[1610a] Introduction to the fingerprint scanner Preview 05:28

[1610b] Wiring, registering and recognizing fingerprints Preview 10:15

[1610c] Sketch and demonstration with an electric lock Preview 07:25

[2340a] Introduction to Helium Preview 05:47

[2340b] Helium hardware Preview 07:57

[2340c] Helium network explainer setup Preview 06:59

[2344a] Helium Dashboard setup Preview 11:05

[2344b] Helium Hello World setup Preview 07:08

[2344c] Helium Hello World Sketch Preview 10:10

[2344d] Helium random data Preview 07:37

[2345a] Helium real sensor data setup Preview 03:51

[2345b] Helium real sensor data sketch Preview 07:35

[2345c] Helium real sensor data demo Preview 02:52

[2348] Helium configuration variables Preview 13:24

[2352] Helium with a simple web service Preview 13:41

[2400] Arduino-Raspberry Pi wireless communication with the RF24 Preview 15:23

[2410] A home notification board with a large display Preview 08:01

[2420] Using a magnetometer to detect motion Preview 07:14