Driving SK9822 LEDs with the Raspberry Pi Pico PIO

I’ve had a Sipeed I2S mic array board for a while now, and I am just starting to play with it. Before I ...

Mico: A PDM to USB microphone based on the Raspberry Pi RP2040

Earlier this year, I was doing audio experiments with Machine Learning (ML) on the Raspberry Pi, and was looking for a compact USB...

Simple Audio Recognition on a Raspberry Pi using Machine Learning (I2S, TensorFlow Lite)

We can keep talking about the imminent emergence of all-knowing AI, or how best we should train ourselves to serve our future silicon-based ...

iCE Bling FPGA – Beautiful LED Earrings with Lattice iCE40

It’s the same story every year. At the horizon is a loved one’s birthday, or an anniversary, and I want to make them ...

Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE

I worked for almost two decades in the software industry. In the early 2000s, I was developing applications on Windows, Linux, and various flavours...

Nordic nRF52840 QR Code based Thread Commissioning

I recently wrote about using Thread and MQTT-SN on the Nordic nRF52840 multiprotocol SoC. One thing I did not cover in detail is Thread ...

Playing with Thread and MQTT-SN on Nordic nRF52840

IoT is in the air. Impossible to surf the web in peace without tripping over some gushy article on billions of devices connecting to the ...

STM32 Returns – System Workbench, STM32Cube, C++, FreeRTOS, MAX7219 and Conway’s Game of Life

Last year, I had written about my experience of getting started with STM32 microcontrollers. There was (and still is) a bewildering number of...

Driving WS2812B LEDs using I2S on the Nordic nRF52832 BLE SoC

It’s hard not to like a project with blinking LEDs. Red, Green, Blue, Yellow,… and then there are RGB LEDs where you have three ...

Bluey Beacon – Building a Nordic nRF52832 BLE IoT Sensor Beacon

In this project, we’re going to build a BLE Beacon that transmits temperature, humidity and ambient light levels to a dashboard on the...

Getting Started with STM32 ARM Cortex-M3 using GCC (STM32F103, NUCLEO-F103RB)

My first introduction to microcontrollers was via the Arduino platform. But I soon started digging a little deeper and got into (8-bit) AVR...

A Desk Drawer Protector Using ESP8266

I am slightly (just a teeny bit, I assure you) obsessed with my desk drawer and the arrangement of the contents therein. When I am ...

IoT Triad Part II – Mobile (Cordova), Device (nRF51822) and a bit of Cloud (ThingSpeak)

Last year, I had written a rather ponderous article on the Device part of the IoT triad consisting of Device, Mobile and Cloud. This time ...

Getting Started with Atmel ATtiny10

I like Atmel tinyAVRs because they are tiny computers that I can (almost) wrap my head around. The Atmel ATtiny4/5/9/10 are the ...

All Roads Lead to Shenzhen (for Electronics)

This is a brief account of my four day visit in January 2016 to Shenzhen, China. Due to my unfamiliarity with the language and brevity ...

Talking to MMA7660 using I2C and ATtiny85

I was introduced to Atmel tinyAVRs a few years ago, soon after I started playing around with the Arduino platform. Now, here was a computer ...

Hacking a Cheap LED Lamp with nRF51822

Diwali (or deepavali, the Indian festival of lights) is just around the corner, and in addition to stuffing myself with unhealthy snacks and scaring...

BLEBot – nRF51822 based BLE Robot

In this project, we will build a two-wheeled robot based on the Nordic nRF51822 BLE SoC. Motor control for the two wheels of the ...

Touch Activated Blinky Badge

I wanted to create a simple project to teach soldering and electronics to kids (10+ years) and beginners. I first thought of a simple two ...

Motor Control over BLE with nRF51822 and TB6612FNG

In this project, we will control two motors over BLE using the Nordic nRF51-DK. To do this, we will use a motor driver based ...

Why You Should Document Your Project

I have learned much from the work of others. And much of that learning came about because those people put in the effort to document ...

Controlling an RGB LED with Nordic nRF51-DK (nRF51822/nRF51422)

