Jump to content

AI REDGIO 5.0 Open Hardware Platform: Difference between revisions

No edit summary
Line 6: Line 6:
The Open Hardware Platform for Embedded Artificial Intelligence and AI-at-the-Edge represents a significant advancement in technology and artificial intelligence (AI). This platform is based on open hardware, which allows users and developers to modify and enhance hardware according to their specific needs.  The Open Hardware Platform for Embedded AI and AI-at-the-Edge have a wide range of applications; it can be used in autonomous drones for image processing and real-time decision-making, in personal assistance devices for voice recognition and real-time interaction, or industrial sensors for monitoring and independent decision making.
The Open Hardware Platform for Embedded Artificial Intelligence and AI-at-the-Edge represents a significant advancement in technology and artificial intelligence (AI). This platform is based on open hardware, which allows users and developers to modify and enhance hardware according to their specific needs.  The Open Hardware Platform for Embedded AI and AI-at-the-Edge have a wide range of applications; it can be used in autonomous drones for image processing and real-time decision-making, in personal assistance devices for voice recognition and real-time interaction, or industrial sensors for monitoring and independent decision making.
</p>
</p>
== Open Hardware System and Software Specifications==
=== Open Hardware Specifications===
<p style="line-height: 1.5em">
ESP32-Wrover-B contains two low-power Xtensa® 32-bit LX6 microprocessors. The internal memory includes:
• 448 KB of ROM for booting and core functions.
• 520 KB of on-chip SRAM for data and instructions.
• 8 KB of SRAM in RTC, which is called RTC FAST Memory and can be used for data storage; it is accessed by the main CPU during RTC Boot from the Deep-sleep mode.
• 8 KB of SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the co-processor during the Deep-sleep mode.
• 1 Kbit of eFuse: 256 bits are used for the system (MAC address and chip configuration) and the remaining768 bits are reserved for customer applications, including flash-encryption and chip-ID.
</p>
=== Software Requirements===
Deploying an artificial intelligence model on an ESP32 requires a combination of specific tools and libraries, both for model development and hardware implementation.
The main software requirements are detailed below:
• Development Environment:
• Arduino IDE or PlatformIO: Both are popular development environments for programming the ESP32. Arduino IDE is more beginner friendly, while PlatformIO offers more advanced features.
• AI Libraries and Tools:
• TensorFlow Lite for Microcontrollers: This is a version of TensorFlow designed for low-power devices such as the ESP32. It allows you to convert TensorFlow models into formats that can be run on microcontrollers.
• ESP32 TensorFlow Lite Arduino Library: A library that facilitates the integration of TensorFlow Lite models into Arduino projects for the ESP32.
• ESP32 Drivers and Libraries:
• ESP32 Board Manager and ESP32 Libraries: These are needed to program and communicate with the ESP32 from the Arduino IDE.
• PubSubClient (optional): If you plan to integrate the ESP32 with MQTT for IoT communications.
• Modelling and Training Tools:
• TensorFlow: The primary tool for designing, training and converting AI models for use on microcontrollers.
• Python: TensorFlow and many other AI-related tools are based on Python, so it is essential to have a proper installation of Python and pip (Python package manager).
• Conversion Tools:
• TensorFlow Lite Converter: once the AI model has been trained with TensorFlow, it needs to be converted to a format that is compatible with TensorFlow Lite for Microcontrollers.
• Additional Dependencies (depending on the project):
• Libraries for specific sensors or actuators if they are involved in the project (e.g. temperature sensors, cameras, motors, etc.).
• Communication libraries if specific connectivity is required (e.g. Wi-Fi, Bluetooth, LoRa, etc.).
• Debugging and monitoring tools:
• Serial Monitor: Included in the Arduino IDE and PlatformIO, it allows to monitor the program output in real time, which is essential for debugging.


== AI at the Edge with the  AI REDGIO 5.0 Open Hardware Platform: Proof-of-Concept==
== AI at the Edge with the  AI REDGIO 5.0 Open Hardware Platform: Proof-of-Concept==

Revision as of 08:29, 13 November 2023

A page that serves as a basic template for the asset pages

Image 1: Caption

Asset Description

The Open Hardware Platform for Embedded Artificial Intelligence and AI-at-the-Edge represents a significant advancement in technology and artificial intelligence (AI). This platform is based on open hardware, which allows users and developers to modify and enhance hardware according to their specific needs. The Open Hardware Platform for Embedded AI and AI-at-the-Edge have a wide range of applications; it can be used in autonomous drones for image processing and real-time decision-making, in personal assistance devices for voice recognition and real-time interaction, or industrial sensors for monitoring and independent decision making.

