DevHeads IoT Integration Server

DII

DevHeads IoT Integration Server

The DevHeads IoT Integration Server accelerates technology engineering by helping pro devs learn, share and collaborate.

Join

seeking-collabs

firmware-and-baremetal

middleware-and-os

edge-networking

pcb-and-analog

jobs

iot-cloud

code-review

devheads-feed

general-dev-chat

Singaporian Researchers developed a flexible battery for smart contact lenses

Smart contact lenses could be powered by a flexible battery as thin as a human cornea that stores electricity when immersed in saline solution. 🇸🇬 ⛓ More information: https://www.theengineer.co.uk/content/news/ntu-singapore-team-develops-flexible-battery-for-smart-contact-lenses/...

Qt vs. Flutter: Which Framework is Right for Your Embedded Project?

Choosing between Qt and Flutter for embedded project development depends on specific project needs: Qt: Based on C++, known for native performance and efficiency, ideal for complex, high-performance applications with advanced functionalities and direct hardware access, such as medical devices and low-end hardware without GPU support. Flutter: Emphasizes rapid development and cost-effectiveness using Dart, with features like hot reload for quick iterations and a single codebase for consistent UI across platforms. ...

New Embedded Programming Language by Apple

Last week at WWDC 2024, Apple unveiled Embedded Swift, a new programming language for resource-limited systems. This variant of Swift is designed for microcontrollers like the ESP32, Raspberry Pi RP2040, and STM32, enabling IoT and low-power device development with Swift's familiar syntax. Key features include: ➡️ Support for value and reference types, closures, optionals, and error handling ➡️ Optimization for microcontroller environments...

DIY haptic SmartKnob: BLDC motor + round LCD

This innovative input device, SmartKnob, is an open-source input device with software-configurable endstops and virtual detents. It includes haptic touch feedback and a round LCD, utilizing a brushless gimbal motor and magnetic encoder for closed-loop torque feedback. Powered by an ESP32, it integrates a TMC6300 BLDC motor driver, HX711 strain gauge ADC, and VEML7700 ambient light sensor. Key Features: ➡️ 240x240 round LCD with 39.5mm watch glass...

Strategies for Handling Padding in C Programming

