How to use I2C LCD with ESP32 on Arduino IDE


A how-to on using an I2C LCD display with the ESP32 using Arduino IDE from Random Nerd Tutorials:

This tutorial shows how to use the I2C LCD (Liquid Crystal Display) with the ESP32 using Arduino IDE. We’ll show you how to wire the display, install the library and try sample code to write text on the LCD: static text, and scroll long messages. You can also use this guide with the ESP8266.

See the full post at

Controlling an HMC624LP4E RF attenuator using Arduino


Kerry Wong writes:

For simplicity, I used a single rotary encoder for controlling the attenuation. In order to prevent accidentally changing the set attenuation value, I used the built-in switch of the rotary encoder as the lock/adjust control. The idea is that the attenuation value can only be adjusted when the switch is in the “adjust” state and the attenuation value is set once the switch changes from adjust to the lock state. When the switch is in the “locked” state, adjusting the rotary encoder has no effect on the digital attenuator. The current attenuation value is displayed on a 1×16 LCD. For more details, you can find the Arduino code listing towards the end of this post along with a video demonstrating this control interface.

More details on Kerry Wong’s blog.

Check out the video after the break.

Dual ultrasonic sensors combine for 2D echolocation


A how-to on making a Dual-sensor ultrasonic echo locator by lingib, project instructables here:

This instructable explains how to pinpoint the location of an object using an Arduino, two ultrasonic sensors, and Heron’s formula for triangles. There are no moving parts.
Heron’s formula allows you to calculate the area of any triangle for which all sides are known. Once you know the area of a triangle, you are then able to calculate the position of a single object (relative to a known baseline) using trigonometry and Pythagoras.
The accuracy is excellent. Large detection areas are possible using commonly available HC-SR04, or HY-SRF05, ultrasonic sensors.
Construction is simple … all you require is a sharp knife, two drills, a soldering iron, and a wood saw.

Via Arduino Blog.

Check out the video after the break.

DIY Arduino FM radio


Nick over at shared detailed instructions of how to build this DIY Art Deco style FM Radio project using Arduino:

Let’s see what we are going to build today! As you can see, we are going to build an Art Deco style FM radio receiver. The design of this radio is based on this spectacular 1935 AWA radio. I discovered this old radio while searching online and also in this book about the most beautiful radios ever made. I loved the design of this radio so much that I wanted to have a similar one. So I devoted a month of my time to build my own.

Full details at

Check out the video after the break.

LoraDunchy Arduino Nano pin-compatibile LoRa module with power management


Mare writes:

Lora board with Arduino nano compatibile pinout and simple battery management
Small board with arduino nano compatibile pinout with power management and Murata ABZ LoRa module with STM32L0 microcontroller
-LoRa module: Murata ABZ
-Single cell LiPo cell charger on-board with charging signal internally connected to PA11 (via jumper)
-Buck/Boost switching power supply for delivering stable 3,3V regardless of the batterz voltage
-Battery fuel gauge on-board to control the real status of the battery

See the full post on Mare & Gal Electronics blog and the GitHub repository here.

A touch numeric keyboard for Arduino or Teensy


Giovanni Carrera blogged about his touch numeric keyboard for Arduino or Teensy:

Very often, for our programs, we need a system to set parameters, usually of a numerical type. A 4×4 keyboard requires some space and then we also need a display. Here is the idea of using a touchscreen display to do both. I have then written the GetNum function that allows you to print a prompt message and to type an integer number. To test this function I wrote a simple analog data logger program that required two parameters, the first is the sampling period and the second the number of samples. In this example the number of channels to be scanned is set to three, but the program can be modified to request a third parameter with the number of channels.

See the full post on ArduPicLab blog.

EEPROM rotation for ESP8266 and ESP32


Xose Pérez over at Tinkerman writes:

The Arduino Core for ESP8266 and ESP32 uses one SPI flash memory sector to emulate an EEPROM. When you initialize the EEPROM object (calling begin) it reads the contents of the sector into a memory buffer. Reading a writing is done over that in-memory buffer. Whenever you call commit it write the contents back to the flash sector.
Due to the nature of this flash memory (NOR) a full sector erase must be done prior to write any new data. If a power failure (intended or not) happens during this process the sector data is lost.
Also, writing data to a NOR memory can be done byte by byte but only to change a 1 to a 0. The only way to turn 0s to 1s is to perform a sector erase which turns all memory positions in that sector to 1. But sector erasing must be done in full sectors, thus wearing out the flash memory faster.

How can we overcome these problems?

Full details at

Video tutorials: Building the Arduino based data loggers

From the comments on our Arduino data logger post:

A visiting researcher dropped by our humble basement workshop with questions about the physical skill level students would need if they added one of our DIY data loggers to their environmental curriculum. I figured the easiest way to cover that was to simply build one, while they recorded the process.
The result of that 3 hour session is now available on YouTube

Thanks Edward Mallon!

Project info at the Cave Pearl Project website.

Neopixel clock, v2

Neopixel Clock

David Zweben published a project writeup showing how he built a Neopixel clock powered by an Arduino Pro Mini clone and a real time clock module:

After building my first Neopixel Clock, I decided I needed one for myself. There was no way I was going to solder 90 lengths of wire onto 180 tiny pads again, though, so I knew I needed to design a custom PCB. This necessitated a redesign of the entire clock, focused around making it as easy as possible to assemble.

Project info at

Check out the video after the break.


5 LDO regulator considerations other than voltage and current


James Lewis over at Bald Engineer writes, “For an AddOhms series, I created a DIY Arduino I am calling the “Pyramiduino.” It is an ATmega328p based board in the shape of a triangle. Other than being cute, the shape does not offer any other benefit. The design features a 3.3 volt LDO Regulator, which is also the subject of this post.”

More details on Baldengineer’s tutorial page.