System Hardware Partitioning Using Device Trees in a Virtualized System
This article looks at how device trees can be leveraged to create silced systems in a virtualized, embedded system.
This article looks at how device trees can be leveraged to create silced systems in a virtualized, embedded system.
In this article, we look at how to create a custom Github action that can deploy AWS Lambda Code and upload it to the marketplace.
Bitbucket lets you trigger webhooks for git events that are interesting to your build and test infrastructure. In the past, I have played around with it usin...
Steps to create a smart home agent for Google Home / Google Assistant to control smart home devices in AWS IoT
Quick start guide on developing smart home skills for voice based control of smart devices using Amazon Alexa.
I recently built a python script to package the contents of a folder into a LittleFS binary image. This article documents my steps to make it into a pip inst...
In this article, we look at how to create a custom Github action that can deploy AWS Lambda Code and upload it to the marketplace.
Quick start guide on developing smart home skills for voice based control of smart devices using Amazon Alexa.
Notes on how I hijacked the re-negotiated SSL keys between Azure server and openssl s_client to decrypt TLS1.2 protected communication logs
My notes on how to setup the blogging environment for adding pages to embeddedinn
Transferring files between your host and RISC-V QEMU machine is often a daunting task. typical solutions include using the 9P FS which requires host kernel l...
Get ready to dive into the intricacies of Linux boot on a RISC-V machine! This comprehensive guide will walk you through the process of compiling QEMU, the L...
Steps to compile and bring up a minimalist kernel for Raspberry Pi using Buildroot
QEMU is an excellent platform to emulate hardware platforms. But, we often end up using ready-made platforms without thinking twice about how QEMU emulates t...
Explore advanced techniques for interfacing complex C data structures with Python using ctypes and SWIG. Learn how to seamlessly pass complex data structures...
A refresher of new C coding features included in C99 and C11 for embedded system developers.
Bitbucket lets you trigger webhooks for git events that are interesting to your build and test infrastructure. In the past, I have played around with it usin...
A tutorial on 8 bit PIC Microcontroller architecture and development tools
Recently, I experienced a workplace Git incident that compelled me to refresh my understanding of Git internals and learn numerous new aspects about the syst...
We use digital signatures hundreds of times a day without realizing it. Yet its often seen as a mystery, even by developers. We’ll explore how digital signat...
This article looks at how device trees can be leveraged to create silced systems in a virtualized, embedded system.
In this article we will go over the steps to build a bespoke Debian distro for RISC-V. We will use QEMU to emulate the RISC-V architecture and build a Debian...
Device trees are typically used in Linux systems to describe the hardware components of a system. However, device trees can be used in bare-metal systems, of...
An insight into the format and technologies used to pack a X.509 certificate. This tutorial introduces the concepts and parses through a TLS certificate to b...
Introduction to digital certificates and the basic concepts of hashes and cryptographic algorithms that are used to build trust based secure systems
Notes on how to setup a trustable, secure web server using free/low cost tools from namecheap, letsencrypt and digitalocean
We use digital signatures hundreds of times a day without realizing it. Yet its often seen as a mystery, even by developers. We’ll explore how digital signat...
Development notes of an end-to-end IoT dashboard implementation for an embedded device.
Understand the innards of Docker container system by building one from scratch (including a minimal fs)
This tutorial gives a quick introduction to writing Linux device drivers. [Part 2]
This tutorial gives a quick introduction to writing Linux device drivers. It will not make you device driver experts, but will give you a starting point to s...
One of the first articles on getting started with an ESP8266 module
an old school home made PCB fabrication technique tutorial
This article comments on how I built-up my first ARM host tethered Rocket RISC-V core on a Xilinx Zynq-7000 FPGA.
A hands-on approach to porting the Coremark benchmark to measure and compare bare-metal microcontroller performance.
If you are working on any serious embedded systems project, you will come across the need to optimize the memory footprint of your code sooner or later. When...
GitHub Actions is a workflow automation offering from GitHub. While there are a lot of tutorials out there talking about using GitHub Actions on your web/sof...
Device trees are typically used in Linux systems to describe the hardware components of a system. However, device trees can be used in bare-metal systems, of...
This article comments on how I built-up my first ARM host tethered Rocket RISC-V core on a Xilinx Zynq-7000 FPGA.
JTAG is omnipresent in the microcontroller and FPGA world in the form of programmers and debuggers. Let us peek under the hood and understand how JTAG works ...
introduction to hardware description languages and basic hardware design principles.
In this post, we will explore how to setup a development environment for FreeRTOS on RISCV using QEMU. this includes setting up the RISCV toolchain, QEMU, an...
A quick tutorial on using GCOV for test coverage analysis. This will get you started to run analysis on your complex test cases.
Recently, I experienced a workplace Git incident that compelled me to refresh my understanding of Git internals and learn numerous new aspects about the syst...
This article will show you how to setup GitHub SSO for your website serving developer resources using vouch-proxy.
I recently built a python script to package the contents of a folder into a LittleFS binary image. This article documents my steps to make it into a pip inst...
In this article, we look at how to create a custom Github action that can deploy AWS Lambda Code and upload it to the marketplace.
Steps to create a smart home agent for Google Home / Google Assistant to control smart home devices in AWS IoT
introduction to hardware description languages and basic hardware design principles.
introduction to hardware description languages and basic hardware design principles.
Give MQTT a test drive
My notes from building a scalable and production-ready infrastructure in AWS. This post covers the basics of setting up a load-balanced infrastructure using ...
Steps to create a smart home agent for Google Home / Google Assistant to control smart home devices in AWS IoT
Quick start guide on developing smart home skills for voice based control of smart devices using Amazon Alexa.
An insight into the format and technologies used to pack a X.509 certificate. This tutorial introduces the concepts and parses through a TLS certificate to b...
Introduction to digital certificates and the basic concepts of hashes and cryptographic algorithms that are used to build trust based secure systems
Development notes of an end-to-end IoT dashboard implementation for an embedded device.
Points to keep in mind when you are moving to an embedded networking stack from a fulle fledged one.
One of the first articles on getting started with an ESP8266 module
My experiences with building an end to end IoT system using a Raspberry Pi, an Arduino and a MPU6050. The post describes the details of how to compile and se...
Things to keep in mind while parsing XML
JTAG is omnipresent in the microcontroller and FPGA world in the form of programmers and debuggers. Let us peek under the hood and understand how JTAG works ...
This tutorial gives a quick introduction to writing Linux device drivers. [Part 2]
This tutorial gives a quick introduction to writing Linux device drivers. It will not make you device driver experts, but will give you a starting point to s...
Device trees are typically used in Linux systems to describe the hardware components of a system. However, device trees can be used in bare-metal systems, of...
In this article we will go over the steps to build a bespoke Debian distro for RISC-V. We will use QEMU to emulate the RISC-V architecture and build a Debian...
Transferring files between your host and RISC-V QEMU machine is often a daunting task. typical solutions include using the 9P FS which requires host kernel l...
Get ready to dive into the intricacies of Linux boot on a RISC-V machine! This comprehensive guide will walk you through the process of compiling QEMU, the L...
This article explores how to set up RISC-V on QEMU, boot a simple application on it using the PK kernel, and boot a cross-compiled Linux on the emulation pla...
My experiences with building an end to end IoT system using a Raspberry Pi, an Arduino and a MPU6050. The post describes the details of how to compile and se...
This tutorial gives a quick introduction to writing Linux device drivers. [Part 2]
This tutorial gives a quick introduction to writing Linux device drivers. It will not make you device driver experts, but will give you a starting point to s...
A tutorial on 8 bit PIC Microcontroller architecture and development tools
Steps to create a smart home agent for Google Home / Google Assistant to control smart home devices in AWS IoT
Notes on how I hijacked the re-negotiated SSL keys between Azure server and openssl s_client to decrypt TLS1.2 protected communication logs
Development notes of an end-to-end IoT dashboard implementation for an embedded device.
Give MQTT a test drive
General principles, architecture, guidelines and good practices for secure over the air (OTA) and over the host (OTH) firmware upgrade for an embedded device
JTAG is omnipresent in the microcontroller and FPGA world in the form of programmers and debuggers. Let us peek under the hood and understand how JTAG works ...
While developing cloud connected products, one of the major challenges is debugging application layer errors within a TLS connection. This article describes ...
JSON Web Tokens (JWT) are becoming popular even outside the traditional web authentication use-cases with the advent of IoT and connected devices. This artic...
An insight into the format and technologies used to pack a X.509 certificate. This tutorial introduces the concepts and parses through a TLS certificate to b...
Introduction to digital certificates and the basic concepts of hashes and cryptographic algorithms that are used to build trust based secure systems
An article that provides an in-depth understanding about the UPNP protocol and its foundational technologies like HTTP, XML, SOAP etc
In this article we will go over the steps to build a bespoke Debian distro for RISC-V. We will use QEMU to emulate the RISC-V architecture and build a Debian...
mistakes I made while building a dauter card for Raspberry Pi
an old school home made PCB fabrication technique tutorial
A tutorial on 8 bit PIC Microcontroller architecture and development tools
We use push notifications from web-sites on a daily basis. This article is about building one from the ground-up in order to understand how the whole system ...
Explore advanced techniques for interfacing complex C data structures with Python using ctypes and SWIG. Learn how to seamlessly pass complex data structures...
My notes from building a scalable and production-ready infrastructure in AWS. This post covers the basics of setting up a load-balanced infrastructure using ...
In this post, we will explore how to setup a development environment for FreeRTOS on RISCV using QEMU. this includes setting up the RISCV toolchain, QEMU, an...
In this article we will go over the steps to build a bespoke Debian distro for RISC-V. We will use QEMU to emulate the RISC-V architecture and build a Debian...
Transferring files between your host and RISC-V QEMU machine is often a daunting task. typical solutions include using the 9P FS which requires host kernel l...
Get ready to dive into the intricacies of Linux boot on a RISC-V machine! This comprehensive guide will walk you through the process of compiling QEMU, the L...
Semihosting lets embedded systems talk to a host computer through a debugger interface to perform tasks such as file I/O, and printing to the console. This a...
This article looks at how device trees can be leveraged to create silced systems in a virtualized, embedded system.
“RISC-V is classically virtualizable” – We come across this statement very often when we read about the merits of the RISC-V ISA. This article looks at what ...
QEMU is an excellent platform to emulate hardware platforms. But, we often end up using ready-made platforms without thinking twice about how QEMU emulates t...
This article explores how to set up RISC-V on QEMU, boot a simple application on it using the PK kernel, and boot a cross-compiled Linux on the emulation pla...
In this article we will go over the steps to build a bespoke Debian distro for RISC-V. We will use QEMU to emulate the RISC-V architecture and build a Debian...
Transferring files between your host and RISC-V QEMU machine is often a daunting task. typical solutions include using the 9P FS which requires host kernel l...
Get ready to dive into the intricacies of Linux boot on a RISC-V machine! This comprehensive guide will walk you through the process of compiling QEMU, the L...
Semihosting lets embedded systems talk to a host computer through a debugger interface to perform tasks such as file I/O, and printing to the console. This a...
“RISC-V is classically virtualizable” – We come across this statement very often when we read about the merits of the RISC-V ISA. This article looks at what ...
QEMU is an excellent platform to emulate hardware platforms. But, we often end up using ready-made platforms without thinking twice about how QEMU emulates t...
This article explores how to set up RISC-V on QEMU, boot a simple application on it using the PK kernel, and boot a cross-compiled Linux on the emulation pla...
This article comments on how I built-up my first ARM host tethered Rocket RISC-V core on a Xilinx Zynq-7000 FPGA.
My notes from building a scalable and production-ready infrastructure in AWS. This post covers the basics of setting up a load-balanced infrastructure using ...
In this post, we will explore how to setup a development environment for FreeRTOS on RISCV using QEMU. this includes setting up the RISCV toolchain, QEMU, an...
My experiences with building an end to end IoT system using a Raspberry Pi, an Arduino and a MPU6050. The post describes the details of how to compile and se...
Steps to compile and bring up a minimalist kernel for Raspberry Pi using Buildroot
mistakes I made while building a dauter card for Raspberry Pi
This article will show you how to setup GitHub SSO for your website serving developer resources using vouch-proxy.
Explore advanced techniques for interfacing complex C data structures with Python using ctypes and SWIG. Learn how to seamlessly pass complex data structures...
While developing cloud connected products, one of the major challenges is debugging application layer errors within a TLS connection. This article describes ...
JSON Web Tokens (JWT) are becoming popular even outside the traditional web authentication use-cases with the advent of IoT and connected devices. This artic...
Notes on how to setup a trustable, secure web server using free/low cost tools from namecheap, letsencrypt and digitalocean
Notes on how I hijacked the re-negotiated SSL keys between Azure server and openssl s_client to decrypt TLS1.2 protected communication logs
General principles, architecture, guidelines and good practices for secure over the air (OTA) and over the host (OTH) firmware upgrade for an embedded device
An insight into the format and technologies used to pack a X.509 certificate. This tutorial introduces the concepts and parses through a TLS certificate to b...
Introduction to digital certificates and the basic concepts of hashes and cryptographic algorithms that are used to build trust based secure systems
Semihosting lets embedded systems talk to a host computer through a debugger interface to perform tasks such as file I/O, and printing to the console. This a...
Notes on how to setup a trustable, secure web server using free/low cost tools from namecheap, letsencrypt and digitalocean
Steps to create a smart home agent for Google Home / Google Assistant to control smart home devices in AWS IoT
Quick start guide on developing smart home skills for voice based control of smart devices using Amazon Alexa.
I recently had a discussion about the importance of writing about what you learn. This post delves into why this practice is essential and how it has persona...
My experiences with building an end to end IoT system using a Raspberry Pi, an Arduino and a MPU6050. The post describes the details of how to compile and se...
An article that provides an in-depth understanding about the UPNP protocol and its foundational technologies like HTTP, XML, SOAP etc
An introduction to the core concepts and building blocks of USB 3.0 device side protocol for those who are aware of USB 2.0
An in-depth tutorial introducing the USB2.0 device side protocol with detailed illustrations on how transactions happen.
An in-depth tutorial introducing the USB2.0 device side protocol with detailed illustrations on how transactions happen.
An introduction to the core concepts and building blocks of USB 3.0 device side protocol for those who are aware of USB 2.0
General principles, architecture, guidelines and good practices for secure over the air (OTA) and over the host (OTH) firmware upgrade for an embedded device
Recently, I experienced a workplace Git incident that compelled me to refresh my understanding of Git internals and learn numerous new aspects about the syst...
This article looks at how device trees can be leveraged to create silced systems in a virtualized, embedded system.
“RISC-V is classically virtualizable” – We come across this statement very often when we read about the merits of the RISC-V ISA. This article looks at what ...
Things to keep in mind while parsing XML
Bitbucket lets you trigger webhooks for git events that are interesting to your build and test infrastructure. In the past, I have played around with it usin...
This article talks about adding a custom package into buildroot for creating your own Linux distribution for embedded and emulation targets.
My experiences with building an end to end IoT system using a Raspberry Pi, an Arduino and a MPU6050. The post describes the details of how to compile and se...
Explore advanced techniques for interfacing complex C data structures with Python using ctypes and SWIG. Learn how to seamlessly pass complex data structures...
This article will show you how to setup GitHub SSO for your website serving developer resources using vouch-proxy.
I recently built a python script to package the contents of a folder into a LittleFS binary image. This article documents my steps to make it into a pip inst...
In this article, we look at how to create a custom Github action that can deploy AWS Lambda Code and upload it to the marketplace.
Bitbucket lets you trigger webhooks for git events that are interesting to your build and test infrastructure. In the past, I have played around with it usin...
I started using docker back in 2016 and ever since, I have been using it in the context of embedded systems DevOps. This article condenses the learning so th...
If you are working on any serious embedded systems project, you will come across the need to optimize the memory footprint of your code sooner or later. When...
GitHub Actions is a workflow automation offering from GitHub. While there are a lot of tutorials out there talking about using GitHub Actions on your web/sof...
I started using docker back in 2016 and ever since, I have been using it in the context of embedded systems DevOps. This article condenses the learning so th...
An introduction to getting started with embedded linux. This article will get you started with booting up your first cross compiled kernel
Points to keep in mind when you are moving to an embedded networking stack from a fulle fledged one.
Development notes of an end-to-end IoT dashboard implementation for an embedded device.
Bitbucket lets you trigger webhooks for git events that are interesting to your build and test infrastructure. In the past, I have played around with it usin...
An introduction to getting started with embedded linux. This article will get you started with booting up your first cross compiled kernel
Notes on how to setup a trustable, secure web server using free/low cost tools from namecheap, letsencrypt and digitalocean
Some quick notes, tips and tricks to use WSL as a work environment when you are stuck with a Windows PC
This article talks about adding a custom package into buildroot for creating your own Linux distribution for embedded and emulation targets.
Steps to compile and bring up a minimalist kernel for Raspberry Pi using Buildroot
An introduction to getting started with embedded linux. This article will get you started with booting up your first cross compiled kernel
A collection of advanced tips and tricks to create wonderful shell scripts
I recently built a python script to package the contents of a folder into a LittleFS binary image. This article documents my steps to make it into a pip inst...
I started using docker back in 2016 and ever since, I have been using it in the context of embedded systems DevOps. This article condenses the learning so th...
I recently had a discussion about the importance of writing about what you learn. This post delves into why this practice is essential and how it has persona...
Notes on how I hijacked the re-negotiated SSL keys between Azure server and openssl s_client to decrypt TLS1.2 protected communication logs
A hands-on approach to porting the Coremark benchmark to measure and compare bare-metal microcontroller performance.
I came across a requirement to add a new easy access menu item to the putty terminal window for Windows. This article explains how I did it.
I came across a requirement to add a new easy access menu item to the putty terminal window for Windows. This article explains how I did it.
I came across a requirement to add a new easy access menu item to the putty terminal window for Windows. This article explains how I did it.
I recently built a python script to package the contents of a folder into a LittleFS binary image. This article documents my steps to make it into a pip inst...
This article explores how to set up RISC-V on QEMU, boot a simple application on it using the PK kernel, and boot a cross-compiled Linux on the emulation pla...
This article talks about adding a custom package into buildroot for creating your own Linux distribution for embedded and emulation targets.
A collection of advanced tips and tricks to create wonderful shell scripts
Transferring files between your host and RISC-V QEMU machine is often a daunting task. typical solutions include using the 9P FS which requires host kernel l...
Some quick notes, tips and tricks to use WSL as a work environment when you are stuck with a Windows PC
A tutorial on 8 bit PIC Microcontroller architecture and development tools
This article will show you how to setup GitHub SSO for your website serving developer resources using vouch-proxy.
We use push notifications from web-sites on a daily basis. This article is about building one from the ground-up in order to understand how the whole system ...
We use push notifications from web-sites on a daily basis. This article is about building one from the ground-up in order to understand how the whole system ...
My experiences with building an end to end IoT system using a Raspberry Pi, an Arduino and a MPU6050. The post describes the details of how to compile and se...
Some quick notes, tips and tricks to use WSL as a work environment when you are stuck with a Windows PC
My notes on how to setup the blogging environment for adding pages to embeddedinn