Embedded Systems
14.4K subscribers
1.09K photos
236 videos
1 file
749 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
📰 MicroPython officially becomes part of the Arduino ecosystem

Arduino has announced that it is folding MicroPython, the microcontroller-focused Python port designed for resource-constrained devices, into its development ecosystem — partnering with MicroPython creator Damien George to bring the virtual machine to a range of official Arduino development boards.

"Expanding on this initial experience we were lucky enough to partner with the creator of MicroPython, Damien George, to port the official the virtual machine to a number of Arduino products."

It's a big shift for Arduino, which for years has focused on programming in C/C++ with its fork of Wiring to abstract the complexities of handling hardware aware from the user. MicroPython, then, becomes only the second officially-supported Arduino language in the project's history — but while it is official, it won't be found as an option in the official Arduino IDE any time soon.

#news #arduino
👍12👎1
This media is not supported in your browser
VIEW IN TELEGRAM
📟 WiFiBOX - Packet Monitor with Waterfall Plot using ESP32

The traffic values in the channel specified from 1 to 14 are received and displayed with the help of ESP32, and TFT LCD graphically in the form of incoming traffic at any time will show with Waterfall Plot.

Features of the project:
▫️ Scan 2.4Ghz band
▫️ Received Packets will show with Waterfall Plot.
▫️ Ability to choose the desired channel from 14 channels

More information:
The main article
The GitHub repository

#projects #esp32
👍7
📟 ESP32: Send Messages to WhatsApp

In this guide, you’ll learn how to send messages to your WhatsApp account with the ESP32. This can be useful to receive notifications from the ESP32 with sensor readings, alert messages when a sensor reading is above or below a certain threshold, when motion is detected, and many other applications. We’ll program the ESP32 using Arduino IDE and to send the messages we’ll use a free API called CallMeBot.

More information...

#projects #esp32
👍13👌1
💻 3 Reasons to Use Rust in Embedded Systems

▫️ Rust is a memory-safe language
All Rust variables, by default, are immutable unless declared otherwise. There is also a concept of memory ownership. Memory safety helps developers identify critical bugs before they find their way into our production code by making us aware of them as soon as we create them!

▫️ Dependency management
Rust has a built-in package manager called Cargo that downloads package dependencies, compiles packages, distributes packages, and, if open-sourced, even upload them to crates.io. Cargo helps developers ensure that they are using the write packages and that even if new versions are available, they won’t be upgraded until they are ready to upgrade.

▫️ Modern and powerful
Rust compiles its code with nearly the efficiency of a C compiler. If you compare execution times, the differences are negligible. Rust can interact with low-level hardware efficiently and more safely than C/C++.

#articles #rust #programming
👍9👎5
📃 The Ultimate Transistor Timeline (preprint)

The transistor’s amazing evolution from point contacts to quantum tunnels

Even as the initial sales receipts for the first transistors to hit the market were being tallied up in 1948, the next generation of transistors had already been invented.

Since then, engineers have reinvented the transistor over and over again, raiding condensed-matter physics for anything that might offer even the possibility of turning a small signal into a larger one.

But physics is one thing; mass production is another. This timeline shows the time elapsed between the invention of several transistor types and the year they became commercially available.

More information...

#articles
👍6👌1
🎚 $6 Pine64 Ox64 SBC features BL808 64-bit/32-bit RISC-V multi-protocol WiSoC with 64MB RAM

Pine64 Ox64 is a single board computer powered by Bouffalo Lab BL808 dual-core 64-bit/32-bit RISC-V processor with up to 64MB embedded RAM, multiple radios for WiFi 4, Bluetooth 5.0, and 802.15.4 (Zigbee), as well as an AI accelerator.

The board also features up to 16MB XSPI NOR flash, a MicroSD card socket, a USB 2.0 OTG port with support for a 2-lane MIPI CSI camera module, and two 20-pin GPIO headers for expansion. It measures just 51 x 21mm, or in other words, is about the size of a Raspberry Pi Pico W.

The BL808 wireless processor is designed for low-power AIoT video/audio applications, notably two-way voice intercoms. The BL808 is supported by an RTOS SDK, and Linux is being worked on. That’s why there are two SKUs for the Ox64 board, one with 16Mbit flash suitable to run an RTOS and another one with 128 Mbit flash to run Linux.

#boards
👍6
📰 The top 10 IT/OT convergence trends—as showcased at SPS fair 2022

Smart Production Solutions (or SPS), one of the leading industrial automation fairs, was back in action earlier this month. The event that took place from 8 November –10 November 2022 in Nürnberg, Germany, showcased once again the latest industrial automation developments. The conference remains a key show for industrial automation hardware and (increasingly) software.

IoT Analytics had a team of three analysts on the ground. They visited approximately 75 booths and conducted over 50 individual interviews to get a handle on the latest industrial automation trends with a special focus on IT/OT convergence. Then they noticed 10 trends that indicate a serious industry push toward IT/OT convergence.

More information...

#news #IoT
👍4👌1
🤖 Micro-ROS puts ROS 2 onto microcontrollers

Micro-ROS adapts ROS2 for limited-performance microcontrollers to bridge the gap between them and the larger processors in ROS robotic applications.

