🤖 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
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
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
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
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
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
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
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
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
📟 Want to play with FPGAs? Use your Raspberry Pico!
Ever want to play with an FPGA, but don’t have the hardware? Now, if you have one of those ever-abundant Pi Picos, you can start playing with Verilog without getting an FPGA board.
The FakePGA project, based on the Verilator toolkit, provides you with a way to compile Verilog into C++ for the RP2040. FakePGA even integrates RP2040 GPIOs so that they work as digital pins for the simulated GPIOs, making it a significant step up from computer-aided FPGA code simulation.
Author provides instructions for setting this up with Linux – Windows, though untested, could theoretically run this through WSL. Maximum clock speed is 5KHz – not much, but way better than not having any hardware to test with. Everything you’d want is in the GitHub repo – setup instructions, Verilog code requirements, and a few configuration caveats to keep in mind.
More information...
#programming #fpga
Ever want to play with an FPGA, but don’t have the hardware? Now, if you have one of those ever-abundant Pi Picos, you can start playing with Verilog without getting an FPGA board.
The FakePGA project, based on the Verilator toolkit, provides you with a way to compile Verilog into C++ for the RP2040. FakePGA even integrates RP2040 GPIOs so that they work as digital pins for the simulated GPIOs, making it a significant step up from computer-aided FPGA code simulation.
Author provides instructions for setting this up with Linux – Windows, though untested, could theoretically run this through WSL. Maximum clock speed is 5KHz – not much, but way better than not having any hardware to test with. Everything you’d want is in the GitHub repo – setup instructions, Verilog code requirements, and a few configuration caveats to keep in mind.
More information...
#programming #fpga
👍9👌2👎1
📊 IoT 2022 in review: The 10 Most Relevant IoT Developments of the Year
Throughout 2022, IoT-Analytics monitored significant developments regarding IoT technology. In their opinion, these are the top stories of IoT 2022:
▫️ Supply chain
The lack of supply chain visibility resulted in a sharp increase in interest in a number of supply chain technologies, such as visibility software, intralogistics robots, or IoT track-and-trace devices.
▫️ Biggest impact on the IoT job market: Tech layoffs
Fears of an economic slowdown saw a host of leading tech companies, such as Meta, Twitter, Salesforce, Microsoft, HP, Tesla, Cisco, and others, shed some portion of their workforce.
▫️ Most surprising IoT divestiture: Google
The news rocked the IoT world, as some large corporations decided to base their IoT initiatives on Google Cloud. Those corporations suddenly found themselves having to re-architect their solutions, a process that can take weeks or even months.
More information...
#news #IoT
Throughout 2022, IoT-Analytics monitored significant developments regarding IoT technology. In their opinion, these are the top stories of IoT 2022:
▫️ Supply chain
The lack of supply chain visibility resulted in a sharp increase in interest in a number of supply chain technologies, such as visibility software, intralogistics robots, or IoT track-and-trace devices.
▫️ Biggest impact on the IoT job market: Tech layoffs
Fears of an economic slowdown saw a host of leading tech companies, such as Meta, Twitter, Salesforce, Microsoft, HP, Tesla, Cisco, and others, shed some portion of their workforce.
▫️ Most surprising IoT divestiture: Google
The news rocked the IoT world, as some large corporations decided to base their IoT initiatives on Google Cloud. Those corporations suddenly found themselves having to re-architect their solutions, a process that can take weeks or even months.
More information...
#news #IoT
👍3👌1
📃 Five Trends That Will Define Simulation and Test in 2023
▫️ In 2023, the digital twin concept is evolving into something much slicker and incredibly practical: the executable digital twin (or xDT). In simple terms, the xDT is the digital twin on a chip. The xDT uses data from a small number of sensors embedded in the physical product to perform real-time simulations using reduced-order models.
▫️ Engineers will increasingly use machine learning and AI to amplify an individual engineer’s knowledge, increase the amount of learning provided through simulation and tests, and transfer accumulated knowledge between projects.
▫️ Model-Based Systems Engineering puts modeling and simulation at the heart of the system design process, meaning that individual components no longer have to be considered in isolation and can be designed and developed with the whole system's performance in mind.
More information...
#articles #design
▫️ In 2023, the digital twin concept is evolving into something much slicker and incredibly practical: the executable digital twin (or xDT). In simple terms, the xDT is the digital twin on a chip. The xDT uses data from a small number of sensors embedded in the physical product to perform real-time simulations using reduced-order models.
▫️ Engineers will increasingly use machine learning and AI to amplify an individual engineer’s knowledge, increase the amount of learning provided through simulation and tests, and transfer accumulated knowledge between projects.
▫️ Model-Based Systems Engineering puts modeling and simulation at the heart of the system design process, meaning that individual components no longer have to be considered in isolation and can be designed and developed with the whole system's performance in mind.
More information...
#articles #design
👍7
📟 Pi Zero Bikecomputer - an open-source bike computer based on Raspberry Pi Zero (W, WH, 2 W) with GPS and ANT+
This is the first DIY project in the world integrated with necessary hardwares and software for modern bike computer. It measures and records position (GPS), ANT+ sensor (speed/cadence/power) and I2C sensor (pressure/temperature/accelerometer, etc). It also displays these values, even maps and courses in real-time. In addition, it writes out log into .fit format file.
Features of the project:
▫️ Easy to make
▫️ Customization
▫️ Easy to develop
▫️ Good balance between battery life and performance
You will enjoy both cycling and the maker movement with Pi Zero Bikecomputer!
More information...
#projects #raspberry
This is the first DIY project in the world integrated with necessary hardwares and software for modern bike computer. It measures and records position (GPS), ANT+ sensor (speed/cadence/power) and I2C sensor (pressure/temperature/accelerometer, etc). It also displays these values, even maps and courses in real-time. In addition, it writes out log into .fit format file.
Features of the project:
▫️ Easy to make
▫️ Customization
▫️ Easy to develop
▫️ Good balance between battery life and performance
You will enjoy both cycling and the maker movement with Pi Zero Bikecomputer!
More information...
#projects #raspberry
👍4👌1
This media is not supported in your browser
VIEW IN TELEGRAM
🎛 Designing Potentiometer Knobs
Rotary potentiometers, switches, and encoders all share a basic design: adjustment is done via a shaft onto which a knob is attached, and knobs are sold separately. That doesn’t mean one knob fits all; there are actually a few different standards. But just because knobs are inexpensive and easily obtained doesn’t mean it’s not worth making your own.
Why bother 3D printing your own knobs instead of buying them? For one thing, making them means one can rest assured that every knob matches aesthetically. The ability to add custom or nonstandard markings are another bonus. Finally, there’s no need to re-invent the wheel, because author's guide to making your own knobs has it all figured out, with the OpenSCAD script to match.
Who needs to buy new potentiometer knobs when you can make your own? Armed with patience, calipers, and a 3D printer, this is quite doable.
More information...
#design #3d_modeling
Rotary potentiometers, switches, and encoders all share a basic design: adjustment is done via a shaft onto which a knob is attached, and knobs are sold separately. That doesn’t mean one knob fits all; there are actually a few different standards. But just because knobs are inexpensive and easily obtained doesn’t mean it’s not worth making your own.
Why bother 3D printing your own knobs instead of buying them? For one thing, making them means one can rest assured that every knob matches aesthetically. The ability to add custom or nonstandard markings are another bonus. Finally, there’s no need to re-invent the wheel, because author's guide to making your own knobs has it all figured out, with the OpenSCAD script to match.
Who needs to buy new potentiometer knobs when you can make your own? Armed with patience, calipers, and a 3D printer, this is quite doable.
More information...
#design #3d_modeling
👍5
💻 Units of Measurements for Safe C++ Variables
In your program code, you often deal with unitless values. You can add the units of measurements in the variable or function name, or by adding a comment, but there is still the risk you accidentally make wrong conversions.
The article will describe how to handle units of measurements for common time values using a custom template class. Author also explain how you use user-defined literals, so you can write values like 100_ms in your code.
The example code will only work with 32-bit processors, like the SAM D21 used in the Arduino Zero or Adafruit Feather M0 platform. You can adapt the code to compile on the AVR toolchain for Arduino Uno and similar, but this is not part of this article.
More information...
#articles #programming #cpp
In your program code, you often deal with unitless values. You can add the units of measurements in the variable or function name, or by adding a comment, but there is still the risk you accidentally make wrong conversions.
The article will describe how to handle units of measurements for common time values using a custom template class. Author also explain how you use user-defined literals, so you can write values like 100_ms in your code.
The example code will only work with 32-bit processors, like the SAM D21 used in the Arduino Zero or Adafruit Feather M0 platform. You can adapt the code to compile on the AVR toolchain for Arduino Uno and similar, but this is not part of this article.
More information...
#articles #programming #cpp
👍7