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.

Step 1 of 5

CREATE YOUR PROFILE *Required

OR
Step 2 of 5

WHAT BRINGS YOU TO DEVHEADS? *Choose 1 or more

Connect & collaborate 🤝with other tech professionals
Learn & Grow 📚
Contribute Experience & Expertise 🔧
Step 3 of 5

WHAT'S YOUR INTEREST OR EXPERTISE? *Choose 1 or more

Hardware Design 💡
Embedded Software 💻
Edge Networking
Step 4 of 5

Personalize your profile

Step 5 of 5

Read & agree to our COMMUNITY RULES

  1. We want this server to be a welcoming space! Treat everyone with respect. Absolutely no harassment, witch hunting, sexism, racism, or hate speech will be tolerated.
  2. If you see something against the rules or something that makes you feel unsafe, let staff know by messaging @admin in the "support-tickets" tab in the Live DevChat menu.
  3. No age-restricted, obscene or NSFW content. This includes text, images, or links featuring nudity, sex, hard violence, or other graphically disturbing content.
  4. No spam. This includes DMing fellow members.
  5. You must be over the age of 18 years old to participate in our community.
  6. You agree to our Terms of Service (https://www.devheads.io/terms-of-service/) and Privacy Policy (https://www.devheads.io/privacy-policy)
By clicking "Finish", you have read and agreed to the our Terms of Service and Privacy Policy.

Blogs

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 […]

From the Community

Secure Boot for Embedded Devices - An Example

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 [...]

  • Save this Reference designs list

    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[...]

  • How to add a Golang recipe to Yocto

    Yocto supports Golang recipes, but they are slightly different to standard ones. Simple Recipe For a basic recipe without any dependancies, it is still quite simple. SUMMARY = "This is a simple example recipe that cross-compiles a [...]
  • How to add a Golang recipe to Yocto

    Yocto supports Golang recipes, but they are slightly different to standard ones. Simple Recipe For a basic recipe without any dependancies, it is still quite simple. SUMMARY = "This is a simple example recipe that cross-compiles a [...]
  • Bootstrapping embassy-rs on ESP32C3

    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[...]

  • Mocking Serial Ports with Pseudoterminals

    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[...]

  • My Sabbatical Project: Megabit

    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[...]

  • Dynamic Bytecode Execution for Fun and Profit

    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[...]

  • Git Commands

    This is purely a space for me to keep a reference to the git commands I don’t use often enough to remember. Undo The Last Commit So, you have just commited something and realised you didn’t want to do that….... Read more[...]
  • How to know if your design is high speed design?

    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 [...]

  • Lock, Unlock, Blocked?

    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[...]

  • Running Embassy (Rust) on Arduino Nano 33 BLE

    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 [...]

  • Don’t forget about thermals when levelling up

    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 [...]

  • Tips for Writing Embedded Unit Tests

    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[...]

  • ESP32 Tensorflow Micro Hello World

    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[...]

  • Git Commands

    This is purely a space for me to keep a reference to the git commands I don’t use often enough to remember. Undo The Last Commit So, you have just commited something and realised you didn’t want to do that….... Read more[...]
  • 8 ways to make your schematic more readable

    • Clean up the text.

    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

    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 [...]

  • Add those mount hole folks!

    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[...]

  • Building GBA Games in Rust

    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[...]

  • Reading an I2C Sensor with Arduino

    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 [...]