Embedded Systems
13.6K subscribers
1.05K photos
227 videos
1 file
729 links
News, articles, guides, analytics, projects and startups from the embedded industry.

Topics of the channel:
◽️ machine learning
◽️ internet of things
◽️ embedded software
◽️ advanced electronics
◽️ new engineering ideas

⤵️ Share and subscribe!
Download Telegram
💻 PicoMQTT Offers Performant MQTT Client, Broker Operation on ESP32, ESP8266 MCUs

New library is designed to put a low-cost, low-power microcontroller where a single-board computer would once have sat

Typically, the MQTT messaging system is used to connect low-powered remote devices based on a microcontroller to a higher-performance central server. With energy prices continuing to climb in many parts of the world, though, some are looking to move the broker portion of the architecture to lower-powered hardware too — which is where PicoMQTT comes in.

PicoMQTT is an MQTT library and can be used to set up both a client and a broker on the ESP8266 and ESP32.

Features:
▫️ MQTT 3.1.1 implementation
▫️ Publishing and consuming of arbitrary sized messages
▫️ High performance -- the broker can deliver thousands of messages per second
▫️ Low memory usage

More information...

#libraries #esp32
👍8
📃 5 tips for writing configurable firmware

Embedded products today are no longer one-off products that are manufactured for years to come. Innovation and changes in technology are exponential, with teams needing to develop platform code that can be reused to launch many products in the years ahead. To meet this need, you must embrace configurability in firmware.

In some instances, configurable firmware will increase complexity and starting costs, and perhaps even be less efficient from a memory and performance perspective. However, configurability will give businesses developing embedded products the flexibility and scalability to meet their customers challenges into the future. Let’s explore five tips for writing configurable firmware that will dramatically improve your software.

More information...

#articles #programming #design
👍7
💻 Setting up the ChatGPT on a Raspberry Pi Pico W

ChatGPT's ability to understand natural language inputs and its versatility make it a useful tool for developing various applications with the Raspberry Pi Pico W. An example can be voice recognition, with the help of external microphones and speakers, ChatGPT can be used to develop voice-controlled systems that can perform various tasks, such as controlling home appliances or responding to user queries.

This tutorial demonstrates how to set up ChatGPT for your Raspberry Pi Pico W using their API in this tutorial. By the end of it, you will be sending ChatGPT prompts and getting responses in return.

More information...

#projects #raspberry #artificial_intelligence
👍6👌1
📰 MIT engineers “grow” atomically thin transistors on top of computer chips

A new low-temperature growth technology allows the integration of 2D materials directly onto a silicon circuit, which could lead to denser and more powerful chips.

Emerging AI applications, like chatbots that generate natural human language, demand denser, more powerful computer chips. But semiconductor chips are traditionally made with bulk materials, which are boxy 3D structures, so stacking multiple layers of transistors to create denser integrations is very difficult.

MIT researchers have now demonstrated a novel technology that can effectively and efficiently “grow” layers of 2D transition metal dichalcogenide materials directly on top of a fully fabricated silicon chip to enable denser integrations. The interdisciplinary team of MIT researchers has developed a low-temperature growth process that does not damage the chip.

More information...

#news #electronics
👍10
💻 5 Tips for Writing a Makefile for Embedded Software

Makefiles are a fundamental tool that every embedded software developer needs to understand. Here is a short version of the key takeaways from the article:

▫️ Use variables to simplify maintenance and debugging of Makefiles.
▫️ Define dependencies explicitly to ensure correct build order and avoid unnecessary recompilation.
▫️ Use pattern rules and automatic variables to reduce code duplication and improve readability.
▫️ Leverage conditionals to handle platform-specific settings and options.
▫️ Consider using a build system generator such as CMake to automate Makefile generation and reduce errors.

Well-designed Makefiles can save time and improve the quality of embedded software builds. Therefore, investing time and effort in creating good Makefiles is a worthwhile investment for embedded systems programmers.

More information...

#articles #programming
👍4👌1
📟 DIY-Thermocam V3 - build your own thermal camera with an open-source ecosystem

The low-cost, do-it-yourself thermal imager, based on the popular FLIR Lepton sensor and open-source hardware and software

