Generated by All in One SEO v4.9.1.1, this is an llms.txt file, used by LLMs to index the site. # Microcontroller Tutorials Microcontroller Tutorials and Resources ## Sitemaps - [XML Sitemap](https://www.teachmemicro.com/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Control 28BYJ-48 Stepper Motor with Arduino](https://www.teachmemicro.com/control-28byj-48-stepper-motor-arduino/) - Learn how to wire and control a 28BYJ-48 stepper motor with Arduino, ULN2003 driver, Stepper library, and AccelStepper examples. - [Arduino NANO Pinout Diagram](https://www.teachmemicro.com/arduino-nano-pinout-diagram/) - Arduino Nano pinout diagram with digital, analog, PWM, I2C, SPI, UART, power pins, safe pin notes, and ATmega328P port mapping. - [Arduino Servo Motor Tutorial: Wiring, Code, Power, and Control Examples](https://www.teachmemicro.com/arduino-servo-motor-tutorial/) - Learn how to control an Arduino servo motor with wiring diagrams, Servo library code, power tips, potentiometer control, and multiple-servo examples. - [Raspberry Pi Pico Pinout](https://www.teachmemicro.com/raspberry-pi-pico-pinout/) - The Raspberry Pi Pico is a microcontroller development board built by the same makers of the Raspberry Pi. As seen in the Raspberry Pi Pico pinout diagram below, it has 40 GPIO pins with 3 analog inputs. It features the RP2040, a 32-bit dual ARM cortex M0+ microcontroller chip with a processing speed of 133 - [Working with ESP32, GPS and Google Maps](https://www.teachmemicro.com/esp32-gps-google-maps/) - When working with IoT, it’s often necessary to track a device’s location for monitoring. Global Positioning Service (GPS) remains the number 1 option for large-area tracking. This project will show you how you can use a GPS with an ESP32 and have the location plotted on Google Maps. This project will be in two parts: - [Guide on How to DJ With A Laptop: 3 Easy Steps](https://www.teachmemicro.com/guide-on-how-to-dj-with-a-laptop-3-easy-steps/) - Becoming a DJ is easier than ever before as you do not require an expensive desk, an entire PA system, or a bundle of CDs. Today, having a good laptop, Bluetooth headphones, a USB, and a mixer are all you need to get started. Good wireless headphones are also useful beyond DJ practice. For example, - [Arduino Pressure Sensor Tutorial | MPS20N0040D](https://www.teachmemicro.com/arduino-pressure-sensor-tutorial/) - This site has built up several tutorials on how to measure almost anything. Now, we add to that list an Arduino pressure sensor featuring the MPS20N0040D and the HX710B Analog-to-Digital IC. By the end, you’ll be able to measure air or liquid pressure and convert it to Pascals, mmHg, or PSI using Arduino. In a - [Arduino PID Control Tutorial](https://www.teachmemicro.com/arduino-pid-control-tutorial/) - In control systems, a controller corrects the output of a particular system to a target in the presence of errors and disturbances. The most popular type of controller is PID which is an acronym for Proportional, Integral, and Derivative. In this Arduino PID control tutorial, I will show you how you can employ such a - [Using an NPK Sensor with Arduino](https://www.teachmemicro.com/using-an-npk-sensor-with-arduino/) - Learn how to use an NPK sensor with Arduino to measure soil nutrients (Nitrogen, Phosphorus, Potassium). Includes wiring diagram, sample code, and communication protocol. - [ESP32 Turbidity Sensor](https://www.teachmemicro.com/esp32-turbidity-sensor/) - The ESP32 has become one of my favorite microcontrollers as it's compact, relatively cheap, and contains 125% higher memory than an Arduino UNO. I use the ESP32 almost exclusively for web server projects and this one is no different. A sensor measures the turbidity of water and the output is viewable through a web application - [Using a Water Level Sensor with Microcontrollers](https://www.teachmemicro.com/water-level-sensor-microcontrollers-arduino/) - A water level sensor is a simple device used to measure the level and volume of water inside a container. This tutorial shows you how to use a water level sensor with microcontrollers like an Arduino or PIC. Introduction Water level sensors range from educational to industrial. The most common and frequently seen in stores - [Building an Arduino Water Flow Meter](https://www.teachmemicro.com/arduino-water-flow-meter/) - How do you measure the volume of a liquid? There are a couple or so ways to do it. One technique is to determine the level of the liquid in a container with a known cross-sectional area. For level measurements, an ultrasonic sensor is useful. Another technique is to use a water flow meter. Introduction - [PIC16 PWM Tutorial](https://www.teachmemicro.com/pic16-pwm/) - Pulse width modulation may have been invented to encode messages into pulsing signal but it was originally conceived as a technique for controlling power supplied to motors. In this tutorial, we will look at how PIC16 PWM works. The CCP Module PWM with PIC16F877A is achieved using the Capture/Compare/PWM (CCP) module. This microcontroller has two - [Use the PIC16F877A with Nokia 3310 in XC8](https://www.teachmemicro.com/use-pic16f877a-nokia-3310-xc8/) - In this post, I’ll share with you how I got the Nokia 3310 LCD to run using a PIC16F877A microcontroller. How to use the Nokia 3310 LCD with the Arduino has been covered before. This one is more challenging because I had to create a library for the XC8 compiler. Read on if you’re interested. - [PIC ADC (Analog to Digital Conversion)](https://www.teachmemicro.com/pic-adc/) - There are instances when digital systems need to interface with devices that produce analog signals, such as sensors and radio equipment. In such cases, the digital system, such as a microcontroller, needs an analog-to-digital converter (ADC) to handle the analog signal. The ADC Registers The PIC microcontroller has the registers ADCON0 and ADCON1 that control - [PIC16 I2C Tutorial](https://www.teachmemicro.com/pic16-i2c/) - To continue with our tutorial on synchronous serial with PICs, we will know look at I2C, another popular protocol used by sensors, displays and memory devices. I2C vs. SPI I2C answers some of the problems of SPI including no multi-master mode, no slave flow control and more pins to use. But in terms of speed, - [PIC16 SPI Tutorial](https://www.teachmemicro.com/pic16-spi/) - Simply put, synchronous serial protocols like SPI and I2C have a separate line for timing (the CLK line) while asynchronous protocols like UART (RS232) don’t. The addition of a clock line makes reception timing much easier and thus reduces transmission errors. It is also possible to interconnect more than two devices with synchronous protocols because - [Serial (USART) Communication with PIC16F877A](https://www.teachmemicro.com/serial-usart-pic16f877a/) - PIC microcontrollers, obviously, can do more than just light up LEDs or reading button states. Microcontrollers can also communicate with another microcontroller or with other devices like sensors, memory cards, etc. Often the communication is done serially, where data bits are sent one at a time. The microcontroller serial communication article provides more information about - [PIC16F877 Internet: Creating Web-based PIC Apps](https://www.teachmemicro.com/pic16f877-internet/) - Learn how to connect the PIC16F877A to the Internet via ESP8266. Includes sending data to a web server as well as controlling the PIC through a web page. - [The PIC16F84A - A Beginners Microcontroller](https://www.teachmemicro.com/pic16f84a-beginner-microcontroller/) - An introduction to PIC Microcontroller featuring the PIC16F84A. - [An Introduction to PIC Assembly Language Programming](https://www.teachmemicro.com/pic-assembly-language-intro/) - This lesson gives a simple introduction to assembly language for PIC microcontrollers. - [How to Use L298N Motor Driver](https://www.teachmemicro.com/use-l298n-motor-driver/) - You can drive an LED on or off using a microcontroller like Arduino or PIC. There’s no problem there because the 20 mA or so current from the pins is enough. You can’t drive loads that require much more current like a motor. This is where the L298N motor controller comes in. Introduction The L298N - [Using SIM800L with Arduino](https://www.teachmemicro.com/arduino-sim800l-tutorial/) - The SIM800L is a small, low-cost GSM/GPRS module (2G) with most of the features of larger SIM900 shields. In this Arduino SIM800L tutorial, you’ll wire the module safely, send/receive SMS, and make HTTP requests over GPRS — plus fix the most common power and network issues. Video Tutorial What is SIM800L? SIM800L is a quad-band - [Using PIC Timer with PIC16F84A](https://www.teachmemicro.com/pic-timer-pic16f84a/) - In this tutorial, I will discuss how to use the PIC16F84A microcontroller timer module for a variety of applications including turning a LED on and off without the use of a software delay subroutine. Introduction The PIC16F84A has one 8-bit free-running timer named TMR0. The term "free-running" means it continually runs in the background and - [PIC Interrupt with PIC16F84A](https://www.teachmemicro.com/pic-interrupt-pic16f84a/) - So far we have discussed how to code microcontrollers sequentially, i.e., the device performs the code from top to bottom and may branch out to labels (via goto) or subroutines (via call). Now we'll be looking at PIC interrupt. What is a PIC Interrupt? Interrupts, from the word itself, are events that the microcontroller has to - [Input/Output with PIC Microcontrollers](https://www.teachmemicro.com/input-output-pic16f84a/) - For most microcontrollers, the input and output channels are handled by data direction special function registers. AVR microcontrollers call them Data Direction Registers (DDR) while ARM-based STM32 has a group of “GPIO” registers. PICs call them TRIS registers which is supposed to be short for “TRIState”. In this article, we will look at how to - [What is SPI? | Protocol Guide](https://www.teachmemicro.com/spi-primer/) - SPI, short for Serial Peripheral Interface, is a communication protocol common in microcontroller systems. Sensors, liquid crystal displays and memory cards are examples of devices that use SPI. It is faster than both UART and I2C although it also has its disadvantages. SPI Protocol Basics SPI, same with I2C, is a synchronous protocol because there - [Interrupt Tutorial II - Arduino Timer Interrupt](https://www.teachmemicro.com/arduino-timer-interrupt-tutorial/) - In my previous Arduino Interrupt tutorial, I showed how to use the external and pin change interrupts for the ATMega328p-based Arduinos. There, I showed an example where pressing a button halts the normal program execution at any time and serves another routine (Interrupt Service Routine or ISR). In this article, we’ll look at how to - [Beaglebone Black Blink LED using C++](https://www.teachmemicro.com/beaglebone-black-blink-led-using-c/) - The first thing I did when I had my Beaglebone Black (BBB) was toy with it using C++. The "hello world" of embedded programming is LED blinking so that's what I did. Note that the BBB has user-accessible on-board LEDs and controlling them is very similar to the method outlined here. What I did is create - [How to Use the PT100 RTD with Arduino Cloud](https://www.teachmemicro.com/pt100-rtd-arduino-cloud/) - Using a PT100 RTD (Resistance Temperature Detector) with an Arduino and connecting it to the Arduino IoT Cloud via Wi-Fi allows you to remotely monitor temperatures with high accuracy and reliability. In this tutorial, we’ll walk you through the process of setting up your PT100 sensor with an Arduino that has Wi-Fi capabilities, and then - [Ways to Protect Yourself Against Financial Scams](https://www.teachmemicro.com/ways-to-protect-yourself-against-financial-scams/) - The Federal Trade Commission revealed that over 2 million victims lost about 8.8 billion dollars to financial fraud in 2022. Financial scams are unfortunately common and can be devastating if you become a victim. While it may be impossible to safeguard yourself entirely from falling prey to these frauds, knowing how to recognize potential scams and - [ESP8266 IoT Gas Leak Sensor with Arduino Cloud](https://www.teachmemicro.com/esp8266-iot-gas-leak-sensor/) - In this project, we’ll use the ESP8266 to connect an MQ-135 gas sensor to the Arduino IoT Cloud. This setup will enable you to detect air quality changes and potentially dangerous gas levels, which you can monitor from anywhere in real time through the Arduino Cloud. Components Needed ESP8266 Development Board (e.g., NodeMCU or Wemos - [How to Build an IoT Light Detector with ESP32](https://www.teachmemicro.com/how-to-build-an-iot-light-detector-with-esp32/) - The ESP32 is a powerful microcontroller that offers a wide range of applications in the realm of Internet of Things (IoT) and sensor-based projects. One such application is utilizing the ESP32 in conjunction with a Light Dependent Resistor (LDR) to detect changes in light intensity. This combination allows you to create a simple and cost-effective - [Business Firewalls: How To Protect Your Computer Network](https://www.teachmemicro.com/business-firewalls-how-to-protect-your-computer-network/) - Providing sensitive data to unauthorized people is indeed a cause of headaches. The first initiative that business needs is providing employees with basic cybersecurity training. They can appoint cybersecurity specialists and provide the employees with effective training. Firewalls can inform you about malicious incoming traffic, and block them. The loss of data costs millions of dollars. According to - [HC-SR04 and Arduino Interfacing Tutorial](https://www.teachmemicro.com/hc-sr04-arduino-interfacing/) - An ultrasonic sensor like the HC-SR04 finds a lot of applications because of its low cost and ease of use. Introduction Ultrasonic literally means "sound beyond what humans hear" which is the signal emitted by the module. By measuring when the signal is emitted and when it is sent back to the receiver, we can - [Adding a LCD Touchscreen Display to Raspberry Pi](https://www.teachmemicro.com/lcd-touchscreen-display-raspberry-pi/) - In this tutorial, I will show you how to add an LCD hat to your Raspberry Pi. This is an alternative to connecting a Liquid Crystal Display to your Pi through its HDMI port. I will feature a 4D Systems 4DPi-32 LCD hat in this tutorial. The 4DPi-32 is the 3.2" version of their 4DPi - [Warning Signs of Pharming and How to Protect Your Device](https://www.teachmemicro.com/warning-signs-of-pharming-and-how-to-protect-your-device/) - No one is safe online, and no one has ever been. Since the inception of the internet, scammers have been trying to trick online users into giving them access to their devices. The goal is simple: to steal personal information to later commit identity theft. In September 2021, as stated by Powerdmarc, more than 50 companies - [NodeMCU Pinout Reference](https://www.teachmemicro.com/nodemcu-pinout/) - The NodeMCU is an Arduino-compatible board that features the ESP8266 at its core. It became popular because it is a WiFi-ready microcontroller by itself - no need for an Arduino. This NodeMCU pinout reference aims to show pinouts for NodeMCU v0.9, NodeMCU v1.0, and NodeMCU v3. Note that when programming these boards using the ESP - [Dot Matrix Droplets Project](https://www.teachmemicro.com/led-dot-matrix-droplets/) - This project makes the “dots” on a dot matrix look like they are pebbles in a container. Tilt the device on one side and the dots fall toward that side. The same goes if the device tilts to the other side. Materials Arduino (Uno/Nano/Micro) Single LED Dot Matrix MPU6050 Breakout Board Breadboard, connecting wires Theory/Concept - [Use LM393 IR Module as Motor Speed Sensor](https://www.teachmemicro.com/lm393-ir-module-motor-speed-sensor/) - Unlike stepper and servo motors, precision control for DC motors is impossible unless a sort of feedback mechanism is employed. If your application requires a consistent motor speed or a stimulant-dependent speed then you certainly need feedback. This tutorial aims to develop a simple motor speed sensor for a more intelligent DC motor control. The - [Featured: MOVAVI Video Editor](https://www.teachmemicro.com/featured-movavi-video-editor/) - Here at TMM, we are committed to sharing our knowledge about microcontrollers in the best way that we can. And we are well aware that written content is not enough to get the message across. That is why we have our own YouTube channel where we share companion videos to our articles. A good video - [Arduino UNO Pinout Diagram](https://www.teachmemicro.com/arduino-uno-pinout-diagram/) - The Arduino UNO is arguably the most popular Arduino board currently available. This Arduino UNO Pinout diagram reference will hopefully help you get the most out of this board: Arduino UNO Pinout Description The Arduino UNO board is divided into digital, analog, and power pins. There are pins with secondary functions as listed below. - [What Do Cryptocurrency Market Makers Do](https://www.teachmemicro.com/what-do-cryptocurrency-market-makers-do/) - Cryptocurrency market makers provide liquidity in the crypto and decentralized finance markets by aggregating orders from exchanges and OTC desks. They also work to improve the efficiency and speed of order execution, reducing trading costs and increasing profits for traders. Liquidity is an essential part of any financial market, and a crypto market maker is - [Applications of Microcontrollers in the Internet of Things (IoT)](https://www.teachmemicro.com/applications-of-microcontrollers-in-the-internet-of-things-iot/) - Through the integration of sensors, embedded systems, and networks, the Internet of Things (IoT) is a concept that links physical objects to the Internet, facilitating data exchange and communication between devices. IoT applications are becoming more and more common in our quickly evolving digital age, particularly in a variety of automation and intelligence-related industries. Microcontrollers - [Cloud GPUs - When to Use it](https://www.teachmemicro.com/cloud-gpus-when-to-use-it/) - Over the past few years, the use of video cards has been associated with mining. Even gaming took a back seat. In fact, graphics processing units (GPUs) can be successfully used for a wide range of business tasks. So what are these tasks and what are the benefits of using GPUs? Uses for GPUs Other - [7 Ultimate Content Marketing Tips and Strategies](https://www.teachmemicro.com/7-ultimate-content-marketing-tips-and-strategies/) - The potential of content marketing cannot be overstated when it comes to fostering genuine connections between businesses and their audience. Whether you find yourself at the helm of a small enterprise, a dedicated blogger, or a seasoned marketing professional, you’ll need it. Hopefully, these seven tips and strategies will empower you to produce compelling material - [ESP32 Pressure Sensor](https://www.teachmemicro.com/esp32-pressure-sensor/) - In this tutorial, we will feature the MPS20N0040D and how to use it with the ESP32 microcontroller. It's challenging to directly interface this pressure sensor with the ESP32 but thankfully, we have a development board that comes with a HX710B analog-to-digital converter. ESP32 Pressure Sensor Wiring Diagram The MPS20N0040D outputs voltage proportionally to the pressure - [ESP8266 WiFi AT Command List](https://www.teachmemicro.com/esp8266-wifi-command-list/) - Test command Command Response Parameter AT OK - Reset Command Response Parameter AT+RST OK - Get firmware version Command Response Parameter AT+GMR VERSION: OK Param : firmware version WiFi mode Command Response Parameter AT+CWMODE=? +CWMODE:(1-3) OK - AT+CWMODE? +CWMODE: OK Param: 1 -- station mode (client) 2 -- AP mode (host) - [Arduino Programming Quick Guide](https://www.teachmemicro.com/arduino-programming-quick-guide/) - This is a handy Arduino programming guide for those who already have some experience with Arduino but sometimes forget about the basics. Structure void setup() void loop() Control Structures if (x - [Arduino Parts | DIY Arduino Guide](https://www.teachmemicro.com/arduino-parts-diy-arduino-guide/) - A reference of Arduino Parts for building your own Arduino board. Bare Minimum Parts: Breadboard U1 - ATMega328 Microcontroller (preferably with Arduino bootloader installed) Jumper wires LED R2 - 470 Ohm resistors R1 - 1 x 10k Ohm resistor 2 x 10 uF capacitors (not pictured but needed on PCB version, below) X1 - 16 - [Arduino Like IDE for PICs](https://www.teachmemicro.com/arduino-like-ide-for-pics/) - Before the Arduino became popular, PICs were the go-to microcontroller device for most electronic hobbyists. PICs were cheap and the resources (at that time) were plenty. But then Arduinos came, which offer a much simpler way to code and so only a few now use these microcontrollers. Arduino's strength relies on it being a development - [Featured: Seeeduino Nano](https://www.teachmemicro.com/featured-seeeduino-nano/) - The Seeeduino Nano is Seeedstudio’s version of the new Arduino Nano. What can steer a maker towards this board instead of the original? We hope to answer that question in this featured article. First Impressions The guys at Seeedstudio were kind enough to send me a sample of their version of the Nano board. Honestly, - [Featured: DFRobot Bluno M3](https://www.teachmemicro.com/featured-dfrobot-bluno-m3/) - Last time I featured DFRobot’s Bluno M0, an Arduino-compatible board with embedded Bluetooth chip. Now, I will write about the Bluno M3, an STM32-powered board that strikingly looks similar to the M0. Is it the same board or does it offer more? Bluno M3 Overview To start, here’s the Bluno M3 compared to the Bluno - [Featured: DFRobot Bluno M0](https://www.teachmemicro.com/featured-dfrobot-bluno-m0/) - There are a lot of Arduino-compatible boards but most of them are essentially clones. These clones are cheaper, yes, but why buy them if you can have boards that can give you MORE? A LOT MORE. Bluno M0 Specifications I thought that the "Bluno M0 Mainboard" was just a knock-off of the (now retired) Arduino - [Using Buttons and LEDs on the Curiosity HPC](https://www.teachmemicro.com/using-buttons-and-leds-on-the-curiosity-hpc/) - Last time, I showed how to get started with Microchip's Curiosity HPC board. I will now explore the use of the included buttons and LEDs on this microcontroller board. When using development boards for the first time, it's always a good idea to look at its datasheet first. The Curiosity HPC has four properly-labeled LEDs. - [PIC16F877A - More Microcontroller Features](https://www.teachmemicro.com/pic16f877a-more-microcontroller-features/) - We have managed to blink an LED and use interrupts and timers with the PIC16F84A. Sadly, that’s almost all we can do with that microcontroller as it lacks features that most microcontrollers or Arduino have. From here on, we will now be using the PIC16F877A. The PIC16F877A is a 40-pin (DIP) microcontroller which Microchip describes as - [Fueling Your Knowledge: The Economics of Fuel Conditioners](https://www.teachmemicro.com/fueling-your-knowledge-the-economics-of-fuel-conditioners/) - Hey there, fuel-savvy reader! Are you tired of the rising costs at the pump, constantly feeling like your hard-earned money is going up in smoke? Well, fear not, because we're about to dive into a game-changing solution that could potentially save you a pretty penny: fuel conditioners. You might have heard whispers about these magical - [CSGO Coinflip Strategies](https://www.teachmemicro.com/csgo-coinflip-strategies/) - Understanding Coinflip in CSGO Coinflip is a popular gambling game mode in CS:GO that involves two players betting on a coin toss outcome. Players wager their skins or in-game items, and the winner takes all. It's a simple yet thrilling game that can yield significant rewards if you understand the strategies involved. Manage Your - [Factors That Influence CS:GO Knife Prices](https://www.teachmemicro.com/factors-that-influence-csgo-knife-prices/) - Rarity and Supply One of the primary factors that influence the most expensive csgo knives are their rarity and supply in the market. Certain knife skins are exceptionally rare, either due to limited in-game drops or specific events, making them highly sought after by collectors and players alike. Knives with lower supply are generally more expensive - [Persistence of Vision (POV) with Seven-segment Displays](https://www.teachmemicro.com/pov-seven-segment-displays/) - Lack of pins to use is a common challenge in designing microcontroller-based projects. This is particularly true when dealing with liquid crystal or seven-segment displays. Multiplexers and display drivers are great help but at an additional cost. Thankfully, a software-based solution exists to solve such a problem. What is POV? Persistence of vision (POV) is - [How to Use Lookup Tables in PIC Assembly](https://www.teachmemicro.com/use-lookup-tables-pic-assembly/) - Programming a microcontroller in assembly languages takes time and to reduce that time, embedded systems engineers often have tricks up their sleeves. One of those tricks is the use of lookup tables. In this post, I will share how I use lookup tables in assembly language for the PIC16F84A microcontroller. The RETLW Opcode Lookup tables - [Capture and Compare with PIC16F877A](https://www.teachmemicro.com/capture-compare-pic16f877a/) - The PIC16F877A microcontroller comes with a Capture Compare PWM (CCP) module which utilizes its 16-bit Timer1 module to generate or count pulses, among other things. I have already covered how to generate PWM in my previous tutorial. This time, we will look at how to implement capture and compare with PIC16F877A using the CCP module. - [PIC16F877A Stepper Motor Controller](https://www.teachmemicro.com/stepper-motor-controller/) - This project is a stepper motor controller featuring the PIC16F877A microcontroller and coded using XC8. The controller has three control buttons: start, stop, forward and reverse. The project was created with a six-wire unipolar stepper motor in mind but may work with other stepper motors with some modifications. Introduction A stepper motor requires pulses in - [Electronic Queuing System](https://www.teachmemicro.com/electronic-queuing-system/) - The idea of this electronic queuing system is to display both sequence number and counter number in three seven segment displays. For example, when counter 1 presses his button, the number 1 shows up on the counter number segment. At the same time, the sequence number is incremented. This system can cater up to 99 - [Digital Thermometer with Nokia 3310 LCD](https://www.teachmemicro.com/digital-thermometer-nokia-3310-lcd/) - The Nokia 3310 LCD is a cheap option for those who want to add a graphical display to their microcontroller projects. This digital thermometer project uses this LCD to display the temperature from a LM35 temperature sensor. Introduction A temperature sensor is a fairly common microcontroller project. The sensing device in this project is a - [Catch the Light PIC Game](https://www.teachmemicro.com/catch-the-light-pic-game/) - This project is a simple PIC game where LEDs go on randomly one at a time. The objective is to “catch” the LED that’s on by pressing the corresponding button. For every catch, the score, displayed on a seven segment display, is incremented. The speed of the LEDs increase every time the score goes beyond - [Adjustable Timer with Relay](https://www.teachmemicro.com/adjustable-timer-relay/) - Project Overview This adjustable timer displays seconds, minutes, and hours and is powered by a PIC16F 877A microcontroller. There are five buttons included: start/stop, up for incrementing digits, down for decrementing digits, and left and right for moving between digits during adjustment. I’ve included a relay circuit that will trigger when the timer is finished. - [SIMPic - Development Board for PIC16F877A](https://www.teachmemicro.com/simpic-development-board-pic16f877a/) - I always believed that the Arduino is a development board and is its microcontroller, the ATMega328 is the one meant to be featured in actual embedded systems projects. Nevertheless, no one can deny the advantages of boards like these as they make prototyping and debugging much easier. In this post, I will share how I - [Serial Communication with Microcontrollers](https://www.teachmemicro.com/microcontroller-serial-communication/) - When working on projects, there'll be lots of times when your microcontroller needs serial communication to talk to other devices or other micros. The most common example of this is adding IoT capabilities to your Arduino board or PIC using ESP8266 or GSM module. A number of sensors and LCD displays also send and receive - [Making Your Own ESP8266 Board](https://www.teachmemicro.com/making-esp8266-board/) - The emergence of the ESP8266 WiFi module has allowed makers and enthusiasts to create Internet-enabled projects at a minimal cost. Moreover, the popularity of the module also gave rise to commercial boards like the NodeMCU, WeMos D1, Adafruit’s Huzzah. Sparkfun’s ESP8266 Thing and many others. Practicality would make you just buy one of these boards - [Introduction to Raspberry Pi HATs](https://www.teachmemicro.com/introduction-raspberry-pi-hats/) - A Raspberry Pi HAT is a circuit board placed on top of a Raspberry Pi in order additional features to the single-board computer. There are a lot of Raspberry Pi Hat available for purchase. This post will show you how to build your own Hat. This article is sponsored by JLCPCB Raspberry Pi HAT Basics - [WiFi Soil Moisture Sensor with Arduino Program](https://www.teachmemicro.com/wifi-soil-moisture-arduino/) - Plants need enough water to survive. But what if you forgot to water the plants? This multi-part ESP8266 tutorial aims to provide a simple soil moisture sensor that reminds you, via WiFi, that your flora needs a shower. Soil Moisture Sensor The soil moisture sensor for this project is an inexpensive sensor that reads the - [WeMos D1 Mini WiFi Server](https://www.teachmemicro.com/wemos-d1-mini-wifi-server/) - Now that you've set up your WeMos D1 Mini to be programmable using the Arduino IDE, it's time to build a project. I'm a huge believer in active learning and project-making does just that. For this tutorial, I will guide you on how to build a WeMos D1 Mini WiFi server. There are two ways - [Web Server with NodeMCU WebSocket](https://www.teachmemicro.com/web-server-nodemcu-websocket/) - Uploading sensor data to web servers is one of the core ideas for Internet of Things (IoT). Such data are often small-sized and are continuously updated over time. And while HTTP performs satisfactorily for simple applications, like how I showed in my NodeMCU web server tutorial, there is a need for a much better method - [Send Sensor Data to ThingSpeak via ESP8266](https://www.teachmemicro.com/send-sensor-data-thingspeak-esp8266/) - In the previous tutorial, we set up a soil moisture sensor and have its data readable via WiFi. However, that data is only accessible if the NodeMCU ESP8266 and the client (smartphone, PC, etc.) is in the same network. In this tutorial, we will use a service that allows us to read the data from - [NodeMCU MQTT Tutorial](https://www.teachmemicro.com/nodemcu-mqtt-tutorial/) - So far, we've been using HTTP in our NodeMCU web servers and while it works, the protocol is not really the best way for sending and receiving small-sized data for IoT applications. In this tutorial, I will introduce you to MQTT using ESP8266. What is MQTT? MQTT (Message Queue Telemetry Transport) is a publish-subscribe messaging - [NodeMCU Ajax: Dynamic Sensor Data on Web Page](https://www.teachmemicro.com/nodemcu-ajax-dynamic-sensor-data-web-page/) - Last time we managed to display sensor data to a NodeMCU web server. The problem with that code is that we need to refresh the page manually in order to update the sensor value. A better method is to use Ajax (asynchronous javascript and XML) so that we can request data from the ESP8266 server - [Log Data with NodeMCU and Google Sheets](https://www.teachmemicro.com/log-data-nodemcu-google-sheets/) - Most of the time, the data from a sensor in an IoT application needs to be recorded. This data logging is important for later statistical analysis now most popularly known as data analytics. In this tutorial, we will record the data captured from the sensor to a spreadsheet. Let's build a NodeMCU ESP8266 Google Sheets - [Intro to NodeMCU and Arduino IDE](https://www.teachmemicro.com/intro-nodemcu-arduino/) - The NodeMCU is a development board featuring the popular ESP8266 WiFi chip. As it turns out, you can program the ESP8266 just like any other microcontroller. Its obvious advantage over the Arduino or PIC is that it can readily connect to the Internet via WiFi. However, the ESP8266 breakout board has limited pins although the - [How to Use PIR Sensor with NodeMCU ESP8266](https://www.teachmemicro.com/pir-sensor-nodemcu-esp8266/) - A Passive Infrared (PIR) sensor is a popular sensor for detecting the presence of a person. This is a type of proximity sensor although you may also call it a motion sensor. This tutorial aims to guide you in using a PIR sensor with your NodeMCU ESP8266 WiFi board. Introduction The human body emits infrared - [Getting Started with WeMos D1 Mini](https://www.teachmemicro.com/getting-started-wemos-d1-mini/) - The WeMos D1 Mini is part of the WeMos D1 family of development boards that feature the popular ESP8266 WiFi chip. If you have just purchased this board, then you’re on the right page. This WeMos D1 Mini tutorial will show how to start programming with this device. WeMos D1 Mini Pinout As far as - [ESP8266 SPIFFs | File System for NodeMCU](https://www.teachmemicro.com/esp8266-spiffs-web-server-nodemcu/) - SPIFFS or Serial Peripheral Interface Flash File System is a system that utilizes extra flash memory on the ESP8266 and ESP32 for storing files. It’s so named because the user reads, writes or deletes files in the memory using the serial interface. In this article, I will show you how to set up SPIFFS for - [ESP8266 NodeMCU DHT22 Interfacing Tutorial](https://www.teachmemicro.com/nodemcu-esp8266-dht22-interfacing/) - The DHT22 is a temperature and humidity sensor in one package. It is widely used mainly due to its price but also because of it being robust and user-friendly. In this NodeMCU DHT22 interfacing tutorial, I will guide you in creating an IoT-based weather monitoring project with ESP8266. Introduction The DHT22 is an upgrade over - [Display Sensor Data to NodeMCU Web Server](https://www.teachmemicro.com/display-sensor-data-nodemcu-web-server/) - We set up a simple NodeMCU web server in our previous tutorial. There we controlled an LED from a web page hosted by the NodeMCU ESP8266 board! This time, we'll be displaying data from a sensor connected to the NodeMCU's analog pin. Video Tutorial In this tutorial, I'll be displaying data coming from a light - [Creating NodeMCU WiFi Access Point](https://www.teachmemicro.com/nodemcu-wifi-access-point/) - You can use WiFi with the NodeMCU (ESP8266) even without a WiFi router. All you need to do is create a NodeMCU WiFi Access Point and the device will now act as a WiFi gateway. NodeMCU WiFi Access Point Code For this tutorial, we will modify the code shown in my NodeMCU web server article. - [Creating a Simple NodeMCU Web Server](https://www.teachmemicro.com/simple-nodemcu-web-server/) - We're done with basics of the NodeMCU in my last post. Now it's time to use the NodeMCU like how it's meant to be: an IoT device. Here I will show you how to create a simple NodeMCU web server which will control a LED attached to one of the NodeMCU's pins. Sounds interesting? Read on! - [Controlling a Water Pump with WeMos D1 Mini](https://www.teachmemicro.com/controlling-water-pump-via-wifi/) - I recently bought a mini Arduino water pump that runs on 3 to 6 V. Since it consumes very little current (130 mA @ 3V according to its specs), it seems perfect to be used for small projects featuring the ESP8266. In this tutorial, I will share how I managed to create a WiFi-controlled mini - [1.3" I2C OLED with Arduino and ESP8266](https://www.teachmemicro.com/1-3-i2c-oled-arduino-esp8266-tutorial/) - Last time, I featured the 0.96” OLED display and how to use with an Arduino microcontroller. If that screen was too small, you can try upgrading to a slightly larger 1.3” display. This tutorial aims to guide you on how to use the 1.3” OLED with popular microcontroller boards such as Arduino and ESP8266. The - [WiFi Servo Controller using WeMos D1 Mini](https://www.teachmemicro.com/wifi-servo-controller-using-wemos-d1-mini/) - In this article, I will guide you to the steps on how to build a WiFi servo controller project using the WeMos D1 Mini ESP8266 breakout board. Materials WeMos D1 Mini Tower Pro SG90 Micro Servo Connecting wires, power source The WeMos D1 Mini is one of the smallest breakout boards for the ESP8266. In - [Ultrasonic Door Lock with WiFi Control](https://www.teachmemicro.com/ultrasonic-door-lock-with-wifi-control/) - For this project, I am using an HC-SR04 ultrasonic sensor for opening a solenoid door lock. Basically, the ultrasonic sensor acts as a proximity detector. A solenoid lock triggers when an object blocks the sensor at a given distance. In addition, a web app can act as WiFi remote control for the lock. Materials HC-SR04 - [NodeMCU WiFi Jammer](https://www.teachmemicro.com/nodemcu-wifi-jammer/) - There is, in fact, a way to create a NodeMCU ESP8266 WiFi jammer although technically, this is a deauther and not really a jammer. A jammer sends out noise on the WiFi frequency spectrum (2.4 GHz) while the program in this tutorial sends packets that disrupt the normal functions of your WiFi router. So if - [NodeMCU IoT Weather Device](https://www.teachmemicro.com/nodemcu-iot-weather-device/) - This project demonstrates how to read data from the DHT22 temperature and humidity sensor and send that data to the web using an ESP8266 via MQTT. Setting Up As already mentioned, this project uses the DHT22 and a NodeMCU ESP8266 board. The hardware connections are straightforward: DHT22 NodeMCU Dout GPIO4 (D2) VCC 3.3V GND GND - [NodeMCU IoT Environment Monitor](https://www.teachmemicro.com/nodemcu-iot-environment-monitor/) - Project Overview This NodeMCU IoT project is a simple demonstration on how to send sensor data to the Internet. Powered by a NodeMCU ESP8266 microcontroller, this project is able to show temperature, humidity and atmospheric pressure to any MQTT subscriber. Introduction Using MQTT is much faster than using HTTP because of reduced overhead. In fact, - [Using RESTful APIs with ESP32](https://www.teachmemicro.com/esp32-restful-api/) - With its WiFi capabilities, the ESP32 can connect to API services and acquire useful (and sometimes useless) information from the web. Here’s a quick tutorial on how to connect to RESTful APIs using ESP32. What is RESTful API A RESTful API is an architectural style for exchanging information between servers typically using, but not exclusively, - [Using ESP32 (NodeMCU-32S) Board for the First Time](https://www.teachmemicro.com/using-esp32-for-the-first-time/) - The ESP32 expands the capabilities of the popular ESP8266 WiFi microcontroller by using a 32-bit microprocessor, and adding Bluetooth 4.2 among others. What possible projects can we build using this device? We will find out as we start our series for the ESP32. Setting up the Arduino IDE Our featured device can be programmed using - [Update ESP32 Firmware through External Web Server](https://www.teachmemicro.com/update-esp32-firmware-external-web-server/) - Launching a project into production doesn’t mean it’s 100% finished --- this is why software/firmware updates exist. And your users are not programmers so you want the update process as user-friendly as possible. Thankfully, the ESP32 allows you to update its compiled code, called firmware, to be updated over the air (OTA). There are a - [Sensor Display on ESP32 Web Server](https://www.teachmemicro.com/sensor-display-on-esp32-web-server/) - Last time, I showed you how to setup the ESP32 development board with the Arduino programming environment. This time, I will be building a simple ESP32 web server where data from a sensor is displayed on a web page. For this tutorial, I will be using the DHT11 Humidity and Temperature sensor. This is a - [Get Any Reddit Post using ESP32](https://www.teachmemicro.com/esp32-get-reddit-post-using-api/) - Reddit's API has been piquing my curiosity for some time. However, my past experiences with APIs, especially with Twitter and Facebook have left a bad taste in my mouth. Then one day I had the courage to try it again using ESP32 and to my surprise, it's far easier than it looks! You can acquire - [ESP32 WiFi Manager | Dynamic SSID and Password](https://www.teachmemicro.com/esp32-wifi-manager-dynamic-ssid-password/) - If you've been following my tutorials on ESP32, then you'll notice that the WiFi SSID and password are always hardcoded. This tutorial will show you a way to change the WiFi credentials without needing to edit and re-upload your sketch. Our aim is to create a simple ESP32 WiFi manager. Overview There are two scenarios - [ESP32 MAX7219 WiFi Message Board](https://www.teachmemicro.com/esp32-max7219-wifi-message-board/) - This ESP32-powered project allows you to write messages to a MAX7219 LED matrix display using your smartphone. Scaled up, this can be used as a WiFi message board for schools or signages for businesses. Materials ESP32 (NodeMCU-32S) 4 x 8 x 8 LED Dot Matrix with MAX7219 Breadboard, Connecting Wires, Power Source The ESP32 microcontroller - [ESP32 Magnetometer using HMC5883L](https://www.teachmemicro.com/esp32-magnetometer-hmc5883l/) - For this article, I will show you how to use an ESP32 microcontroller as a magnetometer - a device that measures the direction and strength of a nearby magnet. In the absence of a nearby magnet, the device detects the Earth’s magnetic field. Hence, a compass is a type of magnetometer. Here, I will read - [Raspberry Pi Zero vs. PocketBeagle](https://www.teachmemicro.com/raspberry-pi-zero-vs-pocketbeagle/) - Last year, both Raspberry Pi and Beaglebone Black released mini versions of their popular microcomputers: the Raspberry Pi Zero and PocketBeagle. I happened to own both and had a chance to compare. Which small-size single board computer (SBC) is better? It’s Raspberry Pi Zero vs. PocketBeagle after the jump. Round 1: Design The Beaglebone Black’s - [The Beaglebone Black Hardware](https://www.teachmemicro.com/beaglebone-black-hardware/) - Ah, the Beaglebone Black. This credit card-sized computer was meant to be the Raspberry Pi’s competitor and sure lives up to it. Its users are way less than RPi’s, which is understandable, given the Pi’s appeal to beginners and the like. But if you would ask me what to choose between the two, I would - [Introduction to Bonescript and the Cloud9 IDE](https://www.teachmemicro.com/introduction-bonescript-cloud9-ide/) - When you browse a website, you are requesting the contents of the web page from or using the calculating capabilities of a server somewhere. That server is almost always a Linux machine and server-side scripts like PHP, Python, and Node.Js are used to “talk” to these servers. The Beaglebone Black also acts as a “local” - [Input to BeagleBone Black with BoneScript](https://www.teachmemicro.com/beaglebone-bonescript-input/) - Using a Button As you’ve noticed, the functions in bonescript are similar to Arduino’s. If we are to use an input device such as a button, switch, etc, we only need to change the direction using pinMode: var b = require('bonescript'); b.pinMode("P9_12", b.INPUT); The script below reads the state of a button attached to - [Getting Started with PocketBeagle Mini SBC](https://www.teachmemicro.com/getting-started-pocketbeagle/) - I am a fan of the BeagleBone Black. Thus when I heard that a small-body version of the BBB is now available, I purchased it immediately even if it costs twice as much as the other small-body SBC, the Raspberry Pi Zero. The PocketBeagle, as it’s called, also doesn’t have built-in WiFi or Bluetooth or - [Controlling a Servo Motor with BoneScript](https://www.teachmemicro.com/controlling-servo-motor-bonescript/) - Using the Beaglebone Black's PWM Bonescript also includes an analogWrite function which utilizes the 8 PWM pins of the Beaglebone Black. As you might already know, PWM allows us to control a servo motor. The analogWrite function accepts the pin name, duty cycle, frequency, and callback function as parameters. The duty cycle value can be - [Blink a LED with Bonescript](https://www.teachmemicro.com/blink-led-bonescript/) - Blinking On-board LEDs The simplest bonescript we can create right now is to blink one of the four user LEDs. The user LEDs are those four blue LEDs just above the miniUSB port: On Cloud9 IDE (192.168.7.2:3000), open a new file (click the + tab) and then paste the following script: var b = require('bonescript'); - [Beaglebone Black: Controlling On-board LEDs](https://www.teachmemicro.com/beaglebone-black-controlling-user-leds/) - In this post, I flashed a LED connected to one of the Beaglebone Black's GPIO pins. Here I will flash the user or on-board LEDs on the device using the same method we did on the external LED. User LEDs The Beaglebone Black has four blue LEDs, USR0 to USR3, in the corner near the reset button. - [Beaglebone Black PWM on Ubuntu 16.04 Using Device Tree Overlay](https://www.teachmemicro.com/beaglebone-black-pwm-ubuntu-device-tree/) - Now we'll use the Beaglebone Black PWM to control a servo motor. PWM, which is short for pulse width modulation, is widely used for controlling motors (dc and servomotors). PWM is also used in controlling power delivered to a load or device without using "power-eating" rheostat. Beaglebone Black PWM on Ubuntu While there are a - [Beaglebone Black MPU6050 Interfacing: I2C Tutorial Part 2](https://www.teachmemicro.com/beaglebone-black-mpu6050-i2c-tutorial-part-2/) - We covered the Beaglebone Black I2C basics in our last tutorial. This time, we'll try to communicate with a device through the I2C protocol. This device, the MPU6050, is a gyroscope + accelerometer integrated circuit that is very popular among makers and enthusiasts. Beaglebone Black MPU6050 Wiring Diagram First thing you need to do, of - [Beaglebone Black I2C Tutorial](https://www.teachmemicro.com/beaglebone-black-i2c-tutorial/) - I2C is a popular communications protocol and is used by a lot of sensors and devices. This is why most microcontrollers, including Arduino, PICs, and STM32 have I2C support. In this tutorial, we will look at how to use the I2C protocol on the BBB and create a simple Beaglebone Black I2C application. Beaglebone Black - [Beaglebone Black ADC: Reading Analog Voltages](https://www.teachmemicro.com/beaglebone-black-adc/) - One of the most important things your microcontroller can do is read analog voltages. It is important particularly in interfacing with sensors where most throw varying voltage levels that represent varying physical quantities (temperature, pressure, etc.). Microcontrollers, including the Beaglebone Black, have analog to digital converters to do this. Here I will show you how - [Analog Signals with BeagleBone BoneScript](https://www.teachmemicro.com/analog-signals-beaglebone-bonescript/) - Using the Beaglebone Black ADC One of the advantages of the Beaglebone Black over the Raspberry Pi is the presence of an analog-to-digital converter. There are 7 analog inputs, all at P9: To process analog signals, we’ll be using the analogRead() function. Note that the analog pins can only read as much as 1.8 V. - [Adding WiFi to PocketBeagle](https://www.teachmemicro.com/pocketbeagle-wifi/) - For the next part of my series on PocketBeagle, I will show how to add WiFi connectivity to the board. This board doesn’t come with built-in WiFi like the Raspberry Pi Zero W. With a simple hack, I managed to add WiFi connectivity to it. Adding USB to PocketBeagle There is a provision for adding - [How the DHT22 Sensor Works](https://www.teachmemicro.com/how-dht22-sensor-works/) - The DHT22 temperature and humidity sensor is a common sensor; in fact, there are tons of tutorials out there teaching you how to use it with your Arduino, Raspberry Pi, or other microcontrollers. What prompted me to write about this sensor is my curiosity about how it gives out two sets of data using only - [PIR Motion Sensor](https://www.teachmemicro.com/pir-motion-sensor/) - You can in fact build your own motion sensor without spending too much. Motion sensors can be set up using ultrasonic transceivers, video cameras, or microwave signals. In this tutorial, I’ll show you how to use the PIR motion sensor with a microcontroller. PIR is short for passive infrared which describes how the sensor operates; - [Unleash the Potential of the Internet: 10 Essential IoT Starter Kits to Kickstart Your Journey](https://www.teachmemicro.com/unleash-the-potential-of-the-internet-10-essential-iot-starter-kits-to-kickstart-your-journey/) - End your search for the ultimate, cost-effective IoT starter kits designed to help you construct innovative IoT solutions. With these exceptional smart device kits, your journey into the world of IoT begins here. The Internet of Things (IoT) represents the future of technology, a sector poised to attract billions of dollars in investment. If you’re - [Solid State Relay Tutorial | WiFi Switch](https://www.teachmemicro.com/solid-state-relay-tutorial-wifi-switch/) - Relays in electronics are useful for controlling a high-power load using a smaller-power circuit. For example, an Arduino or PIC running on 5V, controlling a 240VAC light bulb, etc. This is what we have shown in our Arduino relay tutorial. But did you know that there are different types of relays? That common box-like relay - [Arduino WiFi: Using ESP8266 with AT Commands](https://www.teachmemicro.com/arduino-wifi-using-esp8266-commands/) - The ESP8266 has been a blessing to makers who need to connect their Arduino to the Internet on the cheap. In fact, boards like the NodeMCU and WeMos which feature the ESP module have become overly popular. This is unsurprising given that these boards can replace the Arduino without a steep learning curve. So if - [Beaglebone Black Serial Connection to Arduino](https://www.teachmemicro.com/beaglebone-black-serial-arduino/) - One way to connect a microcontroller to another microcontroller is through the serial port. Here I will show you how to use the Beaglebone Black serial port to connect to the Arduino UNO. Preliminaries Beaglebone Black Serial Device Tree Overlay In order to use the Beaglebone Black's serial port, you need the device tree overlays - [Watchdog Timer on Arduino Tutorial](https://www.teachmemicro.com/arduino-watchdog-timer/) - In Arduino programming, we learn about functions setup() and loop(). Any code inside setup() executes once while code inside loop() executes again and again until the next reset. Now what if while inside the loop(), something went wrong either in code or in hardware? Normally we just press the reset button. But what if we - [Vibration Sensor Tutorial](https://www.teachmemicro.com/vibration-sensor-tutorial/) - Vibrations can be an indicator that trouble is coming. It can be your machine going haywire, a gear on a robot missing teeth, or worse, a looming earthquake! In this vibration sensor tutorial, we will look at how to detect vibrations using specially designed sensors and an Arduino microcontroller. There are two widely available vibration - [Using the SIM900A GSM Module with the Arduino](https://www.teachmemicro.com/sim900a-arduino/) - The SIM900A is another module from SIMCOM popularly used as a GSM shield for sending and receiving SMS. I’ve already covered the SIM800L, now let’s look at the SIM900A breakout board. The SIM900A Breakout Board Similar to the SIM800L module, the SIM900A breakout board has eight pinouts. They don’t have labels so allow me to - [Using the MicroSD Breakout Board with Arduino](https://www.teachmemicro.com/using-microsd-breakout-board-arduino/) - Microcontrollers usually don’t have enough memory to store data like images, databases, or even large text files. EEPROMs are tasked with this, but the portability of a memory card gives it a big advantage. This tutorial shows how easy to use a microSD card with the Arduino microcontroller. Introduction There are a lot of SD - [Using the Grove Gesture Sensor](https://www.teachmemicro.com/using-grove-gesture-sensor/) - Wouldn’t it be cool if you could control something by just waving your hands? Well, this is what the grove gesture sensor does. In this post, I will show you how to use this sensor with an Arduino and create a simple gesture control project. Getting Started Using modules with Arduino is easy but grove - [Using the BH1750 (GY-30) Sensor with Arduino](https://www.teachmemicro.com/using-the-bh1750-gy-30-sensor-with-arduino/) - The BH1750 is a light-intensity sensor that interfaces with a microcontroller through the I2C bus. It can directly provide lux values without further processing, unlike CdS cells or photodiodes. Overview Illuminance is a measure of how much an incident light lightens up a given surface. It is given in lumens per square meter or lumens - [Using the 3D Gesture Sensor](https://www.teachmemicro.com/using-3d-gesture-sensor/) - I recently got my hands on a 3D gesture sensor from DFRobot and honestly, my brain is ringing with the possible projects I can do with it. Basically, it is a device that can sense hand movements in different directions. Imagine controlling anything just by waving your hands! Let's get a closer look after the - [Using the 0.96" Tiny OLED Display with Arduino](https://www.teachmemicro.com/0-96-tiny-oled-display-arduino/) - If somehow a 16x2 LCD or a Nokia 3310/5110 LCD is too large for your project, then there's a 0.96" display you can add to your arsenal. This display is OLED (organic LED) instead of LCD - which means the backlight is unnecessary. In this tutorial, we will look at how to use the 0.96" - [Using JSON for Data Transfer with Arduino](https://www.teachmemicro.com/using-json-for-data-transfer-with-arduino/) - Last time, I showed you how to send HTTP requests via TCP featuring the ENC28J60 ethernet shield. We continue with our series with another post, this time, using JSON for data transfer. Full tutorial after the jump. Introduction JSON is short for Javascript Object Notation and is a data-interchange format. It is, in fact, human-readable - [Using an E-ink Display with Arduino](https://www.teachmemicro.com/e-ink-display-arduino/) - Ever wondered why e-book readers don't use LCDs, OLEDs, or TFT displays? This is because, with the same usage, e-paper or e-ink displays consume 0.008% power compared to a TFT display. In this article, I'll be featuring an e-ink display that can be readily used with Arduino and other microcontrollers. How E-ink Displays Work - [Using AD9833 Signal Generator with Arduino](https://www.teachmemicro.com/arduino-ad9833-signal-generator/) - How can you create sine, square or triangular waves with Arduino? Apparently, there’s a way with the help of an IC package -- the AD9833. With it, you can now create waveforms for communications, instrumentation, or other similar projects. My tutorial on building your own Arduino AD9833 signal generator after the jump. AD9833 Waveform Generator - [Using a Fingerprint Sensor](https://www.teachmemicro.com/using-fingerprint-sensor/) - Fingerprint sensors are old technology but it wasn’t readily available to makers until it was cheap. With such a device, you could easily create a keyless secure lock, biometric attendance system, and many more. Fingerprint Sensor Module I managed to secure a fingerprint sensor module that communicates via TTL serial. This means it can easily - [Ultrasonic Sensor and Temperature Compensation](https://www.teachmemicro.com/ultrasonic-sensor-temperature-compensation/) - If you've been using Arduino, you might have used or have heard about the ultrasonic sensor. Most of us use it for level/distance measurement while some use it to detect an obstacle in front. What most of us don’t know is that there is an underlying flaw with the ultrasonic sensor, particularly on the first - [MAX30102: An Improved Heart Rate Sensor for Arduino](https://www.teachmemicro.com/max30102-an-improved-heart-rate-sensor-for-arduino/) - Have you read the MAX30100 tutorial and are still having trouble making that chip work? Maybe it’s time to use another Arduino heart rate sensor. The MAX30102 module has a better hardware design and software support. I’ll explain why after the jump. How Does MAX30102 Detect Heart Rate From MAX30100 Tutorial: "The device has two - [How to Use the MQ-7 Carbon Monoxide Sensor](https://www.teachmemicro.com/use-mq-7-carbon-monoxide-sensor/) - The MQ-7 carbon monoxide gas sensor is especially designed to be sensitive to carbon monoxide (CO) gas which is emitted by vehicles, factories, etc. Since this gas is considered toxic to humans at certain levels, the concentration of CO is used to determine the air pollution in a given area. Introduction to MQ-7 Carbon Monoxide - [How to Use the MAX7219 Cascaded Dot Matrix Module](https://www.teachmemicro.com/max7219-cascaded-dot-matrix-module/) - With the 8 x 8 LEDs in a dot matrix, you can create several different characters and graphics. Imagine what you can do if you have a MAX7219 cascaded dot matrix module. Introduction to Dot Matrices A dot matrix is an array of LEDs controllable by addressing rows and columns. For example, if we want - [How to Use the E32-TTL-100 SX1278 LoRa Module](https://www.teachmemicro.com/e32-ttl-100-sx1278-lora-module/) - LoRa is a promising low-power, long-range wireless transmission protocol developed by Semtech as part of the emergence of the Internet of Things (IoT). Simply put, it is a method for sending data separate from WiFi, Zigbee, or Bluetooth. Its low power consumption amidst a very long range of transmission (up to 10 km) makes it - [How to Use I2C LCD with Arduino](https://www.teachmemicro.com/arduino-i2c-lcd/) - The classic parallel LCD sometimes poses a problem for projects that use a lot of Arduino pins. The least amount of pins you can use is six, excluding the power pins and the potentiometer contrast adjust (optional) pin. Thankfully, by using an I2C LCD "backpack", the pin use can be reduced to four! I2C LCD - [How to Use Arduino as USB to Serial Converter](https://www.teachmemicro.com/arduino-usb-serial-converter/) - Use an Arduino UNO as a serial to usb converter. Useful when debugging PICs, ESP8266 or Bluetooth Module - [How to Save and Retrieve a String to Arduino EEPROM](https://www.teachmemicro.com/how-to-save-and-retrieve-a-string-to-arduino-eeprom/) - An Arduino’s EEPROM, depending on the type of board, can store up to 4 KB of data. The Arduino UNO, in particular, stores 1024 bytes or 1024 ASCII characters. With that space, how can we store a sentence? Or a paragraph? This is what this article is all about. Using EEPROM Read and Write The - [How to Manipulate Arduino Pins Simultaneously](https://www.teachmemicro.com/arduino-pins-manipulation/) - Learn how to use Arduino pins simultaneously. Also includes a tutorial on using a seven segment display with the Arduino. - [Creating an Arduino Bluetooth Serial Interface](https://www.teachmemicro.com/arduino-bluetooth/) - Bluetooth is the most popular way of connecting an Arduino to a smartphone wirelessly. In this tutorial, we will create an Arduino-bluetooth interface and send messages from an Arduino to a smartphone and Arduino to a personal computer. HC-05 Bluetooth Module Bluetooth is a radio communication protocol that was created as a wireless alternative to - [How pinMode, digitalWrite and digitalRead Work](https://www.teachmemicro.com/how-pinmode-digitalwrite-digitalread-works/) - I believe what makes Arduino popular is how it makes microcontrollers easier to use. I remember the time when I have to spent hours coding a project and then spend money on programming hardware. Arduino has its limitations, but the platform helps create tons of electronic projects even for non-engineers. Thus, I decided to create - [Detect Objects with Camera and Arduino](https://www.teachmemicro.com/detect-objects-camera-arduino/) - The basic Arduino boards are not powerful enough for image processing. Heck, they are not even good enough to capture photos without the help of a desktop computer. However, there is a special imaging device you can use to make an Arduino detect objects. The special device I am referring to is the Pixy camera. - [Calculating Integrals with Arduino](https://www.teachmemicro.com/calculating-integrals-with-arduino/) - The Arduino platform supports math functions like sine, cosine, logarithm, exponential, etc. But can it solve higher math problems like calculus? This two-part tutorial will show you how to make a sketch for Arduino integrals and differentials solver. Solving Integrals Using Numerical Analysis Integrals can be definite or indefinite. The latter one requires much more - [Arduino Wireless Control](https://www.teachmemicro.com/arduino-wireless-control/) - Wireless control is much more convenient, especially at a significant distance. Imagine having wires from your controller to your robot! Also, making your project portable is essentially saying making it wireless (unless you still need to plug it on mains). In this tutorial, we’ll look at popular methods for achieving Arduino wireless control. Control via - [Arduino State Machine Tutorial](https://www.teachmemicro.com/arduino-state-machine-tutorial/) - A finite state machine (FSM) is a theoretical machine that only has one action or state at a time. The machine may go from one state to another if there are inputs (or one input) that triggers the state change. In this article, I will guide you on how to implement an Arduino state machine - [Arduino Simulation in Proteus ISIS](https://www.teachmemicro.com/arduino-simulation-in-proteus-isis/) - Labcenter Electronics’ Proteus has become an indispensable tool for engineers as it offers not only schematic and PCB design but also real-time simulation. However, Arduino simulation is not supported by this application by default. This tutorial will show you how to simulate an Arduino with Proteus ISIS. Step 1: Add Arduino Library for Proteus All - [Arduino Sensor Interfacing Tutorial](https://www.teachmemicro.com/arduino-sensor-tutorial/) - A sensor is a device that transforms physical quantities like temperature, humidity, pressure, etc., to an electrical signal. Moreover, this signal is often fed to a microcontroller like the Arduino for further processing, displaying or recording. This data from the sensor are often analog in nature, i.e., they vary over time and not simple on-off - [Blink a LED with STM32 Nucleo](https://www.teachmemicro.com/blink-led-stm32-nucleo/) - On the previous tutorial, we managed to create our first program with the STM32 Nucleo board. Now we will dig deeper on the pinout and other functionalities of the board. The ST Nucleo F103RB page on the Mbed website contains information about the Arduino header pins of the board. Here is the top-left side: You’ll - [Generating Sine, Triangular, and Sawtooth Waveforms using STM32F4 DAC](https://www.teachmemicro.com/generating-sine-triangular-and-sawtooth-waveforms-using-stm32f4-dac/) - The STM32F4 microcontroller series is popular in embedded systems applications due to its powerful features. One of its key peripherals is the Digital-to-Analog Converter (DAC), which enables the generation of analog waveforms. In this article, I will show you how to generate sine, triangular, and sawtooth waveforms using the STM32F4 DAC and MATLAB. The STM32F4 - [Getting Started with STM32 Nucleo and Mbed](https://www.teachmemicro.com/getting-started-stm32-nucleo-mbed/) - The STM32 Nucleo boards by ST pack a lot more power than an Arduino UNO and have headers aligned the same way with the latter which makes it compatible with Arduino shields. For this tutorial and the next, I will be using Seedstudio’s Grove Shield as it makes it easier to connect some of the - [Programming the STM32F1 Discovery](https://www.teachmemicro.com/programming-stm32f1-discovery/) - So I got this STM32F1 discovery board about a year ago but I haven't had the time to play with it. There are a number of reasons why I purchased it: 1) I wanted to start studying ARM devices on my way to getting a certification 2) A device that has real-time OS (RTOS) support has - [Arduino Programming: Ternary Operator](https://www.teachmemicro.com/arduino-programming-ternary-operator/) - If your Arduino code involves decision-making, then it's very likely you're using conditional statements. Using if ... else... is common; switch statements as well. But there is a third way, using ternary operator, that will really make your code shorter. Example Scenario Say we are reading the state of an (active low) switch, on - [Arduino Programming: Structs](https://www.teachmemicro.com/arduino-programming-structs/) - Structs (short for structure) are far less common in Arduino programming because they are mostly used in C whereas Arduino is based on C++. However, they are still a very useful tool especially if there is a need for a user-defined data set. This tutorial aims to help you understand how to use Arduino structs. - [Arduino Programming: Static Variables](https://www.teachmemicro.com/arduino-static-variables/) - Here we are with another tutorial on Arduino programming. This time, we will look at static variables and how you can use them to your advantage. You may need to read about functions and classes before going through this one. What is a Static Variable? A variable is known to be static if it keeps - [Arduino Programming: Pointers](https://www.teachmemicro.com/arduino-programming-pointers/) - Pointers can be confusing to beginner Arduino programmers. This tutorial aims to help you understand the concept of pointers by looking at software and hardware points of view. Microcontroller Memory Pointers, as their name suggests, point to a microprocessor/microcontroller's memory. Consider the Arduino UNO board whose main microcontroller is the ATMega328p. The ATMega328p’s memory is - [Arduino Programming: Classes](https://www.teachmemicro.com/arduino-programming-classes/) - The Arduino platform runs on C++ and with this comes all the pros (and cons) of the language. One of those pros is the use of classes and in general, object oriented coding. This article aims to guide you in creating your own Arduino classes which can make your sketches more efficient. Introduction A class - [Arduino Programming: Arrays](https://www.teachmemicro.com/arduino-programming-arrays/) - An array is a data structure for storing multiple variables of the same data type. Mastering arrays will definitely make your Arduino sketches more efficient. If you’re a beginner when it comes to Arduino array, then this tutorial is for you. Introduction As already mentioned, an array is a container for multiple variables of the - [Wireless Controller for Bluetooth RC Car](https://www.teachmemicro.com/wireless-controller-bluetooth-rc-car/) - This project demonstrates how two Bluetooth modules connect with each other. I’ll be featuring DFRobot’s Input Shield V2 as the transmitter/controller and Seeed’s ShieldBot, which was seen on my Bluetooth RC Car project, will act as the receiver. Setup The Bluetooth modules I’ll be using are the old but still popular HC-05 modules. The first - [Clap Switch for RGB LEDs using Arduino](https://www.teachmemicro.com/clap-switch-rgb-led-arduino/) - Introduction This week’s Arduino project is a classic one and ideal for beginners. Here I will be showing how to build a simple clap switch for an RGB LED strip. Basically, a microphone captures the sound of the clap and converts it to a voltage. The Arduino processes that voltage and then changes the color - [How to Send SMS with Raspberry Pi](https://www.teachmemicro.com/how-to-send-sms-raspberry-pi/) - It’s 2020 and sending SMS is now an old technology. But such technology remains to be a cheap and indispensable way to communicate over long distances. In this article, I will share how I send SMS with the Raspberry Pi. I have been using a SIM800L EVB board to send SMS using a Raspberry Pi. - [Building Code for the Raspberry Pi Pico](https://www.teachmemicro.com/building-code-raspberry-pi-pico/) - A few months after its release, I finally got a hand on the Raspberry Pi Pico. It’s a microcontroller board featuring the RP2040, but don’t expect it to be like an Arduino UNO. In fact, it's very much like the STM32 Blue Pill not only because both are ARM microcontrollers but also, physically. Anyway, to - [RFID Login System with Raspberry Pi](https://www.teachmemicro.com/rfid-login-raspberry-pi/) - Wouldn't it be cool if you built your own card login system just like in hotels? Because RFID modules are now easy to get, this is now very possible. This Raspberry Pi RFID project of mine is a simple login system that reads cards and tags. Every time a user taps his or her card, - [Empower Your Raspberry Pi Projects with SunFounder PiPower](https://www.teachmemicro.com/empower-your-raspberry-pi-projects-with-sunfounder-pipower/) - For enthusiasts and creators working with Raspberry Pi, the joy of bringing an idea to life is often met with the challenge of maintaining a consistent power supply. This is where SunFounder PiPower comes in to save the day, offering uninterrupted power supply (UPS) specifically designed for your Raspberry Pi projects. Meet SunFounder PiPower SunFounder - [How to use 16x2 LCD with Raspberry Pi](https://www.teachmemicro.com/raspberry-pi-lcd-hd44780/) - The 16x2 parallel LCD (HD44780) is a popular liquid crystal display among hobbyists due to its cheap price and ease of use. The Arduino platform recognizes its popularity and created the LiquidCrystal library for it. The Arduino LCD tutorial covers that. I attempted to port the LiquidCrystal library to the Raspberry Pi using Python and - [How to Use a Web Cam with Raspberry Pi](https://www.teachmemicro.com/raspberry-pi-web-cam/) - The Raspberry Pi comes with a camera connector on board. But if you don't want to buy the official camera and use a web camera instead, you can! I'll show you how to display a video from the webcam on a web server hosted by a Raspberry Pi For this tutorial, I used Logitech C270 - [How to Use I2C Devices with Raspberry Pi](https://www.teachmemicro.com/raspberry-pi-i2c/) - I2C is a popular device protocol in communicating with microcontrollers. However, this protocol is not limited to Arduino, PIC and STM32; the Raspberry Pi can also use I2C. If you are a beginner in the protocol, I suggest you read my primer on I2C. I am using Raspberry 4 Model B in this tutorial running - [Raspberry Pi GPIO Tutorial](https://www.teachmemicro.com/raspberry-pi-gpio-tutorial/) - The Raspberry Pi is a Linux computer. But unlike most desktop and laptop Linux computers, users have access to a row of pins that can be used as inputs or outputs. These 40 pins are called GPIO (General Purpose Input Output) pins. This Raspberry Pi GPIO tutorial aims to help you program these pins for - [Raspberry Pi Pico and HC-SR501 Motion Sensor](https://www.teachmemicro.com/raspberry-pi-pico-hc-sr501-motion-sensor/) - Now that we have set up the Raspberry Pi Pico for the Arduino environment, it’s time to build real projects. First on the list is a simple motion detector using a Passive Infrared Receiver (PIR) sensor. Raspberry Pi Pico to PIR Sensor Wiring and Code Interfacing with the HC-SR501 PIR sensor is quite easy. We - [Raspberry Pi PWM and Servo Motor Tutorial](https://www.teachmemicro.com/raspberry-pi-pwm-servo-tutorial/) - For the next part of the series on Raspberry Pi, I will show how to produce a PWM signal from a pin. Moreover, I will show you how to control single and multiple servo motors in this Raspberry Pi PWM tutorial. Raspberry Pi PWM Pin Strictly speaking, there is only one user-accessible PWM pin on - [Raspberry Pi Serial (UART) Tutorial](https://www.teachmemicro.com/raspberry-pi-serial-uart-tutorial/) - The serial port is a common way to “talk” to devices and is a feature that most microcontrollers and computers have. This Raspberry Pi Serial tutorial teaches you how to utilize the board’s UART feature in order to connect to a PC or to other microcontrollers and peripherals. Introduction to Raspberry Pi Serial Ports The - [Raspberry Pi Ultrasonic Sensor Tutorial](https://www.teachmemicro.com/raspberry-pi-ultrasonic-sensor-tutorial/) - An ultrasonic sensor is a common tool for measuring the distance of an object in front of it. While I recommend using an Arduino with ultrasonic sensor to achieve real-time results, it is still possible to use the sensor with a Raspberry Pi. This tutorial shows you how to build a Raspberry Pi ultrasonic sensor - [Raspberry Pi VNC Control Via PC](https://www.teachmemicro.com/raspberry-pi-vnc-control-via-pc/) - I don't have a monitor for my Raspberry Pi so I use SSH to access and control it. I can do everything I need with SSH but sometimes I just grow tired of looking at the terminal and just want to point and click my mouse in using my board. So how can I use - [Setting up a Raspberry Pi Zero Web Server](https://www.teachmemicro.com/raspberry-pi-zero-web-server/) - I finally got my hands on a Raspberry Pi Zero W and started the usual tinkering. For those unaware, this smaller version of the Raspberry Pi packs a 1 GHz CPU and 512 MB of RAM. But what excites me the most is the WiFI and Bluetooth connectivity that comes with the “W” version. Let's - [Setting Up Raspberry Pi Zero Bluetooth](https://www.teachmemicro.com/setting-raspberry-pi-zero-bluetooth/) - The Raspberry Pi Zero W comes with both WiFi and Bluetooth connectivity. I have already covered how to turn on WiFi on my previous tutorial. Now, let’s look at how to set up a Raspberry Pi Zero bluetooth connection without a GUI. Introduction The small-body version of the Raspberry Pi supports Bluetooth 4.1 which also - [Uploading Camera Images from Raspberry Pi to Website](https://www.teachmemicro.com/uploading-camera-images-raspberry-pi-website/) - For those who are looking to work with images on their projects, the Raspberry Pi offer enough tools to work with. This short tutorial will guide you on how you can take pictures using a camera attached to your Pi and then upload those camera images for use in a website. Setup a Dropbox Account - [Using RFID with Raspberry Pi Zero](https://www.teachmemicro.com/using-rfid-with-raspberry-pi-zero/) - Using RFID cards and tags is a cool way to switch on anything, wirelessly. For example, you can create an e-lock for your room, check meeting attendance or use cards to control your robot. In this tutorial, we will add RFID functions to a Raspberry Pi Zero. For this tutorial, I will be using the - [Using the Raspberry Pi Pico with Arduino](https://www.teachmemicro.com/raspberry-pi-pico-with-arduino/) - In my previous post, I showed how challenging it was to build code for the Raspberry Pi Pico in C/C++. Fortunately, the microcontroller is now fully supported by the Arduino IDE! This post shows you how to program the Raspberry Pi Pico as if it’s an Arduino. 1. Download Pico Setup Tools for Windows Navigate - [A Beginner’s Guide to Making a STM32 Board](https://www.teachmemicro.com/a-beginners-guide-to-making-a-stm32-board/) - If you’re looking to learn how to make your own electronic devices at home, it’s important to understand that you’re going to need two things: a microprocessor and the microprocessor board to put it on. In an earlier post, we taught you how to program the PIC16F84A — sometimes known as the “beginner’s microcontroller.” Today, we’ll - [Blink On-board LEDs on STM32F1 Discovery](https://www.teachmemicro.com/blink-board-leds-stm32f1-discovery/) - In my last post, I presented how to get started with the STM32F1 Discovery embedded evaluation board by downloading a package and running the example code. This time, I will teach you how to make a simple STM32F1 program from scratch. This tutorial and my succeeding tutorials will be using Keil IDE for programming so - [Getting Started with Blue Pill and STM32Cube](https://www.teachmemicro.com/getting-started-blue-pill-stm32cube/) - Arduino is easy to use but that's at the expense of numerous features, the most glaring of them is speed. Hence you would rarely see an Arduino in an embedded, industrial setting. ARM Cortex-M microcontrollers are low-cost, energy-efficient 32-bit devices with up to 2 DMIPS/MHz. They are the microcontroller of choice if you are looking - [Input and Output with STM32 Nucleo](https://www.teachmemicro.com/stm32-nucleo-input-and-output/) - We managed to blink an LED in the previous tutorial. This time, still featuring the STM32F1 Nucleo, we will add a button that will control the attached LED and a simple clap switch. Controlling an LED using a Button I attached the Grove button to D2 as shown: Inputs like the attached button need to - [Programming the STM32F407VE Black Board](https://www.teachmemicro.com/programming-stm32f407ve-black-board/) - I just got my hands on a STM32F407VET black development board from China and was excited about the possible projects I can build with it. To my demise, there’s not much information about programming the board so I had to find that out by myself. This post is for those who also purchased this board - [Sending and Receiving Data over STM32 USB](https://www.teachmemicro.com/stm32-cdc-usb-send-receive-data/) - The serial port is the most usual comm channel between a microcontroller and a computer. However, the different voltage levels and loss of the RS-232 port in modern computers led to the use of USB-TLL converter chips like CH340, CP2102, etc. This is what happens in the NodeMCU ESP8266 and ESP32. Another example, the Arduino - [STM32 Nucleo Serial Communication](https://www.teachmemicro.com/stm32-nucleo-serial-communication/) - Debugging through the serial port is one of the ways to find errors in your code. In this tutorial, I'll show you how to add serial communication function to your STM32 Nucleo board. Download the Driver The first thing we'll need is the serial port driver. I thought this was already installed because we are - [STM32F1 Serial Port and printf()](https://www.teachmemicro.com/stm32f1-serial-printf/) - Needless to say, a serial output is a necessary tool in debugging embedded system applications. Placing the right messages in the right place will help you save hours in figuring out what went wrong in your code. Arduino programmers are very familiar with Serial. print() and its derivatives. But how can we implement it with STM32F1? - [Using Rotary Encoders with Arduino](https://www.teachmemicro.com/using-rotary-encoders-with-arduino/) - There exists a sensor for almost all physical parameters. Temperature? Pressure? Weight? Gas Concentration? We’ve written a tutorial for them all on this site. This time, we will try to build a device that measures rotational position. The same device can measure rotational speed too. Of course, we’re talking about the rotary encoder. Types of Rotary - [Creating a Simple Arduino Fire Detector](https://www.teachmemicro.com/arduino-fire-detector/) - A fire or flame sensor is simply an infrared LED with an amplifier circuit. Flame radiates an infrared signal, which triggers the LED to produce current. This current is converted to voltage for an analog-to-digital converter to read. Let's see how we can build an Arduino fire detector using this sensor. Flame Sensor Module For - [Arduino RGB LED Tutorial](https://www.teachmemicro.com/arduino-rgb-led-tutorial/) - A RGB LED is a special light-emitting diode that can produce 16 million possible colors, all by combining the colors red, green, and blue in varying intensities. This tutorial will show you how to use a RGB LED with Arduino. Introduction to RGB LEDs RGB LEDs typically have four pins as shown: Such LED is - [Arduino RFID RC522 Tutorial](https://www.teachmemicro.com/arduino-rfid-rc522-tutorial/) - RFID technology has been around for quite a while. But it was only recently that hobbyist and makers was able to utilize this technology through the Mifare RC522 RFID module. In this article, I will show you how you can easily use cards as keys for anything, from attendance systems, to electronic locks and even - [Arduino Relay Module Tutorial](https://www.teachmemicro.com/arduino-relay-module-tutorial/) - A relay is commonly used to interface a low-current circuit to a higher-current circuit. As such, it’s very useful in controlling appliances and other mains-powered devices using microcontrollers. In this Arduino relay tutorial, I will show you how to use a relay with microcontrollers. An Intro to Relays Basically, a relay is an electromagnetic switch. - [Generating an Arduino 16-bit PWM](https://www.teachmemicro.com/generate-arduino-16-bit-pwm/) - Ever since I wrote about timer interrupts, a number of readers have asked me on how to generate a 16-bit pulse width modulation (PWM) signal with Arduino. Well, here it is. Arduino PWM Background PWM has a lot of uses in the microcontroller world. The most common are dimming a LED or controlling the speed - [How to Interface a Thermistor](https://www.teachmemicro.com/how-to-interface-a-thermistor/) - A thermistor is a special resistor whose resistance varies with temperature. Learn how to interface a thermistor with a microcontroller in this tutorial. Introduction to Thermistors There are two types of thermistors: NTC and PTC. Negative Type Coefficient (NTC) thermistors have resistance that decreases when the temperature increases while Positive Type Coefficient (PTC) behaves the - [How to Send HTTP Post and Get Requests Using Arduino ENC28J60 Ethernet Shield](https://www.teachmemicro.com/how-to-send-http-post-and-get-requests-using-arduino-enc28j60-ethernet-shield/) - In this IoT age, there are several ways of sending and getting data to/from a microcontroller to a remote server. This article will be part of a series about such ways through the Arduino ENC28J60 shield or module. Here I will be showing the classic way of communicating via the Internet: HTTP requests. Introduction An - [How to Use a Flex Sensor](https://www.teachmemicro.com/use-flex-sensor/) - A flex sensor can be used with a microcontroller to detect or measure bending. In this tutorial, I will show how to interface this sensor with an Arduino UNO and discuss some possible flex sensor applications and projects. What is a Flex Sensor? A flex sensor is a device that varies its resistance when bent - [How to Use a Digital Motion Sensor with Arduino](https://www.teachmemicro.com/digital-motion-sensor-arduino/) - I’ve already covered the basics of how a PIR motion sensor work on my previous tutorial. DFRobot was kind enough to send me a free sample of their PIR motion sensor. So naturally, I got to play with and write about it today. Two of a Kind It turns out, DFRobot offers two kinds of - [How to Use a Microphone with Arduino](https://www.teachmemicro.com/arduino-microphone/) - How can an Arduino capture sound? Just like how your computer captures sound: through a microphone. In this Arduino microphone tutorial, we’ll look at how a sound sensor works. Also, we’ll build a simple clap switch project as an example of how to use a microphone with Arduino. The Electret Microphone Most “sound sensor” boards - [How to Use Load Cell with HX711 and Arduino](https://www.teachmemicro.com/how-to-use-load-cell-hx711-arduino/) - Measuring an object’s weight can sometimes be part of a bigger project. And unless you have a good reason, you wouldn’t want to use an analog weighing scale. A digital weight sensor is easier to interface with, not to mention its accuracy and durability against an analog weight sensor. In this article, I will show - [How to Use MQ-4 Methane Gas Sensor](https://www.teachmemicro.com/mq-4-methane-gas-sensor-arduino/) - The MQ-4 is one of many gas sensors ready to be interfaced with microcontrollers. Just like the rest of the MQ sensors, the MQ-4 is most sensitive to a particular gas. This time, it’s methane, although the sensor can still detect other flammable gases like butane and propane. MQ-4 Methane Sensor Overview At the heart - [How to Use the MAX30100 as Arduino Heart Rate Sensor](https://www.teachmemicro.com/max30100-arduino-heart-rate-sensor/) - The moment I got my hands on the MAX30100 breakout board, I was ready to create my own Arduino heart rate sensor. But building one wasn’t as easy as I thought. Introduction Having problems with this sensor module? Consider changing to the MAX30102, as it's Arduino-ready in both hardware design and software library. First, let - [How to Use the MQ-3 Alcohol Sensor](https://www.teachmemicro.com/mq-3-alcohol-sensor/) - The MQ-3 alcohol sensor is useful for projects that tests levels of alcohol, benzine, hexane or LPG in the air but it is most popularly used as a breathalyzer (breath analyzer) for someone who drank beer, wine or other liquor. Learn how to use this gas sensor in this tutorial. Introduction The MQ-3 alcohol sensor - [How to Use TM1637 and Four Seven Segment Display Module](https://www.teachmemicro.com/how-to-use-tm1637-seven-segment-display/) - A seven segment display has one pin for each of its seven segments. This means if directly interfaced with a microcontroller, you will need at least seven pins. Fortunately, there is a way to use four seven segment displays and using only four pins from your Arduino. The TM1637 is a seven segment LED driver - [LPG Sensor with MQ-6 and Arduino](https://www.teachmemicro.com/lpg-sensor-mq-6-arduino/) - The MQ-6 is a semiconductor gas sensor device for detecting the levels of propane and butane in the air. Since liquefied petroleum gas (LPG) is composed of these two gases, then the MQ-6 can be used as a LPG sensor. Introduction For this tutorial, I will be using the MQ-6 breakout board: Similar to MQ-3 - [MQ-135 Air Quality Sensor Tutorial](https://www.teachmemicro.com/mq-135-air-quality-sensor-tutorial/) - The MQ-135 “air quality” sensor is part of the MQ series of gas sensors that uses a chemical-sensitive element. The resistance of such elements varies when exposed to certain gases. The MQ-135 is sensitive to multiple gases including Benzene, Acetone, Alcohol, and Ammonium. Getting Gas Concentration from MQ-135 Like all MQ gas sensors, the MQ-135 - [Using a Thermocouple with Arduino](https://www.teachmemicro.com/using-a-thermocouple-with-arduino/) - Temperature is a very common parameter in all of science and engineering. The behavior of electronic components drastically changes with temperature; storage of food and medicine relies on the correct temperature; getting the right metal type depends on how much heat is applied; fever means our body temperature goes beyond 37 degrees, and so on. - [Using an Arduino Turbidity Sensor](https://www.teachmemicro.com/arduino-turbidity-sensor/) - Turbidity refers to the haziness of a fluid caused by the increased number of very tiny particles which, individually, is invisible to us. Moreover, turbidity measurement is important in testing the quality of water. This Arduino turbidity sensor tutorial provides a guide on how to implement this setup using a specialized turbidity sensor module. Introduction - [Arduino NRF24L01 Interfacing Tutorial](https://www.teachmemicro.com/arduino-nrf24l01/) - If you are looking to have wireless features on your next project and don't want to spend that much, then an Arduino NRF24L01 solution might be for you. The NRF24L01 by Nordic Semiconductors contains a 2.4 GHz RF transceiver, synthesizer and baseband logic which can be interfaced through SPI. Apparently, there are two versions of - [Arduino Nokia 3310 LCD Interfacing](https://www.teachmemicro.com/arduino-nokia-3310-lcd-interfacing/) - Displays are almost always a part of any microcontroller project or embedded system. Fortunately, there are cheap LCDs available with a wide support for multiple microcontroller devices. One is the PCD8544-based liquid crystal display, more popularly known as the Nokia 5110/3310 LCD. This Arduino Nokia 3310 LCD interfacing article covers how to create simple text - [Arduino Magnetic Sensor Using Hall Effect](https://www.teachmemicro.com/arduino-magnetic-sensor-using-hall-effect/) - An Arduino magnetic sensor has several uses: for reading the speed of a rotating object, for door alarms and for navigation. In this tutorial, we will build a simple magnet detector using a hall effect sensor. Video Tutorial What is Hall Effect? Hall effect describes a phenomenon where a voltage builds across a current-carrying conductor - [Arduino Library: How to Create Your Own](https://www.teachmemicro.com/create-arduino-library/) - Create your very own Arduino library in a few simple steps! - [Arduino LCD Interfacing Tutorial](https://www.teachmemicro.com/arduino-lcd-tutorial/) - In this Arduino LCD tutorial, you will learn how to display characters (text and numbers) on a 16 x 2 LCD which is very useful in debugging microcontroller projects as well as providing text-based status for your systems. Introduction The widely used 16 x 2 character LCD uses the HD44780 controller from Hitachi which has - [Arduino Keypad: Interfacing with 4x4 Matrix](https://www.teachmemicro.com/arduino-keypad-interfacing-4x4-matrix/) - Using a keypad is an upgrade over using buttons for input on your Arduino project. Actually, a keypad is a set of 12 or 16 buttons wired so that the pin usage is reduced. In this tutorial, I will explain how a keypad matrix works and how to use it with an Arduino. Buttons vs. - [Arduino Interrupt Tutorial](https://www.teachmemicro.com/arduino-interrupt-tutorial/) - An interrupt, in microcontroller context, is a signal that temporarily stops what the CPU is currently working at. Programming using interrupts is very different from the usual top-to-bottom sequence in an Arduino program and thus can be confusing for some. This article aims to introduce how an interrupt works and how you can use it - [Arduino GPS Tutorial](https://www.teachmemicro.com/arduino-gps-tutorial/) - Global Positioning System (GPS) has been around since the 80's and is still one of the most important features you can add to any electronic system. The idea of tracking something (or someone) is cool enough but doing so without a telephone or an internet connection is much cooler. In this Arduino GPS tutorial, we - [Arduino GPRS Tutorial](https://www.teachmemicro.com/arduino-gprs/) - Connecting your Arduino project to the Internet is easy though WiFi and modules like the ESP8266 or a WiFi shield. Another option is to ditch wireless and use an Ethernet shield. But what if there’s no WiFi or network cable available? The solution would be to connect to the Internet via cellular data. There are - [Arduino Current Sensor Tutorial](https://www.teachmemicro.com/arduino-current-sensor-tutorial/) - Current sensors can have different applications: power supplies, over-current protection, and motor control to name a few. In this Arduino current sensor tutorial, we will look at how to read current using the ACS712 sensor. The ACS712 Current Sensor The ACS712 contains a hall effect sensor that converts its input current to a magnetic field. - [Arduino Camera (OV7670) Tutorial](https://www.teachmemicro.com/arduino-camera-ov7670-tutorial/) - Electronics projects like movement and obstacle detection, drone fleet management, and robots require a camera for capturing images. I personally recommend using a Raspberry Pi or BeagleBone Black for these kind of projects because the Arduino doesn’t have enough juice to handle the complexities of pictures and, more so, videos. However, if the project doesn’t require a high - [Arduino Boards](https://www.teachmemicro.com/arduino-boards/) - The number of Arduino boards have increased over the years; some have been discontinued while others are still available. The choice of which board to use depends on several factors: price, features, availability, ease of use, etc. Here’s a summary of all Arduino boards with their pros and cons. Arduino UNO Pros: Often the starting - [Arduino BMP085 Tutorial](https://www.teachmemicro.com/arduino-bmp085-tutorial/) - The BMP085 is a relatively cheap barometric pressure sensor from Bosch. I believe this sensor is kinda old (no information about this device is found on the Bosch site) and yet it’s still used today because of its simplicity. This Arduino BMP085 tutorial covers the basics of using this device and perhaps some short lesson - [An Arduino LED Control Tutorial](https://www.teachmemicro.com/arduino-led-control/) - The “hello world” of microcontroller programming is flashing an LED. As an introduction to Arduino programming, we’ll code several simple Arduino LED sketches; we’ll be blinking an LED, make an LED respond to an input and fade an LED. I’ll also show you how to easily manipulate multiple LEDs and how to use an RGB - [A Guide to Powering your Arduino](https://www.teachmemicro.com/a-guide-to-powering-your-arduino/) - The Arduino was invented primarily for non-engineers but now, a lot of engineers are also into it. Using it in a fully-developed project is not a good look, yes, but it’s a lot quicker than building from scratch. My only issue at the beginning is finding the best way to provide power to the Arduino - [Flame Sensor Project: Comprehensive Guide](https://www.teachmemicro.com/flame-sensor-project-comprehensive-guide/) - Flame sensors are found from the simplest gas stoves to huge industrial plants. There are different types of fire sensors -- some cheap, some expensive. Yet they’re all built for one single purpose: detect fire. In this article, I will guide you on how to build a flame sensor with a few extra bucks and - [SIM800L Network Test Project | Troubleshooting](https://www.teachmemicro.com/sim800-network-test-troubleshoot/) - I made this project because it seems a lot of people are having trouble with interfacing the SIM800L with an Arduino, particularly in connecting to a network. Here, I made a simple setup where I was able to display the signal level and the network status on an LCD. This would be helpful in troubleshooting - [Sending Data via SIM800L GPRS to ThingSpeak](https://www.teachmemicro.com/send-data-sim800-gprs-thingspeak/) - This project demonstrates how to send data to ThingSpeak using a SIM800L breakout board. The data will be coming from a BMP085 atmospheric pressure sensor and will be using the SIM800L GPRS connection to publish this data to ThingSpeak. Setting up ThingSpeak First, you need to sign-up for a free account on ThingSpeak. After successfully - [Obstacle-Avoiding Arduino Robot](https://www.teachmemicro.com/arduino-robot-obstacle-avoiding/) - To kick off 2019, I would like to create a series of Arduino Robot projects that anyone can learn how to build. The first part of the series is the popular obstacle-avoiding Arduino robot. An obstacle-avoiding robot is a simple wheeled machine that avoids any obstacle in front of it. The obstacle can be detected - [Bluetooth RC Car](https://www.teachmemicro.com/bluetooth-rc-car/) - This project is basically a remote-controlled car that is controllable via an application installed on a Bluetooth-equipped smartphone. Here's my version of a Bluetooth RC Car. Introduction For this project, I used ShieldBot, which was originally a line-follower car with two DC motors driven with an L298D motor driver IC. However, the code for this - [Arduino Temperature Sensor](https://www.teachmemicro.com/arduino-temperature-sensor/) - Project Overview I was recently commissioned to create a simple project for a coffee roasting machine. Basically, I need to measure the temperature of the machine in real time to monitor the progress of the roasting process. This includes a line graph that updates every second and is viewable on a computer. Here’s how I - [Arduino Motion Activated Alarm](https://www.teachmemicro.com/arduino-motion-activated-alarm/) - This Arduino motion-activated alarm features a tilt sensor for detecting movements and a piezo speaker for producing the siren sound. Introduction Basically, the tilt sensor produces a high voltage when it is tilted and a low voltage when it is placed flat on a surface. The siren is produced by increasing a tone frequency from - [Arduino LiPo Battery Monitor](https://www.teachmemicro.com/arduino-lipo-battery-monitor/) - This Arduino LiPo battery monitor and charger feature the TP4056 breakout board. The voltage level of the battery is displayed on a Nokia 3310/5110 LCD with the Arduino Nano as the microcontroller. Materials Arduino Nano TP4056 Breakout Board Nokia 3310/5100 LCD 3.7 V LiPo Battery Connecting Wires and Breadboard Introduction The TP4056 breakout board input ports - [Arduino Compass with HMC5883L Magnetometer](https://www.teachmemicro.com/arduino-compass-hmc5883l-magnetometer/) - In general terms, a magnetometer measures the magnetism of objects or places. In fact, a compass is a type of magnetometer. This project demonstrates how to use the HMC5883L magnetometer IC as a compass with an Arduino microcontroller. Hardware Setup I have setup this project on a mini breadboard using the parts: HMC5883L Magnetometer Nokia - [Arduino Altimeter Project Using BMP085](https://www.teachmemicro.com/arduino-altimeter-project-using-bmp085/) - This Arduino Altimeter project features the BMP085 atmospheric pressure sensor by Bosch. Because atmospheric pressure is directly related to altitude above sea level, we can use this sensor to determine current height with respect to the height of the oceans. The height is given in meters and is displayed on a Nokia 3310/5110 LCD. Materials - [Introduction to 8051 Microcontroller using C](https://www.teachmemicro.com/8051-microcontroller-introduction/) - The 8051 microcontroller is much older than the ones featured here. Yes, even older than the PIC16F84A. However, being flooded by messages from students about this microcontroller tells me that universities still teach it. Hence, in line with our goal to teach microcontrollers to anyone, we decided to add the 8051 to our lineup. The - [Interfacing Seven Segment Displays with 8051](https://www.teachmemicro.com/interfacing-seven-segment-displays-8051/) - In my previous post, I showed you how to set up an 8051 microcontroller for programming using C. This tutorial will be about how to interface with seven-segment displays. Review on Seven Segment Displays A seven-segment display consists of LEDs in parallel. This way, each LED or "segment" can be turned on or off. Recall - [8051 Serial Interface Tutorial](https://www.teachmemicro.com/8051-serial-interface-tutorial/) - We continue with our series on the 8051 with a tutorial on serial transmission. Data communications via the serial port is an easy way for a microcontroller to ‘talk’ with the outside world. Examples of devices that have serial interfaces are sensors, LCDs, EEPROM, SD cards, and RTCs. Here, I will be skipping the basics - [Stock Photos: Marketing Magic](https://www.teachmemicro.com/stock-photos-marketing-magic/) - As the adage goes, "A picture is worth a thousand words." But in the fast-paced world of marketing, producing original, high-quality visuals for every campaign can be both time-consuming and costly. Enter stock photos: a game-changing resource for marketers everywhere. Cost-Efficiency: Commissioning a photoshoot can be expensive. Stock photos, on the other hand, offer an - [Legislative Impact on the Vaping Industry](https://www.teachmemicro.com/legislative-impact-on-the-vaping-industry/) - Once seen as a revolutionary alternative to traditional cigarettes, vaping quickly came under the scrutiny of lawmakers around the world. As the number of users of vaping products increased, so did the debates regarding their regulation. But what impact have these laws had on the vaping industry and its users? And more importantly, are these - [10 Things All Gamers Must Have the Perfect PC Setup](https://www.teachmemicro.com/10-things-all-gamers-must-have-the-perfect-pc-setup/) - There is no denying that investing in the perfect gaming setup is of paramount importance for any gaming enthusiast or frequent streamer. If you have the time, you can visit tech forums to learn in-depth details about any product you're thinking about purchasing to best represent your individual style. But to help you focus, our - [Full Body Harnesses for Fall Protection](https://www.teachmemicro.com/full-body-harnesses-for-fall-protection/) - In the ever-evolving world of occupational safety and construction, one thing remains constant: the paramount importance of worker safety. When it comes to working at heights, ensuring the well-being of your employees is not just a legal obligation but also a moral one. That's where full body harnesses for fall protection come into play. In - [Why is EEG an important aspect of human scientific research?](https://www.teachmemicro.com/why-is-eeg-an-important-aspect-of-human-scientific-research/) - Electroencephalography (EEG) is an important aspect of human scientific research because it allows researchers to measure the electrical activity of the brain, which can provide valuable insights into brain function and behavior. The use of EEG has the potential to significantly improve people's lives in both clinical and non-clinical settings. For example, EEG can - [Automating Video Uploads to TikTok Using Raspberry Pi](https://www.teachmemicro.com/automating-video-uploads-to-tiktok-using-raspberry-pi/) - The Raspberry Pi, a versatile and affordable single-board computer, has gained immense popularity among hobbyists, makers, and tech enthusiasts. While it's often used for educational and DIY projects, its capabilities can extend to more complex tasks, such as automating video uploads to popular social media platforms like TikTok. In this article, we will explore how - [4 Reasons Why Branding is Important for a Company's Growth](https://www.teachmemicro.com/4-reasons-why-branding-is-important-for-a-companys-growth/) - Today, the business world is taking big steps and looking to evolve its status in social media, as people in the present time are more on their smartphones rather than on television screens. And when it comes to Singapore, digital business, with all the companies expanding their business by developing their digital profile in social - [Your Guide to Affordable Electronic Components: Exploring WIN SOURCE](https://www.teachmemicro.com/your-guide-to-affordable-electronic-components-exploring-win-source/) - Introduction In the ever-evolving world of electronics, the hunt for quality components at reasonable prices is an ongoing adventure. Whether you're a passionate electronics hobbyist or a budding engineer, finding a reliable source for electronic components that won't break the bank is crucial. Today, we're going to introduce you to a well-kept secret in the - [What is meant by "packed" in Embedded C programming?](https://www.teachmemicro.com/what-is-meant-by-packed-in-embedded-c-programming/) - In embedded C programming, "packed" refers to a method of organizing data in memory where there are no empty spaces or padding between the data elements. When data is packed, it's placed right next to each other without any additional room, which can help save memory space. What is "Packing"? Let's look at an example - [The Difference between DCS and PLC](https://www.teachmemicro.com/the-difference-between-dcs-and-plc/) - PLC (Programmable Logic Controller) and DCS (Distributed Control System) are both industrial control systems used for automation and process control in various industries. While they share some similarities in their functions, there are fundamental differences between them in terms of architecture, scope of application, and control philosophy: PLC image source: instrumentationtools.com A PLC performs a - [NextPCB's Online PCB Gerber Viewer: A Review](https://www.teachmemicro.com/nextpcbs-online-pcb-gerber-viewer-a-review/) - In the realm of printed circuit board (PCB) design, precision and accuracy reign supreme. The ability to scrutinize and evaluate your PCB layouts is paramount to ensure that your designs are error-free and ready for production. NextPCB, a renowned name in the PCB manufacturing industry, offers a solution that has the potential to transform the - [Moving Company LD Movers: Are They Professional Movers?](https://www.teachmemicro.com/moving-company-ld-movers-are-they-professional-movers/) - Moving company LD Movers is one of the trusted and reliable moving companies in the United States. The company is trusted, reliable, and dedicated to offering affordable moving services. It doesn’t matter whether you’re planning to relocate your business or home. Or if you are simply looking for professionals to help you move your piano, - [Synergizing RPA and Test Automation: Boosting Efficiency and Quality in Software Testing](https://www.teachmemicro.com/synergizing-rpa-and-test-automation-boosting-efficiency-and-quality-in-software-testing/) - In the fast-paced world of software development, efficiency and quality are paramount. Enter Robotic Process Automation (RPA) and test automation, two powerful tools that, when synergized, can revolutionise software testing. By harnessing the capabilities of these technologies, development teams can streamline their processes, enhance testing procedures, and deliver top-notch software products to their users. Understanding - [Guide to Solar Company Solar Panel Inverter Technologies](https://www.teachmemicro.com/guide-to-solar-company-solar-panel-inverter-technologies/) - The sun's rays beaming down on your home, a soft glow illuminating your world. That's the poetry of solar energy. But you know what's even more poetic? Turning that sunlight into usable energy for your home. This guide, dear reader, is going to take you on an enlightening journey through the world of solar company - [Don't Miss Any Deductions: The Ultimate Mileage Tracking App for Taxes](https://www.teachmemicro.com/dont-miss-any-deductions-the-ultimate-mileage-tracking-app-for-taxes/) - You might find yourself scratching your head about how to log miles for taxes. Fear not, for we have compiled a comprehensive guide to help you navigate the world of mileage tracking, tax deductions, and IRS mileage rate. Claiming Business Travel Expenses: A Guide to Deductibility First and foremost, it's important to understand what can - [Smart Shopper’s Guide: Why Black Friday is the Best Time for Electronics](https://www.teachmemicro.com/smart-shoppers-guide-why-black-friday-is-the-best-time-for-electronics/) - When snagging the best deals on electronics, savvy shoppers know that Black Friday is the ultimate shopping bonanza. This annual event, which falls on the day after Thanksgiving in the United States, has become a global phenomenon for good reason. If you’re searching for new gadgets or upgrading your tech arsenal, here’s why Black Friday - [Understanding Limit calculus: A Comprehensive Guide](https://www.teachmemicro.com/understanding-limit-calculus-a-comprehensive-guide/) - In calculus, the concept of limits is fundamental and for a better understanding of the behavior of limit and their derivatives limit plays an important role. The limit of a function at any point describes the behavior of the function as the input approaches that specific point. It allows us to investigate what happens to - [Automobile Wire Harness - The Ultimate Guide](https://www.teachmemicro.com/automobile-wire-harness-the-ultimate-guide/) - Sponsored Post by Cloom Cloom, a reliable wire harness, and cable assemblies manufacturer, today published an “Automobile Wire Harness – The Ultimate Guide.” It has six chapters that cover some useful terms about Automobile Wire Harness knowledge. The publication is available here for free. This guide sheds insightful light on these Automobile Wire Harness properties. - [What Is Automated Test Equipment?](https://www.teachmemicro.com/what-is-automated-test-equipment/) - Do you find the challenge of electronics functional tests within a tight production schedule overwhelming? We've been in your shoes, felt the pressure, and recognized the relief that Automated Test Equipment (ATE) can bring. This groundbreaking automation technology is extensively employed in industries such as semiconductors and electronics to ensure swift and precise testing of - [The Evolution of Video Apps: From Entertainment to Education](https://www.teachmemicro.com/the-evolution-of-video-apps-from-entertainment-to-education/) - In an age defined by technological innovation, the metamorphosis of video apps from mere sources of amusement to dynamic tools for education, communication, and personal development stands as a remarkable testament to the evolution of digital culture. What once began as a platform solely dedicated to entertaining snippets has undergone a transformative journey, reshaping the - [What to Pay Attention to When Choosing a Water Heater?](https://www.teachmemicro.com/what-to-pay-attention-to-when-choosing-a-water-heater/) - A well-functioning water heater https://e-ferroli.fi/vedenlaemmittimet/ E-Ferroli is the unsung hero of modern-day comfort, facilitating everything from a hot morning shower to the sanitation of your dishes. Its ubiquitous presence often gets overlooked until, of course, the hot water runs out. Given its importance, selecting a suitable water heater necessitates a comprehensive understanding of its fundamentals - [Cloud Compliance and Regulatory Challenges: Navigating Data Governance](https://www.teachmemicro.com/cloud-compliance-and-regulatory-challenges-navigating-data-governance/) - The digital transformation era has ushered in a rise in cloud-based technology adoption, allowing businesses to streamline operations, improve productivity, and secure a competitive edge. However, this surge in cloud utilisation is not devoid of challenges. Organisations are expected to navigate through a convoluted landscape of regulations and standards, ensuring they maintain compliance while benefiting - [5 Time-Saving Tips for Yoga Social Media Marketing](https://www.teachmemicro.com/5-time-saving-tips-for-yoga-social-media-marketing/) - As a yoga entrepreneur, you probably already know the importance of social media marketing when it comes to growing your business. It can help to increase brand awareness, grow your audience, and bring you more clients, just to name a few. But, there’s no denying that social media marketing can be extremely time-consuming. Creating high-quality - [Energy-Saving Tips: Maximising the Efficiency of Your Air Conditioners](https://www.teachmemicro.com/energy-saving-tips-maximising-the-efficiency-of-your-air-conditioners/) - Are you weary of the excessive energy bills that the summer season brings? Or maybe you're keen on going green and doing your part to reduce your carbon footprint. Looking at your home's key energy consumers is essential, with air conditioners often topping the list. However, cooling your house doesn't have to break the bank - [Visual Impact: The Stock Image Advantage](https://www.teachmemicro.com/visual-impact-the-stock-image-advantage/) - In the ever-evolving landscape of online marketing, visuals play a crucial role in capturing the attention of potential customers. One of the most effective tools utilized by marketers today is stock images. These readily available, professionally captured photographs have become an integral part of successful digital campaigns, enhancing brand communication, engaging audiences, and conveying powerful - [Avoid burnout when working from home](https://www.teachmemicro.com/avoid-burnout-when-working-from-home/) - Burnouts are not limited to office settings and can happen even if you’re working remotely. Dare we say you’re more likely to suffer burnout when you’re working from home because you’re stuck in a monotonous routine with no small talk beside the coffee machine? That’s not to say that working remotely is a bad thing. - [Creating a Pet-friendly Smart Home: How Automation Can Simplify Pet Care](https://www.teachmemicro.com/creating-a-pet-friendly-smart-home-how-automation-can-simplify-pet-care/) - With the advent of smart home technology and the impressive capabilities of systems like the CBus system, our lives have been simplified. But what if we could apply the same technology to create a pet-friendly smart home, making pet care more convenient and efficient? Why Automate Pet Care? Just like us, our pets thrive on - [Understanding the Role of JavaScript Frameworks in Modern Web Development](https://www.teachmemicro.com/understanding-the-role-of-javascript-frameworks-in-modern-web-development/) - In the ever-evolving landscape of web development, JavaScript frameworks have become indispensable tools for experienced website developers. That’s mainly because these frameworks offer a range of features and functionalities that streamline the development process and enable the creation of dynamic and interactive websites. Let’s explore the significance of JavaScript frameworks in modern web development and - [Comparing Mobile Deals: Which Plan Is Right for You?](https://www.teachmemicro.com/comparing-mobile-deals-which-plan-is-right-for-you/) - Choosing a mobile plan can be a significant decision, as it determines how you stay connected, access data and manage your communication needs. With numerous options available in the market, finding the right mobile deal may not be the easiest task. In this guide, we'll go through the process of comparing mobile deals and help you - [The Evolution of Chatbot Customer Support: Revolutionizing the Way Businesses Serve Their Customers](https://www.teachmemicro.com/the-evolution-of-chatbot-customer-support-revolutionizing-the-way-businesses-serve-their-customers/) - In today's fast-paced digital era, businesses are constantly searching for innovative ways to enhance customer support experiences. In recent years, chatbots have emerged as a game-changer in the realm of customer support. These intelligent virtual assistants simulate human conversation using algorithms, language processing, and machine learning capabilities. One of the primary advantages of chatbot customer - [The Electronics Tutorial for Thyristor](https://www.teachmemicro.com/the-electronics-tutorial-for-thyristor/) - William Shockley devised a thyristor, commonly known as an SCR (silicon-controlled rectifier). The United States' General Electric Company created the first thyristor product in 1957, and it went on sale in 1958. The thyristor is a four-layer, PNPN semiconductor device with three poles: anode, cathode, and gate. To operate, forward voltage must be applied, and - [How to Get Accurate Contact Data for Your Marketing Campaigns](https://www.teachmemicro.com/how-to-get-accurate-contact-data-for-your-marketing-campaigns/) - Today, almost every aspect of a business runs on data. It has become a valuable asset for marketing departments, too, to ensure the success of their advertising and promotional campaigns. This is why marketers are obsessed with tracking and analyzing information. However, two-thirds of these professionals lack confidence in their data. Holding a large volume of - [Exploring the Humorous Side of Computing](https://www.teachmemicro.com/exploring-the-humorous-side-of-computing/) - In the complex world of computing, a surprising element of humor exists, waiting to be explored. This unexpected layer of wit comes in the form of computer jokes and computer science jokes, offering a refreshing perspective on this serious field. In the fascinating world of computing, brimming with intricate algorithms and complex logical constructs, exists - [Air Bar Nex - Redefining the Vaping Experience](https://www.teachmemicro.com/air-bar-nex-redefining-the-vaping-experience/) - In recent years, vaping has gained rapid popularity, emerging as an attractive alternative to traditional smoking. Among the vast array of vaping devices available, the Air Bar Nex has made a significant impact. This article explores the Air Bar Nex and its unique features that have captivated vaping enthusiasts worldwide. The Air Bar Nex stands out with - [A Better Arduino Color Sensor using TCS230](https://www.teachmemicro.com/better-arduino-color-sensor-tcs230/) - Last time, I showed how easy it is to detect colors using the Pixy2 camera. However, the camera’s price might be too expensive for some. Luckily, there is a much cheaper option to implement an Arduino color sensor. The color sensor I’m referring to is the TCS230 (and equivalent TCS3200) from TAOS (now AMS). Now, - [5 Best Apps to Make Internet Calls in 2023](https://www.teachmemicro.com/5-best-apps-to-make-internet-calls-in-2023/) - The best apps to make internet calls allow free local and international connections. People can now make free calls from their computer or mobile device by downloading a free talk and text app with an internet calling feature. All that one needs to do to make a call is use VoIP or Voice Over Internet - [The most popular lease GPU](https://www.teachmemicro.com/the-most-popular-lease-gpu/) - Choosing a graphics card is a topic that spends sleep not only for gamers. Such solutions are used in many other fields and a computer with a good graphics card is very important in many cases. Just the thought of whether to buy a gamer card or a professional card is certainly a conundrum for - [Student Electronics Projects: Fostering Creativity and Innovation in Education](https://www.teachmemicro.com/student-electronics-projects-fostering-creativity-and-innovation-in-education/) - In our increasingly competitive digital world, it is important to equip students with the knowledge and outlook they need to succeed. The rapidly changing technological landscape leaves no room for complacency. Electronics projects are a unique and enjoyable way to promote creativity and innovation in education. These assignments give students hands-on learning opportunities that help them develop - [The Future of Retail: Exploring the Potential of Live Stream Selling](https://www.teachmemicro.com/the-future-of-retail-exploring-the-potential-of-live-stream-selling/) - In a rapidly evolving retail landscape, businesses are constantly seeking innovative ways to connect with customers and drive sales. One emerging trend that is reshaping the industry is live stream selling. Combining the convenience of e-commerce with the interactive experience of live video, this approach holds immense potential for retailers. In this article, we will - [How Much Is A 3d Printer](https://www.teachmemicro.com/how-much-is-a-3d-printer/) - Are you curious about 3D printing? Have you ever wondered how much a 3D printer would cost? 3D printing technology has been around for decades and is becoming increasingly popular as the price of a 3D printer drops. In this article, we'll explore the different types of 3D printers available, what they can do, how - [How do you test the accuracy of facial recognition software?](https://www.teachmemicro.com/how-do-you-test-the-accuracy-of-facial-recognition-software/) - Facial recognition software is a computer program or system that uses advanced algorithms and machine learning techniques to identify and verify individuals based on their facial features. It analyzes facial patterns, contours, and unique characteristics to match them against a database of known faces or to classify individuals into specific groups. Facial recognition software uses - [How can image recognition be used to recommend similar images?](https://www.teachmemicro.com/how-can-image-recognition-be-used-to-recommend-similar-images/) - Online shopping product recommendations based on image similarity aim to provide users with relevant and visually similar alternatives, improving their browsing experience and potentially increasing sales by offering items that align with their preferences. Image similarity in image recognition involves training a model to determine the visual resemblance between images. The process includes data collection, - [What is the European version of the S&P 500 Index?](https://www.teachmemicro.com/what-is-the-european-version-of-the-sp-500-index/) - The Vanguard S&P 500 ETF (VUSA) stands as a unique opportunity for European investors seeking access to the U.S. stock market through the renowned S&P 500 index. Managed by Vanguard, a globally recognized asset manager with a strong history in handling low-cost index-tracking funds, this ETF caters to the needs of European investors, being listed - [Digital Electronics Education: College Programs and Microcontroller Integration](https://www.teachmemicro.com/digital-electronics-education-college-programs-and-microcontroller-integration/) - In this age, acquiring digital electronics education is essential. Also, it is one of the most sought-after courses in college. In particular, you will want to review the college programs offered that relate to this subject and microcontroller integration. This article will help you understand digital electronics education and why you should consider it. About - [Impress Your Followers: Choosing an Instagram Photo Editing App](https://www.teachmemicro.com/impress-your-followers-choosing-an-instagram-photo-editing-app/) - Instagram is one of the most popular apps used by people all over the world. It's all about pictures, so developers try to create software that helps users' photos stand out from the gray masses. The choice is wide, so it's not easy to make the right decision. Today we're going to talk about how - [An Engaging Ad Format For Effective Marketing!](https://www.teachmemicro.com/an-engaging-ad-format-for-effective-marketing/) - One of the most dependable worldwide ad formats for effortlessly reaching your target audience is web push. Do you have a burning desire to expand your genuine audience, visibility, and high-quality traffic? Don't be hesitant to select the ClickAdilla platform to generate and operate successful ad campaigns! What do you know about the ad format - [Why is my MOSFET Heating Up?](https://www.teachmemicro.com/why-is-my-mosfet-heating-up/) - MOS tubes are a requirement for developing a power supply or drive circuit. MOS tubes are available in a wide range of colors, patterns, and sizes. Use the power supply's or the drive's switching feature, of course. The working principle of a MOS tube is essentially the same whether it is N-type or P-type. In - [Visuals Amplify Marketing Impact](https://www.teachmemicro.com/visuals-amplify-marketing-impact/) - In today's digital age, where visual content dominates the online landscape, stock photos have become an integral part of marketing campaigns. These readily available and affordable images offer businesses a convenient way to enhance their branding efforts, engage their target audience, and create visually appealing content. This article explores the significance of stock photos in - [Why Link Building is Important for SEO](https://www.teachmemicro.com/why-link-building-is-important-for-seo/) - Every successful website knows the powerful role link building plays in their SEO strategy. It's not just about creating quality content, but also about getting that content in front of the right eyes. Understanding the Value of Link Building According to WhiteCat Blogger Outreach agency - link building, at its core, is the practice of - [Self Seal Bag](https://www.teachmemicro.com/self-seal-bag/) - A self-seal bag, also known as a self-sealing bag or a resealable bag, is a type of packaging bag that features a built-in closure mechanism for easy and secure sealing. These bags are commonly made from materials like polyethylene or polypropylene, which are flexible and durable. Self-seal bags are widely used in various industries and - [Bow Tie Shirt](https://www.teachmemicro.com/bow-tie-shirt/) - A bow tie shirt refers to a type of shirt that is designed with an attached or detachable bow tie incorporated into the collar area. It combines the elements of a traditional button-down shirt with the elegance and charm of a bow tie, creating a unique and stylish look. The bow tie on a bow - [How can directional sound be utilized well?](https://www.teachmemicro.com/how-can-directional-sound-be-utilized-well/) - Directional speakers distinguish themselves from conventional loudspeakers through their ability to project sound in specific directions with high precision and control. While conventional loudspeakers emit sound in a wide dispersion pattern, spreading the audio waves in all directions, directional speakers by companies like Focusonics employ various techniques to focus and steer sound waves towards targeted - [How do we track vehicle license plates?](https://www.teachmemicro.com/how-do-we-track-vehicle-license-plates/) - ALPR technology is a system that uses optical character recognition (OCR) and image processing techniques to automatically read and interpret license plate information from vehicles. ALPR systems typically consist of specialized cameras, image processing software, and a database for storing and analyzing the captured data. Here's how ALPR technology companies like SentiVeillance allow us to - [Key facts surrounding Fingerprint Scanning](https://www.teachmemicro.com/key-facts-surrounding-fingerprint-scanning/) - Biometric fingerprint readers are devices that capture and analyze the unique patterns and ridges on an individual's fingertip for identification and access control purposes. They work through a series of steps that involve image capture, feature extraction, and matching. Here's an overview of how biometric fingerprint readers work and their applications in different industries: The - [Are biometric attendance systems the best option available?](https://www.teachmemicro.com/are-biometric-attendance-systems-the-best-option-available/) - Indeed, more efficient and accurate systems have replaced traditional methods for attendance systems. One such advanced method is the biometric attendance system. Biometric attendance systems utilize unique physical or behavioral characteristics of individuals to record their attendance accurately. These systems work by capturing and analyzing biometric data, which can include fingerprints, handprints, facial features, iris - [Binance Vs KuCoin](https://www.teachmemicro.com/binance-vs-kucoin/) - Both Binance vs KuCoin are global cryptocurrency exchanges with user-friendly interfaces that make it easy for beginners to trade cryptocurrencies. Both have a variety of features, including trading bots and peer-to-peer lending. The fee structure of KuCoin is more competitive than Binance, with trading fees starting at 0.0125% and reducing as you move up to - [Benefits of Working With a Blockchain Marketing Agency](https://www.teachmemicro.com/benefits-of-working-with-a-blockchain-marketing-agency/) - A blockchain marketing agency is a specialist team of digital marketers that can help you market your blockchain-based product. They use their advanced knowledge of the crypto industry to make your project stand out from the competition, and they can provide a range of services, including search engine optimization (SEO), social media marketing, and influencer - [Precautions Needed to Ensure Success in Web Scraping](https://www.teachmemicro.com/precautions-needed-to-ensure-success-in-web-scraping/) - Special precautions should be taken when deploying a web scraper to crawl through the internet and scrape data. This is to ensure fluidity in your work as well as maintaining the security of the one who is extracting data to build an extensive database. The digital footprint of their web scraper can cause numerous problems - [System of equation: An Introduction with Methods and Examples](https://www.teachmemicro.com/system-of-equation-an-introduction-with-methods-and-examples/) - A system of equations is a collection of finite equations that are solved together to obtain a set of common solutions. Each equation in the system relates the variables in a particular way, and the aim is to find the values for the variables that fulfill all the equations. A system of equations is applied - [Wooden monitor stand what is it and for whom?](https://www.teachmemicro.com/wooden-monitor-stand-what-is-it-and-for-whom/) - The primary purpose of a wooden monitor stand is to improve your posture while you work. By raising your monitor to eye level, you can prevent neck and eye strain that can result from looking down at a screen for extended periods of time. Additionally, a monitor stand can help to free up valuable desk - [Why Do You Need Spatial Intelligence In a Modern Office?](https://www.teachmemicro.com/why-do-you-need-spatial-intelligence-in-a-modern-office/) - Nowadays, we often switch to remote or hybrid work, so we do not visit our company at all, or we go there from time to time. This, however, makes the old principles invalid and requires new solutions. In order to prepare a modern workplace, we need to have excellent planning skills. This is why we - [The Impact of Technology on Climate Change](https://www.teachmemicro.com/the-impact-of-technology-on-climate-change/) - How does technology impact climate change? We’re going to explore both the positive and the negative influences technology has on climate change. To understand and see the issue of climate change from a lucid perspective, we must be aware of both sides. Climate change can destructively change the course of humanity. However, the planet’s climate - [Signal Integrity and Power Integrity in PCB Fabrication and Design](https://www.teachmemicro.com/signal-integrity-and-power-integrity-in-pcb-fabrication-and-design/) - Signal integrity and power integrity are critical factors in the fabrication and design of printed circuit boards (PCBs). These factors play a significant role in ensuring that the PCBs function as intended, without interference or noise that could degrade performance or even cause the circuit to fail. This article highlights signal and power integrity's importance - [How advanced is facial recognition software?](https://www.teachmemicro.com/how-advanced-is-facial-recognition-software/) - Face recognition software is a type of technology that uses artificial intelligence (AI) to analyze and identify a person's facial features from a digital image or video. The software can identify unique patterns in a person's face, such as the distance between their eyes, the shape of their jawline, and the contours of their nose, - [Comparing Mobile Phone Plans and Data Deals in Australia](https://www.teachmemicro.com/comparing-mobile-phone-plans-and-data-deals-in-australia/) - Most customers like to compare all products and services before they make a purchase. Often, this is done to ensure that the customer is comfortable with the product or service and that they have developed a full desire for the item. It is no different when choosing a mobile phone plan. However, before you start - [The Difference Between Integrated Circuits and Chips](https://www.teachmemicro.com/the-difference-between-integrated-circuits-and-chips/) - Integrated Circuit Integrated circuits are small electronic components or products. Electronic components have made significant progress toward downsizing, low power consumption, and intelligence by becoming a microstructure with essential circuit operations; all components are integrated. The circuit's necessary transistors, resistors, capacitors, inductors, and other parts are constructed on one or more miniature semiconductor chips or - [Best Practices For Building A Solid Printed Circuit Board Assembly Process](https://www.teachmemicro.com/best-practices-for-building-a-solid-printed-circuit-board-assembly-process/) - The success of your Electronic PCB Assembly process is dependent on how well you’ve planned, designed, and implemented the process. In this post, we’ll outline some best practices for building a solid Printed Circuit Board Assembly Process. A successful Custom PCB Assembly process starts with a well-planned design. A good place to start is with - [Importance of Plasma Etching in Electronics Technology](https://www.teachmemicro.com/importance-of-plasma-etching-in-electronics-technology/) - Electronic technology manufacturers use plasma etching to 'roughen' a surface on a tiny scale. The component's surface is typically etched using a reactive process gas, which has both a physical and chemical impact on the surface. The volatile gas species in the plasma produce the chemical etching action, which quickly reacts and mixes with the - [Positive Features of the US Educational System](https://www.teachmemicro.com/positive-features-of-the-us-educational-system/) - The American education system encompasses a variety of institutions. Almost 4,000 accredited institutions take part in it. It’s decentralized, which means that the institutions are not managed by a single central authority. With that, it is more versatile and flexible than most other educational systems around the world. Although it’s been criticized because of the - [What Happens if a Virus Gets On Your Mobile Device?](https://www.teachmemicro.com/what-happens-if-a-virus-gets-on-your-mobile-device/) - When you think of hackers, you probably think of two things: large-scale attacks on businesses that cause multi-million dollar damage and micro-phishing attacks that target the most vulnerable Internet users. If you are confident in the top-notch security of your device, it can be difficult for you to imagine a virus wreaking havoc on your - [The mechanism of work of plagiarism checker programs that make life easier in college](https://www.teachmemicro.com/the-mechanism-of-work-of-plagiarism-checker-programs-that-make-life-easier-in-college/) - You already know that plagiarism is not tolerated in any academic institution. If your works have plagiarism, this comes with severe consequences for your progress. This is valid not only for students but for researchers and academicians too, as plagiarism might represent the end of their careers. Technology has advanced tremendously and in the last - [The Best Edubirdie Review 2022 by Experts ](https://www.teachmemicro.com/the-best-edubirdie-review-2022-by-experts/) - Edubirdie.com has been providing paper writing services for a while. They have served a large number of students from around the world. Due to this, they have attracted thousands of both positive and negative reviews. It might be hard for new users to decide whether Edubirdie is the right writing service to use. Several edubirdie - [How to Start Studying Electronics](https://www.teachmemicro.com/how-to-start-studying-electronics/) - How to learn electronics if you've never done it before? This guide will help you go from a complete zero to an intermediate to advanced level. You will be able to fix electronic equipment. Each step is described. Study school physics, including such sections and concepts as electrostatics, electrodynamics, Ohm's law, Kirchhoff's rule, voltage, resistance, - [The Best Way to Launch a Student Blog](https://www.teachmemicro.com/the-best-way-to-launch-a-student-blog/) - There could be a variety of motives behind beginning a student blog. Some people use this as part of a school assignment (for example english homework), while others use it as a chance to spread their ideas throughout the world, build their portfolios, or learn certain professional skills. Blogging can be a fantastic student hobby - [Differential Relay : Circuit, Working, and Applications](https://www.teachmemicro.com/differential-relay-circuit-working-and-applications/) - Overview of relay One form of switch used to use a signal to turn a high current and high voltage based device ON or OFF is a relay. Different types of relays, including latching, reed, solid state, automotive, timer delay, differential relay, etc., are categorized. Different types of relays are employed in power system protection, - [How to Achieve Virtual-to-Virtual Migration](https://www.teachmemicro.com/how-to-achieve-virtual-to-virtual-migration/) - If you are looking for a way to migrate a virtual machine to another virtual platform without reinstalling complex applications, you can find the V2V migration solution in this article. What Is V2V Migration? Virtual machine migration (VMM) technology makes server virtualization more convenient. Popular virtualization tools such as VMware, Xen, Hyper-v, and KVM currently - [Artificial Intelligence: technologies for your learning](https://www.teachmemicro.com/artificial-intelligence-technologies-for-your-learning/) - Today, in the context of general digitalization, one of the most in-demand and promising areas of development is the field of artificial intelligence. Not only are there many interesting professions and opportunities for young people to connect their future with the latest relevant professions, but also technologies for educators that can turn familiar learning topics - [How to Learn Machine Learning? Complete Guide](https://www.teachmemicro.com/how-to-learn-machine-learning-complete-guide/) - If you are interested in learning machine learning, you may be wondering if you can learn it on your own. The good news is that. Yes, you can! However, it requires a lot of effort on your part, as many skills need to be acquired to learn machine learning on your own. On the other - [The Influence of Mimicry on Self-Construction and Acquisition of New Knowledge](https://www.teachmemicro.com/the-influence-of-mimicry-on-self-construction-and-acquisition-of-new-knowledge/) - Have you ever copied someone else's behavior in order to feel more confident or appear more likable? If so, then you have experienced the power of mimicry. Mimicry is a powerful tool that can be used to improve self-esteem and learn new information. In this article, we will discuss the effects of mimicry on self-construction - [What you need to know when buying items online](https://www.teachmemicro.com/what-you-need-to-know-buying-items-online/) - How can I be careful when shopping online? In today's digital age, it's easier than ever to find what you're looking for with just a few clicks of a button. However, when it comes to buying products online, there are a few things you should keep in mind in order to have the best experience - [Software To Help You Plan Boards And Not Only](https://www.teachmemicro.com/software-to-help-you-plan-boards-and-not-only/) - PCB planning software is available and has one main purpose- its main goal is to help people manage their projects remotely. Most organizations worldwide, from global enterprises, to non-profit organizations, departments, and industries, are now embracing the PCP planning program. PCP comes with the best opportunities that have never been achieved before. If you want - [HC-05 Bluetooth AT Command List](https://www.teachmemicro.com/hc-05-bluetooth-command-list/) - The HC-05 is a common Bluetooth module used in many microcontroller projects. Here's a compilation of all HC-05 Bluetooth AT Commands. For beginners, see Arduino Bluetooth. Setting HC-05 to AT Command Mode By default, the HC-05 is configured in data mode. In this mode, the module acts like a serial bridge. To put into AT - [ESP32 vs ESP8266](https://www.teachmemicro.com/esp32-vs-esp8266/) - What is Esp32? A flexible Wi-Fi+BT+BLE MCU module, the ESP32 can be used for a variety of tasks, from low-power sensor networks to the most demanding ones like voice encoding, music streaming, and MP3 decoding. It includes a power amplifier, low-noise amplifiers, filters, and a power management module in addition to an integrated antenna and RF - [Choosing the Right Chargeback Management Software](https://www.teachmemicro.com/choosing-the-right-chargeback-management-software/) - Today, on the Internet, every business or company can find many online tools or software that help automate business processes as well as improve them. You can find CRM systems, marketing tools, communication and collaboration apps, and more. At the same time, users can find a dozen alternatives for each purpose that offer a different - [The Basics Of Key Card Entry Systems](https://www.teachmemicro.com/basics-key-card-entry-systems/) - As time passes by, criminals find more ways to rob, kidnap, and trespass. This has become a serious problem, especially in the United States. In a year, there are over 2.5 million burglary cases just in America alone. The severity of this problem intensifies more since the breach in security does not only mean that - [Studying as an Electrician: Which Universities are Better to Choose?](https://www.teachmemicro.com/studying-as-an-electrician-which-universities-are-better-to-choose/) - Demand for electricians is increasing throughout the world. New structures need electrical wiring installation, while old structures require maintenance. The experts are responsible for the installation, connection, and maintenance of any electrical system. To become an electrical engineer, a student may require to combine other subjects. They may need to learn pure mathematics, physics, and - [How to Measure Performance on Your Linux VPS Server](https://www.teachmemicro.com/how-to-measure-performance-linux-vps-server/) - A virtual private server with Linux operating system is one of the most profitable solutions for the development of e-commerce, other types of business, and private tasks (source). Sometimes the client needs to know the technical parameters of the system in order to plan development strategies. If there are doubts about the smooth operation of - [How To Build A Storyboard Online](https://www.teachmemicro.com/how-to-build-a-storyboard-online/) - A storyboard is a visual plan created to help understand what will happen in a film, TV show, or theater play. It allows you to view how a project will flow over time and how individual scenes will be structured. Storyboards are used by directors, producers, and production designers to assemble their idea before it - [How to Fix the 'Number Changed to Primary' Error on iPhone](https://www.teachmemicro.com/how-to-fix-number-changed-primary-error-iphone/) - No matter how perfect and high-quality Apple gear is, even they are capable of producing errors. iPhone XS, XS Max, and XR owners, for example, often face the same problem. When trying to send a regular SMS/MMS to a friend, the popup "Number changed to Primary" comes up before each message. If this phrase is - [The Ultimate Guide to Wireless Network Adapters](https://www.teachmemicro.com/ultimate-guide-to-wireless-network-adapters/) - A wireless network adapter is a small piece of hardware that allows you to connect your computer to a wireless network. They're an important part of a computer's internal hardware but can also be hard to understand. This guide will show you what they are, how they work, and what kind of adapter is right - [Designing a PCB for the RP2040 Microcontroller](https://www.teachmemicro.com/designing-a-pcb-for-the-rp2040-microcontroller/) - Using the Raspberry Pi Pico is convenient, but as you level up your project, you’ll find that it is much better to create your own PCB that satisfies your design requirements. If you have designed PCB boards for STM32 microcontrollers before, then you’ll find that it is not much different from designing for an RP2040 - [Everything you need to know about heavy copper PCB](https://www.teachmemicro.com/everything-you-need-to-know-about-heavy-copper-pcb/) - Printed Circuit Boards or PCBs are essential elements in the electronic world. They are used in more straightforward gadgets such as toys to complex devices such as military equipment. Nevertheless, standard PCBs usually are used in low-power and low-voltage devices. This is to help them work properly. But what kind of PCB is used on - [What You Should Be Wary of with Online Dating? | CocoFinder](https://www.teachmemicro.com/what-you-should-be-wary-of-with-online-dating-cocofinder/) - Online dating has become the new ordinary. If you are searching for Mr. or Mrs. Right on different dating applications, it's critical to find ways to ensure your security. There are numerous instruments available to you between ride-sharing, auxiliary email accounts, and a subsequent telephone number. Continuously ensure that you and your friends and family - [How to Run a BMW VIN Number Lookup?](https://www.teachmemicro.com/how-to-run-a-bmw-vin-number-lookup/) - Are you interested in learning the details of a BMW? Better still, you can learn all the options the vehicle is equipped with. Thanks to VIN online decoders like BMW VIN decoder you can learn all about a BMW through its VIN. In this post, you will learn how to run a BMW VIN lookup. - [5 Steps To Understanding Your Residential Lease](https://www.teachmemicro.com/5-steps-to-understanding-your-residential-lease/) - If you are searching for a place to live, you'll soon be faced with the "fun" task of reading & understanding your lease. This legally enforceable contract spells out your down payment, termination date, responsibilities as a tenant, and the rent you'll be paying every month. Although it's a lengthy document, pay close attention to - [Seeed Studio now Offering Free DFA Review for PCBA Orders](https://www.teachmemicro.com/seeed-studio-now-offering-free-dfa-review-for-pcba-orders/) - This post is sponsored by Seeed Studio With a focus on giving customers the best value for money, Seeed Fusion’s turnkey PCB assembly now offers free Design for Assembly (DFA) on all PCB assembly orders. This is supposed to be the first on a series of new offers Seeed Studio will be rolling out every - [All About Microcontroller Power](https://www.teachmemicro.com/microcontroller-power/) - I got plenty of questions regarding microcontroller power outputs and requirements especially for popular ones like PIC or the Arduino. So I decided to answer all of them in this post. Technically, Raspberry Pi and BeagleBone Black are not microcontrollers (I like to call them microcomputers) but I decided to include them here. Do you - [Get Orientation with Arduino and MPU6050](https://www.teachmemicro.com/orientation-arduino-mpu6050/) - The MPU6050 is a six-axis gyroscope and accelerometer in one package. With its easy-to-use breakout board, it became one of the more popular sensors for the Arduino platform. This article looks into this sensor and teaches how to use it to determine the orientation of an object. Introduction The MPU6050 breakout board comes with 8 - [IATF 16949 and What It Means in PCBs](https://www.teachmemicro.com/iatf-16949-pcb-production/) - Sponsored Post from NextPCB PCB manufacturers often present their customers with an IATF 16949 certificate on top of known certifications such as UL and ISO. What is this certification and why should we care about it? IATF 16949:2016 is a standard that establishes the requirements for a Quality Management System (QMS), specifically for the automotive - [How to Use ADXL345 Accelerometer with Arduino](https://www.teachmemicro.com/use-adxl345-arduino/) - The ADXL345 is an integrated circuit that measures acceleration in 3 axes. Like most sensors, this device comes with an easy-to-use breakout board and is usable through SPI or I2C. This tutorial aims to show how you can interface this accelerometer with an Arduino. Introduction to ADXL345 In reality, the ADXL345 is capable of measuring - [Custom Circuit Board-The Guide to How to Design](https://www.teachmemicro.com/custom-circuit-board-the-guide-to-how-to-design/) - Sponsored Post by WellPCB Every day, people depend heavily on electronic devices to get things done around the house and at their job places. This friendly guide has all you need to know everything about a custom circuit board, and where you can get the best custom circuit boards for your needs. Among the key - [Fast Printing PCB – Factors Make it Perfect](https://www.teachmemicro.com/fast-printing-pcb-factors-make-it-perfect/) - Sponsored Post by OurPCB Are you looking for a company that can provide you with the best Fast Print PCB products? In this article, we will talk about Fast Printing PCB,help you make informed decisions and achieve the desired results. Among the key subjects on Fast Printing PCB include: What is a Fast Print PCB?: - [AV Cable – The Ultimate Guide](https://www.teachmemicro.com/av-cable-the-ultimate-guide/) - Sponsored Post by Cloom Cloom, a reliable wire harness, and cable assemblies manufacturer, today published an “AV Cable – The Ultimate Guide You Need to Know.” It has four chapters that cover some useful terms about AV Cables knowledge. The publication is available here for free. This guide sheds insightful light on these AV cable - [Top 5 Key Factors Affecting The Cost Of  PCB](https://www.teachmemicro.com/top-5-key-factors-affecting-the-cost-of-pcb/) - Guest Post from LHDPCB Many buyer have confuse about the price when they buy PCB from the PCB manufacturer , they want to know the factors which affecting the cost of PCB. Let's learn something about the cost of the PCB. 1.Material-The 1st Key Factors There are many material can be chosen for PCB, the - [Custom PCB- To Getting The Best Results](https://www.teachmemicro.com/custom-pcb-to-getting-the-best-results/) - PCB is an indispensable unit in the electronic products that humans use every day, and it plays a role that cannot ignore. Do you know how to choose a PCB that meets your needs? Or, you want to buy but not sure about the right supplier? No worries! We have created this friendly guide to - [Optimal Circuit Boards Information Guide](https://www.teachmemicro.com/optimal-circuit-boards-information-guide/) - Guest Post from OurPCB Do you know what the PCB circuit boards made of are? PCB vs PCBA-What is the differences? Have you ever opened up your iPhone to see what’s inside? You would find only a few things, from the digitiser, battery to soldering and of course, the PCB. We have prepared this helpful - [Cheap PCB Prototype Service](https://www.teachmemicro.com/cheap-pcb-prototype-service/) - Sponsored Post by WellPCB In this guide, we will introduce you to a supplier of cheap PCB prototype. We will discuss what to consider when purchasing from them. I hope that you will be able to answer all your concerns and concerns in this article. Buckle up. A lot of valuable information is coming. Among - [What is I2C? | Protocol Guide](https://www.teachmemicro.com/i2c-primer/) - I2C, or Inter-integrated Circuit, is a communications protocol common in microcontroller-based systems, particularly for interfacing with sensors, memory devices and liquid crystal displays. Similar to SPI, it's a synchronous protocol because it uses a clock line. The I2C protocol, however, uses less pins and is a much more robust standard. I2C Basics Asynchronous serial protocols - [First Use of Microchip's Curiosity HPC](https://www.teachmemicro.com/first-use-microchip-curiosity-hpc/) - As a lifelong PIC fan, I was super thrilled when Microchip sent me a free unit of their Curiosity HPC development board. I’ve been working on PICs for years by just mounting them on breadboards and using PICKit to flash programs. This takes time and so when I’m faced with urgent projects, I had to - [Understanding PCB Via](https://www.teachmemicro.com/understanding-pcb-via/) - Vias are very common when designing PCBs. I myself have used PCB via even before fully understanding them. In this article, I will be sharing the different types of vias and how they are actually used in PCB design. What Is a Via? In general terms, a via connects one PCB layer to another. Vias - [Uploading Gerber Files for PCB Production](https://www.teachmemicro.com/uploading-gerber-files-pcb-production/) - In the past, I used to build project prototypes through breadboards and perfboards. However, the emergence of affordable PCB manufactures have allowed me to go away from my old ways of prototyping. In this article, I will share how I created the PCB board for my SIMPic development board through JLCPCB. Just like other PCB - [How to Use LCD without Potentiometer](https://www.teachmemicro.com/use-lcd-without-potentiometer/) - Maybe you’ve used an HD4480-based LCD before (pictured) and you know that it requires a potentiometer for adjusting contrast. Is there a way to remove this potentiometer completely? Why a Potentiometer? The potentiometer acts as a voltage-divider for voltage levels to LCD pin V0 that will adjust the LCD screen’s contrast. There is no exact - [ESP32 Async Web Server Event Handler Tutorial](https://www.teachmemicro.com/esp32-async-web-server-event-handler-tutorial/) - The ESP32 is powerful enough to host a small web server directly on the board. This means you can control LEDs, read sensor values, update a webpage, or build a simple browser-based dashboard without needing a separate computer or cloud server. One of the most useful libraries for this is the ESP32 Async Web Server - [Arduino ESP32 Autobaud Example: Detect UART Baud Rate Automatically](https://www.teachmemicro.com/arduino-esp32-autobaud-example-detect-uart-baud-rate-automatically/) - If you are connecting an ESP32 to a UART device, both sides normally need to use the same baud rate. For example, if your external module is sending data at 9600 baud but your ESP32 is listening at 115200 baud, the data will not be read correctly. Fortunately, some ESP32 chips support automatic baud rate - [Understanding -O1, -O2, -O3, -Os, and -Og in Embedded Firmware](https://www.teachmemicro.com/understanding-o1-o2-o3-os-and-og-in-embedded-firmware/) - When compiling embedded C or C++ firmware, you will often see compiler flags such as -O0, -O1, -O2, -O3, -Os, and -Og. These are compiler optimization levels. They tell the compiler how much effort it should spend improving the generated machine code. For desktop applications, optimization usually means “make the program run faster.” In embedded - [Structures and Padding in Embedded Systems: Why sizeof() Is Bigger Than You Expect](https://www.teachmemicro.com/structures-and-padding-in-embedded-systems-why-sizeof-is-bigger-than-you-expect/) - In embedded systems, every byte matters. Whether you are working with a small 8-bit microcontroller, an ARM Cortex-M device, or a memory-constrained IoT module, understanding how data is stored in memory can help you write more efficient and reliable firmware. One common source of confusion is the size of struct variables in C. Beginners often - [Arduino Project PCB Manufacturing and Assembly at Bittele Electronics](https://www.teachmemicro.com/arduino-project-pcb-manufacturing-assembly-bittele-electronics/) - Bittele Electronics provides PCB manufacturing and assembly services for Arduino and microcontroller-based projects, supporting designs that move from breadboard prototypes to assembled printed circuit boards. For developers building sensor boards, data loggers, automation controllers, or custom Arduino-compatible hardware, Bittele’s turnkey PCB assembly service can help combine PCB fabrication, component sourcing, and board assembly into a - [How Code Audits Help Prevent Firmware Exploitation in Connected Devices](https://www.teachmemicro.com/how-code-audits-help-prevent-firmware-exploitation-in-connected-devices/) - Attackers rarely announce themselves. More often, they find a quiet side entrance, and firmware is exactly that. It's the invisible software layer that wakes your device before anything else does, and it's become one of the most exploited attack surfaces in modern security. The numbers are hard to ignore: only 31% of companies regularly test - [How to Choose the Right Microcontroller Pins Before Designing a PCB](https://www.teachmemicro.com/how-to-choose-the-right-microcontroller-pins-before-designing-a-pcb/) - When building a prototype on a breadboard, it is easy to move jumper wires around until everything works. But once you turn that circuit into a printed circuit board, every pin choice becomes much more permanent. A poorly chosen GPIO can cause boot problems, programming issues, noisy analog readings, or layout headaches. That is why - [ESP32 Pinout Diagram | ESP32-WROOM-32](https://www.teachmemicro.com/esp32-pinout-diagram-wroom-32/) - This ESP32 pinout guide shows the GPIO pins, ADC channels, power pins, boot pins, communication pins, and safe-to-use pins of the ESP32-WROOM-32 development board. Use the diagram and tables below to quickly choose the right ESP32 pins for sensors, I2C, SPI, UART, PWM, touch input, and analog readings. This guide focuses on the common 30-pin - [Building Custom SEO Tracking Tools Using Web Scraping and APIs](https://www.teachmemicro.com/building-custom-seo-tracking-tools-using-web-scraping-and-apis/) - Web developers frequently construct bespoke applications to solve specific data problems. When it comes to search engine optimisation, standard out-of-the-box software often lacks the granular flexibility needed for highly specialised analytics. By combining advanced web scraping techniques with official application programming interfaces, developers can build custom tracking dashboards that deliver real-time insights tailored to precise - [Heating Repair in Aurora: What DIY Electronics Projects Can Teach Us About Home Heating Problems](https://www.teachmemicro.com/heating-repair-in-aurora-what-diy-electronics-projects-can-teach-us-about-home-heating-problems/) - Most of the projects I build on TeachMeMicro involve sensors, microcontrollers, displays, and simple control systems. At first glance, that may seem far from home heating systems, but the basic idea is actually very similar. A heating system depends on temperature measurement, switching, timing, airflow, and feedback. These are the same concepts we use when - [Raspberry Pi Pico Access Control System Using the Elecrow Pico Advanced Kit](https://www.teachmemicro.com/raspberry-pi-pico-access-control-system-using-the-elecrow-pico-advanced-kit/) - Access control systems are commonly used in offices, schools, laboratories, apartments, and industrial facilities. At the center of these systems is a controller that decides whether a person is allowed to enter, controls the door lock, and monitors alarm inputs. In this tutorial, I will build a small access control system using a Raspberry Pi - [Which Battery is Better, 24F or 35? A Comprehensive Comparison](https://www.teachmemicro.com/which-battery-is-better-24f-or-35-a-comprehensive-comparison/) - The 24F battery and 35 battery are the most common types of automotive battery, and people can talk about the 24F battery and 35 battery as the most common car battery, truck battery and SUV battery. They are similar as they are both lead-based batteries, though there are some significant differences between them in terms - [Is 2 Gauge Thick Enough for a 2000 Watt Inverter?](https://www.teachmemicro.com/is-2-gauge-thick-enough-for-a-2000-watt-inverter/) - The 2000-watt inverter is the most common among the RV-lovers, boaters and off-grid fanatics due to its availability of sufficient power to operate the basic appliances like microwaves, laptops and TVs and even mini-fridges. But such a device consumes a lot of current in the battery bank. The basic arithmetic is easy: wattage/ system voltage. - [What Are the Best Tools for Customizing Your Tech Gear?](https://www.teachmemicro.com/what-are-the-best-tools-for-customizing-your-tech-gear/) - It's quite satisfying to make your tech feel like yours. From a custom keyboard with special keycaps, to a PC build that you've carefully selected the cable routing for, to a laptop that's stuck with a story of stickers customizing makes those devices less of a generic gadget and more of an extension of you. - [How Can Logistics Companies Secure Their IoT Tracking Systems?](https://www.teachmemicro.com/how-can-logistics-companies-secure-their-iot-tracking-systems/) - Imagine the following scenario: three countries, a fleet of refrigerated trucks with pharmaceutical products, all of which are tracked in real time by a system of GPS trackers and temperature sensors. It is the dream of a logistician, and until such a data stream is intercepted. Cargo locations are suddenly revealed, routes are foretold, and - [Why Is Precision Assembly Important in Today's Technology Industry?](https://www.teachmemicro.com/why-is-precision-assembly-important-in-todays-technology-industry/) - Consider, when last did you use your phone to make payment, or when you observed a heartbeat of a patient displayed on the screen of a medical device. We engage with technology to the extent that we can now forget that it is an impressive amount of craftsmanship that is keeping it all together literally. - [Which Virtual Hairstyle Tools Actually Give Realistic Results?](https://www.teachmemicro.com/which-virtual-hairstyle-tools-actually-give-realistic-results/) - You must have been there. You are on the salon chair, a hairdresser is holding a pair of scissors, and you have just 30 seconds to make a decision that you cannot reverse. Or perhaps you are in a drugstore aisle with two boxes of hair dye (one auburn, one ash blonde) in your hand, - [Why Is Integrated Hardware Sourcing the Key to Faster Market Entry?](https://www.teachmemicro.com/why-is-integrated-hardware-sourcing-the-key-to-faster-market-entry/) - Getting a product to market quickly isn't just a competitive advantage anymore, it's survival. For products with short product lifecycles and even shorter customer expectations, the difference between “almost ready” and “shipping now” can be the difference between success and failure. However, one of the biggest challenges in that journey that's often missed is not - [Is a Turnkey Manufacturing Partner Right for Your Next Tech Project?](https://www.teachmemicro.com/is-a-turnkey-manufacturing-partner-right-for-your-next-tech-project/) - You have a good product idea, a working prototype, and investors are now calling back. The tricky part for many hardware entrepreneurs and product teams is actually creating it on schedule, on budget and at scale. One path that continues to arise in these discussions is the idea of teaming up with a turnkey manufacturer. - [Which Simple Design Tools Help Beginners Create Better Online Content?](https://www.teachmemicro.com/which-simple-design-tools-help-beginners-create-better-online-content/) - You don't have to be a designer to develop content that looks great online. However, you need to have the right tools, without needing to learn a difficult curve or a design degree to get it right. When you look at a blank canvas and don't know where to begin, you're not alone. It is - [How Do You Choose the Right Wiring for Outdoor Electronics Projects?](https://www.teachmemicro.com/how-do-you-choose-the-right-wiring-for-outdoor-electronics-projects/) - You have probably experienced wiring when you've created an outdoor electronics project, like a weatherproof security camera system, a garden lighting system or an even backyard automation rig. It is among the most important choices that you will make. Do not get it right and you are not just in for a broken project, you - [Raspberry Pi + Portable Monitor Use Cases ](https://www.teachmemicro.com/raspberry-pi-portable-monitor-use-cases/) - In the realm of DIY electronics and compact computing, the Raspberry Pi stands as a titan. Since its inception, this credit-card-sized computer has evolved from a simple educational tool into a powerhouse capable of driving complex artificial intelligence, high-definition media centers, and professional-grade server environments. However, the true mobility of the Raspberry Pi is often - [ESP32 Time-of-Flight Sensor Tutorial (VL53L0X / VL53L1X Distance Measurement)](https://www.teachmemicro.com/esp32-time-of-flight-sensor-vl53l0x/) - When I first moved from ultrasonic sensors to Time-of-Flight (ToF) sensors, the difference was night and day. Measurements became faster, more stable, and far more precise. In this tutorial, I’ll show you exactly how I use a ToF sensor like the VL53L0X with the ESP32. What is a Time-of-Flight Sensor? A Time-of-Flight sensor measures distance - [What is a Flexible PCB?](https://www.teachmemicro.com/what-is-a-flexible-pcb/) - What Is a Flexible PCB and How Does It Differ from Rigid PCBs? In the ever-shrinking world of electronic devices, flexibility isn’t just a luxury; it’s a necessity. That is why flexible PCBs, or flex circuits, are specially designed printed circuit boards that can bend, fold, and twist without breaking. Unlike rigid PCBs, which are - [Flexible PCB Assembly and Soldering](https://www.teachmemicro.com/flexible-pcb-assembly-and-soldering/) - In today’s fast-evolving electronics landscape, PCB assembly has transcended traditional rigid boards to embrace the versatility of flexible PCBs. These bendable circuit boards enable innovative product designs across the medical, aerospace, automotive, and consumer electronics industries. This guide dives deep into the process of flexible PCB assembly and soldering, outlining each step, from component placement - [Common Errors in LED Display Service for Traffic Signs](https://www.teachmemicro.com/common-errors-in-led-display-service-for-traffic-signs/) - Variable message signs are the backbone of modern traffic management, delivering real-time information that keeps roads safe and traffic flowing. When these systems fail — even briefly — the consequences can range from driver confusion to serious safety hazards. Yet LED display errors in traffic sign service are far more common than many agencies acknowledge, - [How to Use an NPK Soil Sensor with ESP32](https://www.teachmemicro.com/how-to-use-an-npk-soil-sensor-with-esp32/) - If you are building a smart agriculture project, one of the most useful things you can measure is the nutrient condition of the soil. Moisture sensors can tell you if the soil is wet or dry, but they cannot tell you whether the soil still has enough nutrients for healthy plant growth. This is where - [ESP32 + INMP441 I2S Microphone with Live Web Graph](https://www.teachmemicro.com/esp32-inmp441-i2s-microphone-with-live-web-graph/) - In this project, I’ll show you how I interface the ESP32 with the INMP441 I2S microphone module, starting from basic audio capture and then moving toward a more interactive application where the sound is visualized in real time on a web browser. When I first worked with microphones on microcontrollers, I used analog modules. They - [Using BLE with ESP32 on the Arduino](https://www.teachmemicro.com/using-ble-with-esp32-on-the-arduino/) - The ESP32 microcontroller is a powerful and versatile platform, widely used in IoT applications due to its built-in Wi-Fi and Bluetooth capabilities. One of its standout features is support for Bluetooth Low Energy (BLE), which is an energy-efficient version of Bluetooth designed for IoT devices, wearable tech, smart home gadgets, and more. In this post, - [Sensor Reading Filtering (Arduino & Embedded Systems)](https://www.teachmemicro.com/sensor-reading-filtering-arduino-embedded-systems/) - When I first started working with sensors, I expected clean, stable readings. Instead, what I got were values jumping all over the place. A temperature sensor would fluctuate ±2°C, an ADC reading would jitter constantly, and analog signals were almost unusable without processing. That’s when I realized: raw sensor data is almost always noisy. In - [ESPectre Tutorial: Motion Detection Using Wi-Fi Signals (ESP32 + Home Assistant)](https://www.teachmemicro.com/espectre-tutorial-motion-detection-using-wi-fi-signals-esp32-home-assistant/) - Motion detection usually means PIR sensors, cameras, or microphones. ESPectre takes a very different approach: it detects movement by analyzing how the human body disturbs Wi-Fi radio waves. Interestingly, many modern signal-processing systems — from Wi-Fi sensing to broadcast monitoring infrastructures like this Thor Broadcast deployment — rely on analyzing how signals propagate through networks. - [Digital Tools That Make Learning Smarter and More Engaging](https://www.teachmemicro.com/digital-tools-that-make-learning-smarter-and-more-engaging/) - The way learning has been changed in the last ten years is dramatic. Gone are the days when the definition of education was sitting and passively taking lectures or taking hours with a highlighter and a pile of textbooks. The modern digital transformation trends provide a spectacular set of tools that allow being a lot - [Motherboards and Board Parts: Complete Guide to Components, Functions, and Repairs](https://www.teachmemicro.com/motherboards-and-board-parts-complete-guide-to-components-functions-and-repairs/) - The motherboard is the central backbone of every computer system. Whether it is a laptop, desktop PC, or industrial device, all components communicate through the motherboard. Understanding motherboards and board parts is essential not only for IT professionals and technicians, but also for anyone looking to upgrade, repair, or maintain computer hardware. This guide explains - [California Homeowners Gain a Local Partner for High Performance Accessory Dwelling Units with A+ Construction and Remodeling ADU Builders](https://www.teachmemicro.com/california-homeowners-gain-a-local-partner-for-high-performance-accessory-dwelling-units-with-a-construction-and-remodeling-adu-builders/) - Successful ADU projects depend on more than a good floor plan. They require clear alignment with city and county requirements, practical site evaluation, and construction management that anticipates common obstacles such as utility connections, setbacks, drainage, access, and neighborhood constraints. A+ Construction and Remodeling ADU Builders emphasizes jobsite ready planning and build execution that respects - [ADU Builders California Expands Design Build ADU Services for Homeowners Across California](https://www.teachmemicro.com/adu-builders-california-expands-design-build-adu-services-for-homeowners-across-california/) - As demand accelerates for backyard housing, in law suites, and small footprint rental units, ADU Builders California is scaling its operations to meet the needs of single family homeowners and multifamily property owners navigating California ADU regulations. The company builds detached ADUs, attached ADUs, garage conversions, and junior ADUs, with project scopes tailored to each - [Solving BLE and Wi-Fi Concurrency on ESP32 Using FreeRTOS](https://www.teachmemicro.com/solving-ble-and-wi-fi-concurrency-on-esp32-using-freertos/) - Running Bluetooth Low Energy (BLE) scanning and Wi-Fi networking at the same time on an ESP32 sounds straightforward—until it isn’t. Many developers discover that once BLE scanning starts, their Wi-Fi web server becomes unreliable. Pages load intermittently, HTTP requests time out, or BLE scans suddenly stop when Wi-Fi traffic increases. In this article, we’ll walk - [How to Send ESP32 Sensor Data to Google Sheets (2026) ](https://www.teachmemicro.com/how-to-send-esp32-sensor-data-to-google-sheets-2026/) - In this tutorial, I’ll show you exactly how I send sensor data from an ESP32 to Google Sheets every hour. This setup is: Free Reliable No Firebase No OAuth No paid APIs If you just want a clean Google Sheet logging your ESP32 sensor data, this is one of the simplest and most stable methods - [How To Use an ESP8266 WiFi Relay Board](https://www.teachmemicro.com/how-to-use-an-esp8266-wifi-relay-board/) - If you’re looking for a simple but powerful way to control AC or DC devices over Wi‑Fi, the ESP8266 relay board is one of the best places to start. I’ve used ESP8266‑based boards in many hobby and semi‑professional projects, and relay boards are usually the first real‑world application people build. In this tutorial, I’ll walk you through exactly how I use - [How I Built an Alexa-Like Voice Assistant Using Raspberry Pi 5 and an LLM](https://www.teachmemicro.com/how-i-built-an-alexa-like-voice-assistant-using-raspberry-pi-5-and-an-llm/) - In this tutorial, I’m going to walk you through how I built my own voice assistant—similar to Alexa or Google Home—using only a Raspberry Pi 5, a USB microphone, a speaker, and an LLM with text-to-speech (TTS) and speech-to-text (STT) support. By the end of this guide, you’ll have a Raspberry-Pi-powered device that: Listens for - [Top 10 Reasons to Choose Professional Air Conditioner Installation Services in Chicago (Expert Guide)](https://www.teachmemicro.com/top-10-reasons-to-choose-professional-air-conditioner-installation-services-in-chicago-expert-guide/) - Living in Chicago means experiencing sweltering summers and unpredictable temperature swings. That’s why choosing Professional Air Conditioner Installation Services in Chicago is more than just a smart choice—it’s essential for long-term comfort, energy savings, and system reliability. In this comprehensive guide, we’ll walk through everything you need to know, from benefits and costs to expert - [Using the MH-ET LIVE Scanner 3.0 (QR/Barcode) with Arduino](https://www.teachmemicro.com/using-the-mh-et-live-scanner-3-0-qr-barcode-with-arduino/) - This guide shows how to interface the MH-ET LIVE Scanner V3.0 with Arduino using the UART serial interface. This scanner can read 1D barcodes and 2D codes including QR, and outputs the decoded text through UART or USB. 1. Overview of the Module Your MH-ET Scanner board includes: 2D scanning engine (CMOS sensor + decoder) - [CISC vs RISC for an Arduino User](https://www.teachmemicro.com/cisc-vs-risc-for-an-arduino-user/) - Introduction Whenever I peel back the layers of how my Arduino boards actually work, I always end up revisiting one classic topic: CISC vs RISC. When I first heard those terms, I honestly thought they were meant for chip architects wearing lab coats inside semiconductor fabs. But the more I built projects — robots, IoT - [Buying Crypto No KYC in 2025: Strategies, Challenges, and the New Face of Privacy](https://www.teachmemicro.com/buying-crypto-no-kyc-in-2025-strategies-challenges-and-the-new-face-of-privacy/) - The crypto landscape in 2025 is a blend of soaring innovation and tightening rules. While most mainstream exchanges rely on strict “Know Your Customer” (KYC) policies, a significant part of the community still seeks ways to “buy crypto no KYC”—to preserve privacy, speed, and autonomy in a world where digital surveillance is growing. This article - [Getting Started with WEMOS D1 R32 ](https://www.teachmemicro.com/getting-started-with-wemos-d1-r32/) - The WeMos D1 R32 is an ESP32-based development board that takes the familiar Arduino Uno form factor. It promises to give makers the power of the ESP32—Wi-Fi, Bluetooth, dual-core processing—while keeping the physical compatibility of an Arduino board. But as many users have discovered, the D1 R32 isn’t a drop-in replacement for the Arduino Uno. - [Voice Command Recognition with ESP32 and TinyML (Using Edge Impulse)](https://www.teachmemicro.com/voice-command-recognition-with-esp32-and-tinyml-using-edge-impulse/) - Ever wanted to make your ESP32 respond to voice commands like “ON”, “OFF”, or “LIGHT”? Thanks to TinyML, we can now run machine-learning models directly on microcontrollers — no cloud needed. In this tutorial, I’ll walk you through building a voice command recognition project using an ESP32, Edge Impulse, and a small digital microphone. This - [Fridge Not Cooling – Simple Home Troubleshooting Guide](https://www.teachmemicro.com/fridge-not-cooling-quick-fix-guide/) - When your fridge stops cooling, it’s stressful. Food may spoil, and you might think the repair will cost a lot. But many problems are simple and easy to fix. Follow these steps to check what’s wrong and see if you can fix it yourself or need a technician. If your fridge still doesn’t work – - [How Can You Find the Best International PCB Partner for Your Project?](https://www.teachmemicro.com/how-can-you-find-the-best-international-pcb-partner-for-your-project/) - Locating an ideal international PCB partner would be like locating a needle in a haystack. There are dozens of manufacturers around the world all of whom say that they are quality, fast and affordable, but how can you expect a person to see the truly great one that is more than a simple mediocre? You - [Is Your PCB Supply Chain Ready for New European Green Regulations?](https://www.teachmemicro.com/is-your-pcb-supply-chain-ready-for-new-european-green-regulations/) - As an electronics manufacturer or buyer, then you have likely realized that Europe is taking sustainability seriously. The continent that introduced RoHS and REACH is implementing a new wave of environmental regulations, and this time, they are going deeper into supply chains than they have ever done before. To the companies which are dependent on - [The Role of PCB Design in Modern Electronics: From Prototype to Production](https://www.teachmemicro.com/the-role-of-pcb-design-in-modern-electronics-from-prototype-to-production/) - Have you ever wondered why your smartphone works, your laptop performs, or your smart home devices talk in unison, it is very possible that you have found the answer in something that you rarely see: the printed circuit board, or PCB. These complex green boards are the unrecognized heroes of the new-age electronics, which forms - [How Online Calculators Are Revolutionizing Everyday Decision-Making](https://www.teachmemicro.com/how-online-calculators-are-revolutionizing-everyday-decision-making/) - Did you remember last time you were in a store, and trying to determine whether that sale was a good deal or not? Or when you tried to divide a dinner bill with your friends without using the mental math that simply would not add? We've all been there. The point is here: we are - [The Hidden Engineering Behind Everyday Appliances: What I Learned About Refrigerator Repair](https://www.teachmemicro.com/the-hidden-engineering-behind-everyday-appliances-what-i-learned-about-refrigerator-repair/) - As someone who spends most of his time tinkering with microcontrollers, debugging circuit boards, and teaching others how electronics work, I’ve always been fascinated by the overlap between theory and real-world application. It’s one thing to design an embedded system in simulation or build a prototype on a breadboard, but it’s another to see how - [How to Use LM35 Temperature Sensor with Arduino and ESP32: Complete Guide with Example Projects](https://www.teachmemicro.com/how-to-use-lm35-temperature-sensor-with-arduino-and-esp32-complete-guide-with-example-projects/) - Introduction to LM35 Temperature Sensor The LM35 is a precision temperature sensor that provides an analog voltage output proportional to the measured temperature. It's popular among electronics enthusiasts for its simplicity, accuracy, and ease of use with microcontrollers like Arduino and ESP32. In this tutorial, you’ll learn how LM35 works, how to interface it with - [ESP32 Pinout Diagram | ESP32-CAM](https://www.teachmemicro.com/esp32-pinout-diagram-esp32-cam/) - The ESP32-CAM is a compact yet powerful development board that packs Wi-Fi, Bluetooth, and camera capabilities into one low-cost module. But with its limited pin count and dual-purpose GPIOs, figuring out which pins to use can be confusing—especially for beginners. In this post, we’ll break down the ESP32-CAM pinout, explain the function of each pin, - [ESP32 Pinout Diagram | ESP32-WROVER](https://www.teachmemicro.com/esp32-pinout-diagram-esp32-wrover/) - The ESP32 has become one of the most popular microcontrollers in the maker and IoT community thanks to its power, versatility, and built-in Wi-Fi and Bluetooth features. Among its many modules, the ESP32-WROVER stands out because of its extended memory and performance, making it ideal for demanding projects like data logging, machine learning, or advanced - [ESP32 Earthquake Monitor with USGS API, GPS, LCD, and Web Dashboard](https://www.teachmemicro.com/esp32-earthquake-monitor-with-usgs-api-gps-lcd-and-web-dashboard/) - Was that an earthquake, or did I just stand up too fast? If you’ve ever asked that question — then this project’s for you. We’re building an ESP32 Earthquake Monitor that fetches live data from the USGS Earthquake API, locates your position via NEO-6M GPS, and alerts you through an LCD, buzzer, and RGB LED. - [ESP32 Keyboard Tutorial: Learn to Create a Bluetooth Keyboard with the ESP32 BLE Keyboard Library (2025 Edition)](https://www.teachmemicro.com/esp32-keyboard-tutorial-learn-to-create-a-bluetooth-keyboard-with-the-esp32-ble-keyboard-library-2025-edition/) - Introduction: What Is the ESP32 Keyboard Project? The ESP32 Keyboard project allows your ESP32 board to act as a Bluetooth keyboard that can wirelessly send keystrokes to computers, tablets, and smartphones. Using the open-source ESP32 BLE Keyboard library by T-vK, you can emulate a full HID (Human Interface Device) keyboard — all controlled by your - [LTM4644 Regulator Design & Applications](https://www.teachmemicro.com/ltm4644-regulator-design-applications/) - Introduction The LTM4644 is a step-down voltage regulator micro-module with 4 outputs, each offering up to 4 Amperes of current limit. With a parallel output configurable array of loads, the total current that this regulator is able to provide is approximately 16 Amperes, making it a great choice for power electronics circuits, allowing it to - [Design Analysis of MT40A512M16LY-075:E DDR4-SDRAM](https://www.teachmemicro.com/design-analysis-of-mt40a512m16ly-075e-ddr4-sdram/) - Introduction The MT40A512M16LY-075:E is a DDR4 SDRAM with a 96-ball BGA design. This Dynamic Ram module 8n-prefetch architecture to perform operations at high speeds, combined with an interface designed to transfer two data words per clock cycle at the I/O pins. This configuration of the MT40 SDRAM offers a data transfer rate of up to - [ESP32 Meets AI: Talking to Large Language Models via OpenRouter](https://www.teachmemicro.com/esp32-meets-ai-talking-to-large-language-models-via-openrouter/) - Large Language Models (LLMs) like ChatGPT are usually something you access from a laptop or phone. But what if your humble ESP32 could send a question over Wi-Fi and get an answer back? That’s what we’ll build in this tutorial. We’ll make the ESP32 query an LLM through the OpenRouter API, and print the response on - [Getting Started with TensorFlow Lite on ESP32 (With Voice Activity Detection Project)](https://www.teachmemicro.com/getting-started-with-tensorflow-lite-on-esp32-with-voice-activity-detection-project/) - Machine learning (ML) isn’t just for powerful computers anymore. With TensorFlow Lite for Microcontrollers (TFLM), we can run tiny ML models on low-power devices like the ESP32, enabling real-time intelligence at the edge—no cloud needed! What is TensorFlow Lite for Microcontrollers? TensorFlow Lite for Microcontrollers is a lightweight version of TensorFlow designed specifically to run - [How to Use the ESP32 to Listen for TCP Packets on a Specific Port](https://www.teachmemicro.com/how-to-use-the-esp32-to-listen-for-tcp-packets-on-a-specific-port/) - The ESP32 is a powerful microcontroller with Wi-Fi and Bluetooth capabilities, making it perfect for network-based applications. In this tutorial, you’ll learn how to use your ESP32 to act as a TCP server, listening for incoming TCP packets on a specific port. Requirements Set Up the Arduino IDE for ESP32 If you haven't already: Open - [How to Program a PIC Microcontroller Using an Arduino](https://www.teachmemicro.com/how-to-program-a-pic-microcontroller-using-an-arduino/) - Programming PIC microcontrollers usually requires specialized hardware programmers like the PICkit series. But what if you don’t have one? Thanks to open-source projects like a-p-prog, you can turn an Arduino Uno or Nano into a PIC programmer that works over the In-Circuit Serial Programming (ICSP) interface. In this tutorial, we’ll walk through the steps to - [Understanding The Subtleties Of High-Converting E-commerce Merchandising](https://www.teachmemicro.com/understanding-the-subtleties-of-high-converting-e-commerce-merchandising/) - In the bustling world of beauty salons, where every brushstroke and product choice can define a brand's reputation, mastering the art of e-commerce merchandising is crucial. You stand at the intersection of creativity and commerce, where the digital display of your products can spell the difference between a sale and a scroll. As beauty businesses - [TinyML with ESP32 Tutorial](https://www.teachmemicro.com/tinyml-with-esp32-tutorial/) - TinyML brings machine learning (ML) models to microcontrollers, allowing you to embed intelligence in small, low-power devices like the ESP32. This tutorial will guide you through the process of using TinyML with an ESP32, from model training to deployment. What is TinyML? TinyML refers to the implementation of ML algorithms on microcontrollers and edge devices - [Industrial Applications of Microcontrollers](https://www.teachmemicro.com/industrial-applications-of-microcontrollers/) - Microcontrollers are the invisible powerhouses driving modern industrial automation. Found in everything from robotic arms to power distribution systems, these small yet powerful integrated circuits are designed to execute specific control functions with precision and reliability. With industries evolving toward smart manufacturing and interconnected systems, the industrial applications of microcontrollers are expanding rapidly, shaping the - [How Can I Run Network Cables Through Existing Conduit Without Overloading It?](https://www.teachmemicro.com/how-can-i-run-network-cables-through-existing-conduit-without-overloading-it/) - As you look for a stable and wired internet connection for your new home office or movie centre, you find that there is already an electrical conduit running right where you want it to go! What a great road you were given through your walls! Pause for a second and ask yourself, "How much is - [How to Batch Convert HEIC to JPG Securely Offline (A Step-by-Step Guide)](https://www.teachmemicro.com/how-to-batch-convert-heic-to-jpg-securely-offline-a-step-by-step-guide/) - Have you ever had a headache like this with technology? You take a lot of great pictures with your iPhone and are excited about the idea of editing them on your Windows PC or sending them to a friend. I sent the files, double-clicked one to open it, and... nothing! The files wouldn't open at - [A Practical Guide to Calculating PCB Trace Width for Signal Integrity](https://www.teachmemicro.com/a-practical-guide-to-calculating-pcb-trace-width-for-signal-integrity/) - Have you ever spent hours and hours creating the perfect circuit, only to have it fail on the test bench for no clear reason? The problem could be right in front of you: the copper lines on your printed circuit board (PCB) are too wide. What is a PCB trace? It's not just a wire - [How to Choose the Right Wire Size to Prevent Voltage Drop (and Meet NEC Code)](https://www.teachmemicro.com/how-to-choose-the-right-wire-size-to-prevent-voltage-drop-and-meet-nec-code/) - Did you ever use a heavy tool at the end of a long extension cord and feel like it wasn't quite up to par? Did you also notice that when the air compressor turns on, the lights in your workshop dim? You're not making it up. That slow performance and those flickering lights are common - [How Do I Calculate the True Cost of a Loan and My Investment Potential?](https://www.teachmemicro.com/how-do-i-calculate-the-true-cost-of-a-loan-and-my-investment-potential/) - You need a loan to make a big buy, but you also want to get rich in the long run. It's an old story (or the history of money). When you want to buy a new car, your first home, or start a business, borrowing money is a big step. The other side of this - [ESP32 Board Guide for Beginners](https://www.teachmemicro.com/esp32-board-guide-for-beginners/) - If you’ve just started tinkering with ESP32 microcontrollers, you’ve probably noticed there isn’t just one “ESP32 board” — there are many, each with its own quirks and strengths. Some are built for general prototyping, others come with cameras or extra memory, while newer ones focus on AI, USB gadgets, or smart-home protocols like Matter. This - [Using a 16x2 Monochrome LCD with the PIC16F84A (Assembly Tutorial)](https://www.teachmemicro.com/using-a-16x2-monochrome-lcd-with-the-pic16f84a-assembly-tutorial/) - Introduction A 16x2 monochrome LCD module is a widely used display in microcontroller projects. It can show two lines of text, each up to 16 characters long, making it ideal for simple user interfaces. These LCDs are based on the HD44780 controller (or compatible), which accepts commands and data via an 8-bit or 4-bit parallel - [LCD Bitmap Converter Online](https://www.teachmemicro.com/lcd-bitmap-converter-online/) - Looking for a quick way to prepare graphics for your embedded projects? Our LCD converter online tool—also known as an LCD image converter—lets you upload any picture (JPG, PNG, or BMP) and instantly generate the bitmap or C/C++ array needed for your LCD, OLED, or TFT display. This browser-based converter requires no installation, works on - [Top-Notch Refrigerator Repair Services in Seattle](https://www.teachmemicro.com/top-notch-refrigerator-repair-services-in-seattle/) - Seattle residents depend on their refrigerators more than they often think. Whether it’s protecting groceries from spoiling, keeping medicines at proper temperatures, or ensuring everyday convenience, a faulty fridge can disrupt daily life. Below are key considerations, challenges, and advice to help you find the best refrigerator repair services in Seattle — plus one provider - [Memory Management in Embedded Systems: What Beginners Need to Know](https://www.teachmemicro.com/memory-management-in-embedded-systems-what-beginners-need-to-know/) - When programming for embedded systems, especially using microcontrollers like the Arduino, ESP32, or STM32, managing memory efficiently becomes critical. Limited RAM and storage space require thoughtful strategies to avoid issues like crashes, unexpected behavior, and even hardware damage in extreme scenarios. In this beginner-friendly guide, we'll explore: What memory management means for embedded systems. Types - [4 Things Social Media Streamers Must Avoid to Protect Their Sanity](https://www.teachmemicro.com/4-things-social-media-streamers-must-avoid-to-protect-their-sanity/) - The life of a social media streamer may appear glamorous and carefree. But for every moment that gets shared with fans, there are unspoken challenges behind the scenes. Globally, around thirty percent of internet users consumed live-streaming content every week during the last quarter of 2023. This number, of course, has gone up over the - [5 Signs You Need an Appliance Repair Service in San Diego — And Why A-Tech Repair is the Best Choice](https://www.teachmemicro.com/5-signs-you-need-an-appliance-repair-service-in-san-diego-and-why-a-tech-repair-is-the-best-choice/) - When your appliances break down, it doesn’t just cause inconvenience — it can disrupt your entire routine. But how do you know when it’s time to call in the experts? Here are five clear signs your appliance needs help, and why choosing a trusted company like Appliance Repair Service San Diego is the smartest move. 1. - [How Technology is Revolutionizing VIP Matchmaker Concierge Services](https://www.teachmemicro.com/how-technology-is-revolutionizing-vip-matchmaker-concierge-services/) - In the digital age, finding meaningful relationships has become more challenging than ever, especially for busy professionals and high-achieving individuals who value their time and privacy. This is where services like a VIP matchmaker concierge step in, blending personalized human expertise with cutting-edge technology to transform the matchmaking experience. These exclusive services leverage innovative tools - [Best Crypto Presales to Join in 2025: Expert Selections Powered by ICODA](https://www.teachmemicro.com/best-crypto-presales-to-join-in-2025-expert-selections-powered-by-icoda/) - The cryptocurrency world continues to evolve, and 2025 is proving to be one of the most dynamic years for early-stage blockchain investments. Among the most lucrative opportunities in this space are crypto presales—early rounds where tokens are offered to the public before official listings on centralized exchanges. These presales often provide early access at discounted - [Building a GPS-Based Weather Station with ESP32, NEO-6M & ST7735 LCD](https://www.teachmemicro.com/building-a-gps-based-weather-station-with-esp32-neo-6m-st7735-lcd/) - Today, I’m sharing one of my favorite ESP32 projects — a GPS-powered weather station. It’s perfect if you’ve got an ESP32 lying around, a little 1.8" ST7735 TFT screen, and a NEO-6M GPS module. We’ll use your real-time coordinates to fetch live weather data from the free Open-Meteo API, then display it in full color - [User Experience: aaPanel vs cPanel](https://www.teachmemicro.com/user-experience-aapanel-vs-cpanel/) - Web hosting is one area where the control panel you're using can end up making a huge difference in your life as a developer or site administrator. Two of the most widely used control panels are aaPanel and cPanel. Both of them possess different features and functionalities to serve different users' needs. In this article, - [Choosing the Right Electronic Components Distributor](https://www.teachmemicro.com/choosing-the-right-electronic-components-distributor/) - We’re a small hardware team. Nothing huge—just a group of engineers building prototypes and shipping mid-sized production runs for clients across different industries. Over the years, we’ve sourced thousands of components and worked with more distributors than we can count. Some were fine. Some were disasters. A few stood out. So if you’re in a - [Check & Update My Laptop Drivers for Optimal Performance](https://www.teachmemicro.com/check-update-my-laptop-drivers-for-optimal-performance/) - Keeping my laptop drivers up to date is crucial for ensuring optimal performance and security. Drivers act as a link between the operating system and hardware components, like the graphics card, sound card, and other peripherals. When these drivers are outdated, they can lead to system slowdowns, hardware malfunctions, and even security vulnerabilities. Regularly - [Using Raspberry Pi Pico as an HID to Control Mouse Movements and Keyboard Strokes](https://www.teachmemicro.com/using-raspberry-pi-pico-as-an-hid-to-control-mouse-movements-and-keyboard-strokes/) - The Raspberry Pi Pico, a microcontroller based on the RP2040 chip, can emulate a Human Interface Device (HID) like a keyboard or mouse. This tutorial will guide you through setting up your Raspberry Pi Pico as an HID device to send keyboard strokes and control mouse movements. Prerequisites Hardware Software Flash MicroPython Firmware with HID - [The Challenges of Integrating Software and Hardware in Modern Vehicles](https://www.teachmemicro.com/the-challenges-of-integrating-software-and-hardware-in-modern-vehicles/) - The automotive industry has experienced many changes since the early 2000s. Today, manufacturers are integrating software and hardware in their vehicles, effectively turning them into computers. This has helped to make the driving experience safer and more enjoyable. However, manufacturers have experienced several challenges while integrating software and hardware in vehicles. Here are some of - [DAREU Unveils Next-Gen Performance Gear: A75 HE Keyboard & A950 WING 35G Mouse Launching This March](https://www.teachmemicro.com/dareu-unveils-next-gen-performance-gear-a75-he-keyboard-a950-wing-35g-mouse-launching-this-march/) - DAREU is proud to announce the global release of its newest flagship peripherals—the A75 HE Wired Magnetic Switch Keyboard and the A950 WING 35G Ultralight Gaming Mouse—arriving worldwide on March 15, 2025. Developed for professionals who demand speed, precision, and long-lasting comfort, these next-generation devices deliver performance-driven engineering backed by advanced technology. A950 WING 35G: - [Interfacing MLX90614 Non-Contact Infrared Temperature Sensor with ESP32](https://www.teachmemicro.com/interfacing-mlx90614-non-contact-infrared-temperature-sensor-with-esp32/) - Introduction Ever wanted to measure temperature without actually touching anything? Meet the MLX90614, a cool little infrared sensor that lets you do just that! Whether you're building a DIY thermometer, automating your home, or monitoring industrial equipment, this sensor has got you covered. We have already covered how to use the MLX90614 with an Arduino. - [Hardware Developments That Will Make Your Devices Twice as Fast](https://www.teachmemicro.com/hardware-developments-that-will-make-your-devices-twice-as-fast/) - Businesses face a new reality as hardware advances revolutionize operations. Companies with 500 employees lose $1.4 million each year because of slow processing and repetitive tasks. The monthly internet data transfer will reach 456 exabytes by 2024, pushing our devices to work harder and faster. Hardware technology shows great promise for the future. Quantum computing - [Della Mini Splits: The Future of Smart Living in Every Home](https://www.teachmemicro.com/della-mini-splits-the-future-of-smart-living-in-every-home/) - Della stands out with a line of mini split heat pumps, a prime example of how smart appliances enhance a sense of well-being and comfort. When it comes to your home’s indoor environment, Della mini splits integrate app-based controls and personalized features to the modern standards of a truly connected home experience. Homeowners can now - [Best Practices for Online iPhone Selling](https://www.teachmemicro.com/best-practices-for-online-iphone-selling/) - Our modern life moves so fast that technology updates before we can even celebrate seasons. When you consider selling your iPhone either to buy the latest model or make space you want to know how to handle this process successfully. When you sell your iPhone online it feels similar to fall because you move from - [Can Artificial Intelligence (AI) Help in CNC Programming?](https://www.teachmemicro.com/can-artificial-intelligence-ai-help-in-cnc-programming/) - Artificial intelligence (AI) is revolutionizing many industries, and CNC machining is no exception. With the increasing complexity of CNC programming and the demand for higher efficiency, AI-powered solutions are becoming indispensable. AI can assist CNC programmers by optimizing tool paths, predicting machine failures, and automating repetitive tasks. This tutorial-style article explores how AI enhances CNC - [What are Linker Files in STM32?](https://www.teachmemicro.com/what-are-linker-files-in-stm32/) - Linker scripts play a crucial role in STM32 firmware development by defining how the compiler organizes the program in memory. Understanding linker files is essential for embedded engineers working with STM32 microcontrollers, as it allows them to control memory layout, define sections, and optimize RAM/Flash usage. This tutorial will cover: What is a Linker File? - [Drug Testing Services for First Responders: Ensuring Readiness](https://www.teachmemicro.com/drug-testing-services-for-first-responders-ensuring-readiness/) - When you think about first responders, images of bravery and swift action likely come to mind. These individuals race against time, making decisions in seconds that can save lives. But what underpins this high-stress, high-stakes job other than training and courage? The foundation includes ensuring these professionals are fully prepared and capable, both physically and - [VIKHOST: THE ULTIMATE HOSTING PROVIDER FOR SPEED, POWER, AND PRIVACY](https://www.teachmemicro.com/vikhost-the-ultimate-hosting-provider-for-speed-power-and-privacy/) - In today’s digital world, choosing the right hosting provider can make all the difference for your website’s performance, security, and reliability. Whether you’re running a business website, an e-commerce store, or a personal project, you need a hosting provider that offers speed, power, and flexibility. This is where VIKHOST stands out. Vikhost is a hosting - [Building BuildRoot for BeagleBone Black](https://www.teachmemicro.com/building-buildroot-for-beaglebone-black/) - I purchased my first Beaglebone Black in 2017 and, coming from a PIC microcontroller background, was amazed at all the things it can do. And so I started documenting everything I learned about it which is essentially what became teachmemicro.com. Eight years later a project on my job required using an AM335x CPU. They didn’t - [Real-Time Video Data Storage and AI Labeling with ReductStore and Roboflow](https://www.teachmemicro.com/real-time-video-data-storage-and-ai-labeling-with-reductstore-and-roboflow/) - One of the challenges of computer vision projects is managing video data, especially when high-frequency and real-time data streams are involved. However, ReductStore and Roboflow provide solutions to these challenges as they simplify video data storage, annotations, and optimization for model training. As such, they come in handy for developers, data scientists, and AI/ML practitioners. - [How to Become an Electronic Equipment Assembler ](https://www.teachmemicro.com/how-to-become-an-electronic-equipment-assembler/) - Electronic equipment assemblers are the makers of some of the most critical technologies we use today. From circuit boards in aircraft to sensors used in life-saving medical devices, their work makes sure that countless gadgets and machines work to their full potential. With growing demand across industries like aerospace, automotive, and consumer electronics, an electronic - [ESP12F Pinout Diagram](https://www.teachmemicro.com/esp12f-pinout-diagram/) - The ESP-12F is an advanced version of the popular ESP8266 Wi-Fi module, offering improved RF performance and a compact design. Manufactured by Ai-Thinker, this module is ideal for IoT projects requiring wireless connectivity. Like its predecessor, the ESP-12F is built around the ESP8266EX chip, which features a 32-bit Tensilica L106 processor running at 80 MHz - [STM32 I2C Calculator](https://www.teachmemicro.com/stm32-i2c-calculator/) - I2C (Inter-Integrated Circuit) is a widely used communication protocol in embedded systems, particularly in STM32 microcontrollers. Configuring the correct clock settings for I2C communication is crucial for reliable data transmission. However, calculating the necessary parameters, such as the Clock Control Register (CCR), the Rise Time Register (TRISE), and the Timing Register in newer STM32 versions, - [Save Big on IT Budgets: Tips on Choosing Refurbished Business Servers](https://www.teachmemicro.com/save-big-on-it-budgets-tips-on-choosing-refurbished-business-servers/) - Technology always comes up as one of the most expensive parts of running a business, and finding ways to cut costs without compromising on performance can be difficult. But it can be done by investing in refurbished business servers. People tend to have a misconception about refurbished equipment, thinking they aren't up to scratch. In - [How to Turn a Raspberry Pi into a WiFi Repeater/Extender](https://www.teachmemicro.com/how-to-turn-a-raspberry-pi-into-a-wifi-repeater-extender/) - In this tutorial, we’ll walk you through the steps to turn your Raspberry Pi into a WiFi repeater or extender. Each step includes explanations to help you understand why the commands and configurations are necessary. Step 1: Set Up Raspberry Pi OS Before turning your Raspberry Pi into a WiFi repeater, you need a working - [STM32 Timer Calculator](https://www.teachmemicro.com/stm32-timer-calculator/) - This calculator will help you compute the required PSC and ARR values to achieve your desired timer interrupt period. Just put in the timer interrupt period, the clock frequency, and the ARR register width. STM32 Timer Overview STM32 microcontrollers have several general-purpose timers, advanced timers, and basic timers. The system clock drives each timer and - [How to Use ESPHome with ESP32: A Beginner's Guide](https://www.teachmemicro.com/how-to-use-esphome-with-esp32-a-beginners-guide/) - ESPHome is a powerful and user-friendly tool that allows you to program ESP32 (and other ESP devices) to interact with sensors, actuators, and Home Automation systems like Home Assistant. This tutorial will guide you through setting up ESPHome, flashing it onto an ESP32, and configuring your first project. What You'll Need Hardware: ESP32 development board - [Interrupt Programming in 8051](https://www.teachmemicro.com/interrupt-programming-in-8051/) - Interrupts are powerful features in microcontrollers that allow them to respond to events efficiently. The 8051 microcontroller supports several types of interrupts, enabling it to handle multiple tasks concurrently. In this tutorial, we’ll explore how to use interrupts in the 8051, including their configuration and usage, complete with an example code in C using Keil - [Interfacing BH1750 Light Intensity Sensor with ESP32](https://www.teachmemicro.com/interfacing-bh1750-light-intensity-sensor-with-esp32/) - The BH1750 is a digital light intensity sensor capable of measuring light in lux (lumens per square meter). Its high resolution and ease of use make it an excellent choice for projects that require accurate light measurement. In this tutorial, we will explore how the BH1750 works, how to calculate lux values, and how to - [Using Timers in 8051](https://www.teachmemicro.com/using-timers-in-8051/) - Timers are among the most essential peripherals in any microcontroller, and the 8051 is no exception. With two built-in 16-bit timers (Timer 0 and Timer 1), the 8051 can perform a variety of timing tasks, such as creating delays, measuring time intervals, and generating pulses. In this tutorial, we’ll discuss the configuration and usage of - [How Managed IT Services and Support Drive Business Efficiency](https://www.teachmemicro.com/how-managed-it-services-and-support-drive-business-efficiency/) - Efficient technology systems are essential for businesses to remain competitive and meet customer demands. Managed IT services and support provide companies with the expertise, tools, and proactive care necessary to streamline operations and improve overall productivity. By outsourcing IT management to a trusted provider, businesses can focus on growth while minimizing downtime, reducing costs, and - [Building an ESP32 Heart Rate Sensor with MAX30102](https://www.teachmemicro.com/esp32-heart-rate-sensor-max30102/) - This tutorial guides you through building a heart rate sensor project using an ESP32 and a MAX30102 breakout board. The heart rate data is dynamically displayed on a web page hosted locally by the ESP32, enabling real-time updates without the need to refresh the page. Devices connected to the same LAN can access the web - [Arduino UNO R4 WiFi LED Matrix Tool](https://www.teachmemicro.com/arduino-uno-r4-led-matrix-tool/) - The Arduino UNO R4 WiFi has a vibrant 12x8 LED matrix for creating visual patterns, animations, and more. To help you design and implement custom patterns for the LED matrix, we’ve developed a tool that simplifies the process. This guide will walk you through how to use the tool and then incorporate your designs into - [STM32 CAN Bus Configuration Calculator](https://www.teachmemicro.com/stm32-can-bus-configuration-calculator/) - This CAN Bus calculator will help you calculate the configuration values given the desired bit rate and system clock frequency. Understanding STM32 CAN Bus and Configuration Calculations The Controller Area Network (CAN) bus is a robust communication protocol widely used in automotive, industrial, and embedded systems. STM32 microcontrollers support CAN communication, providing developers with a - [Differences Between Resistors and Capacitors](https://www.teachmemicro.com/differences-between-resistors-and-capacitors/) - What is a Resistor? It limits the flow of current in a circuit, which is an essential function of most circuits, and it is a passive two-terminal electrical component. Their resistance values are typically stable over a wide range of environmental conditions due to their construction of metal wires or carbon. A working circuit dissipates - [ESP32 SPIFFS Tutorial: Storing Files and Building a Web Server](https://www.teachmemicro.com/esp32-spiffs-tutorial-storing-files-and-building-a-web-server/) - The ESP32 is a powerful microcontroller with built-in Wi-Fi and Bluetooth capabilities, making it a favorite for IoT applications. One of its standout features is the ability to store files using the SPIFFS (SPI Flash File System). This tutorial will show you how to set up SPIFFS on the ESP32 and use it to serve - [Using the ESP32 Internal Temperature Sensor with Arduino](https://www.teachmemicro.com/using-the-esp32-internal-temperature-sensor-with-arduino/) - The ESP32, a popular microcontroller, features an internal temperature sensor. While primarily intended for monitoring the chip's temperature rather than ambient conditions, it can still be useful in certain applications, such as monitoring device performance or debugging. This tutorial will walk you through how to use the ESP32 internal temperature sensor with Arduino, providing two - [Common Causes of AC Capacitor Failure](https://www.teachmemicro.com/common-causes-of-ac-capacitor-failure/) - What is an AC Capacitor? An AC capacitor is an electrocomponent that, in basic terms, stores electrical energy for a short period or releases energy stored in some other form. This type of apparatus is present in electronic devices or electrical appliances operating on alternating current supply for correct working of the devices. Electrical circuits - [ESP32-C3: IoT Microcontroller Overview](https://www.teachmemicro.com/esp32-c3-overview/) - The ESP32-C3 is a standout microcontroller in the ESP32 series, developed by Espressif Systems, designed to offer low power consumption, enhanced security, and wireless connectivity. Built with a RISC-V core, this chip is gaining popularity among developers looking for a cost-effective yet robust solution for IoT applications. Let’s dive into the features, benefits, and potential - [Building a Data Logger with ESP32: Logging Temperature Data to SD Card and Hosting a Dynamic Web Interface](https://www.teachmemicro.com/building-a-data-logger-with-esp32-logging-temperature-data-to-sd-card-and-hosting-a-dynamic-web-interface/) - In this tutorial, we will build a simple yet powerful data logger using the ESP32 microcontroller. The device will: Read temperature data using a sensor (e.g., DS18B20 or DHT11/22). Store the data on an SD card. Provide real-time monitoring via a web server using WebSockets. Components Needed: Step 1: Setting Up the Hardware 1.1 ESP32 - [How to Use a Rotary Encoder with Raspberry Pi](https://www.teachmemicro.com/how-to-use-a-rotary-encoder-with-raspberry-pi/) - A rotary encoder is a versatile device often used as an input knob to control volume, scroll menus, or adjust values. It can detect rotation direction and the amount of rotation, making it perfect for Raspberry Pi projects. What You'll Need Step 1: Understand the Rotary Encoder A rotary encoder typically has: Two outputs (A - [Arduino Digital Tug of War](https://www.teachmemicro.com/arduino-digital-tug-of-war/) - In this project, we'll build a fun "Tug of War" game using an Arduino, a LED bar graph display, and buttons. The game mimics a classic tug-of-war, where two players compete to press their button rapidly to pull the "rope" (represented by a LED) to their side. Components Needed Arduino Uno (or similar) – 1 - [Building a Web-Based Fire Alarm Using ESP32, Flame and Smoke Sensors, and Arduino Cloud](https://www.teachmemicro.com/building-a-web-based-fire-alarm-using-esp32-flame-and-smoke-sensors-and-arduino-cloud/) - In this tutorial, we will build a web-based fire alarm system using an ESP32 microcontroller, a flame sensor, a smoke sensor, and Arduino Cloud. This project will provide real-time alerts and allow you to monitor fire-related events remotely via a web interface. Components Needed Project Overview The fire alarm system will: Detect flame using a - [Using the 1.77" ST7735 TFT LCD with ESP32](https://www.teachmemicro.com/using-the-1-77-st7735-tft-lcd-with-esp32/) - The 1.77" ST7735 TFT LCD is a popular small-sized display, widely used in DIY projects for its vivid colors and compact size. Coupled with the powerful ESP32 microcontroller, it becomes an excellent choice for IoT projects. This tutorial will guide you through the process of interfacing the ST7735 with the ESP32 using the Adafruit ST7735 - [Understanding the Device Tree in Embedded Linux: A Guide for Beaglebone Black](https://www.teachmemicro.com/understanding-the-device-tree-in-embedded-linux-a-guide-for-beaglebone-black/) - When working with Embedded Linux on platforms like the Beaglebone Black, the Device Tree is crucial in defining and configuring hardware. This tutorial will walk you through what a Device Tree is, its structure, and its importance in Embedded Linux development. What is a Device Tree? The Device Tree is a data structure used in - [Dot Matrix Glyph Creator Online](https://www.teachmemicro.com/dot-matrix-glyph-creator-online/) - Dot matrix displays are a staple in microcontroller projects, offering a versatile way to showcase custom graphics, animations, and messages. Whether you're working with an Arduino, Raspberry Pi, ESP32, ESP8266, or STM32, creating dot matrix glyphs no longer needs to be a time-consuming task. This article introduces an intuitive tool that allows you to design - [Revolutionizing Industrial Air Purification with Cyclone Scrubbers](https://www.teachmemicro.com/revolutionizing-industrial-air-purification-with-cyclone-scrubbers/) - In today’s industrial landscape, air quality management is not just a regulatory requirement but a cornerstone of sustainable operations. Industrial processes, especially in manufacturing, generate many airborne pollutants that pose risks to human health and the environment. Among the innovative solutions for air purification, the cyclone scrubber stands out as a game-changing technology for tackling - [STM32 PWM Calculator](https://www.teachmemicro.com/stm32-pwm-calculator/) - This calculator will help you compute the desired PWM frequency. Just put in the clock frequency and the desired PWM frequency and click the "calculate" button. The prescaler value and the ARR (auto-reload register value) will be the results. What is PWM? Pulse Width Modulation (PWM) is a technique used to generate analog-like signals from - [The Growing Importance of HR Courses Online in a Dynamic Workplace](https://www.teachmemicro.com/the-growing-importance-of-hr-courses-online-in-a-dynamic-workplace/) - In today’s rapidly evolving work environment, human resource (HR) professionals face increasing demands to stay ahead of industry trends, ensure employee satisfaction, and navigate complex workplace regulations. One of the most effective ways to remain competitive in this field is by enrolling in HR courses online. These courses offer flexibility, in-depth knowledge, and access to - [Top Reasons to Choose Managed IT Support in the Bay Area](https://www.teachmemicro.com/top-reasons-to-choose-managed-it-support-in-the-bay-area/) - The San Francisco Bay Area is a hub for innovation, attracting businesses that rely on cutting-edge technology to stay competitive. However, managing IT infrastructure in such a fast-paced environment can be challenging. Managed IT support offers a solution by providing expert guidance, advanced tools, and comprehensive services to help businesses thrive. Explore the benefits of - [Using ADC Scan Mode with DMA in STM32F407](https://www.teachmemicro.com/using-adc-scan-mode-with-dma-in-stm32f407/) - In this tutorial, we will explore how to configure and use the ADC (Analog-to-Digital Converter) in the STM32F407 microcontroller in scan mode with DMA (Direct Memory Access). This setup is particularly useful when working with multiple analog inputs that need to be converted into digital values efficiently. We will also discuss the concept of ADC - [Why Choose Vinyl Light for Your Windows and Doors Installation in Toronto](https://www.teachmemicro.com/why-choose-vinyl-light-for-your-windows-and-doors-installation-in-toronto/) - If you reside in Toronto and need to upgrade your house with brand-new windows and doors call us or visit our website https://vinyllight.ca/ Products and Services Offered for GTA Residents If you have been searching for energy star certified vinyl windows or entry doors available in GTA, your search ends here at Vinyl Light, the - [Building a Django Webserver on Raspberry Pi: A Step-by-Step Guide](https://www.teachmemicro.com/building-a-django-webserver-on-raspberry-pi-a-step-by-step-guide/) - Django, a high-level Python web framework, can be a perfect choice for building dynamic web applications. Combining this with the Raspberry Pi—a versatile, compact computer—enables developers to deploy a robust and affordable web server. This guide walks you through setting up a Django web server on a Raspberry Pi. Prerequisites Step 1: Update Your Raspberry - [Innovations and Trends in Electronic Components: Navigating Supply Chain Challenges and Market Shifts](https://www.teachmemicro.com/innovations-and-trends-in-electronic-components-navigating-supply-chain-challenges-and-market-shifts/) - The electronic components industry, a cornerstone of modern technology, is continuously evolving to meet the demands of emerging technologies such as artificial intelligence, electric vehicles, 5G, and the Internet of Things (IoT). This rapid evolution is not only driven by innovations in components themselves but also by a dynamic landscape shaped by supply chain - [STM32F103C6T6 Pinout Explained for Easy Circuit Design](https://www.teachmemicro.com/stm32f103c6t6-pinout-explained-for-easy-circuit-design/) - If you’re diving into circuit design and microcontroller projects, you've probably encountered the STM32F103C6T6—a popular microcontroller known for its versatility and performance. But understanding its pinout can feel overwhelming. In this guide, we'll simplify each pin's function so that you can use the STM32F103C6T6 in your projects with confidence. Ready to make sense of these tiny - [Binary Search and Its Application on Arduino](https://www.teachmemicro.com/binary-search-and-its-application-on-arduino/) - Binary search is an efficient search algorithm that is particularly useful for finding elements in a sorted array. In comparison to linear search, which goes through each element one by one, binary search dramatically reduces the number of comparisons by dividing the search interval in half repeatedly. This is especially helpful for applications on resource-constrained - [How to Use L298N Motor Driver with ESP8266](https://www.teachmemicro.com/how-to-use-l298n-motor-driver-esp8266/) - Controlling a DC motor with an ESP8266, L298N motor driver module, and Arduino Cloud provides a flexible and efficient way to automate motor control remotely. This tutorial will guide you through the setup, wiring, and code needed to achieve this. Components Needed ESP8266 (NodeMCU or D1 Mini recommended) L298N Motor Driver Module DC Motor (6V-12V) - [Understanding flow control valves: basics and applications](https://www.teachmemicro.com/understanding-flow-control-valves-basics-and-applications/) - Flow control valves play a key role in managing the flow of liquids and gasses within systems. By regulating flow rates, they help ensure systems operate efficiently. In this article, we explore various types of flow control valves, their applications, and how to select the appropriate one for your requirements. Introduction to Flow Control Valves - [nRF52 Development Kit Comparison: Which One Should You Choose?](https://www.teachmemicro.com/nrf52-development-kit-comparison-which-one-should-you-choose/) - The nRF52 series by Nordic Semiconductor has been a game-changer in the world of low-power wireless communication. Whether you’re working on Bluetooth Low Energy (BLE), ANT, or 2.4 GHz proprietary protocols, the nRF52 family offers versatile and robust solutions. Choosing the right development kit, however, can be overwhelming with several options available. In this article, - [Fading an LED using STM32's PWM](https://www.teachmemicro.com/fading-an-led-using-stm32s-pwm/) - In this tutorial, we'll walk through the steps to create a project for fading an LED using Pulse Width Modulation (PWM) on an STM32 microcontroller. We'll use the STM32CubeMX tool to generate the initialization code and set up the PWM, and then we will write the code to control the brightness of the LED. Requirements - [Windows VPS: The Perfect Balance of Control and Simplicity](https://www.teachmemicro.com/windows-vps-the-perfect-balance-of-control-and-simplicity/) - Imagine this: you're in the midst of a bustling marketplace, surrounded by vendors calling out their wares. Among the colorful stalls, you spot a vendor selling an array of pumpkins, each one more vibrant than the last. Intrigued, you approach, drawn in by the earthy aroma and the promise of something unique. Much like choosing - [Applications of Ball Bearings: Essential Components for Smooth and Efficient Operations](https://www.teachmemicro.com/applications-of-ball-bearings-essential-components-for-smooth-and-efficient-operations/) - Ball bearings are one of the most crucial mechanical components in modern machinery, known for their ability to reduce friction and support radial and axial loads. They are designed to allow rotational or linear movement between two parts while minimizing wear and energy loss. The versatile nature of ball bearings makes them indispensable in a - [Key Concepts in Structural Analysis: A Comprehensive Guide](https://www.teachmemicro.com/key-concepts-in-structural-analysis-a-comprehensive-guide/) - Structural analysis is a critical discipline within civil engineering that focuses on understanding how structures respond to various forces and loads. This comprehensive guide will delve into the essential concepts of structural analysis, offering insights that cater to engineers, students, and anyone interested in the field. We will cover the importance of structural analysis, key - [How to Auto Hide Windows Apps Using Raspberry Pi Pico](https://www.teachmemicro.com/how-to-auto-hide-windows-apps-using-raspberry-pi-pico/) - In this project, I will show you how to automatically switch between tabs or hide applications on a Windows computer using a Raspberry Pi Pico and a proximity sensor. By detecting the presence of a person in front of the sensor, we will trigger events in a C# application that can change tabs, minimize apps, - [Converting Between Data Types in Arduino](https://www.teachmemicro.com/converting-between-data-types-in-arduino/) - When writing code for Arduino, you'll often need to convert between different data types. This guide will show you how to easily convert between the most common data types. We'll break it down with clear examples and easy-to-read tables to make it simple to follow. Why Convert Data Types? Sometimes, the data you're working with - [Building an ADU: A Strategic Way to Enhance Your Home with A+ Construction & Remodeling](https://www.teachmemicro.com/building-an-adu-a-strategic-way-to-enhance-your-home-with-a-construction-remodeling/) - In today’s evolving housing market, Accessory Dwelling Units (ADUs) provide homeowners a unique opportunity to add value to their property while expanding living space. A+ Construction & Remodeling, a leading ADU contractor in Northern California, offers tailored services that take the complexity out of the ADU-building process. Their expertise spans from custom architectural designs to - [What is Transistor hFE?](https://www.teachmemicro.com/what-is-transistor-hfe/) - Transistors are vital components in modern electronics, enabling signal amplification and control. A key parameter of bipolar junction transistors (BJTs) is hFE, or forward current transfer ratio, which is crucial for determining amplification capabilities. Understanding hFE is essential for circuit design and analysis, as it directly influences the performance and efficiency of electronic circuits. This guide - [ESP8266 nRF24L01 Interfacing](https://www.teachmemicro.com/esp8266-nrf24l01-interfacing/) - In this tutorial, we will explore how to interface an ESP8266 with the nRF24L01 wireless module. The nRF24L01 is a low-power, 2.4GHz wireless transceiver module that is commonly used in short-range wireless communication. It communicates over SPI, while the ESP8266 is a Wi-Fi-enabled microcontroller that can be programmed using the Arduino IDE. We will walk - [Arduino Parking Sensor Project](https://www.teachmemicro.com/arduino-parking-sensor-project/) - Parking in tight spaces can be challenging, especially with limited visibility. To help avoid collisions with obstacles, this project will show you how to build an Arduino Parking Sensor using an ultrasonic sensor and a buzzer. The ultrasonic sensor detects the distance to an obstacle, and the buzzer produces warning beeps, which become faster as - [What are the differences between a SOC 1 audit and a SOC 2 audit?](https://www.teachmemicro.com/what-are-the-differences-between-a-soc-1-audit-and-a-soc-2-audit/) - SOC audits are essential for ensuring the reliability and security of an organization's systems and processes. The two main types, SOC 1 and SOC 2, have distinct purposes and focus on different aspects of operations. Understanding these differences is crucial for businesses aiming to maintain compliance and build stakeholder trust. SOC audits are essential for - [The Definitive Blueprint for Launching a Successful Shopify Store](https://www.teachmemicro.com/the-definitive-blueprint-for-launching-a-successful-shopify-store/) - The Definitive Blueprint for Launching a Successful Shopify Store Shopify has become a premier e-commerce platform, empowering over 1.75 million merchants in 175 countries to build and manage their online stores. Although it offers a robust array of tools for store management, failing to address essential components during setup can lead to future obstacles. Here’s - [Setting up a New Project in Segger Embedded Studio for nRF52 Using a Project Template](https://www.teachmemicro.com/setting-up-a-new-project-in-segger-embedded-studio-for-nrf52-using-a-project-template/) - When working with Segger Embedded Studio (SES) and Nordic's nRF52 chips, one of the quickest ways to get started is by using an existing project template. It simplifies project setup, reducing the need for manual configuration, and you can focus on development right away. In this guide, I'll walk you through setting up a project - [Arduino RS-485 Protocol Tutorial](https://www.teachmemicro.com/arduino-rs-485-protocol-tutorial/) - RS-485 is a popular serial communication standard used in industrial control systems, automation, and other applications where long-distance communication is required. Unlike RS-232, RS-485 uses differential signaling, which makes it more robust to noise and interference, making it ideal for industrial environments. Moreover, RS-485 supports multi-device communication on the same bus, allowing for a master-slave - [Creating Tones with Arduino](https://www.teachmemicro.com/creating-tones-with-arduino/) - One of the fun and engaging projects with Arduino is creating tones using a piezo buzzer. You can generate simple beeps, melodic tunes, or even popular themes like the Super Mario theme song. In this tutorial, we'll explore how to generate tones, work with melodies, and build a simple sound generator using Arduino. Materials Needed: - [ESP8266 UDP: Sending Data Between Two ESPs](https://www.teachmemicro.com/esp8266-udp-sending-data-between-two-esps/) - I have shown how you can use ESP8266 to host a web server via HTTP and via WebSocket, use MQTT and ThingSpeak for sensor data, and even use Google Sheets. This time, I will be sharing with you how I send data between two ESP8266. The ESP8266 is a popular Wi-Fi microcontroller that enables wireless - [Top Microcontroller Projects for 2024: Innovations in DIY Tech](https://www.teachmemicro.com/top-microcontroller-projects-for-2024-innovations-in-diy-tech/) - Microcontroller-based projects have been at the forefront of DIY tech innovation, enabling individuals and industries to create smarter and more efficient systems. From smart home automation to connected wearable devices, microcontrollers are at the heart of many cutting-edge technologies. As we move into 2024, the significance of these projects continues to grow, driving the need - [Controlling a Stepper Motor with ESP32 Through a Webserver](https://www.teachmemicro.com/controlling-stepper-motor-esp32/) - Stepper motors are widely used in various applications due to their precise control over position and speed. They are commonly found in 3D printers, CNC machines, and robotics. In this article, we’ll explore how to control a stepper motor using an ESP32 microcontroller and set up a simple web server to control the motor remotely. - [Arduino Interfacing with MLX90614 (GY-906) Sensor](https://www.teachmemicro.com/arduino-interfacing-mlx90614-gy906-sensor/) - The MLX90614 is a really cool infrared thermometer sensor that can measure temperature without even touching an object. It works by detecting infrared radiation (heat) emitted by an object and converting it into a temperature reading. This makes it perfect for projects where you want to measure temperature from a distance, like reading the temperature - [Multitask with ESP32 and FreeRTOS](https://www.teachmemicro.com/multitask-with-esp32-and-freertos/) - Consider a project requirement, where you have to read from an analog sensor, update a display and flash an LED simultaneously. This might be a challenging coding assignment if you haven’t heard of an RTOS before. RTOS allows you to process multiple “tasks” concurrently. This is in contrast with a traditional “loop” where each line - [Implementing PID for a Line Follower Robot](https://www.teachmemicro.com/implementing-pid-for-a-line-follower-robot/) - A PID controller is a must-have for any control system aiming for stability. I’ve introduced how to implement PID using an Arduino microcontroller. Now, I’ll be applying PID in the design of a beginner robot project, a line follower. A line follower does what it’s named after. An optical sensor distinguishes a black line - [Using Flash Data Storage (FDS) in the nRF52832](https://www.teachmemicro.com/using-flash-data-storage-fds-in-the-nrf52832/) - The nRF52832 is a versatile SoC (System on Chip) from Nordic Semiconductor that supports various features, including Flash Data Storage (FDS) for non-volatile data management. This post gives some basic examples of how to use FDS to save, delete, and update data, as well as how garbage collection works to manage flash memory on the - [How to Set Up LwIP Raw on STM32F407](https://www.teachmemicro.com/how-to-set-up-lwip-raw-on-stm32f407/) - LwIP (Lightweight IP) is a small TCP/IP stack used in embedded systems like STM32. It helps devices communicate over networks using internet protocols. In this post, I will show how to set up LwIP in "raw" mode for an STM32F407 microcontroller. What is LwIP Raw Mode? In raw mode, LwIP uses low-level functions without an - [Achieving Natural Results: Hair Transplants in Colombia Explained](https://www.teachmemicro.com/achieving-natural-results-hair-transplants-in-colombia-explained/) - Hair transplant procedures have gained immense popularity worldwide as an effective solution for hair loss. Colombia, in particular, has emerged as a sought-after destination for individuals seeking high-quality and affordable hair transplant services. This document aims to provide an in-depth explanation of hair transplants in Colombia, covering everything from the techniques used and the expertise - [A Comprehensive Guide to Choosing the Best Projector for Projection Mapping](https://www.teachmemicro.com/a-comprehensive-guide-to-choosing-the-best-projector-for-projection-mapping/) - Projection mapping has become an increasingly popular art form and marketing tool, captivating audiences with its immersive visual experiences. Choosing the best projector for projection mapping is crucial for achieving stunning projection. This guide provides a detailed overview of the factors to consider when selecting the best projector for projection mapping. Understanding Projection Mapping Requirements - [Revolutionize PCB Marketing with PCBX: Your All-in-One Choice](https://www.teachmemicro.com/revolutionize-pcb-marketing-with-pcbx-your-all-in-one-choice/) - Introduction PCBX is a global company established in 2005 specializing in PCB fabrication and assembly for various industries. We offer one-stop solutions for PCB design, manufacturing, component selection, and PCBA services. PCBX is committed to addressing the global electronics market's needs with advanced and cost-effective solutions. Comprehensive One-Stop Services At PCBX, we understand the complexities - [A Comprehensive Guide to Popcorn Ceiling Removal, Construction, and Repair](https://www.teachmemicro.com/a-comprehensive-guide-to-popcorn-ceiling-removal-construction-and-repair/) - Popcorn ceilings, also known as stucco ceilings, were once a popular feature in homes, especially during the mid-20th century. Their textured appearance was favored for its ability to hide imperfections and its ease of application. However, as design trends have evolved, many homeowners now seek to remove these ceilings to achieve a more modern and - [Finding a Reliable Electrician in Lancaster, PA: A Comprehensive Guide](https://www.teachmemicro.com/finding-a-reliable-electrician-in-lancaster-pa-a-comprehensive-guide/) - In the historic city of Lancaster, PA, the need for skilled electricians is ever-present, spanning residential, commercial, and industrial sectors. Local electricians offer a wide range of services tailored to meet the unique demands of both historical properties and modern constructions. Whether you're renovating a colonial home, upgrading your business facility, or installing smart home - [The Pros and Cons of Early Pension Withdrawal](https://www.teachmemicro.com/the-pros-and-cons-of-early-pension-withdrawal/) - Planning for retirement is a critical aspect of financial management. Pros of Early Pension Withdrawal 1. Immediate Financial Relief One of the primary reasons people consider early pension withdrawal is to address immediate financial needs. Accessing your pension funds can provide the cash necessary to cover unexpected expenses, medical emergencies, or debt repayments. 2. Investment - [The Role of SEO and Online Presence in the PR Industry](https://www.teachmemicro.com/the-role-of-seo-and-online-presence-in-the-pr-industry/) - A strong online presence and effective SEO practices are key to success in public relations. In an industry focused on managing brand perception, it's essential to ensure your brand is easy to find and engages meaningfully with its audience. SEO helps position your brand at the forefront of search engine results, while maintaining an engaging - [Fumonisin B3 Research Made Easy: A Guide to Utilizing Fermentek's Products](https://www.teachmemicro.com/fumonisin-b3-research-made-easy-a-guide-to-utilizing-fermenteks-products/) - Researching mycotoxins presents unique challenges, but with the right tools and support, it can become much more manageable. This guide will walk you through the intricacies of Fumonisin B3 research and show how Fermentek's products can streamline your efforts. Understanding Fumonisin B3: A Mycotoxin of Concern Fumonisins are a group of mycotoxins produced by Fusarium - [Active vs Passive Electronic Components - What Are They?](https://www.teachmemicro.com/active-vs-passive-electronic-components-what-are-they/) - In industrial automation, electronic components are pivotal, driving and regulating diverse systems. Among them, two key categories stand out: active and passive. Understanding their disparities is important for creating effective and dependable automation solutions. What Are Active Electronic Components? Active electronic components are integral in industrial automation, requiring an external power source to manage electrical - [Wooden tabletop: Elevate your desk](https://www.teachmemicro.com/wooden-tabletop-elevate-your-desk/) - When it comes to enhancing your office space, choosing the right wooden tabletop can make all the difference. As we delve into the world of desk surfaces, the wooden tabletop, particularly from Oakywood, stands out as a premier choice for both functionality and aesthetic appeal. This article will explore why an Oakywood tabletop might just - [Exploring the Top 5 Cryptocurrencies: Leaders of the digital currency revolution](https://www.teachmemicro.com/exploring-the-top-5-cryptocurrencies-leaders-of-the-digital-currency-revolution/) - Cryptocurrencies have become a cornerstone of the digital economy, challenging traditional financial systems and introducing a new era of decentralized finance. Among the thousands of cryptocurrencies available today, a few stand out due to their technological innovations, market capitalization, and community support. This article provides an in-depth look at the top five cryptocurrencies, exploring their - [GPS Tracking in South Florida: Track Vehicles, Pets, & More Discreetly](https://www.teachmemicro.com/gps-tracking-south-florida-track-vehicles-pets-more/) - In the dynamic South Florida region, keeping track of assets, loved ones, and peace of mind is crucial. Thanks to advanced GPS tracking technology, residents are taking steps to protect their security. Whether it's for high-value items or pets, GPS tracking is now a key tool for them. The Benefits of GPS Tracking GPS tracking - [Level Up Your Web Scraping with Powerful Mobile Proxies](https://www.teachmemicro.com/level-up-your-web-scraping-with-powerful-mobile-proxies/) - Web scraping has become an essential tool for businesses and organizations to gather data from various websites. However, most websites have implemented anti-scraping measures, making it challenging to extract data at scale. This is where proxies come in - they provide a powerful solution to bypass these measures and enhance your web scraping capabilities. What - [Raspberry Pi Pico L298N Motor Control](https://www.teachmemicro.com/raspberry-pi-pico-l298n-motor-control/) - Introduction The Raspberry Pi Pico is a versatile microcontroller from the Raspberry Pi Foundation. It features the RP2040 microcontroller chip, offering dual-core ARM Cortex-M0+ processors and a variety of I/O pins. Its affordability, GPIO flexibility, and programmability make it an excellent choice for various applications, including motor control projects using devices like the L298N motor - [Arduino Flappy Bird Dot Matrix Project](https://www.teachmemicro.com/arduino-flappy-bird-dot-matrix-project/) - Start your DIY gaming experience with this "Arduino Flappy Bird Project with Dot Matrix." This project merges the timeless appeal of Flappy Bird with the dynamic capabilities of Arduino and a Dot Matrix display. This article includes hardware setup, gameplay mechanics, and of course, the source code. This project is a simple clone of the - [How to Use a LED Bar Graph with Arduino](https://www.teachmemicro.com/how-to-use-a-led-bar-graph-with-arduino/) - In this tutorial, we will look into adding LED bar graphs to your Arduino projects. Understanding how to effectively use Arduino LED bar graphs opens up possibilities for visualizing data, creating dynamic displays, or simply adding an eye-catching element to your projects. Throughout this guide, I will show you how to get started, wiring configurations, - [Battery Maintenance Made Easy: The Benefits of Trickle Chargers](https://www.teachmemicro.com/battery-maintenance-made-easy-the-benefits-of-trickle-chargers/) - You, yes, you sitting there reading this article. Let me share a little secret that will change the way you think about your vehicle's battery. Imagine a world where your car starts every time you turn the key, without a hint of hesitation. Now, let me introduce you to the unsung hero of battery care - [How Decentralized Finance Could Unlock the Full Potential of Cryptocurrency Mining](https://www.teachmemicro.com/how-decentralized-finance-could-unlock-the-full-potential-of-cryptocurrency-mining/) - Since the inception of Bitcoin over a decade ago, cryptocurrency mining has grown from an obscure hobby to a professional industry central to securing blockchain networks. However, despite surging valuations and adoption for crypto assets recently, mining still contends with profitability obstacles concerning costs, payments, risks, and access to capital. Fortunately, accelerating innovations in the - [Database Design Trends for 2024](https://www.teachmemicro.com/database-design-trends-for-2024/) - As data continues to grow at exponential rates, organizations are finding they need to adapt their database infrastructure and design approaches to keep up. Several key database design trends are emerging that aim to help companies effectively manage large volumes of data from diverse sources, draw timely insights, and ensure flexibility for future needs. Cloud - [ESP32 Solenoid Lock Controller](https://www.teachmemicro.com/esp32-solenoid-lock-controller/) - A solenoid lock is an electric actuator that converts electrical signals to motion. It is commonly found in electronically controlled doors and drawers. Using the solenoid lock with a microcontroller is easy and, if you’re a beginner, this project is just for you. The ESP32 has become the microcontroller of choice for WiFi-capable projects. The - [Interfacing HC-SR04 Ultrasonic Sensor with Raspberry Pi Pico](https://www.teachmemicro.com/interfacing-hc-sr04-ultrasonic-sensor-with-raspberry-pi-pico/) - Introduction Beginner tutorials on the web often use the HC-SR04 ultrasonic sensor. Why? Because it’s easy to use and requires a few short lines of code. So when I tried it with the Raspberry Pi Pico, I expected it to work immediately. Until it didn’t. Fortunately, I made it to work, thanks to a few - [Revolutionizing Nanoelectronics: The Emergence and Impact of Graphene Quantum Dot Transistors](https://www.teachmemicro.com/revolutionizing-nanoelectronics-the-emergence-and-impact-of-graphene-quantum-dot-transistors/) - Graphene, a single layer of carbon atoms arranged in a hexagonal lattice, has emerged as a star material in nanotechnology. Its discovery and subsequent exploration have opened new horizons in material science. Renowned for its extraordinary strength, flexibility, and conductivity, graphene's properties make it an ideal candidate for various applications, especially in electronics. The material's ## Pages - [About](https://www.teachmemicro.com/about/) - Teach Me Microcontrollers! aims to provide simple and easy-to-understand tutorials about popular microcontrollers like PIC, Arduino, BeagleBone Black, etc. and widely available sensors and breakout boards. Our target readers are electrical, electronics and computer engineering students as well as professionals and hobbyists who want to get into microcontroller systems. Our articles are not only from - [PIC Assembly Instruction Set | Midrange Devices](https://www.teachmemicro.com/pic-assembly-instruction-set/) - Each PIC microcontroller midrange instruction is a 14-bit word divided into an OPCODE which specifies the instruction type and one or more operands which further specify the operation of the instruction. The midrange Instruction Set Summary in the table below lists the instructions recognized by the MPASM assembler. The instruction set is highly orthogonal and is - [Microcontroller Basics](https://www.teachmemicro.com/pic-microcontroller-tutorials/microcontroller-basics/) - Before we dive into programming, we need to learn microcontroller basics first! Microcontroller Defined What is a microcontroller? It is basically a computer in a single chip. A computer, technically, is any device that is instructed to do math or logical operations through programs. Your computer and mine run thanks to a microprocessor, which is - [What is Arduino?](https://www.teachmemicro.com/arduino-tutorials/what-is-arduino/) - What is Arduino? Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. You can tell - [ANDLW](https://www.teachmemicro.com/pic-assembly-instruction-set/andlw/) - AND Literal and W The contents of W register are AND’ed with the eight-bit literal ‘k’. The result is placed in the W register. Syntax: [ label ] ANDLW k Operation: (W) .AND. (k) → (W) Operands: k is from 0 to 255 (decimal) Status Affected: Z Example: ANDLW 0x05 Before instruction: W = 0x01 - [ADDWF](https://www.teachmemicro.com/pic-assembly-instruction-set/addwf/) - Add W to F Add the contents of the W register with register ‘f’. If ‘d’ is ‘0’, the result is stored in the W register. If ‘d’ is ‘1’, the result is stored back in register ‘f’. Syntax: [ label ] ADDWF f,d Operation: Operands: f is from 0 to 127 (decimal) d is - [ADDLW](https://www.teachmemicro.com/pic-assembly-instruction-set/addlw/) - Add Literal and W The contents of the W register are added to the eight-bit literal ‘k’ and the result is placed in the W register. Syntax: [ label ] ADDLW k Operation: (W) + k → (W) Operands: k is from 0 to 255 (decimal) Status Affected: C, DC, Z Example: ADDLW 0x05 - [Write for Us!](https://www.teachmemicro.com/write-for-us/) - Great articles about microcontrollers and digital electronics are welcome here in Teach Me Microcontrollers! Fill-up the form below to know how to submit a Guest Post and have your article viewed by thousands of Makers and Electronics Enthusiasts daily! - [Advertise With Us!](https://www.teachmemicro.com/about/advertise-with-us/) - We at TMM welcome advertising opportunities! As the site continues to grow, we are in pursuit of partners who can help us make the site grow even more. We offer paid guest posts, banner, sidebar and even in-content ads at a price consistent with our traffic. Here's our traffic figures for August 2022: If you're - [Contact Us](https://www.teachmemicro.com/contact/) - Hi There! If there is anything you want to know more about microcontrollers and you want us to write a tutorial for it, kindly send us a message using the form below. We also appreciate any suggestions on how we can improve the site or comments about our tutorials, good or bad. We are also - [PIC Microcontroller Programming Tutorials](https://www.teachmemicro.com/pic-microcontroller-tutorials/) - Welcome to our PIC Microcontroller tutorial page! Here you will find the list of all contents under this course. They have been arranged according to how they are to be read, but if you’re not a beginner, just choose which ones you would like! 1. Microcontroller Basics Learn what a microcontroller is, how it differs - [SLEEP](https://www.teachmemicro.com/pic-assembly-instruction-set/sleep/) - Sleep The power-down status bit, PD, is cleared. Time-out status bit, TO, is set. Watchdog Timer and its prescaler are cleared. The processor is put into Sleep mode with the oscillator stopped. Syntax: [ label ] SLEEP Operation: 00h → WDT, 0 → WDT prescaler, 1 → TO, 0 → PD Operands: None Status Affected: - [SUBLW](https://www.teachmemicro.com/pic-assembly-instruction-set/sublw/) - Subtract Literal with W The W register is subtracted (2’s complement method) from the eight-bit literal ‘k’. The result is placed in the W register. Syntax: [ label ] SUBLW k Operation: k - (W) → (W) Operands: k is from 0 to 255 Status Affected: None Example: SUBLW 0x01 Before instruction: W = 0x2C - [XORLW](https://www.teachmemicro.com/pic-assembly-instruction-set/xorlw/) - Exclusive OR Literal with W The contents of the W register are XOR’ed with the eight-bit literal ‘k’. The result is placed in the W register. Syntax: [ label ] XORLW k Operation: (W) .XOR. k → (W) Operands: k is from 0 to 255 Status Affected: Z Example: XORLW 0x1B Before instruction: W = - [IORLW](https://www.teachmemicro.com/pic-assembly-instruction-set/iorlw/) - Inclusive OR Literal with W The contents of the W register are OR’ed with the eight-bit literal ‘k’. The result is placed in the W register. Syntax: [ label ] IORLW k Operation: (W) .OR. k → (W) Operands: k is from 0 to 255 Status Affected: None Example: IORLW 0x1B Before instruction: W = - [MOVLW](https://www.teachmemicro.com/pic-assembly-instruction-set/movlw/) - Move Literal to W The eight-bit literal 'k' is loaded to W. Syntax: [ label ] MOVLW k Operation: (k) → (W), Operands: k is from 0 to 255 Status Affected: None Example: MOVLW 0x02 Before instruction: W = 0x00 After instruction: W = 0x02 - [RETFIE](https://www.teachmemicro.com/pic-assembly-instruction-set/retfie/) - Return from Interrupt Return from interrupt. The stack is POPed and the top of the stack (TOS) is loaded into the program counter. This is a two-cycle instruction. Syntax: [ label ] RETFIE Operation: TOS → PC, 1 → GIE or PEIE, Operands: None Status Affected: GIE, PEIE Example: ISR ;interrupt service routine BCF - [RETURN](https://www.teachmemicro.com/pic-assembly-instruction-set/return/) - Return from Subroutine Return from subroutine. The stack is POPed and the top of the stack (TOS) is loaded into the program counter. This is a two-cycle instruction. Syntax: [ label ] RETURN Operation: TOS → PC Operands: None Status Affected: None Example: CALL DELAY DELAY ;name of the subroutine NOP RETURN ;returns to the - [CLRWDT](https://www.teachmemicro.com/pic-assembly-instruction-set/clrwdt/) - Clear Watchdog Timer CLRWDT instruction resets the Watchdog Timer. It also resets the prescaler of the WDT. Status bits, TO and PD, are set. Syntax: [ label ] CLRWDT Operation: 00h → WDT 0 → WDT prescaler, 1 → TO 1 → PD Operands: None Status Affected: TO, PD Example: CLRWDT The watchdog timer runs - [GOTO](https://www.teachmemicro.com/pic-assembly-instruction-set/goto/) - Unconditional Branch GOTO is an unconditional branch. The eleven-bit immediate value is loaded into PC bits . The upper bits of PC are loaded from PCLATH. GOTO is a two-cycle instruction. Syntax: [ label ] GOTO k Operation: k → PC PCLATH → PC Operands: k is from 0 to 2047 Status Affected: None Example: - [CALL](https://www.teachmemicro.com/pic-assembly-instruction-set/call/) - Call Subroutine Call Subroutine. First, return address (PC+1) is pushed onto the stack. The eleven-bit immediate address is loaded into PC bits . The upper bits of the PC are loaded from PCLATH. CALL is a two-cycle instruction. Syntax: [ label ] CALL k Operation: (PC)+ 1→ TOS, k → PC, (PCLATH) → PC Operands: - [BTFSS](https://www.teachmemicro.com/pic-assembly-instruction-set/btfss/) - Bit Test F, Skip if Set If bit ‘b’ in register ‘f’ is ‘0’, the next instruction is executed. If bit ‘b’ is ‘1’, then the next instruction is discarded and a NOP is executed instead, making this a 2 TCY (instruction cycle) instruction. Syntax: [ label ] BTFSS f,b Operation: skip if (f) = - [BTFSC](https://www.teachmemicro.com/pic-assembly-instruction-set/btfsc/) - Bit Test F, Skip if Clear If bit ‘b’ in register ‘f’ is ‘1’, the next instruction is executed. If bit ‘b’ is ‘0’, then the next instruction is discarded and a NOP is executed instead, making this a 2 TCY (instruction cycle) instruction. Syntax: [ label ] BTFSC f,b Operation: skip if (f) = - [BSF](https://www.teachmemicro.com/pic-assembly-instruction-set/bsf/) - Bit Set F Bit ‘b’ in register ‘f’ is set. Syntax: [ label ] BSF f,b Operation: 1 → (f) Operands: 0 ≤ f ≤ 127 0 ≤ b ≤ 7 Status Affected: None Example: BCF REG,0 Before instruction: REG = 0xF0 After instruction: REG = 0xF1 Example: BCF REG,2 Before instruction: REG = b'11110000' - [BCF](https://www.teachmemicro.com/pic-assembly-instruction-set/bcf/) - Bit Clear F Bit ‘b’ in register ‘f’ is cleared. Syntax: [ label ] BCF f,b Operation: 0 → (f) Operands: 0 ≤ f ≤ 127 0 ≤ b ≤ 7 Status Affected: None Example: BCF REG,0 Before instruction: REG = 0xF1 After instruction: REG = 0xF0 Example: BCF REG,2 Before instruction: REG = b'11110100' - [SUBWF](https://www.teachmemicro.com/pic-assembly-instruction-set/subwf/) - Subtract W from f Subtract (2’s complement method) W register from register ‘f’. If ‘d’ is ‘0’, the result is stored in the W register. If ‘d’ is ‘1’, the result is stored back in register ‘f’. Syntax: [ label ] SUBWF f,d Operation: (f) - (W) → (destination) Operands: f is from 0 to - [SWAPF](https://www.teachmemicro.com/pic-assembly-instruction-set/swapf/) - Swap nibbles in f The upper and lower nibbles of register ‘f’ are exchanged. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed in register ‘f’. Syntax: [ label ] SWAPF f,d Operation: (f<3:0>) → (destination), (f) → (destination<3:0>) Operands: f is from 0 - [XORWF](https://www.teachmemicro.com/pic-assembly-instruction-set/xorwf/) - Exclusive OR W with f Exclusive OR the W register with register ‘f’. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. Syntax: [ label ] XORWF f,d Operation: (W) .XOR. (f) → (destination) Operands: f is from 0 to - [RRF](https://www.teachmemicro.com/pic-assembly-instruction-set/rrf/) - Rotate Right f through Carry The contents of register ‘f’ are rotated one bit to the right through the Carry flag. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. Syntax: [ label ] RRF f,d Operation: Operands: f is - [RLF](https://www.teachmemicro.com/pic-assembly-instruction-set/rlf/) - Rotate Right f through Carry The contents of register ‘f’ are rotated one bit to the left through the Carry flag. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. Syntax: [ label ] RLF f,d Operation: Operands: f is - [NOP](https://www.teachmemicro.com/pic-assembly-instruction-set/nop/) - No Operation Do nothing. That's it. Syntax: [ label ] NOP Operation: None Operands: None Status Affected: None Example: None - [MOVWF](https://www.teachmemicro.com/pic-assembly-instruction-set/movwf/) - Move W to f Move data from W to register 'f'. Syntax: [ label ] MOVWF f Operation: (W) → (f), Operands: f is from 0 to 127 Status Affected: None Example: MOVWF REG Before instruction: REG = 0x02 W = 0x0F After instruction: REG = 0x0F W = 0x0F - [MOVF](https://www.teachmemicro.com/pic-assembly-instruction-set/movf/) - Move f The contents of the register 'f' are move to a destination dependent on the value of 'd'. If 'd' is 0, the result is placed in W. If 'd' is 1, the result is placed in register 'f'. Syntax: [ label ] MOVF f,d Operation: (f) → destination Operands: f is from 0 - [IORWF](https://www.teachmemicro.com/pic-assembly-instruction-set/iorwf/) - Inclusive OR W with f Inclusive OR the W register with register ‘f’. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. Syntax: [ label ] IORWF f,d Operation: (W) .OR. (f) → (destination) Operands: f is from 0 to - [INCFSZ](https://www.teachmemicro.com/pic-assembly-instruction-set/incfsz/) - Increment f, Skip if 0 The contents of register ‘f’ are incremented. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. If the result is ‘1’, the next instruction is executed. If the result is ‘0’, then a NOP is - [INCF](https://www.teachmemicro.com/pic-assembly-instruction-set/incf/) - Increment f The contents of register ‘f’ are incremented. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. Syntax: [ label ] INCF f,d Operation: (f) + 1 → (destination) Operands: f is from 0 to 127 d is either - [DECFSZ](https://www.teachmemicro.com/pic-assembly-instruction-set/decfsz/) - Decrement f, Skip if 0 The contents of register ‘f’ are decremented. If ‘d’ is ‘0’, the result is placed in the W register. If ‘d’ is ‘1’, the result is placed back in register ‘f’. If the result is ‘1’, the next instruction is executed. If the result is ‘0’, then a NOP is - [DECF](https://www.teachmemicro.com/pic-assembly-instruction-set/decf/) - Decrement f Decrement register ‘f’. If ‘d’ is ‘0’, the result is stored in the W register. If ‘d’ is ‘1’, the result is stored back in register ‘f’. Syntax: [ label ] DECF f,d Operation: (f) - 1 → (destination) Operands: f is from 0 to 127 (decimal) d can be either 0 or - [COMF](https://www.teachmemicro.com/pic-assembly-instruction-set/comf/) - Complement f The contents of register ‘f’ are complemented. If ‘d’ is ‘0’, the result is stored in W. If ‘d’ is ‘1’, the result is stored back in register ‘f’. Syntax: [ label ] COMF f,d Operation: NOT(f) → (destination) Operands: f is from 0 to 127 (decimal) d can be either 0 or - [CLRW](https://www.teachmemicro.com/pic-assembly-instruction-set/clrw/) - Clear W W register is cleared. Zero bit (Z) is set. Syntax: [ label ] CLRW Operation: 00h → (W) 1 → Z Operands: None Status Affected: Z Example: CLRW Before instruction: W = 0xFF Z = 0 After instruction: W = 0x00 Z = 1 Example: CLRW Before instruction: W = b'11101110 Z = - [CLRF](https://www.teachmemicro.com/pic-assembly-instruction-set/clrf/) - Clear f The contents of register ‘f’ are cleared and the Z bit is set. Syntax: [ label ] CLRF f Operation: 00h → (f) 1 → Z Operands: f is from 0 to 127 (decimal) Status Affected: Z Example: CLRF REG Before instruction: REG = 0xFF Z = 0 After instruction: REG = 0x00 - [ANDWF](https://www.teachmemicro.com/pic-assembly-instruction-set/andwf/) - AND W with F AND the W register with register ‘f’. If ‘d’ is ‘0’, the result is stored in the W register. If ‘d’ is ‘1’, the result is stored back in register ‘f’ Syntax: [label] ANDWF f,d Operands: f is from 0 to 127 d is either 0 or 1 Operation: Status Affected: - [RETLW](https://www.teachmemicro.com/pic-assembly-instruction-set/retlw/) - Return Literal to W W is loaded with the eight-bit literal 'k'. The program counter (PC) is loaded from the top of the stack (TOS). The high address latch (PCLATH) remains unchanged. Syntax: [ label ] RETLW k Operation: (k) → (W), (TOS) → (PC) Operands: k is from 0 to 255 Status Affected: - [Beaglebone Black Tutorials](https://www.teachmemicro.com/beaglebone-black-tutorials/) - If you want your microcontroller to do advanced stuff, then Linux-powered ARM devices should be your choice! The Beaglebone Black is similar to the Raspberry Pi but with more headers, an ADC, USB-to-Internet and more! This Beaglebone Black tutorial series starts with using bonescript (easiest) to using device tree overlays: I will continually update this - [Arduino Tutorials](https://www.teachmemicro.com/arduino-tutorials/) - Want to join in with the Arduino craze? I am, in fact, a PIC guy but I myself would agree that learning Arduino is much easier and fun! The Arduino single-board microcontroller begun as a student project in Italy but has now become a worldwide brand. Its strength lies on ease of use, beginner friendliness - [CCPA - California Consumer Privacy Act](https://www.teachmemicro.com/ccpa-california-consumer-privacy-act/) - Privacy Notice For California Residents Definitions Website Freyjah Technologies or https://www.teachmemicro.com Owner (or We) Indicates the natural person(s) or legal entity that provides this Website to Users. User (or You) Indicates any natural person or legal entity using this Website. This Privacy Notice for California Residents supplements the information contained in the Website's Privacy Policy - [Terms of Use](https://www.teachmemicro.com/terms-of-use/) - TERMS OF USE These Terms govern your access to, usage of all content, Product and Services available at Teach Me Microcontrollers! website (the “Service”) operated by Freyjah Technologies (“us”, “we”, or “our”). Your access to our services are subject to your acceptance, without modification, of all of the terms and conditions contained herein and all - [DMCA](https://www.teachmemicro.com/dmca/) - Digital Millennium Copyright Act Policy Welcome to Teach Me Microcontrollers! (the "Site"). We respect the intellectual property rights of others just as we expect others to respect our rights. Pursuant to Digital Millennium Copyright Act, Title 17, United States Code, Section 512(c), a copyright owner or their agent may submit a takedown notice to us - [Privacy Policy](https://www.teachmemicro.com/privacy-policy/) - Privacy Policy Welcome to Teach Me Microcontrollers! (the "Site"). We understand that privacy online is important to users of our Site, especially when conducting business. This statement governs our privacy policies with respect to those users of the Site ("Visitors") who visit without transacting business and Visitors who register to transact business on the Site - [STM32 Tutorials](https://www.teachmemicro.com/stm32-nucleo-tutorials/) - STM32 Tutorials Featuring the Nucleo Board and ARM Mbed online compiler Getting Started Blink a LED Input and Output Serial Communication Using I2C SPI Interfacing Real Time Operating System Animation on a TFT LCD - [PIC Assembly Code Examples](https://www.teachmemicro.com/pic-microcontroller-tutorials/pic-assembly-code-examples/) - Here are some PIC assembly codes I have compiled over the years. If you'd like some explanation over how these codes work, check out my tutorials page. 1. Blink One LED 2. Blink All LEDs 3. Using a Switch 4. Count Button Press (w/ Seven Segment Display) 5. Timer Interrupt 6. RBO Interrupt 7. RB ## Categories - [Uncategorized](https://www.teachmemicro.com/category/uncategorized/) - [Tutorials](https://www.teachmemicro.com/category/tutorials/) - [Features](https://www.teachmemicro.com/category/features/) - [Projects](https://www.teachmemicro.com/category/projects/) - [Reference](https://www.teachmemicro.com/category/reference/) - [Arduino Tutorial](https://www.teachmemicro.com/category/tutorials/arduino-tutorial/) - [Raspberry Pi Tutorial](https://www.teachmemicro.com/category/tutorials/raspberry-pi-tutorial/) - [ESP8266 Tutorial](https://www.teachmemicro.com/category/tutorials/esp8266-tutorial/) - [BeagleBone Tutorial](https://www.teachmemicro.com/category/tutorials/beaglebone-tutorial/) - [STM32 Tutorial](https://www.teachmemicro.com/category/tutorials/stm32-tutorial/) - [Arduino Projects](https://www.teachmemicro.com/category/projects/arduino-projects/) - [Raspberry Pi Projects](https://www.teachmemicro.com/category/projects/raspberry-pi-projects/) - [ESP8266 Projects](https://www.teachmemicro.com/category/projects/esp8266-projects/) - [Product Reviews](https://www.teachmemicro.com/category/features/product-reviews/) - [Guest Post](https://www.teachmemicro.com/category/features/guest-post/) - [General](https://www.teachmemicro.com/category/features/general/) - [PIC Tutorial](https://www.teachmemicro.com/category/tutorials/pic-tutorial/) - [PIC Projects](https://www.teachmemicro.com/category/projects/pic-projects/) - [ESP32 Tutorial](https://www.teachmemicro.com/category/tutorials/esp32-tutorial/) - [ESP32 Projects](https://www.teachmemicro.com/category/projects/esp32-projects/) - [8051 Tutorial](https://www.teachmemicro.com/category/8051-tutorial/) - [nRF52 Tutorial](https://www.teachmemicro.com/category/tutorials/nrf52-tutorial/) - [Tools](https://www.teachmemicro.com/category/reference/tools/) ## Tags - [ubuntu continuous adc](https://www.teachmemicro.com/tag/ubuntu-continuous-adc/) - [esp8266](https://www.teachmemicro.com/tag/esp8266/) - [iot](https://www.teachmemicro.com/tag/iot/) - [Internet](https://www.teachmemicro.com/tag/internet/) - [ttl-to-usb](https://www.teachmemicro.com/tag/ttl-to-usb/) - [serial-to-usb](https://www.teachmemicro.com/tag/serial-to-usb/) - [i2c](https://www.teachmemicro.com/tag/i2c/) - [mpu6050](https://www.teachmemicro.com/tag/mpu6050/) - [linux gyro](https://www.teachmemicro.com/tag/linux-gyro/) - [sim800](https://www.teachmemicro.com/tag/sim800/) - [gsm](https://www.teachmemicro.com/tag/gsm/) - [gprs](https://www.teachmemicro.com/tag/gprs/) - [breakout board](https://www.teachmemicro.com/tag/breakout-board/) - [hd44780 lcd](https://www.teachmemicro.com/tag/hd44780-lcd/) - [python](https://www.teachmemicro.com/tag/python/) - [mqtt](https://www.teachmemicro.com/tag/mqtt/) - [javascript](https://www.teachmemicro.com/tag/javascript/) - [pic16f877a](https://www.teachmemicro.com/tag/pic16f877a/) - [xc8](https://www.teachmemicro.com/tag/xc8/) - [oled](https://www.teachmemicro.com/tag/oled/) - [spi](https://www.teachmemicro.com/tag/spi/) - [serial](https://www.teachmemicro.com/tag/serial/) - [apache](https://www.teachmemicro.com/tag/apache/) - [camera](https://www.teachmemicro.com/tag/camera/) - [temperature](https://www.teachmemicro.com/tag/temperature/) - [sensor](https://www.teachmemicro.com/tag/sensor/) - [pwm](https://www.teachmemicro.com/tag/pwm/) - [motor](https://www.teachmemicro.com/tag/motor/) - [LED](https://www.teachmemicro.com/tag/led/) - [gps](https://www.teachmemicro.com/tag/gps/) - [control system](https://www.teachmemicro.com/tag/control-system/) - [pdf](https://www.teachmemicro.com/tag/pdf/) - [schematic](https://www.teachmemicro.com/tag/schematic/) - [pinout](https://www.teachmemicro.com/tag/pinout/) - [ccp](https://www.teachmemicro.com/tag/ccp/) - [asm](https://www.teachmemicro.com/tag/asm/) - [motion sensor](https://www.teachmemicro.com/tag/motion-sensor/) - [web server](https://www.teachmemicro.com/tag/web-server/) - [ajax](https://www.teachmemicro.com/tag/ajax/) - [humidity](https://www.teachmemicro.com/tag/humidity/) - [interrupt](https://www.teachmemicro.com/tag/interrupt/) - [hall effect](https://www.teachmemicro.com/tag/hall-effect/) - [hc-sr04](https://www.teachmemicro.com/tag/hc-sr04/) - [accelerometer](https://www.teachmemicro.com/tag/accelerometer/) - [IMU](https://www.teachmemicro.com/tag/imu/) - [esp32](https://www.teachmemicro.com/tag/esp32/) - [dht11](https://www.teachmemicro.com/tag/dht11/) - [fire detector](https://www.teachmemicro.com/tag/fire-detector/) - [fire sensor](https://www.teachmemicro.com/tag/fire-sensor/) - [flame sensor for furnace](https://www.teachmemicro.com/tag/flame-sensor-for-furnace/) - [push notification](https://www.teachmemicro.com/tag/push-notification/) - [pushingbox](https://www.teachmemicro.com/tag/pushingbox/) - [pushbullet](https://www.teachmemicro.com/tag/pushbullet/) - [mq](https://www.teachmemicro.com/tag/mq/) - [acetone](https://www.teachmemicro.com/tag/acetone/) - [ammonia](https://www.teachmemicro.com/tag/ammonia/) - [toluene](https://www.teachmemicro.com/tag/toluene/) - [alcohol](https://www.teachmemicro.com/tag/alcohol/) - [arduino UNO](https://www.teachmemicro.com/tag/arduino-uno/) - [rgb](https://www.teachmemicro.com/tag/rgb/) - [microphone](https://www.teachmemicro.com/tag/microphone/) - [sound](https://www.teachmemicro.com/tag/sound/) - [input](https://www.teachmemicro.com/tag/input/) - [output](https://www.teachmemicro.com/tag/output/) - [programming](https://www.teachmemicro.com/tag/programming/) - [c++](https://www.teachmemicro.com/tag/c/) - [display](https://www.teachmemicro.com/tag/display/) - [seven segment](https://www.teachmemicro.com/tag/seven-segment/) - [wifi](https://www.teachmemicro.com/tag/wifi/) - [access point](https://www.teachmemicro.com/tag/access-point/) - [html](https://www.teachmemicro.com/tag/html/) - [gardening](https://www.teachmemicro.com/tag/gardening/) - [mosfet](https://www.teachmemicro.com/tag/mosfet/) - [rotation](https://www.teachmemicro.com/tag/rotation/) - [arduino](https://www.teachmemicro.com/tag/arduino/) - [encoder](https://www.teachmemicro.com/tag/encoder/) - [quadrature](https://www.teachmemicro.com/tag/quadrature/) - [Raspberry Pi](https://www.teachmemicro.com/tag/raspberry-pi/) - [Uninterruptible Power Supply](https://www.teachmemicro.com/tag/uninterruptible-power-supply/) - [UPS](https://www.teachmemicro.com/tag/ups/) - [SunFounder PiPower](https://www.teachmemicro.com/tag/sunfounder-pipower/) - [Power Interruptions](https://www.teachmemicro.com/tag/power-interruptions/) - [Data Collection](https://www.teachmemicro.com/tag/data-collection/) - [Remote Projects](https://www.teachmemicro.com/tag/remote-projects/) - [Power Supply](https://www.teachmemicro.com/tag/power-supply/) - [Portable Projects](https://www.teachmemicro.com/tag/portable-projects/)