Become a leader in the IoT community!
Join our community of embedded and IoT practitioners to contribute experience, learn new skills and collaborate with other developers with complementary skillsets.
Join our community of embedded and IoT practitioners to contribute experience, learn new skills and collaborate with other developers with complementary skillsets.
How to build an intelligent vision system with SECO’s Intel processor-based COM-HPC-A-RPL COM-HPC module, the Yocto-based Clea operating system, and OpenCV. Contents Introduction Abandoned object detection is an important application […]
Secure boot is a critical security feature for embedded devices. It ensures that only authorized firmware runs on a device, protecting against unauthorized modifications or attacks. In this post, I’ll explain how secure boot works [...]
Here are 9 reference designs that can help you in becoming a better PCB designer. None of the below are any affiliations, these are the boards I’ve collected over a course of time.
ESP32 with 4G boards for you next IoT project. I l[...]
When moving up from low speed design to high speed design, I saw engineers trying to length match USB 2.0 within 0.1mm or even closer to zero.
Yes, zero skew is the best but sometimes due to some reason, the EDA tool might not be a[...]
I’ve been following the Getting Started guide for Zephyr and got to the point of testing flashing the blinky sample onto the microcontroller. Unfortunately, the native west flash
did not just work. Looking at the output, the comman[...]
The first thing you should do after importing the net list to your PCB design tool, is to define the rules.
The rules definitions actually start at the schematic design phase. Here you should define the net classes and group the si[...]
I’ve been itching to write some software for hardware lately and since I have recently acquired an air purifier it seemed like an opportune time to try to get a sensor publishing data that I can use as the basis for automatically c[...]
This post will be the first in a multi-part series covering the development of local web apps with a focus towards the type of application you might need for a connected home IoT product. In this series, I’ll be walking through sta[...]
Today, I want to talk about two ICs with the same footprint and the same function, yet they may not work interchangeably.
The ICs in this discussion are the hex buffer, CD4050B and 74HC04. To someone starting in electronics, these [...]
One of the very first tools that I want when I’m developing an embedded system is some kind of virtual device that I can test against without needing to bring a breadboard and piles of cables with me everywhere I sit down to develo[...]
I’ve been on sabbatical for a little over a month now, but I’ve not been idle! When I decided that I was going to take some time off, I knew that I was going to want to take advantage of the time not just to relax, but also to pick[...]
I’ve been reading into compiler engineering quite a lot recently (hopefully more posts to come on that in the future) and it occurred to me that I didn’t actually understand how dynamic code could be executed. My entire mental mode[...]
A WebAssembly retro-display.
I’ve been taking a sabbatical for the past three months, and it’s been giving me a good bit of time to explore a technology that’s piqued my interest: WebAssembly! This article talks over my motivati[...]
First of all when I say high speed, it doesn’t mean high frequency, it means quick signal transition.
If the trace is longer than the ¼ distance travelled by the signal during its rise time, then it’s a high speed design. There is [...]
I’ve been working on a multi-threaded C++ app with threads. It’s pretty simple on paper: think of it like a mail service that gets letters (requests) and puts them in a queue. Then there’s a worker thread who picks up the letters a[...]
Just a quick one from some debugging I’ve done this morning. Some debugging that was rather obvious in retrospect, but nonetheless I couldn’t find any mentions of it in a quick search.
I’ve been trying to flash some examples from [...]
At some point in your design journey, you will take the leap from designing products around microcontrollers to designing products or projects around microprocessors.
When you are working with microcontrollers, there is no need to [...]
Unit testing helps ensure the reliability of software, especially in embedded systems where failures can be costly. In this post, we’ll cover behavior-driven testing, understanding test size and scope, and how to prepare your syste[...]
I’m starting learing about TinyML a.k.a “Machine Learning for Embedded Systems”, and I’m logging my journey. This post is about how to setup your toolchain, and deploy the “Hello World” on the ESP-EYE.
Btw, I used Linux Terminal t[...]
First thing is to avoid overlapping texts, it’s very common to see the designators and values text overlap. Next when writing values such as 2.2uF use 2u2F. It’s better to avoid the dot. This is old advice from[...]
Running YOLOv5 on a microcontroller is no small task, given the model’s computational requirements (>20MB). In this post, I’ll share how I successfully ran a simplified YOLOv5 model on an ESP32 microcontroller and optimized it for [...]
When you design a product and if you are not really sure if you need an extra capacitor for one of the IC or a module. You add it for extra measure and maybe it’s also recommended by the app note or the reference design.
It’s not c[...]
It’s such a small thing to add and yet it’s forgotten.
All PCB must have some way of mounting the board inside an enclosure. In cases where the PCB has castellated edges and is soldered to another board. In this case the mount hole[...]
A couple years ago I was interested in implementing Conway’s Game of Life since it’s pretty simple and seemed like a fun little project to sharpen my skills in Rust. I had a pretty major problem though: I needed a way to actually[...]
If you’ve developed a few Arduino projects, you’ve probably learned to use the Arduino library’s I2C driver Wire
or perhaps also it’s SPI driver SPI
. These two protocols are very commonly used in embedded systems for communication [...]
When you have the right tools for the job, the process of making, becomes so much more enjoyable.
The table. It’s very important to have the right table height not only when working on the computer but also when you are soldering. [...]