Micro-ROS offers several key features that make it ready for use in your microcontroller-based robotic project:
▫️ Microcontroller-optimized client API supporting all major ROS concepts
▫️ Seamless integration with ROS 2
▫️ Extremely resource-constrained but flexible middleware
▫️ Multi-RTOS support with generic build system
▫️ Vibrant community and ecosystem
▫️ Long-term maintainability and interoperability

More information:
Official website
GitHub repository

#libraries #robots
👍6
🤖 Tiny Desktop Robot With ESP32 and FreeRTOS

This is a tiny ESP32 robot with freeRTOS and facial expressions. It is controlled wirelessly through a Wi-Fi app. It has an OLED screen that shows different face animations depending on what the bot is doing.

More information...

#projects #robots
👍12👌2
💻 10 simple tricks to optimize your C code in small embedded systems

The following simple tricks in C are dedicated for program memory space optimization . These are particularly useful for embedded systems programmers dealing with low-cost 8-bit microcontrollers with limited flash memory. While assembly language is the best choice in this case, (almost all young) hardware engineers prefer nowadays to use C language even when the program is a relatively short control program.

These 10 tips have been tested with the XC8 compiler (v1.42, free edition) to show the amount of program memory bytes involved before and after applying each code snippet on an enhanced mid-range 8-bit XLP PICmicro (a PIC16F1824). These code snippets do nothing special other than offer a proof of the concept. More clever (and sophisticated) tricks can be found here in the references listed at the end of this article.

More information...

#articles #programming
👍11👎2
📰 Nuclear fusion power research passes milestone with ‘fusion ignition’

Scientists have been trying to achieve a net energy gain from nuclear fusion for decades, but there are still kinks to work out

For the first time, researchers have created a fusion reaction that resulted in a net energy gain. The results, from the Lawrence Livermore National Laboratory in California, mark a significant step on the very long road toward generating clean energy from nuclear fusion.

Nuclear fusion happens when atoms crash into each other, “fusing” to create a heavier atom and releasing energy in the process. In the sun and other stars, hydrogen nuclei fuse together, creating helium and generating enormous amounts of energy. To achieve nuclear fusion on Earth, humans have to heat atoms to tremendous temperatures — millions of degrees Celsius, which is why it’s been so daunting to reach a net energy gain.

More information...

#news #energy
👍12
Embedded Systems
🤖 How the MIT mini cheetah learns to run CSAIL scientists came up with a learning pipeline for the four-legged robot that learns to run entirely by trial and error in simulation. Programming how a robot should act in every possible situation is simply very…
🤖 Mini-Cheetah clone teardown

The author of the article designed the original MIT Mini Cheetah robot, which easily captured attention and imagination with its decidedly un-robotic movements and backflips.

It’s interesting to read his thoughts as he disassembles and photographs the unit, explaining the built process in detail.

More information...

#articles #robots
👍10
💻 Memory safety in C

Memory safety in C can be summed up in a few words: there isn’t any! C is the most popular programming language used to write applications for embedded systems, particularly microcontroller-based systems. The problem that you are most likely facing at work today is that you are building IoT devices that require security and memory safety using C.

That might not seem like a big deal at first but considering that most security vulnerabilities are caused by memory safety issues, using C might suddenly be a big problem. Between 2006 and 2018, Microsoft found that approximately 70% of patched software vulnerabilities resulted from memory safety problems. Therefore, if you are writing embedded software for a connected device, you need to understand the potential for memory safety bugs and how to avoid them.

This article will explore memory safety in the C programming language and what developers need to watch for to avoid memory safety defects.

More information...

#articles #programming
👍13
This media is not supported in your browser
VIEW IN TELEGRAM
📟 ESP32 SIM800L GPS Tracker | Vehicle Tracking System using ESP32 + 3D-printable case

By using this project you can track anything from anywhere in the world by using sms and does not require any Wi-Fi router. I am using gsm network for get the GPS coordinates. 2G SIM Card is required in this project. You can track vehicles, bikes, bicycles, pets or anything you want by using this esp32 GPS tracker gsm.

Components Required:
▫️ ESP32 Development Board
▫️ Ublox NEO6M GPS Module
▫️ SIM800L GSM Module
▫️ 2G SIM Card
▫️ Battery 18650 3.7v 2000mAh

You can use this device as a portable or fixed mount somewhere. The enclosure design is compatible with waterproofing (IP 64) so you can mount this outside.

More information:
The main tutorial
The GitHub repository
The enclosure 3D files

#project #esp32 #gps
👍11
💻 5 techniques for writing memory safe C++

Memory-safe programming languages can help solve specific problems and make memory-related bugs less likely, but they aren’t a catch-all. You can still end up with memory issues and bugs in a memory-safe language as one that isn’t. So memory-safe languages are another tool developers can use to solve a problem.

Many of the bugs memory-safe language help developers avoid can also be avoided using C/C++ if the developers pay attention to what they are doing and follow industry best practices and processes. Let’s examine five C++ techniques that can help developers improve memory safety. These are not a complete list, but they are examples of how C++ shouldn’t just be tossed aside for a new kid on the block. Best practices can make code memory safe.

More information...

#articles #programming #cpp
👍6👎3