The DIY-Thermocam V3 project offers affordable and customizable thermal imaging platform that is based on open-source software and hardware. It is constructed as a self-assembly solution, that can be build at home by only using some standard tools.

There are various applications like finding heat leaks in the insulation of buildings, the analysis of electrical or mechanical components, the detection of persons / animals.

The device offers a wide range of features, like adding temperature points, changing temperature range limits, displaying hot or cold temperatures only, saving single images or a series of images (video or timelapse) to the integrated storage, changing the color scheme, etc.

More information:
The official website
The GitHub page

#projects
👍10
📷 Raspberry Pi Global Shutter Camera Review

The article reviews a new camera accessory for Raspberry Pi computers. It provides an in-depth description of the camera's features, performance, and software support.

The most interesting features:
▫️ Has a 2-megapixel resolution.
▫️ Uses a global shutter, which captures an entire image simultaneously, reducing distortion and motion blur.
▫️ Can capture images at up to 100 frames per second, making it suitable for applications requiring fast image capture.
▫️ Has a C-mount lens, which can be easily replaced with other lenses for different applications.
▫️ Designed to work with Raspberry Pi computers, making it easy to integrate into Raspberry Pi-based projects.
▫️ Supported by a variety of software, including Python libraries and the popular OpenCV computer vision library.
▫️ Relatively inexpensive compared to other high-speed cameras, making it a cost-effective option for hobbyists and small-scale projects.

More information...

#articles #raspberry
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤖 Fully 3D Printed Tracked Robot Platform

In this tutorial you will learn how to build a super cool radio controlled tracked vehicle, or a robot platform or a tank, you name it. Author designed this thing from scratch to be fully 3D printable so you can easily print everything and build one on your own.

The goal for this project was to make a versatile platform that can traverse many types of terrains and can be used for various applications. The best bet for that was to use a continuous tracks system. The tracks distribute the weight of the vehicle on a larger surface area which provides excellent grip and lowers the odds of getting stuck in soft ground, mud or snow.

More information...

#projects #robots
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎1
🧠 Fido – light-weight C++ machine learning library for embedded electronics

Fido is an light-weight, highly modular C++ machine learning library for embedded electronics and robotics. Fido is especially suited for robotic and embedded contexts, as it is written in C++ with minimal use of the standard library, comes packaged with a robotic simulator, and provides and easy interface in which to write robotic drivers.

More information...

#libraries #programming #machine_learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👌1
💻 Make your Code Safe and Readable with Flags

The article provides tips on how to make code more readable and maintainable using flags. The article contains several examples of how to use flags in a variety of contexts, including function calls, loops, and state machines. The author also highlights the benefits of using flags, such as reducing complexity and improving safety by avoiding multiple states being active at the same time.

More information...

#articles #programming
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Smart Home Guardian Bot

While fixed sensors, relays, and cameras can be helpful in monitoring your home, there are still common scenarios you need to physically go and check something. Unfortunately, this is often the case when you’re away from home. To address this challenge, the author created a guardian bot that can be controlled through Home Assistant.

The robot’s body is made from 3D-printed components designed to house the various modules neatly. The ESP32 camera module provides Wi-Fi and video capabilities, while the Arduino Pro Mini serves as the bot’s controller. Other peripherals include a light and radar sensor, an LED ring for status display, and a speaker for issuing warnings to potential intruders. The motor controllers are salvaged from two 9-gram servos. The onboard LiPo battery can be charged wirelessly with an integrated charging coil and controller by driving the bot onto a 3D-printed dock.

More information...

#projects #robots
👍9
🎛 $25 Sipeed Tang Nano 20K FPGA board can simulate a RISC-V core, run Linux, retro games

The Sipeed Tang Nano 20K is a low-cost FPGA development board based on Gowin GW2AR-18 FPGA with 20,736 logic cells and 64Mbit RAM, which coupled with 64MBit QSPI flash provides enough resources to simulate a 32-bit RISC-V core booting Linux or playing retro games in an emulator.

The FPGA board comes with a USB-C port for power and to load the FPGA bitstream through a BL616 microcontroller that also acts as a USB to serial chip, an HDMI port and an RGB LCD interface for video output, two user buttons, and two rows GPIOs to connect peripherals such as gamepads (through adapters).

