DroneBot Workshop
Peltier Effect Cooling - Experiments with a Peltier Cooler Device
updated
Article: dronebotworkshop.com/pi-remote-access
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Welcome back to the workshop (yes, it’s been a while)!
Today, we will examine three remote access methods for the Raspberry Pi. Whether your Pi is in the same room or in another country, whether you need full GUI access or just a terminal, we have a method for you.
We will look at SSH, which provides a secure shell for terminal access. Perfect if you need to update the Pi, restart it, or run a Python script.
Then, we will move to VNC to get a full GUI screen that we can use as if we were directly connected to the Raspberry Pi.
Finally, we’ll examine the newest remote access method, Raspberry Pi Connect. This product provides either terminal or GUI access from anywhere in the world using a web browser. You’ll need a free Raspberry Pi account to use Pi Connect.
Here is the Table of contents for today's video:
00:00 - Introduction
02:15 - Pi Networking
07:34 - Raspberry Pi Boards
08:41 - Getting your IP Address
09:44 - SSH
14:25 - VNC
17:36 - Raspberry Pi Connect
22:42 - Conclusion
I hope you find the video useful. Be sure to check out the accompanying article on the DroneBot Workshop website - dronebotworkshop.com/pi-remote-access
If you have any stroke recovery stories that you would like to share, please email them to info[at]dronebotworkshop[dot]com. My mother finds these very inspirational. Thank you!
Article with code: dronebotworkshop.com/esp32-bluetooth
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Bluetooth is a short-range, license-free wireless communications system used to connect mobile devices, sensors, computers, and peripherals. It is available in two “flavors”:
Bluetooth Classic - The original Bluetooth, great for audio streaming and data transfer.
Bluetooth Low Energy (BLE) - An ultra-low power system perfect for IoT and mobile applications.
The ESP32 supports both Classic and BLE; however, support differs between ESP32 models. Some ESP32 boards only support Classic, while others only support BLE. There is also a difference between the revisions of Bluetooth supported by different ESP32 chips.
Today, we will work with both Bluetooth Classic and BLE with the ESP32. We’ll start by learning how both systems operate and what libraries Espressif provides for working with Bluetooth in the Arduino IDE. We will then run some simple code examples for both types of Bluetooth.
By the end of the video, you will better understand how to build Bluetooth projects with the ESP32.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:59 - Bluetooth & BLE
07:36 - ESP32 Boards
08:59 - Bluetooth Revisions
10:39 - ESP32 Differences
11:38 - Bluetooth Serial Terminal
12:23 - Classic Bluetooth & ESP32
16:26 - Bluetooth Device Discovery
20:29 - Bluetooth Serial Client
24:18 - BLE (Bluetooth Low Energy) & ESP32
28:41 - BLE Server
31:36 - BLE Client
35:54 - Conclusion
Incidentally, Bluetooth was named after an ancient King, Harald "Bluetooth" Gormsson, and the Bluetooth logo is formed from the Nordic characters for his initials. The king was famous for uniting Denmark and Norway, just as the communications protocol he inspired unites devices from different manufacturers.
Hope you enjoy the video!
Bill
Article: dronebotworkshop.com/multimeters
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today, we will be working with the most essential piece of electronic test equipment—the multimeter. We will learn how to use a multimeter and how to choose one. We’ll compare the accuracy between expensive and inexpensive meters. And I’ll try to convince you that you really need at least two multimeters on your workbench!
Multimeters are test instruments for measuring AC and DC Voltage, Current, and Resistance. Modern multimeters can measure many more parameters, including Frequency, Capacitance, Continuity, and Diode Checking. Some meters also have non-contact AC current and voltage features.
There are two objectives in this video:
1 - To learn how to use a multimeter to make various measurements.
2 - To learn how to shop for a meter and get the best value for your money.
We’ll do this by comparing five multimeters, each with a unique set of features. We'll learn how to use them, and we'll test their readings against calibrated test sources.
Here is the Table of Contents for today’s video:
00:00 - Introduction
01:55 - Multimeters Intro
04:14 - Look at Multimeters
08:13 - Look at Multimeter accessories
11:12 - Basic Multimeter Operation
13:00 - Measuring Resistance, Continuity & Diodes
15:53 - Measuring AC & DC Voltage & Current
24:02 - Non- Contact Measurement
27:55 - Measuring Capacitance
31:31 - Measuring Frequency
34:07 - Measuring Temperature
36:14 - Multimeter Specs
40:19 - Multimeter Features
45:48 - Multimeter Showdown - Resistance
47:50 - Multimeter Showdown - DC Voltage
53:03 - Multimeter Showdown - Capacitance
56:57 - Conclusion
If you can only afford one piece of electronic test gear, make it a multimeter. It’s an inexpensive investment that will pay for itself quickly, both in your workshop and around your home.
I hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/pi-solar-camera
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today, we will integrate a Celestron EclipSmart Solar Telescope (or any telescope) with a Raspberry Pi HQ Camera. The result is an instrument that can stream images to web browsers and video players or interact with popular astronomy applications.
I’ll show you two applications that you can use to stream the data. One of them, RPI Cam ASCOM Alpaca, is used with professional astronomy software. The second, Picamera2 Web UI Lite, is a more general-purpose app. I’m using it in my implementation.
I’ll also show you Astroberry Server, a complete Raspberry Pi suite of astronomy applications.
I’m preparing for the April 2024 eclipse and am thrilled to report that the DroneBot Workshop is in the path of totality! As long as we have a clear day on April 8th, I’ll be able to watch and photograph the event of a lifetime from the comfort of my spare bedroom!
The solar telescope is one of the instruments I will be using, and it is a fascinating device, even without an eclipse. It lets you view sunspots and watch them evolve, a real treat if you are into astronomy (as I am).
I’ll also show you how to apply solar filters to a regular camera to obtain some great pictures of the Sun.
And, naturally, I’ll show off some of my photos.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:35 - Raspberry Pi Astronomy
07:18 - Celestron Solar Telescope
10:02 - Raspberry Pi HQ Camera
11:43 - Other Bits & Pieces
14:50 - Telescope Assembly
15:58 - Pi and Case Assembly
18:17 - Image Software Introduction
19:24 - Astroberry Server
21:40 - RPI Cam ASCOM Alpaca
24:02 - Picamera2 Web UI Lite Installation
30:35 - Preparing for the Eclipse
35:42 - My "Observatory" & Sun Filters
37:30- DSLR Setup & Pictures
39:03 - Pi Camera Setup & Pictures
40:46 - Conclusion
I hope you enjoy the project and have time to assemble it before the eclipse. If I get some photos and/or videos on April 8th, I’ll share them on the forum!
Happy sungazing!
Bill
Article with step-by-step guide dronebotworkshop.com/iot-cloud-fundamentals
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
In this first of (at least) three videos, we will revisit the Arduino IoT Cloud. There have been several changes to Arduino's IoT product since we last looked at it, including a “Triggers” feature and support for almost anything that can connect to the Internet.
We will build a cloud project using an Arduino Uno R4 WiFi board and an ESP32 Dev Kit. We’ll see how to use the cloud console to set up the boards as cloud devices, associate them with a “thing,” and create cloud variables for them. Then, we will build a dashboard to control our boards.
If you want a detailed step-by-step guide to getting started with the cloud, check out the accompanying article for this video at dronebotworkshop.com/iot-cloud-fundamentals.
It will have you working up in the cloud in no time!
Here is a breakdown of today's episode:
00:00 - Introduction
01:47 - Arduino IoT Cloud
05:36 - Cloud Console Tour
07:50 - Building a Cloud Project
10:22 - Add an Uno R4 WiFi Device
13:39 - Build a Thing
16:20 - Cloud Project Code
20:38 - Dashboard and Demo
23:29 - Modify using Desktop IDE
28:19 - Cloud Project Demo 2 - Variables and Dashboard
30:30 - ESP32 Project
37:39 - LED Code with OTA Update
40:15 - Device to Device
43:09 - Using Triggers
41:47 - Add trigger and test
46:26 - Conclusion
I have decided to make this the first video in a series because there are so many new IoT Cloud features, too many for one video or even two. The next one will cover using MicroPython with the IoT Cloud, followed by an episode about using the Cloud with Amazon Alexa Home devices.
I've also been working with Arduino (I will be presenting an IoT Cloud project at Arduino Days 2024), and I asked them for a discount coupon so you could try the cloud. They obliged, and you can use code DRONEBOTSHOP when signing up for a monthly Maker plan. You'll get two months free, so you can try out the Arduino Iot Cloud for yourself.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/diodes
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Diodes have been around for a very long time. They were the first tube devices and the first semiconductors, and today, there are many different types of diodes for many applications.
We’ll look at several types of diodes today. We’ll see how they are used and perform a few experiments with them. Not only that, but we will also take out a few Laser diodes and play around with them.
Here is a list of the diodes we will be learning about:
Rectifier diodes
Switching Diodes
SCRs (Silicon Controller Rectifiers)
TRIACs
DIACs and SIDACs
Zener Diodes
Avalanche Diodes
Tunnel Diodes (Esaki Diodes)
Varactor Diodes (Varicap Diodes)
Schottky Diodes
PIN Diodes
Shockley Diodes
Photodiodes
LASCRs
Opto-TRIACs
LEDs
Laser Diodes
That's a lot of diodes, and each one is unique!
Here is the Table of Contents for today's video:
00:00 - Introduction
01:30 - Understanding Diodes
07:31 - Bridge Rectifier
08:50 - Bridge Rectifier Filter Experiment
11:58 - SCRs - TRIACs - DIACs
14:57 - SCR Latching Experiment
17:27 - Zener Diodes
19:05 - Zener "Voltmeter" Experiment
23:53 - Exotic Diodes
28:35 - Producing & Detecting Light with Diodes
33:27 - LASER Diode Experiments
38:11 - Conclusion
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/esp32-2024
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
DevKits, Modules, Systems on a Chip - the ESP32 has been around for over seven years! There are now almost a dozen distinct ESP32 series’, each with unique features and target applications. Combine that with a selection of a few hundred development boards, and it can be difficult to pick out the best ESP32 board for your project.
Today, we’ll look at every ESP32 series and see how they compare. That includes some new devices that will be released this year. It’s amazing how many features they have crammed into the ESP32!
We’ll also preview ESP Boards Manager 3.0 with the Arduino IDE and one of the latest ESP32-C6 DevKits. It’s coming out later this year, but you can run an Alpha copy now.
And I’ll show you how to use an online version of ESP Tools to identify those mystery ESP32 boards from your parts' drawer. ESP Tools is a great utility that you’ll be seeing more of here in the workshop.
Here is the Table of Contents for today's video:
00:00 - Introduction
02:48 - Espressif ESP32 Series
09:23 - ESP32 Product Selector
10:33 - Working with the ESP32
14:04 - Using Online ESP Tools
19:04 - Selecting an ESP32 Board
25:28 - Some Suggested ESP32 Boards
29:37 - Some Other ESP32 Boards
32:59 - ESP32 Boards Manager Alpha 3.0
39:19 - Conclusion
The ESP32 has to be the most versatile microprocessor around today, and you can build many experiments and projects with it. So pick out a great ESP32 development board and start exploring the amazing world of the Espressif ESP32!
Hope you enjoy the video!
Bill
Article: dronebotworkshop.com/tools-for-electronics
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
No code or microcontrollers today, just a deep dig into the tools you’ll need for working with electronics. Note that I’m NOT talking about test equipment today, but we will cover prototyping tools.
It goes without saying (but I’ll say it anyway) that the quality of your work is limited by the tools you have to work with. Electronics is a great hobby and vocation, and there are specialized tools that will make working with electronics a lot easier.
You don’t need to spend a fortune, especially as a beginner, to assemble a decent toolset that will give you years of enjoyment and productivity. In this video, I’ll cover all the hand tools (and some powered tools) you’ll need to assemble an electronics workbench, regardless of your skill level or ambitions.
Here is an outline of what I have in store for you today:
00:00 - Introduction
01:57 - User Types
04:52 - Screwdrivers & Bit Sets
11:29 - Nut Drivers
13:56 - Allen Keys
15:11 - Pliers
17:57 - Vampliers
19:56 - Wire Strippers & Wire Cutters
23:34 - Tweezers
24:38 - Solder for Electronics
26:44 - Soldering Irons & Stations
28:20 - USB-C and Butane Soldering Irons
30:34 - Soldering-Gun
31:41 - Solder Extractors (and work surface)
34:08 - Basic Crimping Tool & Simple Ratchet
36:36 - Engineer PA09 Crimping Tool
38:01 - Crimping Tool with Interchangeable Heads
39:08 - Drill & Drill Bits
42:20 - Hot Glue-Gun
43:38 - Heat-Gun
44:53 - Rotary Tool
46:30 - Solderless Breadboards & Preformed Jumper Wires
51:42 - Shields, HATs, and Proto Boards
55:42 - Chip Extractors & Plastic Tuning Tools
58:25 - Tie Wrap Tool
59:50 - Nibbing (Nibbling) Tool
1:02:37 - Tap & Die Set
1:04:28 - Circuit Board Holders
1:07:50 - My Favorite Tools
1:11:06 - Buying Tools & Storing Tools
1:14:16 - Shopping List
1:16:01 - Conclusion
The article accompanying this video has more details about these tools, so please check it out.
I hope you find this guide useful and that you discover some new tools to add to your own workshop!
Bill
Article with code: dronebotworkshop.com/giga-display
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
We have already looked at the Arduino Giga; it’s an advanced microcontroller that brings the horsepower of the Portenta series to a board with an Arduino Mega format.
Today, we will look at an exciting accessory for the Giga, the Arduino Giga Display Shield. This is a full-featured 800x480 TFT display with a capacitive touch screen. It also has an onboard IMU so you can read the display orientation, a MEMS microphone, and an RGB LED. There is also an extension of the Giga’s existing camera connector on the front of the display.
This device is called a “shield,” but it actually mounts on the underside of the GIGA board, using the display and camera connectors. This arrangement makes for a very straightforward hardware setup, and you can still use conventional shields on the Arduino when the display is mounted.
In this video, I will walk you through all the features of the Arduino Giga Display Shield. Here is the Table of Contents for today's presentation:
00:00 - Introduction
01:25 - Arduino Giga Display Shield
05:08 - Getting Started
06:47 - RGB LED Coding
08:26 - IMU Coding
10:30 - Microphone Coding
14:54 - ArduinoGraphics Library
16:32 - ArduinoGraphics Library Demo
19:13 - Arduino Logo Demo
21:42 - Displaying Your Own Images
25:04 - GFX Library
26:20 - GFX Library Demo
29:33 - LVGL Library & Framework
32:10 - LVGL Demo Code
36:42 - LVGL with IMU and Image
39:49 - Touch Screen Intro
40:58 - Touch Screen Polling Demo
43:44 - Touch Screen Interrupt Demo
46:10 - Camera
48:22 - Camera Demo
53:02 - Conclusion
I think that this display would make an ideal “master control panel,” perhaps for an Arduino IoT Cloud project. You can expect to see it again in another video!
Article with code and resources: dronebotworkshop.com/ir-remotes
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
We have looked at infrared remote controls before, but the library has changed in the five years since we did, and the technology has advanced. So it’s time to pay this topic another visit.
First, we’ll see how these gizmos work and get into the details of the NEC IR Protocol, which about 80% of consumer devices use. We’ll even hook a recover and IR diode to an oscilloscope to take a look at the invisible infrared signal.
Then, we’ll get up to date with the latest IRremote Library updates and look at another library that supports three times as many IR protocols. I’ll also show you how to handle those “stubborn” remote controls, like the ones used with air conditioners.
And, of course, we’ll have plenty of “hands-on,” with experiments based around both a classic Arduino Uno and an ESP32.
And I couldn’t have you watch an hour and a half of video without building something practical. So, we’ll finish up by putting together a custom IR remote control with an ESP32. It uses a web-based interface, so you can add as many buttons as you need and control your world from your phone or tablet.
Here is the table of contents for today's huge video:
00:00 - Introduction
02:53 - IR Remote Controls
10:42 - Sensors, Emitters & Scope Test
15:40 - The Arduino-IRremote Library
17:43 - Arduino Uno Hookup
24:44 - SimpleReceiver Example
30:52 - SimpleSender Example
35:31 - The IRMP Library
37:38 - Arduino & LCD Hookup
42:10 - AllProtocols Code & Demo
46:04 - Emulating Transmitters and Receivers
47:06 - Receiver Code & Demo
52:52 - Transmitter Code & Demo
1:00:30 - Capturing IR Remote Codes
1:01:19 - ReceiveAndSend Code & Demo
1:10:58 - ReceiveAndSendDistanceWidth Code & Demo
1:16:18 - ESP32 Remote Control & Hookup
1:19:06 - ESP32 Remote Control Code & Demo
1:28:53 - ESP32 IR Receiver Hookup
1:29:48 - Conclusion
Believe it or not, there is more material, but I had to stop somewhere! So keep your eyes peeled for another video with three really cool IR projects.
And make sure that you check out the accompanying article on the DroneBot Workshop website. It has more information and links to many IR remote control-related websites.
Hope you enjoy the (long) video!
Bill
Article with code: dronebotworkshop.com/xiao-esp32s3-sense
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Seeed Studio’s XIAO line of microcontrollers has a new family member, the XIAO ESP32S3 Sense board. It’s actually two boards: the ESP32S3-based XIAO and a tiny expansion board with a camera, MEMS microphone, and MicroSD card holder.
Complete with a USB-C connector and provisions for charging and powering off a 3.7-volt battery; this little board packs a lot of power for the low price of 14 US dollars. And it's pin-compatible with other boards in the XIAO series, so any prototyping boards you already have on hand can be used with it.
Today, we will examine the XIAO ESP32S3 Sense board and its components. We’ll also use it to build a camera that also records sound. And we will upgrade the camera module to a 5-megapixel model.
Here is the Table of Contents for today's video:
00:00 - Introduction
02:05 - XIAO ESP32S3 Sense
11:12 - Getting Started - IDE Setup
12:55 - Reloading Bootloader
14:22 - CameraWebServer Demo
17:01 - Voice Recording Camera
21:53 - Voice Recording Camera Sketch
28:01 - Voice Recording Camera Demo
34:04 - OV5640 Camera Upgrade
39:07 - OV5640 Camera Test
42:42 - Conclusion
Incidentally, the ESP32S3 board is also available on its own for $7.49, making it one of the least expensive ESP32S3 boards you can buy.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/lora
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
If you need to send small amounts of data, such as sensor readings, over long distances, then LoRa (Long Range) radio is the technology for you. You can achieve incredible distances using low-cost modules and basic antennas. You can measure these distances in miles or kilometers with the right equipment.
Today, we will experiment with two readily available, low-cost LoRa modules: the HopeRF RFM95W and the Adafruit RFM9x. They are essentially the same module, with the Adafruit device having onboard voltage regulation and logic-level conversion, making it compatible with both 5-volt and 3.3-volt microcontrollers. The Adafruit offering is also easier to handle, as the HopeRF module is not breadboard-friendly.
We will use these modules with an Arduino Uno, a Raspberry Pi Pico, and an ESP32. We’ll program with both C++ in the Arduino IDE and MicroPython using the Thonny IDE.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:30 - LoRa Primer
07:38 - HopeRF RFM95W & Adafruit RFM9x
11:08 - LoRa Antennas
13:06 - Seeedstudio LoRa-E5
14:35 - Heltec ESP32-LoRa
16:09 - Installing & Using the LoRa Library
18:32 - Adafruit RFM9x Hookup
21:24 - Demo 1 - Simple data transmission
25:43 - Demo 2 - One-way remote control
30:34 - Demo 3 - Callback & Two-way remote control
36:43 - Raspberry Pi Pico MicroPython & Hookup
39:13 - LoRa with MicroPython Code & Demo
45:39 - Data Gathering Project Intro
46:35 - Data Gathering Hookup & Operation
53:11 - Data Gathering Code
1:02:45 - Data Gathering Demos
1:05:07 - Conclusion
While this is a long video, it barely scratches the surface of what you can accomplish using LoRa. You’ll be seeing more LoRa-related projects and tutorials here soon, including one on LoRaWAN.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/nano-esp32
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Arduino has certainly been busy lately. After releasing the Arduino Giga at the beginning of the year, they followed up by releasing two new Arduino Uno boards. And, as if that wasn’t enough, they have just added another member to the growing Arduino Nano family - the Arduino Nano ESP32.
Although a few of the Nano boards already have ESP32 chips, those boards use the ESP32 as a communications coprocessor. This new Nano is the first Arduino board to use the ESP32 as its main processor.
We will begin by looking at the board features and pinouts. Of course, all Nano boards use the same pinout, allowing you to repurpose any prototyping tools you have gathered for the other family members.
At the heart of the board is an ESP32-S3 module, so the new Nano board has essentially the same specifications as other boards built around that chip.
We’ll also use the board with MicroPython, and I’ll show you how to install the MicroPython bootloader. Don’t worry; you can revert to C++ by reinstalling the Arduino Bootloader. I’ll show you how to do that as well.
And we will build a project for the Arduino IoT Cloud. The Arduino Nano ESP32 is an inexpensive way of creating IoT applications.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:56 - Arduino Nano ESP32
09:32 - Arduino IDE Setup & WiFi Scan Test
12:13 - Nano ESP32 as a Human Interface Device
19:07 - Using MicroPython
23:30 - Installing MicroPython
27:40 - Using the Arduino Labs Python Editor
32:28 - Reloading the C++ Bootloader
34:28 - Arduino IoT Cloud
37:09 - IoT Cloud Project Hookup
38:05 - Connect Nano ESP32 to IoT Cloud
41:06 - Build a Thing
44:29 - IoT Cloud Project Code
49:01 - Build a Dashboard
53:49 - Running Remote & OTA Updates
54:52 - Conclusion
If Arduino releases any more new boards this year, I’ll need a new Arduino shirt! Hope you enjoy the video.
Bill
Article with code: dronebotworkshop.com/arduino-uno-r4-minima-wifi
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The Arduino Uno R3 was released in 2011. It has become the most popular maker and experimenter microcontroller board today, thanks to its ease of use and open-source design that allowed several low-cost “clones” to be made available.
Now, after a dozen years, Arduino has updated the Uno. Actually, they did make a WiFi Uno in 2018, but nobody noticed, and there was a “mini” collectors edition Uno in 2021. But this update is so big they made it into two boards!
Arduino has released the low-cost (20.00 USD) Uno R4 Minima and the full-featured Uno R4 WiFi boards (27.50 USD). These boards are pin-for-pin compatible with the older Uno R3 and are also 5-volt logic devices, rare these days. This means compatibility with your existing shields and prototyping boards.
The new boards are powered by the Renesas RA4M1 microcontroller, running at 48 MHz. This provides an emulation of the ATMega328P used in the original board and also adds new features, several that we will test out today.
Among the new features we will try out are the following:
12-bit DAC - We'll generate a sine wave with a library that makes it very easy.
CAN Bus connection - We'll connect 2 Minima boards using a CAN Bus.
WiFi Access Point - We'll build an Access Point with a web page to control an LED.
LED Matrix Display - We'll use the online Matrix Editor to create patterns.
We’ll also run benchmark tests on these boards and compare them to the older Uno R3, as well as a few other popular microcontroller boards.
Here is the Table of Contents of today's video:
00:00 - Introduction
01:41 - Arduino Uno R4 Boards
13:10 - Boot & 8mA Current Limitation
15:27 - Arduino R4 IDE Setup
16:40 - DAC & Sine Wave Hookup
18:21 - DAC - Sine Wave Code
20:28 - DAC - Sine Wave Demo with scope
21:37 - CAN Bus Explainer & Hookup
30:50 - CAN BUS Code - canwrite
32:28 - CAN BUS Code - canread
33:29 - CAN BUS Demo - 2 Minimas
35:11 - Uno R4 WiFi & ESP32
38:19 - WiFi Access Point Code
42:19 - WiFi Access Point Demo
43:19 - LED Matrix Explainer
46:18 - LED Live Preview Code
47:52 - LED Live Preview Online Edit & Demo
49:44 - Benchmarking Setup & Code
52:19 - Benchmark Test Results
54:56 - Conclusion
These are two unique boards, certain to interest experimenters and educators (the LED matrix opens up a lot of interesting classroom displays).
Hope you enjoy the video!
Bill
Article with full instructions: dronebotworkshop.com/esp32-object-detect
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Object Detection is a Machine Learning (ML) technique that uses a computer with a camera to identify classes of objects it has been trained to recognize. Although this used to require massive computers and large datasets, it is now possible to perform decent object detection using microcontrollers.
While most microcontroller-based object detection projects use 64-bit chips like the powerful Kendryte K210, you can also use a 32-bit ESP32 to get the job done. And that’s exactly what we will do today - take a 9-dollar ESP32-CAM board and train it to detect objects.
I’ll be using a lantern battery and Robie, a 40-year-old Radio Shack robot, as my two “test objects” We’ll train a model using the powerful online neural network services of Edge Impulse; you’ll need an account, but don’t worry, it’s completely free.
Once we have our model trained, we’ll export it in the form of an Arduino Library. The library even includes a sample sketch we can use to test our model; no code to write! I’ll try it on an ESP32-CAM and ESP-EYE board.
Here is the Table of Contents for today's video:
00:00 - Introduction
02:34 - Object Detection
06:27 - Edge Impulse
08:15 - Workflow
10:47 - Look at ESP32-CAM & ESP-EYE
12:48 - Capturing Images - Webcam Setup
14:34 - Edge Impulse Setup
15:39 - Image Capture
17:57 - Label Images
20:32 - Create an Impulse
24:52 - Export to an Arduino Library
25:25 - Importing Library to Arduino IDE
27:41 - Testing with ESP-EYE
29:43 - Testing with ESP32-CAM
32:04 - EloquentESP32CAM Library
34:14 - Collect Images Sketch
35:35 - Capturing Images - ESP32-CAM
39:12 - Import & Label with Edge Impulse
42:46 - Build & Deploy Impulse
46:45 - Testing with ESP32-CAM
48:28 - EloquentArduino Code & Demo
51:32 - Conclusion
53:25 - Robie the Robot!
I will actually show you two methods of capturing images of your subject(s) - using a webcam or using the ESP32-CAM board itself. I’ll also introduce you to a library that can make doing all of this a lot easier.
The results are good, good enough to consider using the ESP32-CAM as an inexpensive object detection sensor.
Hope you enjoy the video!
Article with code: dronebotworkshop.com/op-amp
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Operational Amplifiers, or “op-amps,” were initially designed for use in analog computers back in the 1940s. In fact, the “operational” in the name is a reference to the op-amp's ability to perform mathematical operations on voltages, which is how analog computers represent numbers.
Op-amps have been available in integrated circuit (IC) format for nearly 60 years and have become a vital component in analog electronic design. There are two reasons for their popularity:
1 - They are versatile - Op-amps can be configured into dozens of basic circuits.
2 - They are inexpensive - Op-amps are pretty cheap! One of the devices we will look at today costs about 10 cents per op-amp.
You can also use operational amplifiers to “glue” analog and digital electronics; in fact, one of the demos today uses an op-amp with an Arduino.
Aside from that, we’ll also learn how op-amps work, how to configure them into several basic “analog building block” circuits, how to build a light-sensitive switch using them, and how to turn a single power supply into a dual one using an op-amp.
Here is the Table of Contents for today's video:
00:00 - Introduction
02:20 - Operational Amplifiers
12:14 - Popular Op-Amps
16:17 - Op Amp Basic Circuits Hookup
18:32 - Voltage Follower (Buffer)
21:03 - Inverting Amplifier
22:36 - Non-Inverting Amplifier
24:06 - Low-Pass Filter
25:53 - High-Pass Filter
27:33 - Square & Triangle Wave Generator
29:22 - Op Amps with Arduino
34:58 - Light-Sensitive Switch
38:00 - Single to Dual Power Supply
42:13 - Conclusion
One other thing to note is that “classic” components, like op-amps, didn’t seem to be affected by the global chip shortage. One more reason to consider using them in your designs!
Hope you enjoy the video.
Bill
Article with code: dronebotworkshop.com/giga
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
What looks like an Arduino Mega, works like an Arduino Portenta (but costs a lot less), and has a ton of exciting new features? It’s the Arduino GIGI R1 WiFi, the newest microcontroller board from Arduino.
This beast may look like a Mega 2560, but that’s where the resemblance ends. The GIGA has even more I/O ports, 76 of them. It has an integrated Real Time Clock, 16-bit Analog to Digital Converters (ADCs), 12-bit Digital to Analog Converters (DACs), and CANBUS connections. It also has a USB-A connector that you can use with a keyboard, mouse, or USB storage device.
Its STM32H747XI microcontroller has two powerful high-speed cores, and you can even run a MicroPython program in one core and an Arduino C++ program in the other. The GIGA has a Murata LBEE5KL1DX-883 radio module for Wi-Fi and Bluetooth communication.
Here is a breakdown of today's video:
00:00 - Introduction
02:23 - Arduino GIGA R1 WiFi
11:07 - Look at GIGA board
13:54 - Getting Started with the GIGA
15:46 - Fixing Linux Error
22:18 - Example - WiFiWebClient
26:45 - Real Time Clock
28:25 - RTC Manual Code & Demo
33:19 - RTC WiFi Code & Demo
36:38 - Working with USB
38:41 - Read USB Directory
41:52 - Write to USB Drive
44:23 - Read from USB Drive
46:05 - Using the ADCs
50:55 - Using the DACs - Waveform Generator
58:03 - Conclusion
While the hardware for the GIGA is nothing short of amazing, the software is currently in development. I had many issues getting it all to work. I’ll show you how to resolve these issues if you encounter them.
But software issues aside, this powerful microcontroller board will find many great applications in robotics, process control, and IoT (it’s ready for the Arduino IoT Cloud).
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/ps3-esp32
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
If you’re looking for an easy to use and yet sophisticated remote control for your next ESP32 project, why not try a PS3 controller? Priced at around 10 dollars on Amazon, these little gems feature many controls and features, including an accelerometer, two joysticks, and a rechargeable battery.
I’ll show you how to use the ESP32-PS3 Library to simplify interfacing with the controller. This amazing library covers every controller event and even lets you “rumble” the controllers' motors!
I’ll also show you my “robot car experimenters platform,” which is a long-winded way of saying a two-wheeled car base with a power supply, motor driver, and solderless breadboard. I’ll use it to demonstrate control of some LEDs and motors. You'll see how easy it is to adapt the library to your own special needs.
When we are done, we’ll have the basis of a robot car controlled by a PS3 remote control!
Here is the Table of Contents of today's video:
00:00 - Introduction
01:29 - PS3 Controllers
07:03 - Controller MAC Address
09:02 - ESP32-PS3 Library
10:53 - ESP32-PS3 Library - PS3Demo
16:22 - ESP32-PS3 Library - PS3Accelerrometer
17:46 - ESP32-PS3 Library - PS3Rumble
20:04 - My Robot Car Test Base
26:01 - Controlling LEDs
33:39 - Controlling an RGB LED
40:35 - Controlling a Servo Motor
46:34 - Responding to TOF Sensor
52:52 - Controlling DC Motors
1:02:46 - Final Robot Car Code & Demo
1:06:03 - Conclusion
You may have a few of these remote controls kicking around the house, dust them off and use them as unique remote controls!
Hope you enjoy the video.
Bill
Article with code: dronebotworkshop.com/chatgpt
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
On November 30, 2023, OpenAI released ChatGPT, an AI-powered chatbot. The reaction has been phenomenal, and for a good reason - ChatGPT’s human-like responses often seem like the stuff of science fiction.
ChatGPT is so good that it, and other technology based around the same GPT-3.5 Language Model, could seriously jeopardize many people's jobs.
And that might even include programmers and developers! Because ChatGPT is equally adept at writing code as it is at writing essays.
As a tool, ChatGPT is remarkable, and it really offers a lot of advantages to makers and hobbyists. Imagine having your own personal coding assistant on call 24 hours per day. Well, now you can have that with ChatGPT!
I’ll show you how to use ChatGPT to code in both C++ and MicroPython, using an Arduino Uno and an ESP32 module. We’ll start off small and then move up to building a Temperature & Humidity Meter, a WiFi Scanner, and a MicroPython-based ESP32 Web Server.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:48 - ChatGPT
09:57 - Getting started with ChatGPT
12:06 - Arduino Uno Hookup
14:34 - Blink
16:31 - PWM LED Dimmer
18:34 - ChatGPT Code Correction
19:58 - ChatGPT "Forgets"!
22:14 - DHT22 Temp & Humid
24:48 - OLED Display
26:38 - Temp & Humid Meter with C/F
31:12 - ESP32 WiFi Scanner
33:47 - ESP32 MicroPython Web Server
36:29 - ChatGPT vs. GitHub Copilot
38:49 - Conclusion
While I don’t think that ChatGPT will be replacing coders too soon, it is a valuable tool that will really assist developers and makers in improving their code and reducing their coding time.
Also, please note that this video (and its accompanying article) were created at the end of January 2023, about 8 weeks after the release of the public beta of ChatGPT. It’s very likely that new features will be added, and ChatGPT Pro will be released soon. Keep that in mind when you watch the video in the future!
Hope you find it useful.
Bill
Article with code: dronebotworkshop.com/esp32-dac
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
One of the lesser known features of the ESP32 is that it has two Digital to Analog Converters, or DAC’s, as part of its architecture. Today we will see how to use them.
The ESP32 DACs are not audio-quality by any means (use I2S for that) but still very useful for producing DC voltages and complex waveforms. We’ll see how they work and how they can be used in three different modes.
We’ll do several experiments using a multimeter, an oscilloscope, and an audio amplifier. If you have the test equipment, you can follow along; everything we are doing today will work on just about any ESP32 module.
After we see how to program the DAC, we'll have a bit of fun with it!
First, we will create some “Oscilloscope Art.” Calling this "art" is a bit of a stretch; it’s an ellipse rotating on the scope screen, but you can use it as the basis of something much more artistic!
Then we will get creative and build a musical instrument that you can also eat for dessert! We’ll use the DAC and touch switch features of the ESP32 to make music with some apples and oranges!
Here is the Table of Contents for today's video:
00:00 - Introduction
01:50 - ESP32 DAC
05:59 - Hookup and DC Voltages
10:14 - Waveform Hookup and Sine Wave (Basic)
13:20 - Waveform using a Table
15:46 - Cosine Wave using a Library
19:59 - Oscilloscope Art
25:09 - Musical Fruit
32:09 - Conclusion
33:43 - Bonus - Mozart!
Hope you enjoy the video! For those who are willing to stick it out until the end, there is a second musical serenade at the conclusion of the video.
Article with code: dronebotworkshop.com/mecanum
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Lilygo TTGO Display info on Volos Projects - youtube.com/@VolosProjects
Today, we will be working with Mecanum Wheels. These unique wheels allow a vehicle to be propelled in any direction. Our design will use the ESP32 and will be complemented by an ESP32-based remote control that features a Joystick, a TFT color display, and a rechargeable battery.
The car even has some large NeoPixel LEDs, so you can see what direction the Mecanum wheels are moving, so it’s both an educational and fun “toy.” And the design can be expanded to include other components and sensors.
The remote control is based on a Lilygo TTGO T-Display module. This ESP32 module has an integrated TFT display, as well as a couple of switches and a connector for a LiPo battery (which can be recharged from the module).
The car and remote communicate via ESP-NOW protocol. This arrangement allows information to be sent in both directions, so we can display some critical parameters from the car on the display of the remote control. The design is very easy to upgrade, so you can add more sensors to your car or more functions to the remote.
Of course, before we build the robot, we will need to learn a bit about Mecanum Wheels. So we’ll start by doing a few experiments to see how to code for them.
Then we will move on to the NeoPixels, bright, colorful addressable RGB LEDs. The design uses five of them, yet as these are addressable LEDs, they only consume one GPIO pin on the ESP32.
Moving on to the remote, we will learn about the features of the Lilygo TTGO T-Display. After that, wiring it up is a simple thing.
Here is the table of contents for today's video:
00:00 - Introduction
02:29 - Mecanum Wheels
06:17 - Testing Mecanum Wheels
25:15 - Neopixels
36:21 - Robot Construction
43:19 - Controller Construction
53:15 - Get MAC Address
55:47 - Robot Sketch
1:07:34 - Controller Sketch
1:20:27 - Robot Demo
1:24:13 - Conclusion
If you want to know more about ESP-NOW, you should check out the video I did on it - youtu.be/bEKjCDDUPaU
And for more info regarding the TTGO T-Display, you should definitely check out Volos Projects - youtube.com/@VolosProjects
Hope that you enjoy the video!
Bill
Article with code: dronebotworkshop.com/dc-motor-drivers
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today we will be working with lots of motor drivers and lots of motors!
You’ll see how there are actually three methods used among all of these drivers for controlling speed and direction. Because of this, it’s pretty easy to swap drivers and use a sketch for small motors to be used with much larger ones (or vice-versa).
I’ll be driving everything with a simple Arduino Uno today, but you could use any microcontroller to work with these motor drivers.
The code for all these motors is pretty simple, I’ll show it to you, and I’ll also introduce you to a few libraries that make coding for these motor drivers a breeze. We’ll also check out a motor driver library from Cytron that is a hidden gem, as it can be used with ANY of these drivers!
Here is the Table of Contents for today's video:
00:00 - Introduction
01:17 - DC Motor Driver Basics
08:05 - L298N Dual H-Bridge
16:13 - TB6612FNG Dual H-Bridge
25:24 - DRV8871 Single H-Bridge
31:08 - MX1508 Dual H-Bridge
38:54 - DBH-12 Dual H-Bridge
46:27 - IBT-2 Single H-Bridge
51:17 - MD25HV Single H-Bridge & Controller
1:02:27 - Conclusion
Hope you enjoy this, remember that the article on the DroneBot Workshop website has all the code I used today.
Article with code: dronebotworkshop.com/air-quality
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Pollution is a problem that affects everyone, no matter where they live. Even if you reside in a rural area, you are still subject to many types of pollution, both outdoors and inside your home.
Today we will look at several air quality sensors that you can use with a microcontroller. We’ll test them out using both an ESP323 and an Arduino, and we’ll also compare the readings to a commercial air quality meter to see if there is any correlation between readings.
We’ll be taking a look at the following sensors:
- MQ Gas Sensors (various models).
- PMS5003 PM2.5 Particulate Matter Sensor.
- BME280 Temperature, Humidity & Air Pressure Sensor.
- BME680 Temperature, Humidity & Gas Sensor.
- AHT20 Precision Temperature & Humidity Sensor.
- CCS811 Air Quality Sensor.
- SGP30 Air Quality Sensor.
- SGP40 Air Quality Sensor.
We’ll see how they work and what parameters they can measure, and we’ll hook them up and run a demo.
Then we’ll put a bunch of sensors together on an ESP32 to make an environmental monitoring platform.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:38 - Air Quality
03:36 - Look at sensors
05:12 - Sensor Calibration Issues
06:46 - MQ Sensors Intro
12:25 - MQ Sensors Library & Code
16:42 - MQ Sensors ESP32 Considerations
21:00 - PM2.5 Sensors
27:55 - Temperature & Humidity Sensors Intro
31:25 - BME280 Demo
33:28 - BME680 Demo
35:49 - AHT20 Demo
37:33 - Air Quality Sensors Intro
39:40 - CCS811 Demo
43:09 - SGP30 Demo
45:38 - SGP40 Demo
47:36 - ESP32 Multi-Sensor
58:45 - Conclusion
On a personal note, this project actually alerted me to several areas in my home that I need to improve the air circulation in. Hopefully, you will find it equally useful!
Bill
Article with code: dronebotworkshop.com/picow-arduino
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
On June 30, 2022, Raspberry Pi announced the latest iteration of it’s RP2040-based Pico microcontroller. The Pico W has the same pinout and form factor as the original Pico and has WiFi capabilities.
Raspberry Pi also released a new UF2 file and several samples using microPython with the new WiFi chip. However, although they did release a C++ SDK, there was no update to the Arduino IDE for the new microcontroller.
But you CAN use the Pico W with the Arduino IDE by using a new boards manager file that covers virtually every RP2040-based board. And today, I’ll show you how to install that for the classic Arduino IDE 1.8 and the newer IDE 2.0.
After installing the new boards manager, we’ll give it a test. Then we’ll see how we can use the new WiFi features to control LEDs and servo motors with a web-based interface.
Here is the Table of Contents for today's video:
00:00 - Introduction
03:25 - Raspberry Pi Pico W
08:05 - Bluetooth issues?
10:55 - Pico W vs. ESP32
13:35 - Installing the Boards Manager
18:22 - Blink test
20:48 - WiFi Network Scan
23:10 - Using the WiFi Library
28:07 - Using Web Data
30:56 - Pico W LED Control
37:43 - Pico W Servo Control
47:28 - Conclusion
The Arduino IDE is a popular interface for programming microcontrollers, and now we can use it with the Pico W.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/dual-boot
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The workstation in my office that I use to develop code is on its last legs, so I’ve decided to put together a new one. This time, instead of just Linux, I’m building a dual-boot computer that will run both Ubuntu Linux 22.04 and Microsoft Windows 11.
I’m starting from scratch, with a “bare-bones” Intel NUC 11 that I’ve configured with two SSDs and memory, however, you can also use these instructions to modify an existing Windows 11 device. I’m installing both Windows and Linux onto the same SSD, but you can also use independent drives for each operating system if you prefer. And, if you wish, you could use a different distribution of Linux.
Dual-boot machines are not perfect, you can also elect to use virtual machines or WSL (Windows Subsystem for Linux), I’ll go over those options in the video.
Once I get the two operating systems installed, I’ll also create a shared drive that is visible to both Linux and Windows. Then I’ll demonstrate how you can configure your Arduino IDE to use the same shared location for storing sketches and libraries.
Here is the Table of Contents for today's video:
00:00 - Introduction
02:43 - Dual-Boot Workstation
08:12 - Dual-Boot Alternatives
09:47 - Obtain Ubuntu & Windows
13:40 - Bootable USB Utilities
15:42 - Windows Licensing
19:58 - BIOS Settings
21:58 - Install Windows 11
26:20 - Prepare Windows for Linux
32:44 - Install Ubuntu 22.04
37:07 - Bootloader Choices
39:23 - Using Both Operating Systems
49:24 - Conclusion
Hopefully you will find the video and the associated article useful if you’re putting together a dual-boot system of your own.
Article with parts list: dronebotworkshop.com/linear-dc-power
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Learn how linear power supplies work, and then build one of your own. If you want to go directly to the second part, you’ll find it at 32:45.
In the first part, we will learn how linear power supplies differ from switching power supplies. We’ll take a look at the main components of a linear power supply and see how they are specified.
Then we’ll break out the solderless breadboard and hook up a positive, negative, and variable voltage regulator circuit, using a low-current transformer for safety.
Then we move on to part 2, building a small linear power supply that would look great on your workbench.
I’ll show you how I selected the components, how I hooked them up, and how I constructed and labeled the chassis. Then you’ll see how I laid out the components with safety first in mind.
And, of course, we’ll check out the resulting product, a variable DC power supply that can supply 2 - 20 VDC at up to 2.5 amps.
Here is the Table of Contents for today's (very long) video:
00:00 - Introduction
02:57 - Linear vs Switching Power Supplies
07:18 - Power Supply Components
15:41 - Rectifier Demonstration
19:34 - Voltage Regulators - Fixed Positive
25:12 - Voltage Regulators - Fixed Negative
29:15 - Voltage Regulators - Variable Positive
32:45 - Part 2 - Build a Linear Power Supply
33:56 - Parts & Prototyping
44:00 - Power Supply Hookup
49:01 - Cutting a Metal Chassis
52:30 - Layout and Design Considerations
58:09 - Labelling the Chassis
1:03:34 - Wiring & Assembly
1:07:40 - Final Product
1:10:06 - Conclusion
Although they are not as popular as switching supplies, linear power supplies do offer advantages in several situations. Learning to design and build them is an essential skill for any electronics experimenter.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/gc9a01
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
We have worked with LCD modules many times before here in the DroneBot Workshop, but this one is a bit different - it’s round!
Round LCD modules like this one are excellent choices for instrumentation and metering projects. They can also be used for special effects in robotics and animatronics, as we will see when we use two of the displays to build some animated eyeballs.
We will start, of course, by looking at the specifications of this display. It is an SPI bus device, and the Waveshare model I’m using can operate on both 5-volts and 3.3-volts. Note that there is another model of this display, also using the GC9A01 driver, that only operates on 3.3-volts (and also has some very confusing pin markings).
Next, we will use the display with an Arduino Uno. We will start by using the Waveshare sample code, but after that, we will switch to another library that is much better documented.
After that, we will use the display with an ESP32, which has better performance than the Arduino Uno as it’s much faster and has more internal memory.
Finally, we will build a set of animated eyeballs using the ESP32 and two of the GC9A01 modules.
Lot’s to learn, and there is even a bonus “riddle” in the video for science fiction fans - of course, I give you the answer in the end!
Here is the Table of Contents for today's video:
00:00 - Introduction
01:13 - GC9A01 IPS Display
05:11 - GC9A01 with Arduino
18:12 - GC9A01 with ESP32
33:12 - GC9A01 Animated Eyes
43:08 - Conclusion
Hope you enjoy it, and I really hope you pick up a few of these displays and build something cool with them!
And, for those of you who solved the “riddle”, congratulations - and for the rest of you, DON’T PANIC! (that was a clue, BTW).
Bill
Article with code: dronebotworkshop.com/esp32-i2s
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
You might have seen the term “I2S” on the spec sheet for the ESP32 and may have just assumed that it was a form of I2C. Well, you would be mistaken - I2S is a protocol for manipulation of digital audio, and today we will be using it with the ESP32.
After a short primer on I2S and digital audio fundamentals, we will use an I2S microphone module with an ESP32. We’ll display the microphone output as a waveform on the Arduino IDE Serial Plotter.
After that, we will grab a library from GitHub, and we’ll use it to build an MP3 player with an I2S amplifier module. We’ll then use the same library and the ESP32 WiFi to create an Internet Radio.
Finally, we will convert our simple Internet Radio into a stereo device, with a volume control.
Here is what is in today's video:
00:00 - Introduction
01:27 - I2S & Digital Audio Intro
08:25 - I2S Peripherals
10:18 - Using an I2S Microphone
18:37 - I2S MP3 Player
28:31 - Simple I2S Internet Radio
33:41 - Stereo Internet Radio
43:56 - Conclusion
Remember, if you need any of the code used here, you'll find it on the DroneBot Workshop website at https://dronebotworkshop.com\esp32-i2s.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/interrupts
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today we are working with a fundamental programming concept, the use of Interrupts.
Now, this certainly isn't the first time we have worked with interrupts, we have used Hardware Interrupts in several previous videos. But we have never taken a deep dive into the subject, and as it is a very important concept, I feel it's time that we did!
Plus, Hardware Interrupts are just one of three types of interrupts supported by the Arduino. So we also should take a look at Pin Change and Timer Interrupts as well.
We are working with an Arduino Uno today, but the concepts we are discussing are applicable to just about any microcontroller.
Interrupts can help you make more responsive user interfaces, perform timed operations, or just write better and more efficient code.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:51 - No Interrupt Demo
07:02 - Hardware Interrupts
19:51 - Pin Change Interrupts
37:22 - Timer Interrupts
46:21 - Conclusion
Hopefully the video and its associated article will prove to be a good resource as you work to improve your code with interrupts.
Bill
Article with code: dronebotworkshop.com/esp32-cam-microsd
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The ESP32-CAM is an amazing little module, especially when you consider how inexpensive it is. With all the power of the 32-bit ESP32 combined with a 2MP camera, this board has a lot of practical applications.
It also has a MicroSD card slot, and today we will learn how to use this to store images on a MicroSD card.
We’ll examine how the ESP32 works with both the camera and the MicroSD card, and then we’ll build a simple camera. After that, we’ll turn our camera into a motion-sensitive camera, and then we’ll write some code to build a time-lapse camera.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:26 - ESP32-CAM MicroSD Card
07:22 - Using the Camera and MicroSD Card
12:09 - Simple Camera
22:16 - Motion-Sensitive Camera
27:29 - Time-Lapse Camera
33:07 - Conclusion
I hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/led-displays
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Yes I know they have been around for over half a century, but LED displays are still a great choice for a number of applications. They are inexpensive and have great visibility and durability.
Today we will be working with both 7-segment and dot-matrix LED displays, in single and multiple modules. I’ll show you a number of different configurations of LED displays and how to wire them up and code for them.
I’ll be using an Arduino Uno for all the experiments, however, the information is equally applicable to just about any microcontroller.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:34 - LED Displays
07:37 - Single 7-Segment Display
15:37 - Multiple 7-Segment Displays
24:27 - MAX7219 8-Character 7-Segment Display
32:41 - Dot-Matrix Display Module
42:57 - Conclusion
If you need the code I used in the examples, just check out the article on the DroneBot Workshop website at dronebotworkshop.com/led-displays
Hope this video lights up your life!
:)
Bill
Article with code samples: dronebotworkshop.com/esp-now
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
ESP-NOW is a protocol that allows you to use ESP32 and ESP8866 boards to create a private peer to peer network. Use two boards, or use ten. Transmit in one direction (half-duplex) or bidirectionally (full-duplex). With or without encryption.
This magic all comes courtesy of the 2.4GHz radio transceiver that powers the ESP board's WiFi and Bluetooth features. We can also use this radio to set up a network to send small (250 bytes) packets of data between ESP boards.
No WiFi or Router is required. Mix and match boards as much as you want.
I’ll be showing you how ESP-NOW works, and we’ll perform a few simple experiments with a bunch of ESP32 boards. We’ll end by building a remote temperature sensor system, then expanding it to use multiple sensors.
Here is the Table of Contents for today's video!
00:00 - Introduction
01:59 - ESP-NOW
06:56 - Getting MAC Address
09:59 - Getting Started with ESP-NOW
19:05 - ESP-NOW Broadcast Mode
28:26 - Remote Temperature Sensing
35:57 - Multiple Temperature Sensors
40:58 - Conclusion
I’ve only scratched the surface of what we can do with ESP-NOW in this video, so I'll probably be incorporating it into another project soon.
Hope you find it interesting!
Bill
Article with hookup diagrams: dronebotworkshop.com/pico-uno
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The Raspberry Pi Pico is a low-cost microcontroller that can run circles around an Arduino Uno. Yet when it comes time to test out a new sensor or library, I inevitably grab a Uno board!
The main reason I rely upon a 12-year-old piece of technology over the newest wonder from Raspberry Pi is simple - the Uno is easy to use. It has female sockets to accept jumper wires, it has a reset key and a power LED, and it can be powered using USB or an external supply.
But it’s really easy to add all of those features to the Pico, so today we are going to do exactly that. In fact, I’ll show you three ways of building a “Pico Uno”:
1 - Super Simple - Female DuPont connectors, put together in less than 5 minutes.
2 - Pico Uno with Reset - A board with Reset and Power LED.
3 - Pico Uno with External Power - All of the above, plus a 2.1mm jack for external power.
To build the last one, we will also have to learn exactly how we use a Pico with external power.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:55 - Pico vs Uno
08:44 - Prototyping Boards
11:45 - Simple Proto Boards
13:59 - Pico Uno with Reset
19:49 - Powering the Pico
24:36 - Pico Uno with External Power
33:49 - Conclusion
Hope you enjoy it, and I hope it shows you how easy it is to prototype with a Raspberry Pi Pico.
Bill
Article with code samples: dronebotworkshop.com/wifimanager
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The ESP32 is an amazing microcontroller. It’s a powerful 32-bit processor with multiple I/O ports. 12-bit A/D converters and a variety of interfaces. But the one thing that makes it stand out above the crowd is its built-in WiFi and Bluetooth capabilities.
When we experiment with the ESP32 WiFi we generally just hard-code our WiFi login information directly in our sketches. Some people use an external file, but it is just another way to accomplish the same thing.
In both cases, our code is compiled and loaded onto our ESP32, so the ESP32 is locked into using that WiFi SSID and password. If you want to change these parameters to use your device on another WiFi network, then you need to change your code and recompile.
This isn’t a great arrangement, especially if you want to move your creation to another network, share it with a friend or even create a commercial product.
Enter WiFiManager. This great library lets you avoid hard-coding your WiFi parameters. Instead, you use a web-based interface to configure your SSID and password, so you can use your ESP32 project anywhere.
You can also add additional parameters of your own, making WiFiManager an ideal solution for both private and commercial designs.
Today I’ll show you how to use WiFiManager with the ESP32 (it can also be used with the ESP8266).
Here is the Table of Contents for today's video:
00:00 - Introduction
03:09 - WiFiManager
11:45 - WiFiManager Installation
13:29 - Using WiFiManager
18:05 - WiFiManager On-Demand
23:59 - Modifying Sketches to use WiFiManager
30:07 - Adding Custom Parameters
36:42 - JSON & SPIFFS
39:40 - Saving Parameter Data
53:04 - Conclusion
You’ll find WiFiManager is easy to use, and that you can quickly adapt your existing sketches to eliminate the hard-coded SSID and password. Give it a try and let me know what you think.
Hope you enjoy the video!
Bill
Article with hookup diagrams: dronebotworkshop.com/555-timer
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today we are looking at one of the most famous and useful integrated circuits ever produced - the 555 timer IC. Although this tiny device is over 50 years old it is still in use today, and for many applications, it is a better choice than using a microcontroller.
I’ll explain how the 555 works and how to use it in its three different modes - Astable, Monostable, and Bistable.
We’ll then build some simple, but useful, projects using the 555 timer, including a light chaser and a DC motor controller. They are easy to build and, unlike a microcontroller, don’t require any programming.
In fact, there are a lot of situations where the 555 is a better choice than a microcontroller, especially when you consider how inexpensive and easy to use it is.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:40 - 555 Timer Operation
10:28 - Astable Mode
15:09 - Monostable Mode
19:14 - Bistable Mode
23:12 - Light Chaser
28:15 - Latching Switch
30:39 - DC Motor Controller
34:36 - Touch Switch
37:20 - Servo Motor Tester
40:03 - Conclusion
If you’ve already used a 555 then you’re probably aware just how versatile it is. If you’ve never used one, then hopefully this video and article will inspire you to build a few projects with it. Hope you enjoy it!
Article with code: dronebotworkshop.com/soil-moisture
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
There are many methods of measuring the moisture content of soil, but the two types that are most commonly used by hobbyists are resistive and capacitive sensors.
I’ll show you how to use and calibrate both of these types of sensors, both with analog and I2C interfaces.
After we get our sensors calibrated, we’ll use them to build a soil moisture meter using a Raspberry Pi Pico and an OLED display.
We’ll then focus our attention on the main project in this video, an automated watering system that uses an Arduino Nano 33 IoT and works on the Arduino IoT Cloud. This will allow you to maintain your solid at a specific moisture level and monitor it from anywhere on the Internet, with both a desktop and mobile interface.
Here is the Table of Contents for this video:
00:00 - Introduction
01:55 - Soil Moisture Sensors
07:06 - Moisture Sensor Calibration
14:49 - I2C Moisture Sensors
20:52 - Build a Soil Moisture Meter
29:30 - IoT Plant Watering System
52:33 - Conclusion
I’ll also explain why I’m the last person on planet Earth that you’ll want to get gardening advice from!
I hope you enjoy the video.
Bill
#raspberrypi #raspberrypitutorials
Main article: dronebotworkshop.com/pi-10
Plus 10 more articles, one for each project! See below for links.
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The Raspberry Pi is 10 years old, and today we will celebrate by building ten Raspberry Pi projects.
The Raspberry Pi Model B was released to the world on February 29th, 2012 - yes, it was a leap-year baby! Since then over 40 million of these little boards have been sold and used in projects by makers, experimenters, hobbyists, and students. There is even a Raspberry Pi in the International Space Station!
In this very long video, I’ll give you a bit of the history of the Raspberry Pi, and then we’ll jump into building 10 different projects, using everything from the Model Zero to the Raspberry Pi 4. Three of these projects will use the Raspberry Pi Pico microcontroller. You’re sure to find a project (or two, or three) that is just right for you.
Here is what we’ll cover in today's special video:
00:00 - Introduction
01:29 - Raspberry Pi History
08:56 - Installing the OS
11:39 - 10 Projects
13:45 - Project 1 - Music Everywhere with Balena Sound
26:58 - Project 2 - Extend USB with VirtualHere
34:39 - Project 3 - Pico Simon Game
50:34 - Project 4 - Compose Music with Sonic Pi
56:48 - Project 5 - Time Lapse Camera
1:07:37 - Project 6 - Raspberry Pi Dual-Boot
1:15:23 - Project 7 - Pico Oscilloscope
1:25:11 - Project 8 - Pi Standby Switch
1:33:16 - Project 9 - NeoPixels with Pico PIO
1:42:28 - Project 10 - Pi Network Boot
1:50:25 - Conclusion
You’ll also find a bunch of articles on the dronebotworkshop.com website, one for each project. So if you need any code or download links, you’ll be able to grab them there. They all link to one another, but here are direct links for you:
1 - Balena Sound - dronebotworkshop.com/pi-10-balena-sound
2 - VirtualHere - dronebotworkshop.com/pi-10-virtualhere
3 - Pico Simon Game - dronebotworkshop.com/pi-10-pico-simon
4 - Sonic-Pi - dronebotworkshop.com/pi-10-sonic-pi
5 - Time Lapse Camera - https://dronebotworkshop.com-pi-10/timelapse
6 - Dual Boot - dronebotworkshop.com/pi-10-dual-boot
7 - Pico Oscilloscope - dronebotworkshop.com/pi-10-pico-scope
8 - Standby Switch - dronebotworkshop.com/pi-10-standby-switch
9 - NeoPixels with Pico PIO - dronebotworkshop.com/pi-10-pico-pio
10 - Network Boot - dronebotworkshop.com/pi-10-network-boot
I hope you enjoy this special edition of the DroneBot Workshop. Now go and grab a slice of Raspberry Pi and celebrate this momentous occasion!
Article with more info: dronebotworkshop.com/lipo-safety
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
LiPo, or Lithium-ion Polymer batteries, have the highest energy-to-weight ratio of any rechargeable battery, and they are used extensively in radio-controlled aircraft and land vehicles. They are also used in mobile phones, some electric vehicles, and, of course, robotics.
When handled properly, LiPo batteries are a perfectly safe power source that can last for up to 500 charge and discharge cycles. But if neglected or misused, their lifetimes can be drastically reduced, and worse, they can even catch fire!
Today we will learn how LiPo batteries work, and how to read their specifications. We’ll also see how to charge, discharge, and balance LiPo batteries to ensure that they live a long and happy life. We’ll see some methods of safely storing them, and disposing of them when they have finally worn out.
Not only that, but we will also see how to prevent a LiPo fire, and how to extinguish one if you are unlucky enough to have one.
Here is the Table of Contents for today's video:
00:00 - Introduction
01:37 - All about LiPo Batteries
08:23 - LiPo Batteries & Accessories
14:55 - LiPo Charging
23:34 - LiPo Discharging & Balancing
27:28 - LiPo Storage
36:21 - LiPo Fire Extinguishing
39:51 - LiPo Disposal
42:59 - Conclusion
As always, you’ll find more information in the accompanying article on the DroneBot Workshop website.
It’s a powerful episode today! Hope you enjoy it.
Bill
Article with code: dronebotworkshop.com/epaper
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
e-Paper displays are quite different from the types of displays we are used to working with. Unlike other displays, e-paper doesn’t emit light, it reflects it. It also has the unique property of retaining the last thing written to it, even when powered down.
These ultra low-current devices are perfect for portable projects, or those that require a display that can be read in a brightly lit environment.
We will be using a very common and inexpensive display from Waveshare that can operate as both an SPI device for microcontrollers and as a Raspberry Pi HAT. I’ll show you how to use it with both an Arduino and a Raspberry Pi.
After running a couple of demos, we will see how to write Python code to customize our e-Paper display.
And we will also look at a relatively new product called PaperPi. This application lets you create cool e-Paper display panels without writing any code, instead, it uses “plugins” to configure the display to your liking. You can build a clock, weather display or even a music player.
Here is the Table of Contents for today's video.:
00:00 - Introduction
02:24 - How e-Paper Displays work
05:54 - Waveshare 2.7-inch e-Paper HAT
07:42 - e-Paper with Arduino demo
15:36 - e-paper with Raspberry Pi demo
19:14 - Coding e-Paper displays with Python
27:02 - PaperPi
36:16 - Conclusion
Now, I’ll be the first to admit that e-paper is not perfect. The displays are somewhat expensive (although the one I used was pretty cheap) and they aren’t suitable for video or full-color. But for some applications, they are just perfect.
Article with commands & “Cheat Sheet” - dronebotworkshop.com/pi-autofocus
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today we’ll take a look at a Raspberry Pi camera module that has a feature that we haven’t seen before - autofocus. We’ll also learn how to use libcamera, the new camera stack that replaces raspistill and raspivid on the latest version of the Raspberry Pi OS (Bullseye).
The Arducam Autofocus Camera is a Raspberry Pi camera module that has a lot of impressive features, especially when you consider that it costs the same as the Raspberry Pi Camera Version 2. It has a 16MP sensor, which is the same resolution as the Raspberry Pi HQ Camera, and it even comes with a case that includes a tripod mount.
And, as the name implies, it also has an autofocus feature - although it does have its limitations, as you’ll see in the video.
We will be using this camera to demonstrate libcamera, the new camera stack included with the latest version of the Raspberry Pi OS. libcamera (the lowercase spelling is intentional) can be used from the command line or called from your Python programs, and it offers complete control over your Raspberry Pi camera module.
We will use libcamera to take still pictures and videos. Not only that, but we’ll also use it to stream video to another workstation, where we can play it back using VLC Media Player.
And, of course, we will compare the picture and video quality of the Arducam Autofocus Camera to some other Raspberry Pi Cameras. It does pretty well for a 25-dollar module!
Here is what you will see in this video:
00:00 - Introduction
01:41 - Camera & Autofocus Methods
05:33 - Look at Autofocus Camera
07:10 - libcamera Introduction
09:31 - Software Installation
12:29 - Pictures with libcamera-still
20:51 - Videos with libcamera-vid
27:34 - Streaming Video with libcamera
31:46 - Camera Quality Tests
39:54 - Conclusion
Now, to be fair, although I really liked the camera there was one big disappointment, at least for me. The camera does not, at least yet, do continuous autofocus. Instead, it performs autofocus when it is first started. However, I will show you a way that you can force it to do an autofocus operation again using the keyboard.
But otherwise, I think this is a great camera, and at such a low cost it’s definitely worth checking out.
Hope you enjoy the video!
Article with more information: dronebotworkshop.com/arduino-ide-2
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The Arduino IDE 2.0 is the newest iteration of the popular Arduino IDE. As with its predecessor, it allows you to write sketches for microcontrollers made by Arduino and can be extended using the Boards Manager to use other manufacturers’ microcontrollers as well.
This new IDE features a sleek new design with a choice of Dark or Light modes, an improved Serial Plotter, and an integrated real-time debugger. It also adds features like code completion, and it integrates with the Arduino IoT Cloud to allow you to edit both your local and cloud-based sketches in one place.
The product has been in development for a couple of years now, and it finally made it to the Release Candidate version at the end of 2021. I’m examining Release candidate 3, which was released on January 11, 2022.
As with all release candidates, there are still a few bugs to be ironed out, and I’ll show you a couple of them in this video, along with some workarounds. If you’re viewing this in the future, then some of these bugs will likely be fixed.
Here is what we will be covering in today’s video:
00:00 - Introduction
01:30 - Arduino IDE Evolution
04:14 - Installing the IDE
08:40 - Basic IDE Features
11:38 - Preferences & Settings
14:35 - Run Blink on Uno
16:18 - Serial Monitor
20:07 - Serial Plotter
23:36 - Arduino IoT Cloud
25:22 - Boards Manager Intro
26:54 - Arduino Nano AVR
29:25 - Arduino Nano 33 IoT
30:38 - ESP32
33:20 - Seeeduino XIAO
36:32 - Raspberry Pi Pico
39:14 - Library Manager
42:53 - Summary - final thoughts
46:32 - Conclusion
As the new Arduino IDE 2.0 uses the same Sketchbook folder as the holder IDE, you’ll have access to all of your existing sketches and libraries when you install it. For that reason, I would recommend that you give it a try, you can always revert to the older IDE if you don’t like it.
I hope you enjoy the video, and if you want to discuss your experiences with the new Arduino IDE 2.0 the best place to do that is on the DroneBot Workshop forums, where you’ll find a dedicated discussion area for this new product from Arduino.
Article with code: dronebotworkshop.com/myoware
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today I'll be playing with a rather unique sensor, the Myoware Muscle Sensor. This unit is part of a kit that is put together by SparkFun, and it allows you to experiment with basic electromyography, or EMG technology.
This isn't an attempt to construct a medical-grade instrument, or to perform any sort of medical diagnostics. Instead, I'll show you how you can do some fun experiments with the MyoWare sensor and its shields.
We'll also see how we can SAFELY hook up the MyoWare sensor to an Arduino using a USB isolator from Adafruit. This eliminates the possibility of any contact with ADC ground through the attached computer. I'll also show you other SAFE, battery-powered ways to use the MyoWare sensor with a microcontroller, without the isolator.
And I'll make a (FAILED) attempt to control a MeArm robotic arm using two MyoWare sensors. While I do manage to get some control over the claw, I had a difficult time controlling the arm. But the code allows for a lot of fine-tuning, so I may one day actually succeed!
Here is the Table of Contents for today's video:
00:00 - Introduction
01:32 - Sensor & EMG Basics
05:04 - Sparkfun MyoWare Kit
07:39 - Shields & Headers
09:57 - LED Shield
12:54 - Cable Shield
17:17 - MyoWare Safety
20:08 - Adafruit USB Isolator
21:19 - Arduino & MyoWare
28:16 - Robot Arm (Failed) Attempt!
40:58 - Conclusion
42:43 - Ouch!
Aside from (poorly) controlling a robot arm, these sensors have applications in gesture sensing and devices to assist with mobility. Hopefully, the video and its associated article will give you a few ideas for using the MyoWare Muscle Sensor.
Bill
You can check out Jeremy’s video here - youtu.be/1e5mLdjoKrc
Article with all the code: dronebotworkshop.com/custom-servo-motor
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Servo motors are used in many hobby and experimenter applications. From radio-controlled aircraft to robot dogs, these motors are used whenever you need to be able to precisely position a motor shaft.
But most hobby servos are small devices, and even “large” hobby servos are not really all that large, and can only supply a limited amount of torque. Plus, larger servos generally mean a larger price tag.
Another limitation for some designs is that hobby servo motors are usually limited to either 180 or 270 degrees of rotation.
So why not build one ourselves? After all, internally, a servo motor is simply a DC motor with a control and feedback circuit. And you can buy, or salvage, a large DC motor for a lot less than the cost of a big servo motor.
Today, I’ll show you how to convert a DC gear motor into a custom servo motor. One that can rotate exactly to suit your requirements.
I’m doing this in tandem with Jeremy Fielding, a YouTuber with incredible mechanical and design skills. Jeremy is building a “self-driving go-kart”, and for his steering system he will need a big servo motor that can spin a full two turns (720 degrees).
I’ve come up with a design that uses a Seeeduino XIAO and a 10-turn potentiometer. While I’m driving a fairly powerful motor driver, you can substitute a smaller, and less expensive one if you don’t require the big motor Jeremy requires in his design.
Incidentally, a potentiometer isn't the only method of sensing shaft position, it's just the cheapest (and probably most common) method. The article accompanying this video has a few other sensor types that can be used, and we'll be looking at those in future videos and articles.
Here is the table of contents for today's video:
00:00 - Introduction
03:17 - Custom Servo Design
06:39 - Servo Test Setup
09:20 - Controller Design with Seeeduino XIAO
14:17 - Input Test Code & Demo
19:47 - Endpoint Test Code & Demo
22:57 - PID Controllers
28:58 - PID-based Servo Controller Code & Demo
39:19 - Conclusion
Jeremy’s “self-driving go-kart” is a project that is being built in tandem with my 6-wheel rover, so you’ll be seeing more collaborations in the near future.
Make sure you check out Jeremy’s video at youtu.be/1e5mLdjoKrc
Article with code samples: dronebotworkshop.com/huskylens
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The Kendryte K210 processor is a 64-bit RISC microcontroller which has been designed for machine vision and voice recognition applications. I’ve picked up a few sensors based upon this powerful microcontroller, and today we will look at one of them - the HuskyLens.
The DFRobot HuskyLens packages the power of the K210 with a video camera, small TFT screen and a microSD card socket. This powerful, yet inexpensive, device can perform several machine visions tasks including face recognition, object classification, object detection and line following, plus many more.
Today we will take a detailed look at the HuskyLens. After updating the firmware, we will put the device to the test in all of its different modes.
After that, we will hook a simple Arduino Uno to the HuskyLens and observe the data we can get back from it.
We will also see how we can perform more advanced functions with Arduino and HuskyLens, such as updating the text on the screen. And we will also see how to save our trained models using the microSD card.
I’ll even give you a quick peek at a small robot I’m deigning around the HuskyLens!
Here is the Table of Contents for today's video:
00:00 - Introduction
02:32 - Look at HuskyLens
10:03 - Firmware Update
12:32 - Face Recognition demo
14:15 - Object Tracking Demo
15:24 - Object Recognition Demo
18:09 - Line Tracking Demo
19:24 - Color Recognition Demo
20:48 - Tag Recognition Demo
22:13 - Object Classification Demo
24:50 - HuskyLens with Arduino - UART Mode
31:25 - Changing Interface Type Manually
32:51 - HuskyLens with Arduino - I2C Mode
35:30 - Modifying HuskyLens Text
39:14 - Using the microSD Card
41:51 - Conclusion
As I said, I have a few sensors based upon the Kendryte K210, the HuskyLens is only one of them. I’ll be showing you more of these advanced machine learning devices in future episodes.
Article with code: dronebotworkshop.com/waterproof-ultrasonic
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
When we think of ultrasonic distance sensors, chances are we are thinking of the popular HC-SR04. After all, it’s simple to use, it works pretty well, and it is very inexpensive.
But while the HC-SR04 is a great sensor for indoor use, it isn’t really suitable for use outdoors. It is susceptible to dirt, it’s relatively fragile and, most importantly, it isn’t waterproof.
So today I’ll be examining a couple of ultrasonic distance sensors that are fully waterproof. They also are more advanced than the HC-SR04, as they are both capable of calculating the distance measurement by themselves, without the aid of a microcontroller or microcomputer.
The JSN-SR04T is an interesting sensor for a number of reasons. First, it uses a single transducer, instead of a separate transmit and receive transducer. Second, the transducer is attached to the main circuit board with a 2-meter cable, allowing you to mount the waterproof sensor remote from the non-waterproof board. And third, it actually has six modes of operation.
The A02YYUW looks a bit like a large, rubberized HC-SR-04 in that it has a separate receive and transmit transducer. But that’s where the resemblance ends. This is a smart sensor that outputs serial data, and it can run on 3.3 or 5 volts.
We’ll hook up both sensors to an Arduino Uno and write some simple code to use them. And, as the JSN-SR04 and A02YYUW both use the same format of serial data, we can even reuse the same sketch for both sensors!
Here is the table of contents for today’s video:
00:00 - Introduction
01:33 - How Ultrasonic Distance Sensors Work
04:37 - Look at the two sensors
05:50 - Using the JSN-SR04T Version 3.0
13:12 - JSN-SR04T Mode 0 Sketch & Demo (HC-SR04 Emulator)
18:01 - JSN-SR04T Mode 1 Sketch & Demo (Serial Data)
21:13 - Using the A02YYUW
26:06 - Outdoor Tests
28:18 - Underwater Tests
30:00 - Conclusion
As always you’ll find an article accompanying this video where you can grab all the code I used, as well as pick up some more information.
Hope you enjoy the video!
Bill
Article with code: dronebotworkshop.com/radio-control-arduino-car
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Today, we will be using a Flysky FS-I6X, a very popular and inexpensive radio remote control transmitter with receiver.
I’ll show you the principles of this control, which is pretty well the same as any inexpensive 2.4 GHz unit. We’ll then hook it up to a few servo motors to see how it operates on its own.
But the real fun comes with attaching an Arduino to the receiver, and I’ll show you two ways of doing that.
The first way is to connect each channel's output to an Arduino Uno and read the pulses generated by the receiver in response to the transmitter. It’s pretty simple, and it gets the job done.
But another way of doing this is to use the iBus serial interface. This lets us use only one wire to get all the data from the receiver.
We’ll then take what we have learned and build a cool little radio-controlled robot car! This little toy has two modes, normal driving mode and a “spin” mode as well.
Here is the table of contents for today's video:
00:00 - Introduction
01:57 - How RC Controls Work
06:12 - Flysky FS-I6X
10:17 - Using a controller on its own
13:42 - Using a controller with Arduino
23:49 - Using iBus Output
29:23 - Build a Radio-Controlled Car
45:05 - Conclusion
As always, there is a corresponding article on the DroneBot Workshop website, where you can get all the code plus more information about using the Flysky FS-I6X with an Arduino.
Hope you enjoy the video!
Article with code: dronebotworkshop.com/arduino-iot-cloud
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
Talk on the forum about this video: forum.dronebotworkshop.com/2021/arduino-iot-cloud-2021-getting-started-with-arduino-esp32
The Internet of Things (IoT) can add a lot of convenience to our lives, with a myriad of connected devices available from hundreds of manufacturers. But it’s even more versatile when you can build your own IoT devices.
There are a few products that can assist you in creating your own IoT devices, like Blynk and IBM Node-Red. Today we will look at another one of these products, the Arduino IoT Cloud.
The Arduino IoT Cloud has actually been around for a couple of years now, but recently it was given a “facelift”. In addition, Arduino has updated its cloud plans, there are now four tiers including a free one.
One of the big improvements is that ESP32 and ESP8266 support is now included in the free plan!
Today we will see how to get started with the Arduino IoT Cloud. I’ll show you how to select a plan and set up your workstation with the Arduino Create agent. Then we will build a few cloud devices using an Arduino Nano 33 IoT board, and Arduino Nano RP2040 Connect board and an ESP32 WROVER module.
Here is what we are covering today:
00:00 - Introduction
02:18 - The Arduino IoT Cloud
06:09 - Selecting a Cloud Plan
09:41 - Installing the Arduino Create Agent
11:21 - Building your first Thing & Dashboard
25:25 - Adding a DHT22 to your Thing
32:36 - Two Things with no Dashboard
41:25 - Using an ESP32
49:47 - Conclusion
I also will show you a few “bugs” in the current implementation of the Arduino IoT Cloud, as the product is constantly being updated some of these may be resolved by the time you view this video.
And although I subscribe to the “Maker” plan, the experiments we are doing today can all be done with the free plan. So it won’t cost you anything to get started.
Article with Code Samples: dronebotworkshop.com/using-gps-modules
More articles and tutorials: dronebotworkshop.com
Join the conversation on the forum: forum.dronebotworkshop.com
Subscribe to the newsletter and stay in touch: dronebotworkshop.com/subscribe
The Global Positioning System, or GPS, is one of several satellite positioning systems that we can use to determine our location, altitude and the exact time - from anywhere in the world.
Thanks to these systems, and the availability of low-cost receiver modules, we can easily add GPS functionality to any project.
Today I’ll explain how these positioning systems work, what kind of data we can get out of them, and how we can use these popular modules with both the Arduino and Raspberry Pi.
And, as a fun experiment, I’ll show you how to build a simple Arduino-based GPS logger that saves your position onto a microSD card, using a file format that can be imported into Google Maps. I took a walk in the park with it to give it a test.
Here is what you’ll see in today's video:
00:00 - Introduction
01:25 - Satellite-Based Navigation Systems
08:00 - Look at GPS Modules
10:34 - Basic GPS Operation with SoftwareSerial
15:28 - GPS Libraries - TinyGPS++
19:55 - Beitian 880 with HMC5883 magnetometer
25:48 - Adafruit Ultimate GPS with Raspberry Pi
32:19 - Build a GPS Position Logger
47:52 - Conclusion
As always, you’ll find a detailed article with code samples and cheat sheets on the DroneBot Workshop website. And a dedicated thread for it on the DroneBot Workshop Forum, so you can discuss it in detail.
This is the first of a few GPS-related videos and articles I’ll be producing, as I have a couple of GPS projects on the go. So please subscribe so that you don't miss any of them.
Thanks for watching!