Open Hardware System and Software Specifications

Open Hardware Specifications

ESP32-Wrover-B contains two low-power Xtensa® 32-bit LX6 microprocessors. The internal memory includes: • 448 KB of ROM for booting and core functions. • 520 KB of on-chip SRAM for data and instructions. • 8 KB of SRAM in RTC, which is called RTC FAST Memory and can be used for data storage; it is accessed by the main CPU during RTC Boot from the Deep-sleep mode. • 8 KB of SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the co-processor during the Deep-sleep mode. • 1 Kbit of eFuse: 256 bits are used for the system (MAC address and chip configuration) and the remaining768 bits are reserved for customer applications, including flash-encryption and chip-ID.

Software Requirements

Deploying an artificial intelligence model on an ESP32 requires a combination of specific tools and libraries, both for model development and hardware implementation. The main software requirements are detailed below: • Development Environment: • Arduino IDE or PlatformIO: Both are popular development environments for programming the ESP32. Arduino IDE is more beginner friendly, while PlatformIO offers more advanced features. • AI Libraries and Tools: • TensorFlow Lite for Microcontrollers: This is a version of TensorFlow designed for low-power devices such as the ESP32. It allows you to convert TensorFlow models into formats that can be run on microcontrollers. • ESP32 TensorFlow Lite Arduino Library: A library that facilitates the integration of TensorFlow Lite models into Arduino projects for the ESP32. • ESP32 Drivers and Libraries: • ESP32 Board Manager and ESP32 Libraries: These are needed to program and communicate with the ESP32 from the Arduino IDE. • PubSubClient (optional): If you plan to integrate the ESP32 with MQTT for IoT communications. • Modelling and Training Tools: • TensorFlow: The primary tool for designing, training and converting AI models for use on microcontrollers. • Python: TensorFlow and many other AI-related tools are based on Python, so it is essential to have a proper installation of Python and pip (Python package manager). • Conversion Tools: • TensorFlow Lite Converter: once the AI model has been trained with TensorFlow, it needs to be converted to a format that is compatible with TensorFlow Lite for Microcontrollers. • Additional Dependencies (depending on the project):


• Libraries for specific sensors or actuators if they are involved in the project (e.g. temperature sensors, cameras, motors, etc.). • Communication libraries if specific connectivity is required (e.g. Wi-Fi, Bluetooth, LoRa, etc.). • Debugging and monitoring tools: • Serial Monitor: Included in the Arduino IDE and PlatformIO, it allows to monitor the program output in real time, which is essential for debugging.


AI at the Edge with the AI REDGIO 5.0 Open Hardware Platform: Proof-of-Concept

The main proof of concept to validate the progress of this task has been performed through the successful integration of a rudimentary artificial intelligence (AI) model on the Open Hardware Platform, with the ESP32 development board as the basis. This example is a proof of concept and is an example of developing AI models for manufacturing by using an artificial intelligence model to make air quality predictions on the data that a sensor would send via MQTT, as shown in the following Figure:

Image Caption
Image Caption
Image 2: High level Flow of AI with the Open Hardware Platform

To achieve this, the first step is to generate an artificial intelligence model that is capable of making the necessary predictions. In the context of the current example, the model used is an AI model designed and developed as a tailor-made tool to predict air quality parameters. Going deeper, its capabilities extend to predicting the concentration of ozone (O3) that could be observed in the next hour. This prediction is based on a comprehensive analysis of reported values of particulate matter such as PM10 and PM2.5, gases such as nitrogen dioxide (NO2), sulphur dioxide (SO2), ozone (O3) and carbon monoxide (CO). Once the phases of data preparation, model training and model generation and optimisation have been passed, the last two steps, generate the Open Hardware code, compilation and finally the deployment on hardware, are still to be tested on real Open Hardware.



Features

Feature Description
Example Example
Example Example
Example Example

Usage Walkthrough

Purpose of Bunch 1 of Steps

  1. Bunch 1 - Step 1
  2. Bunch 1 - Step 2

Purpose of Bunch 2 of Steps

  1. Bunch 2 - Step 1
    1. Bunch 2 - Step 1 - Substep 1
    2. Bunch 2 - Step 1 - Substep 2

External Resources

  • Created by [HOPU]
  • Contact [email]


Relevant Categories