More information...

#boards #fpga
👍9
📟 Decktility - a Raspbery Pi CM4-based handheld PC

The device uses a Raspberry Pi CM4 and an IPS touchscreen. The bulk of the design work was to get the power system working. There is a custom FET board and an Arduino that manages charging and battery state.

The 3D-printed case is compact, and the whole thing weighs about 375 grams. You can replace the batteries after their 6-hour stint or charge them in situ via USB-C.

The battery charger is of particular interest. Author wanted to integrate power management but didn’t want to write custom Linux drivers. The solution was simple: have the Arduino emulate an existing power management device with Linux driver support. In this case, the power management system looks to the Raspberry Pi like an LTC294x device, so the normal Linux OS knows how to handle it.

More information...

#projects #raspberry
👍4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
📃 5 Practical Tips for Low-Power Design

Low-power design is crucial for optimizing energy consumption in electronic devices. By implementing efficient power-saving techniques, designers can extend battery life and reduce overall power consumption.

Here are five practical tips for achieving low-power design:
▫️ Use power management techniques: Dynamic voltage scaling and clock gating reduce power during idle periods.
▫️ Optimize software: Minimize unnecessary computations and utilize sleep modes effectively.
▫️ Minimize leakage current: Employ power gating techniques and optimize transistor sizing.
▫️ Efficient power supply management: Use LDOs or SMPS for regulated voltages and consider multiple voltage domains.
▫️ Select energy-efficient components: Choose components with low-power modes and optimal power requirements.

By following these practical tips, designers can implement effective power-saving techniques and achieve significant energy savings.

More information...

#articles #design
👍10
📟 ESP32: How to Log Data (9 Different Ways)

In this article, you will learn nine different methods to log and save data with the ESP32. Would you like to monitor a specific sensor with the ESP32 and keep track of the data over time? Would you like to save all your data records but you don’t know how to do it or which method to use? Here we’ll show you different ways to save data permanently with the ESP32. We’ll show you methods that rely on third-party databases, services, hardware solutions, and others.

Throughout this article, we’ll cover the following methods to save data using the ESP32:
▫️ MicroSD Card
▫️ ESP32 Filesystem (SPIFFS or LittleFS)
▫️ Firebase Realtime Database and Firebase Storage
▫️ InfluxDB Time Series Database
▫️ Deta Base: Free and Unlimited Database
▫️ Thingspeak Channels
▫️ Google sheets
▫️ MySQL on a Cloud Server
▫️ MySQL on a Local Server

More information...

#projects #esp32 #IoT
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Omni Wheel Robot – A Robot That Can Move In Any Direction

This project explains how to make an omni wheel robot, this type of robot is able to move in many directions compared to normal robots due to the special wheels they have.

Features of the robot:
▫️ Ability to move in 8 different directions
▫️ Control using web server
▫️ ws2812 Matrix Display
▫️ ESP8266 as a main microcontroller

More information:
The main article
The GitHub repository

#projects #robots
👍7
📟 Sending Email Alerts using ESP32 via SMTP Server

Emails are worldwide used as an essential part of digital communication. In this project, we are going to send emails (Plain text and HTML) using the ESP32 board.

The ESP32's built-in Wi-Fi connectivity enables it to communicate with the internet using SMTP servers for sending emails. This project has various benefits for various applications, such as delivering notifications, alarms, and alerts.

More information...

#projects #esp32 #IoT
👍9
📃 5 Tips for Better High-Speed Circuit Design

Improve printed circuit board performance by ensuring impedance matching and following these 5 design recommendations.

High-speed circuit design is one of the most fundamental, yet challenging areas of electronics design. High-speed circuits are commonly used today and require most professional electrical engineers to delve into the world of high speed.

High-speed signals introduce extra complexity and unique technical challenges that make designing hardware less straightforward. One of these technical considerations is impedance matching—a unique and lesser-known area of circuit design. In this contribution, author covers the basics of impedance matching and share 5 tips to ensure that any high-speed circuit design works as intended.

More information...

#articles #electronics #design
👍10