
Blog
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 ...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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...

Blog
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 ...

Blog
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...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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 ...

Blog
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...

Blog
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 ...

Blog
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 ...

Blog
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....

Blog
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...

Blog
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....

Blog
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 ...

Blog
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...

Blog
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...

Blog
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 ...

Blog
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...

Blog
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 ...

Blog
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 ...