IoTLynx is a new microcontroller development board based on Espressif’s ESP32-C6 microcontroller (ESP32-C6-MINI-1module). Designed with accessibility in mind, the IoTLynx platform caters to makers, hobbyists, and newcomers to programming and electronics. Though the board supports C programming, it was specifically designed to run MicroPython—a choice that aligns with its philosophy of ease of use. With…
Electronics
Interfacing a 4 Digit Seven Segment Display with a Raspberry Pi
The gpiod library (libgpiod) is the modern, kernel-recommended way to interact with GPIO pins on Linux systems like the Raspberry Pi. The latest 2.x API represents a significant improvement over the older sysfs interface and the 1.x API, offering better performance, cleaner syntax, and more reliable hardware access. To deepen my understanding of the Linux…
IO μHat for the Raspberry Pi Zero 2W
In this blog entry, I will introduce my IO μHat (microHat) for the Raspberry Pi Zero 2W. This particular μHat provides: The IO μHat also hosts an I2C EEPROM as per the μHat specifications. The configuration of this EEPROM will be covered in a future entry. The schematic is shown below: Both the GPIO expander…
Interfacing an HD44780 LCD to a Raspberry Pi with Kernel Drivers
This blog entry demonstrates how to interface an HD44780 character LCD to a Raspberry Pi Zero 2W, using Linux kernel drivers. This approach should also work on other Raspberry Pi single-board computers. Configure and load the HD44780 kernel module at boot First, you’ll need to load the correct HD44780 Linux kernel module. This will only…
IOTIS Daughterboard: 16 Channel Servo Motor Controller
The 16-channel servo motor controller is yet another IOTIS daughterboard reference design. It is based around the PCA9685 Pulse Width Modulation (PWM) controller integrated circuit (I.C.). The PCA9685 has 12-bit resolution. It can control up to 16 LEDs. Thanks to its ability to output a variable frequency ranging from 1526Hz to 24Hz, it can also…
IOTIS Daughterboard: Dual H-Bridge Motor Controller for Brushed DC Motors
The objective of the IOTIS ecosystem is to provide a standardized platform for students to develop their capstone projects. The baseboard and the powerboard are typically made available to all students. The students would then have to build their own daughterboard, which is application-specific to their particular capstone project and its requirements. The layout of…
The IoT Innovation Station
The EET Faculty at our college decided to develop a standardized printed circuit board (PCB) platform that students can utilize in their capstone projects. It’s called the IoT Innovation Station (IOTIS), and is sometimes referred to as the ‘IoT stack’. In addition to serving as a standardized platform for the program’s capstone project, students get…
PCB Layout Design with KiCad Part II: Layout Creation
In this blog entry, the PCB layout for the astable multivibrator circuit schematic design covered in part I, will be created using the Kicad PCB Editor application. Before proceeding however the user must be made aware of the two most common measurement units and how to convert between them. Importance of spatial dimensions and units…
PCB Layout Design with KiCad Part I: Introduction & Schematic Capture
In this blog entry, I will introduce the printed circuit board (PCB) design flow. I will then proceed to focus on the schematic capture section of the PCB design flow by using the KiCad PCB design tool to create a schematic for a simple LED blinker circuit. The PCB layout section of the design flow…
MicroPython Library for the PCA9685
The PCA9685 chip is a 16 channel PWM controller with 12-bits of resolution. It can control via PWM up to 16 LEDs. Thanks to the fact that it can output a variable frequency from 1526Hz down to 24Hz, it can also be used to control up to 16 servos. Servos usually expect a 50Hz signal…