In C programming, padding refers to extra memory added between structure members to align data for efficient CPU access. The compiler adds padding to align members to their natural boundaries. For example, in a 32-bit system: ```C struct foo { uint32_t i;...

What is the role of a bootloader in embedded systems programming?

A bootloader is a crucial piece of software in embedded systems, responsible for preparing the device to run its main application. This involves initializing hardware, setting up memory, and loading the application code from storage (such as flash memory) into RAM. Beyond these basic functions, bootloaders can also handle firmware updates, debugging, and communication with other devices. Types of Bootloaders There are two primary types of bootloaders: primary and secondary. The primary bootloader is the first code that runs when a device powers on or resets, typically stored in read-only memory (ROM) or a protected flash memory area. Its primary functions include basic hardware initialization and then transferring control either to a secondary bootloader or directly to the application code. Secondary bootloaders come into play after the primary bootloader, residing usually in flash memory or external storage. They are responsible for more complex tasks such as loading the application code into RAM, verifying the integrity and digital signatures of the code, and possibly offering options for different firmware versions to the user....

Apple Intelligence: Apple’s New Generative AI Unveiled

At WWDC 2024, Apple introduced Apple Intelligence, a generative AI integrated across its ecosystem for personalized experiences with a focus on privacy. "Personal intelligence is the next big step for Apple," said Tim Cook. SVP Craig Federighi noted that most processing is local on Apple silicon, with Private Cloud Compute for cloud tasks. Key highlights:...

5 best practices for writing interrupt service routines

Interrupt Service Routines (ISRs) are crucial for embedded systems, but poorly designed ISRs can cause race conditions, slow response times, and high CPU usage. To create effective ISRs, keep them brief and efficient to minimize CPU cycles and avoid timing issues. Avoid calling functions within ISRs to reduce execution time and maintain stability. Use static compilation, preprocessors, and inline functions to optimize ISR code while preserving modularity. Delegate heavy tasks to other threads using flags, queues, and proper synchronization for efficient and responsive ISRs. Declare shared variables as volatile to prevent compiler optimizations that could cause unpredictable behavior. Customize default ISR handlers to set diagnostic flags instead of entering infinite loops to handle unexpected interrupts safely. Following these practices improves the performance and reliability of embedded systems....

Raspberry foundation has released an affordable AI Kit

The Raspberry Pi Foundation, in collaboration with Hailo, has launched the $70 Raspberry Pi AI Kit. This kit includes an M.2 HAT+ board with a preassembled Hailo-8L AI accelerator module, boosting the Raspberry Pi 5's neural networks (NN), artificial intelligence (AI), and machine learning capabilities. Key features: ➡️13 tera-operations per second (TOPS) ➡️Single-lane PCIe 3.0 at 8Gbps...

Modern Embedded Systems Programming Free Course

In this course, you'll learn how to program embedded microcontrollers the modern way, from the basics all the way to the contemporary modern embedded programming practice. The unique approach of this course is to step down to the machine level frequently and show you exactly what happens inside your embedded microcontroller. This deeper understanding will allow you to apply the concepts more efficiently and with greater confidence. If you are looking for a practical, hands-on, well-structured, and in-depth course explaining the essential concepts in embedded programming, this free course is right for you....

3 tips for using CMake with embedded software

CMake is an open-source, cross-platform tool that provides efficient control over the software compilation process through platform-independent configuration files. These files generate native makefiles suitable for any compiler environment, making CMake a versatile and valuable tool for managing complex build environments. ➡️ Use Toolchain Files to Simplify Build Configuration: * Different build types, such as Debug On-Target, Release On-Target, Simulation, Test, and Code Analysis, require specific configurations....

How are Microchips Made? 🖥🛠 CPU Manufacturing Process Steps

Hi everyone, As electronics enthusiasts, we should understand how chips are made. I found this educational video that I think you will find helpful. https://youtu.be/dX9CGRZwD-w?si=K-CFQwSphYuV_YFd...

Implementation of GPIO via MIO and EMIO in All Programmable SoC (AP SoC) Zynq 7000

The below tutorial provides a brief overview of available input/output peripherals (IOPs) and their relation with multiplexed input/output (MIO) and extended MIO (EMIO) in Zynq 7000. After that, a comprehensive detail of general purpose input/output (GPIO), which is one of the available IOPs in Zynq 7000, and its programming via MIO and EMIO is explained. Lastly, the GPIOs are implemented by making use of Vivado and Zedboard as a software and hardware platform respectively. https://fpgawork.wordpress.com/2018/12/20/implementation-of-gpio-via-mio-and-emio-in-all-programmable-soc-ap-soc-zynq-7000/...

Raspberry Pi M.2 HAT+ Review: Low-cost, high-speed

The Raspberry Pi M.2 HAT+ is a recent addition to the Raspberry Pi accessory range, created to provide high-speed NVMe storage at an economical price. At just $12, this board offers PCIe Gen 3 speeds, significantly enhancing the performance for Raspberry Pi 5 users. Key features of the expansion board: ➡️One of the most affordable ways to add NVMe storage to a Raspberry Pi. ➡️Comes with a pre-connected PCIe cable and plastic standoffs for easy installation....

Open-Source POV Candle (Tiny Volumetric Display)

This project is an intriguing fusion of creativity, technical expertise, and innovative application of modern electronics to simulate the flickering of a candle. It uses an RP2040 board for control, a 3D-printed battery holder, and a high-speed rotating array of LEDs driven by a DC motor. The brilliance of this project lies in its use of persistence-of-vision to create the flickering effect, delivering a visually impressive result with minimal components and clever software techniques. It captivates not only with its practical functionality but also with the inventive problem-solving and hands-on construction that transform a simple concept into a sophisticated creation. More information:...