In this project, we will control an RGB LED using the Nordic nRF51-DK over BLE. We will make use of PWM (Pulse Width Modulation ...

Talking to Ultrasonic Distance Sensor HC-SR04 using nRF51822

In this project, we will talk to the popular ultrasonic distance sensor HC-SR04 using the Nordic nRF51-DK board, and transmit the distance information ...

nRF51-DK PWM & GPIOTE test with S110 SoftDevice

Before you read further, please take a look at my previous article on nRF51-DK programming using GCC, since we’re going to use the ...

External nRF51822 SWD Programming using the nRF51-DK

This is a short note on using the nRF51-DK to program an nRF51822 chip on an external board. So far I have (click to ...

nRF51822 Begins – nRF-DK, GCC, ADC, UART/BLE

The nRF51822 is a very popular SoC (System on a Chip) which integrates BLE (Bluetooth Low Energy) with an ARM Cortex M0 CPU. For folks ...

555 Based Motion Sensing Night Lamp Kit

This is a short note on my attempt in 2013 to create an electronics kit meant for kids - a DIY motion sensing night lamp based ...

Installing Arduino Bootloader on an ATmega32u4

The Atmel ATmega32u4 gained popularity with its use in the Arduino Leonardo, due to the built-in USB support, which made an additional...

An IoT Triad Demo, Part I – Device (nRF8001 + Arduino)

Internet Of Things (IoT) implementations usually consist of three parts - the device itself, software that interacts with the device...

A Silly Birthday Greeting Box

There seems to be a deluge of cheap toys in my house, thanks to the kids. But on the upside, many of these have interesting ...

Temperature/Altitude/Pressure Display using BMP180

I was in Bhutan last December, and as we travelled to different locations, I kept wondering what the temperature and altitude was, and wished I ...

An ESP8266 IoT Temperature Monitor for my Balcony Garden

I had previously written about using the ESP8266 WiFi module to make an Internet Of Things (IoT) device that plots temperature data on the web ...

A Simple IoT Project with the ESP8266 WiFi module

The ESP8266 is a WiFi module that costs less than 5 USD. This makes putting your sensors on the net actually feasible. (Hooking up the ...

A Simple 8 Pin Header Hack

The 8 pin male dual row headers on some of the small peripheral boards (for example NRF24L01 and ESP8266 boards) are not suited for a ...

Plotting DHT11 sensor data at ThingSpeak.com using Raspberry Pi Model A+

Feeling left behind, I too want to get on board the Internet Of Things bandwagon by putting a sensor on the net. For this experiment ...

A Joule Thief Circuit

I was looking for a simple voltage boost circuit for one of my projects, when I came across a circuit called the Joule Thief. This ...

Koch Snowflake and the Thue-Morse Sequence

When you first study recursion, you will invariably run into a "factorial" example. But if you are lucky, you will also run into a far ...

Plotting Algorithmic Time Complexity of a Function using Python

I have been reading Miller & Ranum's e-book on Python/Algorithms. (A superb book which is also free online.) While looking through their chapter...

Talking to DHT11 Humidity & Temperature Sensor

I am working on a "weather monitor" project that involves a Raspberry Pi taking to a DHT11 Humidity and Temperature sensor and serving...

A 48 LQFP to DIP adapter PCB

I have been looking at prototyping with some ARM Cortex M4 chips, and many of them use a 48 pin LQFP packaging. Sadly, I haven ...

Getting started with ATtiny85 (AVR Programming)

I just got the batch of ATtiny85s I ordered for some pals at a local Maker group. I have articles here on ATtiny84, but not ...

A Simple Python to Arduino Alert Scheme

My friend asked me the following yesterday: "Is it possible to make the build script at my company flash some lights when it fails?" I ...

Nostalgia: A Two Transistor LED Flasher Circuit

I am feeling a little nostalgic. So I rebuilt one of the first circuits I put together when I started messing around with circuits in ...

A Makeshift Tilt-Head for my Raspberry Pi Camera

I want a pan/tilt scheme for the camera of my Raspberry Pi based home monitor robot. But rather than use a pan/tilt bracket ...

Ultrasonic sensor HC-SR04 with Dagu Mini Driver on a Robot Chassis

I am working on a Raspberry Pi based robot, and recently acquired a Dagu chassis and a Dagu Mini Driver for this project. As soon ...

Talking to a Raspberry Pi from your Phone using Bottle (Python)

Here's a short post on communicating with the raspberry from your phone's browser. Our goal is to turn an LED connected to the ...

Designing an Op-Amp Circuit to Detect LDR Pulses

I wanted to design a circuit to generate a nice digital pulse (for input to a microcontroller or the Raspberry Pi) every time an LDR ...

Backing up your Raspberry Pi code using rsync

This is how I develop code on my Raspberry Pi: ssh into the Pi from my Macbook Pro from 2 Terminals, and use emacs on ...

Making the Raspberry Pi Speak

This is a short post on getting audio setup on my Raspberry Pi and then making it speak. For the audio setup, I followed instructions ...

Raspberry Pi I2C communications with CAT9532 16-bit Programmable LED Dimmer

I have a couple of servos on a pan/tilt bracket that I want to control from my Raspberry Pi. As I started looking at ...

A simple Python matplotlib implementation of Conway’s Game of Life

I was recently reading about Conway's Game of Life - a cellular automaton discovered by British mathematician John Conway in 1970. Using 4...

Starting Raspberry Pi: WiFi, ssh and GPIO

This is a short post on setting up the Raspberry Pi (RPi) for development for the first time. Being that the RPi is a full ...

Talking to Ultrasonic Distance Sensor HC-SR04 using an ATtiny84

The HC-SR04 works as follows: Send a 10us HIGH pulse on the Trigger pin. The sensor sends out a “sonic burst” of 8 cycles ...

Serial Communications with the ATtiny84

In a previous post, I talked about serial communications with an ATmega168. But that chip has USART - hardware support for serial communications....

Getting Started with the Atmel ATtiny84 Microcontroller

Like many folks, I got introduced to microcontrollers through the Arduino platform. The ease of setup, simple language syntax and the availability of...

Soldering Accelerometer MMA7660 in DFN-10 package using a Hot Air Rework Station

Freescale makes some nifty accelerometer chips, like the popular MMA8452, for which Sparkfun, USA sells a breakout board....

Using Ultrasonic Distance Sensor Module HC-SR04 with an Arduino

I just got hold of an HC-SR04 Ultrasonic Sensor Module. This is a short post on hooking it up to an Arduino Uno and ...

ATmega168 Power Save Mode and Pin Change Interrupt

Most times your microcontroller is running in a loop, waiting for something to happen - like a button press. All this while it is...

Plotting real-time data from Arduino using Python

Arduino is fantastic as an intermediary between your computer and a raw electronic circuit. Using the serial interface, you can retrieve...

Ambient Light sensor using an Op-Amp Comparator

Say you have a microcontroller circuit that does something when it goes dark. To save power, you want to put the chip to sleep when ...

Serial Communications with the ATmega168

The first thing you do when you learn a new programming language or platform is to write a "hello world" application. This requires...

Nocte Lux – A low cost motion activated night lamp

No, it's not the $10000 Leica lens of similar name. 😉 For this project, I wanted to try and make a simple night lamp – something ...

Automatic Lights for Desk Interior

This is a small project that I worked on last year. I have a desk made of dark wood, and it was very difficult to ...