<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1337821233995903490</atom:id><lastBuildDate>Wed, 20 May 2026 14:39:03 +0000</lastBuildDate><category>development board</category><category>ARM Processor</category><category>hardware design</category><category>embedded Linux</category><category>electronic prototypes</category><category>development tools</category><category>portable devices</category><category>consumer electronics</category><category>USB</category><category>design contests</category><category>DSP</category><category>DIY electronics</category><category>Arduino</category><category>open hardware</category><category>conferences</category><category>Android</category><category>Wireless</category><category>test equipment</category><category>AI</category><category>BeagleBone</category><category>FPGA</category><category>machine learning</category><category>Sensors</category><category>audio effects</category><category>game development</category><category>PIC</category><category>network programming</category><category>Mathematics</category><category>computer peripherals</category><category>raspberry pi</category><category>Beaglebone Black</category><category>Displays</category><category>embedded resources</category><category>games</category><category>guitar</category><category>robotics</category><category>security</category><category>toys</category><category>8-bit microcontroller</category><category>Bluetooth</category><category>iPhone</category><category>Eagle</category><category>PC interfacing</category><category>Programming</category><category>RTOS</category><category>Windows CE</category><category>device drivers</category><category>3D Printing</category><category>CAD software</category><category>CPLD</category><category>Ethernet</category><category>STM32</category><category>benchmarks</category><category>calculator</category><category>giveaway</category><category>startups</category><category>About</category><category>Atom</category><category>BoosterPack</category><category>CADSTAR</category><category>Electronics history</category><category>JTAG</category><category>NVIDIA</category><category>RISC</category><category>RISC-V</category><category>System on Module</category><category>amplifiers</category><category>video</category><category>AVR</category><category>Atmel</category><category>BASIC</category><category>CAN</category><category>Edison</category><category>LaunchPad</category><category>MEMS</category><category>MIPS</category><category>MSP430</category><category>Mathematica</category><category>Matlab</category><category>Renesas</category><category>Scilab</category><category>arm</category><category>datalogger</category><category>floating-point</category><category>storage</category><category>synthesizer</category><title>Embedded Coding</title><description>Embedded Systems and Consumer Electronics Development</description><link>http://blog.embeddedcoding.com/</link><managingEditor>noreply@blogger.com (Aaron Clarke)</managingEditor><generator>Blogger</generator><openSearch:totalResults>223</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-9135118519725629668</guid><pubDate>Fri, 30 Jan 2026 23:13:00 +0000</pubDate><atom:updated>2026-02-02T11:37:12.739-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">DSP</category><category domain="http://www.blogger.com/atom/ns#">embedded Linux</category><category domain="http://www.blogger.com/atom/ns#">embedded resources</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">RISC</category><category domain="http://www.blogger.com/atom/ns#">RISC-V</category><category domain="http://www.blogger.com/atom/ns#">Wireless</category><title>Keyword Spotting on ESP32-C3-Lyra V2 Using ESP-IDF</title><description>&lt;!doctype html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot; /&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
  &lt;title&gt;ESP32-C3 Keyword Spotting (TFLite Micro micro_speech) with Onboard Mic (ADC)&lt;/title&gt;
  &lt;style&gt;
    body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height: 1.45; max-width: 980px; margin: 2rem auto; padding: 0 1rem; }
    code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; }
    pre { padding: 1rem; overflow: auto; border: 1px solid #ddd; border-radius: 10px; background: #fafafa; }
    h1, h2, h3 { line-height: 1.2; }
    .note { border-left: 4px solid #999; padding: 0.75rem 1rem; background: #f6f6f6; border-radius: 8px; }
    .ok { border-left-color: #2f7d32; }
    .warn { border-left-color: #b26a00; }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h2&gt;ESP32-C3 Keyword Spotting (“Yes/No”) with TFLite Micro &lt;code&gt;micro_speech&lt;/code&gt; using the Onboard Mic (ADC)&lt;/h2&gt;

&lt;p&gt;
This post documents how to run
&lt;a href=&quot;https://github.com/tensorflow/tflite-micro&quot;&gt;TensorFlow Lite for Microcontrollers (TFLM)&lt;/a&gt;
(now branded as
&lt;a href=&quot;https://ai.google.dev/edge/litert/microcontrollers/overview&quot;&gt;LiteRT for Microcontrollers&lt;/a&gt;)
keyword spotting example (&lt;a href=&quot;https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/examples/micro_speech/README.md&quot;&gt;&lt;code&gt;micro_speech&lt;/code&gt;&lt;/a&gt;)
on an ESP32-C3 board, and how to adapt the example to use the onboard analog microphone routed through the ESP32-C3 ADC. To set up the ESP32-C3-lyra V2, see this post:
&lt;a href=&quot;https://blog.embeddedcoding.com/2026/01/hello-world-on-esp32-c3-lyra-v20-using.html&quot;&gt;Hello World on ESP-32-C3-Lyra V2.0&lt;/a&gt;
&lt;/p&gt;


&lt;h2&gt;Environment / Versions&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Target board:&lt;/strong&gt; ESP32-C3 (ESP32-C3-Lyra)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;ESP-IDF version:&lt;/strong&gt; v6.x (or v6.0-dev)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Example project:&lt;/strong&gt; &lt;code&gt;esp-tflite-micro:micro_speech&lt;/code&gt; (keyword spotting “yes/no”)&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;note warn&quot;&gt;
  &lt;strong&gt;Note (ESP-IDF v6+):&lt;/strong&gt; ESP-IDF v6 removed the legacy ADC header (&lt;code&gt;driver/adc.h&lt;/code&gt;) and renamed some ADC attenuation enums.
  The ADC code below reflects those v6+ changes.
&lt;/div&gt;

&lt;h2&gt;Command Log&lt;/h2&gt;

&lt;h3&gt;1) Load the ESP-IDF environment&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;. $HOME/esp/esp-idf/export.sh&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;2) Create a new project from the &lt;code&gt;micro_speech&lt;/code&gt; example&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;cd ~
idf.py create-project-from-example &quot;espressif/esp-tflite-micro=1.3.0:micro_speech&quot;
mv ~/micro_speech ~/keyword_spotting_tflm&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;3) Set the target to ESP32-C3&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;cd ~/keyword_spotting_tflm &amp;amp;&amp;amp; idf.py set-target esp32c3&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;4) Install/verify ESP-IDF tools for ESP32-C3 (v6+ toolchain)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;python3 $IDF_PATH/tools/idf_tools.py install --targets esp32c3
. $HOME/esp/esp-idf/export.sh&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;5) Build&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;cd ~/keyword_spotting_tflm &amp;amp;&amp;amp; idf.py build&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;6) Flash and open the serial monitor&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;cd ~/keyword_spotting_tflm &amp;amp;&amp;amp; idf.py -p /dev/ttyUSB0 flash monitor&lt;/code&gt;&lt;/pre&gt;

&lt;div class=&quot;note&quot;&gt;
  &lt;strong&gt;Exit the monitor:&lt;/strong&gt; Press &lt;code&gt;Ctrl + ]&lt;/code&gt;
&lt;/div&gt;

&lt;h2&gt;Troubleshooting&lt;/h2&gt;

&lt;h3&gt;Issue: Default example tried I2S and failed&lt;/h3&gt;
&lt;p&gt;
The upstream &lt;code&gt;micro_speech&lt;/code&gt; project’s audio capture path attempted to configure I2S pins (I2S microphone).
On this setup, we used the onboard mic through ADC instead. The following error occurs:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;E (...) i2s_set_pin(...): bck_io_num invalid
E (...) TF_LITE_AUDIO_PROVIDER: Error in i2s_set_pin&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Fix: Switch audio capture from I2S to ADC continuous sampling&lt;/h4&gt;

&lt;p&gt;
Key points of the ADC implementation:
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Use &lt;code&gt;esp_adc/adc_continuous.h&lt;/code&gt; continuous mode to sample at &lt;code&gt;16 kHz&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Convert 12-bit unsigned ADC samples into signed 16-bit PCM-like samples centered around mid-scale.&lt;/li&gt;
  &lt;li&gt;Write samples into the existing ring buffer so the model’s &lt;code&gt;GetAudioSamples()&lt;/code&gt; continues to work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Replace &lt;code&gt;audio_provider.cc&lt;/code&gt; with the working ADC version (ESP32-C3 TYPE2) by replacing the entire contents of:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;~/keyword_spotting_tflm/main/audio_provider.cc&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
with the following code:
&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* ADC-based audio provider for ESP32-C3-Lyra (MIC_ADC on IO0 / ADC1 CH0) */

#include &quot;audio_provider.h&quot;

#include &amp;lt;cstring&amp;gt;

#include &quot;freertos/FreeRTOS.h&quot;
#include &quot;freertos/task.h&quot;

#include &quot;esp_log.h&quot;

#include &quot;esp_adc/adc_continuous.h&quot;

#include &quot;ringbuf.h&quot;
#include &quot;micro_model_settings.h&quot;

static const char* TAG = &quot;TF_LITE_AUDIO_PROVIDER&quot;;

ringbuf_t* g_audio_capture_buffer;
volatile int32_t g_latest_audio_timestamp = 0;

constexpr int32_t history_samples_to_keep =
    ((kFeatureDurationMs - kFeatureStrideMs) * (kAudioSampleFrequency / 1000));
constexpr int32_t new_samples_to_get =
    (kFeatureStrideMs * (kAudioSampleFrequency / 1000));

const int32_t kAudioCaptureBufferSize = 40000;

namespace {
int16_t g_audio_output_buffer[kMaxAudioSampleSize * 32];
bool g_is_audio_initialized = false;
int16_t g_history_buffer[history_samples_to_keep];

adc_continuous_handle_t g_adc_handle = NULL;

// Read buffer (raw ADC frames)
static constexpr size_t kAdcReadBytes = 1024;
uint8_t g_adc_read_buf[kAdcReadBytes];

// Temporary PCM buffer (int16)
int16_t g_pcm_buf[kAdcReadBytes / sizeof(adc_digi_output_data_t)];

// ESP32-C3-Lyra MIC_ADC is routed to IO0 =&amp;gt; ADC1 channel 0
static constexpr adc_unit_t kAdcUnit = ADC_UNIT_1;
static constexpr adc_channel_t kAdcChannel = ADC_CHANNEL_0;
static constexpr adc_atten_t kAdcAtten = ADC_ATTEN_DB_12;
static constexpr adc_bitwidth_t kAdcBitwidth = ADC_BITWIDTH_12;
}  // namespace

static void adc_init_continuous() {
  adc_continuous_handle_cfg_t handle_cfg = {
      .max_store_buf_size = 4096,
      .conv_frame_size = 1024,
  };
  ESP_ERROR_CHECK(adc_continuous_new_handle(&amp;handle_cfg, &amp;g_adc_handle));

  adc_digi_pattern_config_t pattern = {};
  pattern.atten = kAdcAtten;
  pattern.channel = kAdcChannel;
  pattern.unit = kAdcUnit;
  pattern.bit_width = kAdcBitwidth;

  adc_continuous_config_t dig_cfg = {};
  dig_cfg.sample_freq_hz = kAudioSampleFrequency;  // 16 kHz
  dig_cfg.conv_mode = ADC_CONV_SINGLE_UNIT_1;

  // ESP32-C3 DMA output uses TYPE2 layout
  dig_cfg.format = ADC_DIGI_OUTPUT_FORMAT_TYPE2;

  dig_cfg.pattern_num = 1;
  dig_cfg.adc_pattern = &amp;pattern;

  ESP_ERROR_CHECK(adc_continuous_config(g_adc_handle, &amp;dig_cfg));
  ESP_ERROR_CHECK(adc_continuous_start(g_adc_handle));
}

static inline int16_t adc12_to_pcm16(uint16_t adc12) {
  int32_t centered = (int32_t)adc12 - 2048;
  int32_t pcm = centered &amp;lt;&amp;lt; 4;  // scale 12-bit to ~16-bit
  if (pcm &amp;gt; 32767) pcm = 32767;
  if (pcm &amp;lt; -32768) pcm = -32768;
  return (int16_t)pcm;
}

static void CaptureSamples(void* arg) {
  adc_init_continuous();

  while (true) {
    uint32_t out_bytes = 0;
    esp_err_t ret = adc_continuous_read(
        g_adc_handle, g_adc_read_buf, kAdcReadBytes, &amp;amp;out_bytes, pdMS_TO_TICKS(200));

    if (ret == ESP_OK &amp;amp;&amp;amp; out_bytes &amp;gt; 0) {
      const size_t n_frames = out_bytes / sizeof(adc_digi_output_data_t);

      for (size_t i = 0; i &amp;lt; n_frames; i++) {
        const adc_digi_output_data_t* p =
            (const adc_digi_output_data_t*)(g_adc_read_buf +
                                            i * sizeof(adc_digi_output_data_t));

        // ESP32-C3 uses type2 layout (type1 will not compile)
        uint16_t raw = (uint16_t)(p-&amp;gt;type2.data);

        g_pcm_buf[i] = adc12_to_pcm16(raw);
      }

      const int bytes_to_write = (int)(n_frames * sizeof(int16_t));
      const int bytes_written = rb_write(g_audio_capture_buffer,
                                         (uint8_t*)g_pcm_buf,
                                         bytes_to_write,
                                         pdMS_TO_TICKS(200));

      if (bytes_written &amp;gt; 0) {
        const int samples_written = bytes_written / (int)sizeof(int16_t);
        g_latest_audio_timestamp += (1000 * samples_written) / kAudioSampleFrequency;
      }
    }

    if (ret != ESP_OK &amp;amp;&amp;amp; ret != ESP_ERR_TIMEOUT) {
      ESP_LOGE(TAG, &quot;adc_continuous_read failed: %s&quot;, esp_err_to_name(ret));
      vTaskDelay(pdMS_TO_TICKS(50));
    }
  }
}

TfLiteStatus InitAudioRecording() {
  g_audio_capture_buffer = rb_init(&quot;tf_ringbuffer&quot;, kAudioCaptureBufferSize);
  if (!g_audio_capture_buffer) {
    ESP_LOGE(TAG, &quot;Error creating ring buffer&quot;);
    return kTfLiteError;
  }

  xTaskCreate(CaptureSamples, &quot;CaptureSamples&quot;, 1024 * 4, NULL, 10, NULL);

  while (!g_latest_audio_timestamp) {
    vTaskDelay(1);
  }

  ESP_LOGI(TAG, &quot;Audio Recording started (ADC continuous)&quot;);
  return kTfLiteOk;
}

TfLiteStatus GetAudioSamples1(int* audio_samples_size, int16_t** audio_samples) {
  if (!g_is_audio_initialized) {
    TfLiteStatus init_status = InitAudioRecording();
    if (init_status != kTfLiteOk) {
      return init_status;
    }
    g_is_audio_initialized = true;
  }

  int bytes_read =
      rb_read(g_audio_capture_buffer, (uint8_t*)(g_audio_output_buffer), 16000, 1000);
  if (bytes_read &amp;lt; 0) {
    ESP_LOGI(TAG, &quot;Couldn&#39;t read data in time&quot;);
    bytes_read = 0;
  }
  *audio_samples_size = bytes_read;
  *audio_samples = g_audio_output_buffer;
  return kTfLiteOk;
}

TfLiteStatus GetAudioSamples(int start_ms, int duration_ms,
                             int* audio_samples_size, int16_t** audio_samples) {
  if (!g_is_audio_initialized) {
    TfLiteStatus init_status = InitAudioRecording();
    if (init_status != kTfLiteOk) {
      return init_status;
    }
    g_is_audio_initialized = true;
  }

  memcpy((void*)(g_audio_output_buffer), (void*)(g_history_buffer),
         history_samples_to_keep * sizeof(int16_t));

  int bytes_read =
      rb_read(g_audio_capture_buffer,
              ((uint8_t*)(g_audio_output_buffer + history_samples_to_keep)),
              new_samples_to_get * sizeof(int16_t), pdMS_TO_TICKS(200));

  if (bytes_read &amp;lt; 0) {
    ESP_LOGE(TAG, &quot;Model could not read data from Ring Buffer&quot;);
  }

  memcpy((void*)(g_history_buffer),
         (void*)(g_audio_output_buffer + new_samples_to_get),
         history_samples_to_keep * sizeof(int16_t));

  *audio_samples_size = kMaxAudioSampleSize;
  *audio_samples = g_audio_output_buffer;
  return kTfLiteOk;
}

int32_t LatestAudioTimestamp() { return g_latest_audio_timestamp; }&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Issue: Missing header &lt;code&gt;esp_adc/adc_continuous.h&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;
After adding the include, the build failed with:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;fatal error: esp_adc/adc_continuous.h: No such file or directory&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Fix: Add the &lt;code&gt;esp_adc&lt;/code&gt; component dependency&lt;/h4&gt;
&lt;p&gt;
Edit &lt;code&gt;main/CMakeLists.txt&lt;/code&gt; to include &lt;code&gt;esp_adc&lt;/code&gt; to &lt;code&gt;PRIV_REQUIRES&lt;/code&gt; (or &lt;code&gt;REQUIRES&lt;/code&gt;):
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nano ~/keyword_spotting_tflm/main/CMakeLists.txt&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;idf_component_register(
  SRCS ...
  INCLUDE_DIRS .
  PRIV_REQUIRES esp_adc
)&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Issue: &lt;code&gt;adc_digi_output_data_t&lt;/code&gt; had no &lt;code&gt;type1&lt;/code&gt; on ESP32-C3&lt;/h3&gt;
&lt;p&gt;
Build error:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;error: &#39;const struct adc_digi_output_data_t&#39; has no member named &#39;type1&#39;&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Fix: Use the ESP32-C3 struct layout (TYPE2)&lt;/h4&gt;
&lt;p&gt;
Make the following changes in the file &lt;code&gt;keyword_spotting_tflm/main/audio_provider.cc&lt;/code&gt;:
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;ADC_DIGI_OUTPUT_FORMAT_TYPE1&lt;/code&gt; → &lt;code&gt;ADC_DIGI_OUTPUT_FORMAT_TYPE2&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;p-&amp;gt;type1.data&lt;/code&gt; → &lt;code&gt;p-&amp;gt;type2.data&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next, rebuild and reflash:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd ~/keyword_spotting_tflm &amp;amp;&amp;amp; idf.py build
cd ~/keyword_spotting_tflm &amp;amp;&amp;amp; idf.py -p /dev/ttyUSB0 flash monitor&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Issue: Toolchain version mismatch on ESP-IDF v6+&lt;/h3&gt;
&lt;p&gt;
If the build fails with a toolchain mismatch (e.g., expected &lt;code&gt;esp-15.2.0_20250929&lt;/code&gt;), install the ESP32-C3 toolchain:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;python3 $IDF_PATH/tools/idf_tools.py install --targets esp32c3
. $HOME/esp/esp-idf/export.sh&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Issue: &lt;code&gt;idf.py fullclean&lt;/code&gt; refuses&lt;/h3&gt;
&lt;p&gt;
If &lt;code&gt;idf.py fullclean&lt;/code&gt; refuses to delete the build directory, delete it manually:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd ~/keyword_spotting_tflm
rm -rf build
idf.py build&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
After switching the audio provider to ADC and aligning the ADC DMA output format for ESP32-C3, the application ran successfully and
recognized the keywords “yes” and “no” over serial output. The next post will include customization for keyword spotting with additional words.
&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;
</description><link>http://blog.embeddedcoding.com/2026/01/keyword-spotting-on-esp32-c3-lyra-v2.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-7932763270665007681</guid><pubDate>Tue, 20 Jan 2026 19:25:00 +0000</pubDate><atom:updated>2026-01-30T20:48:33.998-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">RISC</category><category domain="http://www.blogger.com/atom/ns#">RISC-V</category><title>Hello World on ESP32-C3-Lyra V2.0 Using ESP-IDF</title><description>&lt;!doctype html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot; /&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
  &lt;title&gt;Flashing “Hello World” to an ESP32-C3-Lyra V2.0 on Linux (ESP-IDF)&lt;/title&gt;
  &lt;style&gt;
    :root {
      --text: #111;
      --muted: #555;
      --bg: #fff;
      --code-bg: #f6f8fa;
      --border: #e5e7eb;
      --link: #0b66c3;
    }
    body {
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;;
      color: var(--text);
      background: var(--bg);
      margin: 0;
      padding: 0;
      line-height: 1.6;
    }
    main {
      max-width: 860px;
      margin: 0 auto;
      padding: 28px 18px 64px;
    }
    header h1 {
      line-height: 1.2;
      margin: 0 0 10px;
      font-size: 2rem;
    }
    header p {
      margin: 0 0 22px;
      color: var(--muted);
    }
    h2 {
      margin-top: 34px;
      margin-bottom: 10px;
      font-size: 1.35rem;
    }
    h3 {
      margin-top: 22px;
      margin-bottom: 8px;
      font-size: 1.1rem;
    }
    ul {
      margin: 8px 0 0 22px;
    }
    code, pre {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace;
    }
    pre {
      background: var(--code-bg);
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 14px 14px;
      overflow-x: auto;
      margin: 10px 0 18px;
    }
    p {
      margin: 10px 0;
    }
    .note {
      border-left: 4px solid var(--border);
      padding: 10px 12px;
      background: #fafafa;
      border-radius: 8px;
      color: var(--muted);
      margin: 10px 0 18px;
    }
    a { color: var(--link); }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;main&gt;
    &lt;header&gt;
      &lt;h1&gt;Flashing “Hello World” to an ESP32-C3-Lyra V2.0 on Linux (ESP-IDF)&lt;/h1&gt;
      &lt;p&gt;
        This post serves as a tutorial for how to build and flash the official ESP-IDF
        &lt;code&gt;hello_world&lt;/code&gt; example to an &lt;a href=&quot;https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-c3-lyra.html&quot;&gt;ESP32-C3-Lyra-V2.0&lt;/a&gt; from a Linux machine, then verify output over UART. 			This tutorial works for any &lt;a href=&quot;https://www.espressif.com/en/products/socs/esp32-c3&quot;&gt;ESP32-C3&lt;/a&gt;. Additionally, this is a precursor to the next post in this series: &lt;a href=&quot;https://blog.embeddedcoding.com/2026/01/keyword-spotting-on-esp32-c3-lyra-v2.html&quot;&gt; Keyword Spotting using ESP32-C3-Lyra V2.0 &lt;/a&gt;
      &lt;/p&gt;
    &lt;/header&gt;

    &lt;section&gt;
      &lt;h2&gt;prerequisites:&lt;/h2&gt;

      &lt;h3&gt;Hardware&lt;/h3&gt;
      &lt;ul&gt;
        &lt;li&gt;ESP32-C3 development board&lt;/li&gt;
        &lt;li&gt;USB cable&lt;/li&gt;
        &lt;li&gt;USB-to-UART bridge presented as CP2102N (common on many ESP32 boards)&lt;/li&gt;
      &lt;/ul&gt;

      &lt;h3&gt;Software&lt;/h3&gt;
      &lt;ul&gt;
        &lt;li&gt;Ubuntu 22.04 &lt;/li&gt;
        &lt;li&gt;ESP-IDF v5.2.3 (installed from source)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Step 1: Verify the board appears as a serial device&lt;/h2&gt;
      &lt;p&gt;Plug the board in over USB and check the kernel log:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;sudo dmesg -T | tail -n 30&lt;/code&gt;&lt;/pre&gt;

      &lt;p&gt;You should see something indicating a USB-to-UART bridge and the assigned device node, for example:&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;code&gt;CP2102N USB to UART Bridge Controller&lt;/code&gt;&lt;/li&gt;
        &lt;li&gt;&lt;code&gt;... now attached to ttyUSB0&lt;/code&gt;&lt;/li&gt;
      &lt;/ul&gt;

      &lt;p&gt;That means your UART port is likely &lt;code&gt;/dev/ttyUSB0&lt;/code&gt;.&lt;/p&gt;
	  
      &lt;p&gt;Exit the screen using &lt;b&gt;Ctrl+A&lt;/b&gt; then &lt;b&gt;K&lt;/b&gt;  then &lt;b&gt;y&lt;/b&gt;
    
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Step 2: Install required packages&lt;/h2&gt;
      &lt;p&gt;Install the typical ESP-IDF build dependencies:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install -y git python3 python3-venv python3-pip cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0&lt;/code&gt;&lt;/pre&gt;
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Step 3: Install ESP-IDF (v5.2.3) + ESP32-C3 toolchain&lt;/h2&gt;
      &lt;p&gt;Clone ESP-IDF and install only what you need for ESP32-C3:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;cd ~ &amp;amp;&amp;amp; git clone -b v5.2.3 --recursive https://github.com/espressif/esp-idf.git &amp;amp;&amp;amp; cd esp-idf &amp;amp;&amp;amp; ./install.sh esp32c3&lt;/code&gt;&lt;/pre&gt;

      &lt;p&gt;Then load the environment into your current terminal session:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;. ./export.sh&lt;/code&gt;&lt;/pre&gt;

      &lt;p&gt;From this point, &lt;code&gt;idf.py&lt;/code&gt; should be available.&lt;/p&gt;
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Step 4: Create a local &lt;code&gt;hello_world&lt;/code&gt; project&lt;/h2&gt;
      &lt;p&gt;Copy the example out of the ESP-IDF tree (so you can edit safely later):&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;cd ~ &amp;amp;&amp;amp; cp -r ~/esp-idf/examples/get-started/hello_world ~/hello_world&lt;/code&gt;&lt;/pre&gt;
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Step 5: Set the target to ESP32-C3&lt;/h2&gt;
      &lt;pre&gt;&lt;code&gt;cd ~/hello_world &amp;amp;&amp;amp; idf.py set-target esp32c3&lt;/code&gt;&lt;/pre&gt;
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Step 6: Build, flash, and monitor&lt;/h2&gt;
      &lt;p&gt;Flash to the detected serial port and open the monitor immediately:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;idf.py -p /dev/ttyUSB0 flash monitor&lt;/code&gt;&lt;/pre&gt;

      &lt;p&gt;If you get a permissions error on &lt;code&gt;/dev/ttyUSB0&lt;/code&gt;, rerun with &lt;code&gt;sudo&lt;/code&gt;:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;sudo idf.py -p /dev/ttyUSB0 flash monitor&lt;/code&gt;&lt;/pre&gt;

      &lt;p&gt;&lt;strong&gt;To exit the ESP-IDF monitor:&lt;/strong&gt; press &lt;code&gt;Ctrl + ]&lt;/code&gt;.&lt;/p&gt;
    &lt;/section&gt;

    &lt;section&gt;
      &lt;h2&gt;Expected output&lt;/h2&gt;
      &lt;p&gt;After flashing, the monitor should show &lt;code&gt;hello_world&lt;/code&gt; output similar to:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;Hello world!
This is esp32c3 chip with 1 CPU core(s), WiFi/BLE, silicon revision v0.3, 2MB external flash
Minimum free heap size: 328280 bytes&lt;/code&gt;&lt;/pre&gt;


    &lt;section&gt;
      &lt;h2&gt;Troubleshooting &lt;/h2&gt;

      &lt;h3&gt;1) &lt;code&gt;idf.py: command not found&lt;/code&gt;&lt;/h3&gt;
      &lt;p&gt;Re-run:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;. ./export.sh&lt;/code&gt;&lt;/pre&gt;

      &lt;h3&gt;2) Wrong serial port&lt;/h3&gt;
      &lt;p&gt;Re-run:&lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;sudo dmesg -T | tail -n 30&lt;/code&gt;&lt;/pre&gt;
      &lt;p&gt;Look for &lt;code&gt;ttyUSB0&lt;/code&gt; vs &lt;code&gt;ttyACM0&lt;/code&gt;, then update the &lt;code&gt;-p&lt;/code&gt; argument accordingly.&lt;/p&gt;

      &lt;h3&gt;3) Permission denied on &lt;code&gt;/dev/ttyUSB0&lt;/code&gt;&lt;/h3&gt;
      &lt;ul&gt;
        &lt;li&gt;Use &lt;code&gt;sudo&lt;/code&gt; as shown above, or add your user to the serial group (commonly &lt;code&gt;dialout&lt;/code&gt;) and re-login.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;


  &lt;/main&gt;
&lt;/body&gt;
&lt;/html&gt;


</description><link>http://blog.embeddedcoding.com/2026/01/hello-world-on-esp32-c3-lyra-v20-using.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-6020663494640712388</guid><pubDate>Fri, 20 Jun 2025 13:09:00 +0000</pubDate><atom:updated>2025-06-20T09:09:46.056-04:00</atom:updated><title>A Guide to Using ST Edge AI Developer Cloud</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;title&gt;Using ST Edge AI Developer Cloud&lt;/title&gt;
&lt;/head&gt;
&lt;body style=&quot;text-align: left; font-family: Arial, sans-serif;&quot;&gt;



  &lt;p&gt;
    In a previous post, 
    &lt;a href=&quot;https://blog.embeddedcoding.com/2024/11/a-guide-to-stmicroelectronics-edge-ai.html&quot; target=&quot;_blank&quot;&gt;
      A Guide to STMicroelectronics&#39; Edge AI Suite Tools
    &lt;/a&gt;, 
    I provided an overview of the tools in STMicroelectronics&#39; 
    &lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite.html&quot; target=&quot;_blank&quot;&gt;Edge AI Suite&lt;/a&gt;. 
    In this post, we&#39;ll focus on one such tool— 
    &lt;a href=&quot;https://stedgeai-dc.st.com/home&quot; target=&quot;_blank&quot;&gt;ST Edge AI Developer Cloud&lt;/a&gt;—
    and walk through how to use it to test machine learning models.
  &lt;/p&gt;

  &lt;p&gt;
    ST Edge AI Developer Cloud is a web-based tool that allows you to test machine learning models by remotely accessing ST boards. 
    It enables simulation of deployment and performance testing without the need to purchase any physical boards.
  &lt;/p&gt;

  &lt;p&gt;
    This guide outlines each step required to use the Developer Cloud, with screenshots provided to show the exact process. 
    A similar walkthrough is also available in a video on the 
    &lt;a href=&quot;https://www.youtube.com/@stmicroelectronics/videos&quot; target=&quot;_blank&quot;&gt;STMicroelectronics YouTube Channel&lt;/a&gt;.
  &lt;/p&gt;

  
  &lt;div style=&quot;max-width: 640px; margin: 20px 0;&quot;&gt;
  &lt;iframe 
    width=&quot;100%&quot; 
    height=&quot;360&quot; 
    src=&quot;https://www.youtube.com/embed/YLee9a4cbio&quot; 
    title=&quot;ST Edge AI Developer Cloud Walkthrough&quot;
    frameborder=&quot;0&quot;
    allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-		picture; web-share&quot;
    allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
  
  &lt;h3&gt;Walkthrough&lt;/h3&gt;

  &lt;h4&gt;1. Accessing Edge AI Developer Cloud&lt;/h4&gt;
  &lt;p&gt;
    Visit the 
    &lt;a href=&quot;https://stedgeai-dc.st.com/home&quot; target=&quot;_blank&quot;&gt;ST Edge AI Developer Cloud&lt;/a&gt; 
    and click &quot;Start Now&quot; on the landing page.
  &lt;/p&gt;
	
  &lt;!-- Start Page --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhqCEdHHrSniwDHSHY-aOrlJB88MWAjuQQvNshJK-3EGCmh9_l0bor6Oye58A3zIF8SE-eUrqQgk7PB1G5NgU7wa6pljvrjTp_FrXa4kqLpyvFPTwYBPUEBxPsYCbeRobkUyHRUrtMZ7dCDMLl4h5kfjTk4vGwq4hmm0qJSw4ZKH8UTU7FqKPpz55cZsfWd&quot; 
  alt=&quot;ST Edge AI Developer Cloud Start Page&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;

  
  
  &lt;h4&gt;2. Sign in or Create an Account&lt;/h4&gt;
  &lt;p&gt;
    To use the tool, log into your myST account or create one if you haven&#39;t already.
  &lt;/p&gt;

  
  &lt;!-- myST Account Creation/Login --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXOQUyulJRV97BY4ElheSHfyq087lrMqlfBBCTjkOrydZlG50WjQJTq2za4cKoh_FnaRZrQBd2oHB-DBNEVZUcVUKXKWsH01fWUtlPs0fEMXuyr8lCkbSrZDHTOmwOS049rvyBrLzAs8evB5Bgq4HIAdBALnx83cE4P4xlGcILotv5xloNxbuLTrvXzqQE/w471-h212/2%20-%20Create%20myST%20account.png&quot; 
  alt=&quot;Create myST Account&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;

  
  
  &lt;h4&gt;3. Import a Model&lt;/h4&gt;
  &lt;p&gt;
    Import a model from your device or from the ST Model Zoo. 
    For this example, I will use the first &quot;Hand Posture&quot; model that appears in the Model Zoo. 
    Once selected, click &quot;Start&quot; next to the imported model.
  &lt;/p&gt;
  &lt;!-- Model Selection from Model Zoo --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyAp_pkcEsqH-xq_N5r1SImD0SEAv1UvoR9PRxJuMcYFGBXOHZZ1F8thlRMcMxv8GnTG05RbcXPWtKokWIeU_8dAAfbLPEdaOdKfEEyqftMmMEtDpHZ6FA65mPzefSXj7_3HHt0dKpueJ7-QGeUdOMi2MwrB0rLfElC6PhYRG5yinICVB8dk9VhpkAX8LL&quot; 
  alt=&quot;Select Hand Posture Model&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;
  

  &lt;h4&gt;4. Choose Platform &amp; Version&lt;/h4&gt;
  &lt;p&gt;
    Select a version and platform to use. For this demonstration, I will use the default version, 
    ST Edge AI Core 1.0.0, and select STM32 MPUs as the target platform.
  &lt;/p&gt;

  &lt;!-- Select Platform and Version --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiAgNMKHAZlpDkG92aTCPHkRT-veDbqxkydZXXdOPyOlBbrGvtH2xcI7DkhxNvMvj9MVzk8KKAJSdx2gEXi7V69s2knHE_OHGbVDs7oN4hgB567ULQ-eGY5Lz7sydG7tNMd5V5JYYL3UWZe2yaLvjaFIWOTC0ns03z0GUuRTWiehcyKL11vIC0H4O8uf3Mt&quot; 
  alt=&quot;Platform and Version Selection&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;

  
  
  &lt;h4&gt;5. Quantize the Model&lt;/h4&gt;
  &lt;p&gt;
    Click &quot;Launch Quantization&quot;. You may also upload a &lt;code&gt;.npz&lt;/code&gt; file for accuracy evaluation. 
    After quantization, click &quot;Go Next&quot; to move on to the Optimization stage.
  &lt;/p&gt;

  &lt;!-- Launch Quantization --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgY4ANUCjvS19Hy3Ri48pYxgy3I697jUXNKPE9CqGE5-lKN1aqpI4xFvp_2JRh9CclhHeETm4wcvGH1fwYL4Cpa86c3q__T4XrxmM9npqJFV7GkM7Zfkf7PcvMvQrvQv3qWwcu1OCWT-uc3UhTcLIH8V-ZY99GwFokA6F7wPA82OwuFlJ_odkOk8hJoiVal&quot; 
  alt=&quot;Quantization Step&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;

  
  &lt;h4&gt;6. Optimize the Model&lt;/h4&gt;
  &lt;p&gt;
    In the Optimization section, select a &lt;code&gt;.tflite&lt;/code&gt; file from the model selector at the top, 
    then click &quot;Optimize&quot;.
    Once the model has been optimized, click &quot;Continue&quot;, which will appear next to the &quot;Optimize&quot; button.
  &lt;/p&gt;

  &lt;!-- Optimization Section --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjw6NzMu9VZhemZE6Z5r3B-ckFTJg3DH5SOny0G9kT-7PktXdDe0toZHGbscU5gxkfe5csmRg1UAtSSLhio4Bmgt_W_m3GeUt5XF5EbOZbOx0jQLJAMRIY9FtmDOxpaKINVULCsEM6FtW5A2LZ0XsUSD3xqkYZFqaD1tZkCFHi1rmXKRaCn5C1uEZZADo5S&quot; 
  alt=&quot;Optimize Model&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;

  
  &lt;h4&gt;7. Benchmark Across Boards&lt;/h4&gt;
  &lt;p&gt;
    Click &quot;Start Benchmark&quot; for all available boards. This will remotely run inference on a physical board 
    and display the inference time once complete. 
    Afterwards, click &quot;Go Next&quot; above the boards.
  &lt;/p&gt;
  
  
  &lt;!-- Benchmark Step --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgTLfcTkKMUuXoCLy-caCuYx2fOM_w5-pPSwjZcImFeuQBXCyKnw5hmYWqgz9g9YZJumf6T8NggIVs-E5zl_RDuuYfs1OuC33aGdHUuhv991853QKYywccEOkdiUCi1eAvd1f6OMhM3-nQ0CAq0gTBr44h2dLz70wgjFxNecEaua2FvxS0y1XAqcVcIuYY-&quot; 
  alt=&quot;Benchmark Across Boards&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;


  &lt;h4&gt;8. View Results&lt;/h4&gt;
  &lt;p&gt;
    Under the &quot;Results&quot; section, you can view metrics such as weight size, performance, and resource utilization.
  &lt;/p&gt;
  &lt;p&gt;
    The &quot;Show details per layer&quot; option shows the resource utilization on the selected board, 
    and the &quot;Show performance summary&quot; option compares inference times across all tested boards.
    After reviewing the results, click &quot;Go Next&quot;.
  &lt;/p&gt;

  
  &lt;!-- Results and Performance Summary --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEggKQLy-VmytAq5ALk83kL89qoi0rWDpgLr4FNB2CZgvIoy92ENe_9J-G_xz-TLvWksFMQJoA9a-2-Dw0Pqj7qkLyKXZF5-1GYQc_3mh3qM8nu9kLUZFNnRj-MVVF6Y5h7S_QAQ4MSBGrhLBEuh8SbduqCWDY2okhYlmBfyCIsXslttzQF4mymLo6ras9fF&quot; 
  alt=&quot;View Inference Results&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;

  
  &lt;h4&gt;9. Generate Code&lt;/h4&gt;
  &lt;p&gt;
    Based on the benchmark results, generate code tailored to the optimal board. 
    In this example, we will select the STM32MP135F-DK board, 
    as it showed the fastest inference time. 
    To view the timings, refer to the &quot;Show Performance Summary&quot; graph from the &quot;Results&quot; section.
  &lt;/p&gt;
  
  
  &lt;!-- Final Board Selection and Code Generation --&gt;
&lt;img 
  src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEil57DDT3ZxHJjV5s1WldNsS68OvbbT4tKFVSIwZqnL9g9T96IbtQLIBsCgmHHWRJswi2s8v157dAO_4SPpGH-D8snxwT1lrjTTjdNRRch3XBIZuAza4yBtr8rT0Ql6-YyseQMrR_6LHs9OAOmVwW-q_BU9ozlStXoUV5Q5mNZSgZhA1KZvJL8E4f2UcjAA&quot; 
  alt=&quot;Code Generation Summary&quot;
  width=&quot;500&quot;
  style=&quot;margin: 20px 0;&quot;
/&gt;


  &lt;h3&gt;Conclusion&lt;/h3&gt;
  &lt;p&gt;
    The ST Edge AI Developer Cloud is a powerful testing environment for optimizing AI models on ST hardware. 
    By allowing developers to evaluate boards remotely, it streamlines the deployment process and speeds up 
    decision-making when selecting the best platform for your machine learning applications.
  &lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;
</description><link>http://blog.embeddedcoding.com/2025/06/a-guide-to-using-st-edge-ai-developer.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/YLee9a4cbio/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-2341654944279281893</guid><pubDate>Tue, 13 May 2025 18:22:00 +0000</pubDate><atom:updated>2025-05-13T15:38:06.072-04:00</atom:updated><title>Fix for KiCad Causing Windows Shutdown</title><description>&lt;p&gt;Recently while working with &lt;a href=https://www.kicad.org/blog/2025/05/KiCad-9.0.2-Release/ download&gt;KiCad 9.0.2&lt;/a&gt;, my Windows 11 machine kept shutting down unexpectedly. To fix this issue I had to uninstall all versions of KiCad on my computer, then reinstall the latest version. In this instance, I had 7.0, 8.0 and 9.0 installed. &lt;br&gt; &lt;p&gt;

&lt;p&gt;Once all versions have been removed, double check your start menu for an app called &quot;KiCad Command Prompt&quot;. If it appears, you may need to uninstall it also. Additionally, you may need to restart your computer. Afterwards, proceed with reinstalling 9.0.2. &lt;br&gt; &lt;p&gt;

Now that 9.0.2 runs smoothly, I will check back upon future releases to see if similar issues arise.</description><link>http://blog.embeddedcoding.com/2025/05/fix-for-kicad-causing-windows-shutdown.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-7527017464917445675</guid><pubDate>Fri, 14 Mar 2025 23:42:00 +0000</pubDate><atom:updated>2025-05-10T07:27:53.712-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">DSP</category><category domain="http://www.blogger.com/atom/ns#">embedded resources</category><category domain="http://www.blogger.com/atom/ns#">hardware design</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Wireless</category><title>How to Build the TensorFlow Lite C API from Source Inside WSL</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;title&gt;How to Build TensorFlow Lite C API from Source Inside WSL&lt;/title&gt;
  &lt;style&gt;
    body { font-family: Arial, sans-serif; line-height: 1.6; padding: 20px; max-width: 800px; margin: auto; }
    pre { background: #f4f4f4; padding: 10px; border-left: 4px solid #ccc; overflow-x: auto; }
    code { font-family: monospace; }
    h1 { color: #333; font-size: 28px; }
    h2 { color: #333; font-size: 14px; }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;!--&lt;h1&gt;How to Build TensorFlow Lite C API from Source Inside WSL&lt;/h1&gt;--&gt;

  &lt;p&gt;&lt;strong&gt;TensorFlow Lite&lt;/strong&gt; is a lightweight, efficient runtime for deploying machine learning models on edge devices. It&#39;s ideal for environments that are low-power and performance-critical such as embedded systems mobile devices, and microcontrollers.&lt;/p&gt;

  &lt;p&gt;Building the &lt;strong&gt;TensorFlow Lite C API from source&lt;/strong&gt; inside Windows Subsystem for Linux (WSL) allows you to integrate AI inference into native C applications. This is useful when working on constrained devices, building low-level systems, or working with existing C/C++ codebases.&lt;/p&gt;

  &lt;h2&gt;Step 1: Set Up WSL and Create a .wslconfig File (Optional)&lt;/h2&gt;+
  &lt;p&gt;To prevent Bazel crashes from memory exhaustion, increase the memory limit for WSL. First, Open the Terminal(Windows Powershell):&lt;/p&gt;
  &lt;pre&gt;&lt;code&gt;# On Windows (not WSL):
Create C:\Users\&amp;lt;yourname&amp;gt;\.wslconfig with the following content:

[wsl2]
memory=6GB
processors=4&lt;/code&gt;&lt;/pre&gt;
  &lt;p&gt;To do this with Notepad:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Open the Start menu and type &lt;strong&gt;Notepad&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Paste the above configuration text into the new file&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;File &amp;gt; Save As...&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Set &lt;strong&gt;File name:&lt;/strong&gt; &lt;code&gt;.wslconfig&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;Set &lt;strong&gt;Save as type:&lt;/strong&gt; to &lt;code&gt;All Files&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;Save it to &lt;code&gt;C:\Users\&amp;lt;yourname&amp;gt;\&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Then from PowerShell:&lt;/p&gt;
  &lt;pre&gt;&lt;code&gt;wsl --shutdown&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 2: Install Prerequisites&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;sudo apt update
sudo apt install -y build-essential clang git wget python3-pip&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 3: Install Numpy&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;pip install numpy&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 4: Install Bazelisk&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;wget https://github.com/bazelbuild/bazelisk/releases/download/v1.17.0/bazelisk-linux-amd64 -O bazelisk
chmod +x bazelisk
sudo mv bazelisk /usr/local/bin/bazelisk&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 5: Set the Required Bazel Version&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;export USE_BAZEL_VERSION=5.3.0
echo &#39;export USE_BAZEL_VERSION=5.3.0&#39; &gt;&gt; ~/.bashrc
source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 6: Clone TensorFlow and Check Out the Version&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout v2.12.0&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 7: Build TensorFlow Lite C API&lt;/h2&gt;
  &lt;p&gt;Optional but recommended: limit RAM usage to avoid crashes.&lt;/p&gt;
  &lt;pre&gt;&lt;code&gt;export BAZEL_BUILD_OPTS=&quot;--local_ram_resources=2048&quot;
cd tensorflow/tensorflow/lite/c
bazelisk build -c opt $BAZEL_BUILD_OPTS --define=flatbuffer_op_resolver=false //tensorflow/lite/c:libtensorflowlite_c.so&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 8: Install the Library and Headers&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;cd ~/tensorflow
sudo cp bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so /usr/local/lib/
sudo ldconfig

# Copy required top-level headers
sudo mkdir -p /usr/local/include/tflite
sudo cp tensorflow/lite/c/c_api.h /usr/local/include/tflite/

# Copy all internal TensorFlow Lite C API dependencies
sudo mkdir -p /usr/local/include/tensorflow/lite/core/c
sudo cp tensorflow/lite/core/c/c_api.h /usr/local/include/tensorflow/lite/core/c/
sudo cp tensorflow/lite/core/c/c_api_types.h /usr/local/include/tensorflow/lite/core/c/

# Copy additional headers required by the C API
sudo mkdir -p /usr/local/include/tensorflow/lite
sudo cp tensorflow/lite/builtin_ops.h /usr/local/include/tensorflow/lite/&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Step 9: Verify With a Simple C Program&lt;/h2&gt;
  &lt;pre&gt;&lt;code&gt;#include &quot;tflite/c_api.h&quot;
#include &amp;lt;stdio.h&amp;gt;

int main() {
    TfLiteModel* model = TfLiteModelCreateFromFile(&quot;model.tflite&quot;);
    if (!model) {
        printf(&quot;Failed to load TensorFlow Lite model\n&quot;);
        return 1;
    }
    printf(&quot;TensorFlow Lite model loaded successfully!\n&quot;);
    TfLiteModelDelete(model);
    return 0;
}&lt;/code&gt;&lt;/pre&gt;

  &lt;p&gt;Compile it with:&lt;/p&gt;
  &lt;pre&gt;&lt;code&gt;gcc -o tflite_test tflite_test.c -I/usr/local/include -L/usr/local/lib -ltensorflowlite_c
./tflite_test&lt;/code&gt;&lt;/pre&gt;

  &lt;h2&gt;Conclusion&lt;/h2&gt;
  &lt;p&gt;Now that you’ve built the TensorFlow Lite C API from source inside WSL, you&#39;re ready to run AI inference directly in your C applications. This setup is ideal for embedded AI applications such as digital signal processing. By building from source, you gain control when integrating with systems where Python or heavy dependencies are incompatible.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</description><link>http://blog.embeddedcoding.com/2025/03/how-to-build-tensorflow-lite-c-api-from.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-7684201463820199271</guid><pubDate>Wed, 15 Jan 2025 18:56:00 +0000</pubDate><atom:updated>2025-01-15T13:56:42.703-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">game development</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">NVIDIA</category><title>Previewing NVIDIA&#39;s Cosmos, a Generative AI Worldbuilding Tool </title><description>&lt;p&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/ai/cosmos/&quot; target=&quot;_blank&quot;&gt;NVIDIA Cosmos&lt;/a&gt; is a new platform from NVIDIA that uses generative AI for digital worldbuilding. In this post, I will demonstrate some possible outputs from Cosmos using NVIDIA&#39;s simulation tools. Afterward, I will discuss some of the functions and libraries Cosmos uses.&lt;/p&gt;

&lt;p&gt;To create your own digital worlds with Cosmos,  follow this link to the Simulation Tools in NVIDIA Explore &lt;a href=&quot;https://build.nvidia.com/explore/simulation&quot; target=&quot;_blank&quot;&gt;NVIDIA Explore - Simulation Tools&lt;/a&gt;. To start, we will select the &lt;a href=&quot;https://build.nvidia.com/nvidia/cosmos-1_0-diffusion-7b&quot; target=&quot;_blank&quot;&gt;cosmos-1.0-diffusion-7b&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHOvfSi7hz0iCl__mg5PXM-QJvqJC9-cl-nB9xt5BLWK9Z4TpkgdeDZol6kY6rpKFhrnQ8Rie9BfbBLkLcG7GxD-D6dRtm6ay-1DJMEOVsFfjram2TZcgNYxWfQ86OpOWGmTdYCE7goRSH6zLlyJyvqIGq4zyb8-7KixFoXCcHxVVHGxqOF2g8pwFnPhu/s336/cosmos%20Diffusion.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;The Preview Image for NVIDIA Cosmos Diffusion Model&quot; border=&quot;0&quot; data-original-height=&quot;233&quot; data-original-width=&quot;336&quot; height=&quot;270&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHOvfSi7hz0iCl__mg5PXM-QJvqJC9-cl-nB9xt5BLWK9Z4TpkgdeDZol6kY6rpKFhrnQ8Rie9BfbBLkLcG7GxD-D6dRtm6ay-1DJMEOVsFfjram2TZcgNYxWfQ86OpOWGmTdYCE7goRSH6zLlyJyvqIGq4zyb8-7KixFoXCcHxVVHGxqOF2g8pwFnPhu/w389-h270/cosmos%20Diffusion.png&quot; width=&quot;389&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The Preview Image for cosmos-1.0-diffusion-7b&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
  Once we&#39;ve selected cosmos-1.0-diffusion-7b, we are presented with an option to input text, an image, or a video. The default example is a robot rolling through a chemical plant, with a video as the output.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9P1NmRurhoMnpKvkkaRmw6qauuS-xMvZjsLeK1FVztj6uVv9nX0sLN508J_OxuxN3snF1g9CpD0AUK10dEkg2tgV9KDKb7fKjvvpyI2tJwIdur8VJvcR8fagWzEVZuieaoA_Cxs2qtZzr5Kc8LEguB3qUUUWKBzOFyojJ-lURb3fiDmGDxgJlrSwdjS7j/s930/robot%20beep%20boop.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;752&quot; data-original-width=&quot;930&quot; height=&quot;317&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9P1NmRurhoMnpKvkkaRmw6qauuS-xMvZjsLeK1FVztj6uVv9nX0sLN508J_OxuxN3snF1g9CpD0AUK10dEkg2tgV9KDKb7fKjvvpyI2tJwIdur8VJvcR8fagWzEVZuieaoA_Cxs2qtZzr5Kc8LEguB3qUUUWKBzOFyojJ-lURb3fiDmGDxgJlrSwdjS7j/w391-h317/robot%20beep%20boop.png&quot; width=&quot;391&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;AN AI-Generated Image of a Robot Traversing a Chemical Plant&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
For this demonstration, I&#39;m going to begin by inputting the following text into the input box: &lt;i&gt; &quot;A crane at a dock lifting a large cargo crate from a ship onto the dock. photorealistic&quot; &lt;/i&gt; After about 60 seconds, Cosmos produces a short 5-second video as output. Here is a frame from the one it generated from my first prompt:&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUS3wmQlzWgHETTfQLYDHujsKizI0SX7C31zvPSsAgcJ0mHUKRa9b-g6xV1GyrT32idRDmWm9AEWIip66_vRSP9mdNB6nR3RLxjYSUTd_ZvpWDAhyphenhyphenoj-Abt-OtR4BksAChSLGW09EgsB63o-b-QFmPTSVx11SLBpmxaLoQU9OUPN_wP39ONLmgy_16f_mu/s1167/my%20boat%20from%20AI%202.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;737&quot; data-original-width=&quot;1167&quot; height=&quot;285&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUS3wmQlzWgHETTfQLYDHujsKizI0SX7C31zvPSsAgcJ0mHUKRa9b-g6xV1GyrT32idRDmWm9AEWIip66_vRSP9mdNB6nR3RLxjYSUTd_ZvpWDAhyphenhyphenoj-Abt-OtR4BksAChSLGW09EgsB63o-b-QFmPTSVx11SLBpmxaLoQU9OUPN_wP39ONLmgy_16f_mu/w451-h285/my%20boat%20from%20AI%202.png&quot; width=&quot;451&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;An AI-Generated Image of a Dock with a Crane&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;In this case, we used the &lt;a href=&quot;https://huggingface.co/nvidia/Cosmos-1.0-Diffusion-7B-Text2World&quot; target=&quot;_blank&quot;&gt; Cosmos-1.0-diffusion-7b-Text2World&lt;/a&gt; model, which takes an input of up 300 words and produces an output video of 121 frames.As described in the linked documentation, it uses self-attention, cross-attention, and feedforward layers. Additionally, it uses adaptive layer normalization for denoising between each layer. Each layer is necessary and serves a unique purpose. &lt;/p&gt;

&lt;p&gt;Starting with the self-attention layer, it is used to determine what words in the input text will be most relevant to the output image. For example, the word &quot;crane&quot; in our prompt is weighted higher than the word &quot;at&quot;. While both are relevant to the output, the object of the crane is in the center of the video. Next, the cross-attention layer relates the information contained in each word and assigns it to a relevant image as a result. In our case, this is shown by the word crate and the image of a brown crate. To clarify, the word &quot;crate&quot; is referred to as the &lt;em&gt;source&lt;/em&gt;, and the image is referred to as the &lt;em&gt;target&lt;/em&gt;.&lt;/p&gt; 

&lt;p&gt; The third layer, the feedforward layer, redefines each word after the the cross-attention layer finds it relevance. For example, the crate in our example is placed on the dock in our image, because the feedforward layer related it to the phrase &quot;onto the dock&quot;. Lastly, the adaptive layer normalization stabilizes the output, which in this case could refer to making the crane move slowly and not too jittery.&lt;/p&gt;

&lt;p&gt;In addition to the cosmos-1.0-7b-diffusion-7b which uses the text2world model, there is also the &lt;a href=&quot;https://build.nvidia.com/nvidia/cosmos-1_0-autoregressive-5b&quot; target=&quot;_blank&quot;&gt; cosmos-1.0-autoregressive-5b model&lt;/a&gt;. 
&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6EmGW6xTHnIY5r7lhsRjLc8nwgofVAc_3zbzOa02vrGS843sUOcNx5TV6OQgj24khJof0UBxqhNe4I8ZlgvumfRG3mYLA0gEUCxZUkX-nX73a6kzuxCGjLtvbxeO35cpHwCG4dfqiEs2SqpemXAwPAdY6HLmzeY_V1Gdk9YPLZR0BMLQVmxg3pU5n9BZB/s301/cosmos%20autoregressive.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;210&quot; data-original-width=&quot;301&quot; height=&quot;283&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6EmGW6xTHnIY5r7lhsRjLc8nwgofVAc_3zbzOa02vrGS843sUOcNx5TV6OQgj24khJof0UBxqhNe4I8ZlgvumfRG3mYLA0gEUCxZUkX-nX73a6kzuxCGjLtvbxeO35cpHwCG4dfqiEs2SqpemXAwPAdY6HLmzeY_V1Gdk9YPLZR0BMLQVmxg3pU5n9BZB/w405-h283/cosmos%20autoregressive.png&quot; width=&quot;405&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The Preview Image for cosmos-1.0-autoregressive-5b&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;This model takes a picture as input and produces a 5-second video as an output. The first frame of the output video is the exact picture, and the model predicts what happens in the next 5 seconds of the scene to create the video. For this model, there are a series of 9 preselected images to choose from.  &lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaYvdbzbgT1SZydm2fCvXOfSG5pB6RrhbNztv_6ZyAWY1ZN1I6t7-4QIuJBigqNz9GRDI4vqkJAOFzkVY3zbssZVlGEqXPy1pNzj9J3zgLJeQvaRUP-XBzdhRiZRRhFq2i8XgH-7Xnzo4TbJ3SP4iYTExW7InRHaQDHs0yaKTv0nCdute3tE-n3scDrGBP/s722/video%20examples.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;666&quot; data-original-width=&quot;722&quot; height=&quot;295&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaYvdbzbgT1SZydm2fCvXOfSG5pB6RrhbNztv_6ZyAWY1ZN1I6t7-4QIuJBigqNz9GRDI4vqkJAOFzkVY3zbssZVlGEqXPy1pNzj9J3zgLJeQvaRUP-XBzdhRiZRRhFq2i8XgH-7Xnzo4TbJ3SP4iYTExW7InRHaQDHs0yaKTv0nCdute3tE-n3scDrGBP/s320/video%20examples.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Sample Images for Video Generation&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt; Similar to the text2world model, the autoregressive video2world model employs self-attention, cross-attention, and feedforward layers. It should be noted that while this model is referred to as video2world, it can accept text, images, or videos as input, and outputs a video from whichever input was given. &lt;/p&gt;

&lt;p&gt; Overall, NVIDIA Cosmos is a powerful worldbuilding tool for a variety of applications including simulation software as well as game development. To learn more about the development tools NVIDIA has to offer, check out the following post: &lt;a href=&quot;https://blog.embeddedcoding.com/2024/12/an-overview-of-nvidias-ai-tools-for.html&quot;&gt; An Overview of NVIDIA&#39;s AI Tools for Developers&lt;/a&gt;

&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2025/01/previewing-nvidias-cosmos-generative-ai.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHOvfSi7hz0iCl__mg5PXM-QJvqJC9-cl-nB9xt5BLWK9Z4TpkgdeDZol6kY6rpKFhrnQ8Rie9BfbBLkLcG7GxD-D6dRtm6ay-1DJMEOVsFfjram2TZcgNYxWfQ86OpOWGmTdYCE7goRSH6zLlyJyvqIGq4zyb8-7KixFoXCcHxVVHGxqOF2g8pwFnPhu/s72-w389-h270-c/cosmos%20Diffusion.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-621851629994262190</guid><pubDate>Wed, 08 Jan 2025 16:32:00 +0000</pubDate><atom:updated>2025-01-09T10:45:13.184-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">NVIDIA</category><title>NVIDIA&#39;s Jetson Orin Nano Super Developer Kit </title><description>NVIDIA recently unveiled their new&amp;nbsp;&lt;a href=&quot;https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/nano-super-developer-kit/&quot;&gt;Jetson Orin Nano Super Developer Kit&lt;/a&gt;, a powerful computer designed for using AI on edge devices.&amp;nbsp; Key features of the kit include a performance of up to 67 TOPS(Trillion Operations per Second), 102 GB/s of memory bandwidth, and a CPU frequency of up to 1.7 GHz. Other technical specifications found on the&amp;nbsp;&lt;a href=&quot;https://nvdam.widen.net/s/zkfqjmtds2/jetson-orin-datasheet-nano-developer-kit-3575392-r2&quot;&gt;datasheet&lt;/a&gt;&amp;nbsp;are a 6-core ARM Cortex-A78AE v8.2 64-bit CPU (&lt;a href=&quot;https://armkeil.blob.core.windows.net/developer/Files/pdf/product-brief/arm-cortex-a78ae-product-brief.pdf&quot;&gt;arm-cortex-a78ae-product-brief&lt;/a&gt;), an NVIDIA Ampere GPU (&lt;a href=&quot;https://www.nvidia.com/en-us/data-center/ampere-architecture/&quot;&gt;NVIDIA Ampere Architecture&lt;/a&gt;) and 8GB of memory. The kit has a cost of $249 and sold out quickly. It is currently on backorder from retailers such as &lt;a href=&quot;https://www.sparkfun.com/nvidia-jetson-orin-nano-developer-kit.html&quot;&gt;Sparkfun Electronics&lt;/a&gt;, and &lt;a href=&quot;https://www.seeedstudio.com/NVIDIAr-Jetson-Orintm-Nano-Developer-Kit-p-5617.html?nvid=em-945-13766-0005-000&quot;&gt;Seeed Studio&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJgtUVx4RNKE37p7KGruaQqlGJcAnbwD-0eyNJ9FIiAbqJTCu7pKZkgCRNHiTByVS2TC1ZVXHQ4jhg_OYk2Jv-YMyjUfSTdUz-jck45Cz1WbeaU3IV9_f7NoXoFpHwWvZv0dDIYDDqoCSjTiU3bWxiUBFfLatqsne0YwGtHYiUCL97dSQWqklWhwsh81hc/s1600/nvidia-jetson-orin-nano-developer-kit.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;NVIDIA Jetson Orin Nano Developer Kit&quot; border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;1600&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJgtUVx4RNKE37p7KGruaQqlGJcAnbwD-0eyNJ9FIiAbqJTCu7pKZkgCRNHiTByVS2TC1ZVXHQ4jhg_OYk2Jv-YMyjUfSTdUz-jck45Cz1WbeaU3IV9_f7NoXoFpHwWvZv0dDIYDDqoCSjTiU3bWxiUBFfLatqsne0YwGtHYiUCL97dSQWqklWhwsh81hc/w400-h225/nvidia-jetson-orin-nano-developer-kit.jpg&quot; title=&quot;NVIDIA Jetson Orin Nano Developer Kit&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

This new Super Developer Kit is an upgraded version of the previous Jetson Orin Nano Developer Kit. NVIDIA has provided the&amp;nbsp;&lt;a href=&quot;https://developer.nvidia.com/embedded/jetpack&quot; style=&quot;text-align: left;&quot;&gt;JetPack 6.1 SDK&lt;/a&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;which can be used on existing Jetson Orin Nano Developer Kits to access features from the Super developer Kit. To unlock the super performance, users can select the latest release of JetPack,&amp;nbsp;&lt;/span&gt;Jetpack 6.1 (rev. 1),&amp;nbsp;&lt;span style=&quot;text-align: left;&quot;&gt;when installing the latest SD Card image for the Kit. Detailed installation instructions can be found on the following page:&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://developer.nvidia.com/embedded/jetpack&quot; style=&quot;text-align: left;&quot;&gt;JetPack SDK&lt;/a&gt;&lt;span style=&quot;text-align: left;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;div&gt;&lt;span&gt;
&lt;br /&gt;
The following table from NVIDIA highlights the main improvements of the Super Developer Kit, including the improved operating speed of up to 67 TOPS and memory bandwidth of 102 GB/s.

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgKsLXtTzeQZXoNU8bJjYymvxdWDTpcAPrRqH0Fgpx3k-toxbuXilkABe6VUcuN1YPEzDo1rMJ_lEL2gpnIgK9p9RmSNk6StnFkUQP9rP0FnLXPGzDHFk4kUmWez8Qd8SBu_0GeqmENfsS9UpszXKf7Y6ZuRCDTrHz0qrqB7M97iAjBSESlN8neqdVgrNq8&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;577&quot; data-original-width=&quot;910&quot; height=&quot;323&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgKsLXtTzeQZXoNU8bJjYymvxdWDTpcAPrRqH0Fgpx3k-toxbuXilkABe6VUcuN1YPEzDo1rMJ_lEL2gpnIgK9p9RmSNk6StnFkUQP9rP0FnLXPGzDHFk4kUmWez8Qd8SBu_0GeqmENfsS9UpszXKf7Y6ZuRCDTrHz0qrqB7M97iAjBSESlN8neqdVgrNq8=w509-h323&quot; width=&quot;509&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

In this video, NVIDIA CEO Jensen Huang presents the Jetson Orin Nano Super Developer Kit.
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;326&quot; src=&quot;https://www.youtube.com/embed/S9L2WGf1KrM&quot; width=&quot;392&quot; youtube-src-id=&quot;S9L2WGf1KrM&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;If you are interested in learning about software compatible with the Jetson Orin Nano, check out this post in which I summarize the key features of NVIDIA&#39;s AI tools:&amp;nbsp;&lt;a href=&quot;https://blog.embeddedcoding.com/2024/12/an-overview-of-nvidias-ai-tools-for.html&quot;&gt;&amp;nbsp;An Overview of NVIDIA&#39;s AI Tools For Developers&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://blog.embeddedcoding.com/2025/01/nvidias-jetson-orin-nano-super.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJgtUVx4RNKE37p7KGruaQqlGJcAnbwD-0eyNJ9FIiAbqJTCu7pKZkgCRNHiTByVS2TC1ZVXHQ4jhg_OYk2Jv-YMyjUfSTdUz-jck45Cz1WbeaU3IV9_f7NoXoFpHwWvZv0dDIYDDqoCSjTiU3bWxiUBFfLatqsne0YwGtHYiUCL97dSQWqklWhwsh81hc/s72-w400-h225-c/nvidia-jetson-orin-nano-developer-kit.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-2318470089336579496</guid><pubDate>Mon, 02 Dec 2024 18:18:00 +0000</pubDate><atom:updated>2025-01-08T11:48:56.200-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">Sensors</category><title>An Overview of NVIDIA&#39;s AI Tools For Developers</title><description>&lt;p&gt;&lt;b&gt;Here is a quick overview of the tools NVIDIA offers for Developers!&amp;nbsp;&amp;nbsp;&lt;/b&gt;All of these tools are available through the&amp;nbsp;&lt;a href=&quot;https://developer.nvidia.com/&quot;&gt;NVIDIA Developer&lt;/a&gt;&amp;nbsp;platform, and joining is free. NVIDIA also offers the Jetson Orin Nano Super Developer kit which I review in the post: &amp;nbsp;&lt;a href=&quot;https://blog.embeddedcoding.com/2025/01/nvidias-jetson-orin-nano-super.html&quot;&gt;NVIDIA&#39;s Jetson Orin Nano Super Developer Kit&lt;/a&gt;
&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://build.nvidia.com/nim&quot;&gt;NIM APIs&lt;/a&gt;&amp;nbsp;-&amp;nbsp;designed for developers who need to perform AI inference in various scenarios. Notable examples include the &lt;a href=&quot;https://build.nvidia.com/hive/deepfake-image-detection&quot;&gt;Deepfake Image Detection Model by Hive&lt;/a&gt;,&amp;nbsp;and the&amp;nbsp;&lt;a href=&quot;https://build.nvidia.com/meta/llama-3.2-90b-vision-instruct&quot;&gt;llama-3.2-90b-vision-instruct model by Meta&lt;/a&gt;. The following video is an excellent tutorial for getting started with an NVIDIA NIM.&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/087spL8hMvM&quot; width=&quot;320&quot; youtube-src-id=&quot;087spL8hMvM&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;LLMs - NVIDIA provides Large Language Models(LLMs) for tasks such as data generation and classification. These models, including the latest &lt;b&gt;Llama 3.1&lt;/b&gt;, are valuable&amp;nbsp;for AI applications like deep reasoning.&amp;nbsp;&lt;a href=&quot;https://developer.nvidia.com/blog/customize-generative-ai-models-for-enterprise-applications-with-llama-3-1/?nvid=nv-int-bnr-453388&quot;&gt;Customize Generative AI Models for Enterprise Applications with Llama 3.1&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/_rtfR5MXjUc&quot; width=&quot;320&quot; youtube-src-id=&quot;_rtfR5MXjUc&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdAYDDtU8QGKTEAwITSVzFcKmp9wa4i2KQjkBd_NuW0I44666eYSlpbHJkIuVn7Tu5pcMZ00Nc4u_K9l-O-omeBZjh5n0tK-lnhK0N76vdUzRZpEbHA4OCo97pQx9BarAgJuTdjMKM_Vu-t0_7g2bcCW7s4BA3ntytwolRUx3rlU31UZp4Fuv8AGWDpish/s801/LLMS%20Uses.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;801&quot; data-original-width=&quot;738&quot; height=&quot;346&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdAYDDtU8QGKTEAwITSVzFcKmp9wa4i2KQjkBd_NuW0I44666eYSlpbHJkIuVn7Tu5pcMZ00Nc4u_K9l-O-omeBZjh5n0tK-lnhK0N76vdUzRZpEbHA4OCo97pQx9BarAgJuTdjMKM_Vu-t0_7g2bcCW7s4BA3ntytwolRUx3rlU31UZp4Fuv8AGWDpish/w319-h346/LLMS%20Uses.png&quot; width=&quot;319&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Sample uses for LLMs (Transformer Models)&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/ai-data-science/generative-ai/&quot;&gt;Generative AI Solutions&lt;/a&gt;&amp;nbsp;- NVIDIA&#39;s Generative AI Solutions offer a comprehensive set of tools for developers. A great starting point is the&amp;nbsp;&lt;a href=&quot;https://developer.nvidia.com/generative-ai?ncid=em-nurt-169128&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrgH9ah0VUf29ALzz77vzgANinThTvaQO2HerhJ1gUMmijA2Ais8VyW5P_x_QTz4HeZHDkKvx7w9j6IQc8EORx_SQTX31DKt0KmgnPmoCNr1ZjKc&quot;&gt;Full-Stack Generative AI Platform for Developers&lt;/a&gt;.&amp;nbsp;This platform provides an overview of NVIDIA&#39;s software. hardware, and services for building with Generative AI. Its &quot;full-stack&quot; approach enables developers to complete entire builds using NVIDIA products.&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBPelwT9deSrK7cw3y8hF4lA8WL2meo4eHLH8cNk97-IF94VLMgS_J3sjVOSmWJ4pM3IwKrfPG7fFyRxz5E8pKPLBssGdlEEj7RxDuLq91N6cvByoPZpcUjXsTLS1ns8rVKgnP0tJJ8gEL8rotiXA4kmyc412c1yy5yQXrwYpPAxQYzlAPPR9aBhOUXJU/s906/Full%20Stack%20Overview.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;598&quot; data-original-width=&quot;906&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBPelwT9deSrK7cw3y8hF4lA8WL2meo4eHLH8cNk97-IF94VLMgS_J3sjVOSmWJ4pM3IwKrfPG7fFyRxz5E8pKPLBssGdlEEj7RxDuLq91N6cvByoPZpcUjXsTLS1ns8rVKgnP0tJJ8gEL8rotiXA4kmyc412c1yy5yQXrwYpPAxQYzlAPPR9aBhOUXJU/w478-h315/Full%20Stack%20Overview.png&quot; width=&quot;478&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Full-Stack Overview&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;a href=&quot;https://docs.nvidia.com/?ncid=em-nurt-860340&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrhvwLNjFSgfB11waw-xjkPGj5Jvha-1GHzovxqyGquLrUnalCsviDLlNgDR5v46Ha9pXbhii5-Qm1E2CTgaIqxa_sxCErAzWblu9t9goOvpqgNk&quot;&gt;NVIDIA Documentation Hub&lt;/a&gt;&amp;nbsp;- a centralized resource for accessing technical documentation for all NVIDIA products and services.&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLfpAk00gpB7Rjn4yF_SwsUdIIn41fVfrGxMwgTVr3dWYF39KbKgHzMvTH7KG8rYug_EBA46pbuLDbJV-V2t2sI6uFHOsdlc1rhv0NPbko6sCNGM3RDxJVp8JmZ6bF8HJq-IfyEevstzwBZmMVxUmYcZa1maS3Uo61nA5zs8Dp4e5cvI9GIrIBwsinVnmJ/s1013/NVIDIA%20Docs%20Hub.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;746&quot; data-original-width=&quot;1013&quot; height=&quot;236&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLfpAk00gpB7Rjn4yF_SwsUdIIn41fVfrGxMwgTVr3dWYF39KbKgHzMvTH7KG8rYug_EBA46pbuLDbJV-V2t2sI6uFHOsdlc1rhv0NPbko6sCNGM3RDxJVp8JmZ6bF8HJq-IfyEevstzwBZmMVxUmYcZa1maS3Uo61nA5zs8Dp4e5cvI9GIrIBwsinVnmJ/s320/NVIDIA%20Docs%20Hub.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://developer.nvidia.com/topics/ai/ai-inference?ncid=em-nurt-188701&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrf8bKupBxTkqdDvGUOoKEM4XuLJ_lP4H6pG4zEfW2cAUJiATTnZLJTXtZ1Sc8lzrPc--atD_2tzijDYzK9SRfp5vlB8sV0IDnVnIlX_-0vaH3I8#resources&quot;&gt;AI Inference Tools and Technologies&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;font-weight: normal;&quot;&gt;NVIDIA offers tools specifically designed to perform inference, which involves using AI to generate or process data. Three notable tools included in this page are sample applications for&amp;nbsp;&lt;a href=&quot;https://build.nvidia.com/nvidia/digital-humans-for-customer-service&quot;&gt;Building a Digital Human (Avatar)&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://build.nvidia.com/nvidia/generative-virtual-screening-for-drug-discovery&quot;&gt;Designing Molecules,&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://build.nvidia.com/nvidia/multimodal-pdf-data-extraction-for-enterprise-rag&quot;&gt;Data Extraction&lt;/a&gt;.&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRTthM02ffkw73JlStq5bxhoJiPYr1Mf95cg-Ehb0Mz1oTpNQy35ZekPDvAoOiNKuWNAQ8A-MchDOCFSg13kPIobFVLuuGRlJNxcIhCkrjybSXJukGZBtWQ2ijB-SaIhHZQ4vBYk80To9yAzk5u6UttQsKOifl7o861C7X_JN6lPDZGfWnMlTMMtPHgaaR/s866/Digital%20Human%20Example.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;602&quot; data-original-width=&quot;866&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRTthM02ffkw73JlStq5bxhoJiPYr1Mf95cg-Ehb0Mz1oTpNQy35ZekPDvAoOiNKuWNAQ8A-MchDOCFSg13kPIobFVLuuGRlJNxcIhCkrjybSXJukGZBtWQ2ijB-SaIhHZQ4vBYk80To9yAzk5u6UttQsKOifl7o861C7X_JN6lPDZGfWnMlTMMtPHgaaR/w396-h275/Digital%20Human%20Example.png&quot; width=&quot;396&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Building a Digital Human Demo&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;a href=&quot;https://developer.nvidia.com/rapids?ncid=em-nurt-966651&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrRDk4ZhB1LZxMc093ppHSfIdyl8jNoERrWWqwvFY1HfD3S2B8z9zDB2tZYAZ_wcbGD5KyG4rK_Jqf7rsjPdsRAbtloVYlzLg6PNAQbFqOaNsnr8&quot;&gt;RAPIDS Suite&lt;/a&gt;&amp;nbsp;-&amp;nbsp;contains AI Libraries that improve the performance of other open-source tools. It includes support for libraries such as Apache Spark, PyData, Dask, Python, and C++.&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMhd-D52Uf4UN7qm5olmiQ1ER95t_NZKHy8zTKZJQuLNdnyVBDsSKLxNNb04P8NBHzr10MxgVpC4oQ3z8wtwfVToWGbzp666dAiP6esssmv6Tz4fwg-HXU9pjuobj5cAWRnMzCSXicQcJ_cpy6oH3IsQUcENgUWPMo1kNYxz0NPbo9BoQ_zIuSEu5FXN6C/s1320/Visual%20Stack%20RAPIDS.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;782&quot; data-original-width=&quot;1320&quot; height=&quot;279&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMhd-D52Uf4UN7qm5olmiQ1ER95t_NZKHy8zTKZJQuLNdnyVBDsSKLxNNb04P8NBHzr10MxgVpC4oQ3z8wtwfVToWGbzp666dAiP6esssmv6Tz4fwg-HXU9pjuobj5cAWRnMzCSXicQcJ_cpy6oH3IsQUcENgUWPMo1kNYxz0NPbo9BoQ_zIuSEu5FXN6C/w470-h279/Visual%20Stack%20RAPIDS.png&quot; width=&quot;470&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Full-Stack Using RAPIDS Libraries&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://developer.nvidia.com/riva?ncid=em-nurt-563359&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrWlZNf17Elgz5oIGEyq0xMgkNGA0f6kl-8N5vePRiSlfsLyTjuA_HTDsnw0TDyBlco2VFerbIN6xvIghhN87u0tXBdmJGuulCzyPJ0Ca_osjHWA&quot;&gt;Riva Speech AI SDK&lt;/a&gt;&amp;nbsp;- a collection of software development kits (SDKs) useful for speech-related tasks. It offers starter guides for key use cases, including Text-To-Speech, Automatic Speech Recognition, and Neural Machine Translation. A tutorial for getting started with RIVA can be found in the video below.&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/JRVZxNngfKY&quot; width=&quot;320&quot; youtube-src-id=&quot;JRVZxNngfKY&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://developer.nvidia.com/deepstream-sdk?ncid=em-nurt-588683&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrUF22GeUMrQqHGjrPlq38pucje1PcS4FqpkKlGbp7-d_qwslp-fYLoRLc3TSi541BesyeRD74uqjbcQfX_63wVXAwjweWnjllR2ZdyQD43f5SB0&quot;&gt;DeepStream SDK&lt;/a&gt;&amp;nbsp;- a tool useful for vision-based AI applications.&amp;nbsp; It supports tasks such as video encoding, decoding, and rendering, enabling real-time video analysis.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI_FtTpJOqWTN9XPdHQBCri7NlOo6yBfqO_OdlHhXGZY1CFqhDwbljk-OWGWaiEmwz9ObV4Vh5P8JjQ4TGytdpiouBLur61A8CKzVGjul73U9Zso_czB4x4H35d8TMJoAP1qUDlzlnI2nUg1_JhQ7BT0_zReZEUC3T6pa3l0m0TtVUaFuh2gtx0eGmibEr/s1203/DeepStream%20SDK.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;552&quot; data-original-width=&quot;1203&quot; height=&quot;270&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI_FtTpJOqWTN9XPdHQBCri7NlOo6yBfqO_OdlHhXGZY1CFqhDwbljk-OWGWaiEmwz9ObV4Vh5P8JjQ4TGytdpiouBLur61A8CKzVGjul73U9Zso_czB4x4H35d8TMJoAP1qUDlzlnI2nUg1_JhQ7BT0_zReZEUC3T6pa3l0m0TtVUaFuh2gtx0eGmibEr/w588-h270/DeepStream%20SDK.png&quot; width=&quot;588&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;DeepStream SDK&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://forums.developer.nvidia.com/?ncid=em-nurt-852240&amp;amp;mkt_tok=MTU2LU9GTi03NDIAAAGWq-tbrkGWr_W63nqnlbOQ_myARTpSmWjMPXFMBRTY8bMU4vT0h5uZ7VDv4CLmqsVUNKqL1mmyGwy0jZqP8GSqM1e2bGOWwUy7629nSpwBkWTyxTadxlI&quot;&gt;NVIDIA Developer Forums&amp;nbsp;&lt;/a&gt;- an excellent resource for developers to ask questions and find answers to technical issues related to NVIDIA&#39;s AI tools.&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3Di_bQzssk2oUssRG_BBxTT82Q94K3-mbDAz6uZV6d0DR2P0JI_H2eRfFtXShhG3SETmEq3Yibq-2C9cO6Lk5gCUP4r2PdWF0QqKkV6g1XUnKZOVw5SCHqgNfz6h4S_l9F9eWVMcV1UIj6J3CRK7-ybFa8Hn71rMEXUonsWxwKtdGBBzvHnd6e2_hzvdv/s1465/Forums.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;747&quot; data-original-width=&quot;1465&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3Di_bQzssk2oUssRG_BBxTT82Q94K3-mbDAz6uZV6d0DR2P0JI_H2eRfFtXShhG3SETmEq3Yibq-2C9cO6Lk5gCUP4r2PdWF0QqKkV6g1XUnKZOVw5SCHqgNfz6h4S_l9F9eWVMcV1UIj6J3CRK7-ybFa8Hn71rMEXUonsWxwKtdGBBzvHnd6e2_hzvdv/w387-h197/Forums.png&quot; width=&quot;387&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Developer Forums&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;In conclusion, NVIDIA offers an extensive library of tools for a wide range of AI applications. Many of these tools can be accessed for free through the NVIDIA developer program, making it a valuable resource for developers at any level.&amp;nbsp;&amp;nbsp;&lt;/div&gt;</description><link>http://blog.embeddedcoding.com/2024/12/an-overview-of-nvidias-ai-tools-for.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/087spL8hMvM/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-3112335563577189798</guid><pubDate>Fri, 29 Nov 2024 14:13:00 +0000</pubDate><atom:updated>2024-12-02T12:54:19.356-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">DIY electronics</category><category domain="http://www.blogger.com/atom/ns#">raspberry pi</category><category domain="http://www.blogger.com/atom/ns#">robotics</category><category domain="http://www.blogger.com/atom/ns#">Sensors</category><title>Black Friday 2024 Deals on Maker Electronics!</title><description>&lt;p&gt;Here are some of the deals major online electronic retailers are offering this Black Friday!&lt;/p&gt;&lt;p&gt;Adafruit Industries -15% Off with code acidburn15&amp;nbsp;&lt;a href=&quot;https://blog.adafruit.com/2024/11/27/acidburn15/&quot;&gt;Hack the Holidays – Use Code acidburn15 for 15% Off « Adafruit Industries – Makers, hackers, artists, designers and engineers!&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh0nCHMCVkpNb6AUmViin56cMYPaFbRNg5gyiCJzZQjrWUJlAyHRH6KraWaNcPDzb_54M9yWHZ3_C7woiB2NRqy7jPe9rnAtnkrXe5QvcO-e-x-T9MCTnyanUS-OVUayl695uI9xfSAsqYWMGqoOJmKEYpGF1b76WbZ1D_pIZiSGEaGH_LDSI2IVWvFEuyl&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;480&quot; data-original-width=&quot;854&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh0nCHMCVkpNb6AUmViin56cMYPaFbRNg5gyiCJzZQjrWUJlAyHRH6KraWaNcPDzb_54M9yWHZ3_C7woiB2NRqy7jPe9rnAtnkrXe5QvcO-e-x-T9MCTnyanUS-OVUayl695uI9xfSAsqYWMGqoOJmKEYpGF1b76WbZ1D_pIZiSGEaGH_LDSI2IVWvFEuyl=w399-h224&quot; width=&quot;399&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.pololu.com/blackfriday2024&quot;&gt;Pololu&lt;/a&gt;&amp;nbsp;is offering discounts (up to 50% off!) on many electronic components including Robot Chassis, motors, sensors, and much, much more! Check out the link for all details and a categorized list of all products on sale:&amp;nbsp;&lt;a href=&quot;https://www.pololu.com/blackfriday2024&quot;&gt;Pololu Black Friday Sale 2024&lt;/a&gt;.&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhTgUZ3daQ3A6WzgN14SgygMREsYuWRT3ld5n2lza24OYf0bBp_iburn4YzQ3C47jjeWyZUnpoYlWrP4YlN_Z4dZTskB36q_JQ2R0-VMx9LWciT2tX_RQBt5rw1FgGf5UbbFo1EtoXqwDPGrHoaxAxU83gEe6lRfkpJACu8XC-VHfW_KwfD-MDPDDzCXT8P&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;520&quot; data-original-width=&quot;1200&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhTgUZ3daQ3A6WzgN14SgygMREsYuWRT3ld5n2lza24OYf0bBp_iburn4YzQ3C47jjeWyZUnpoYlWrP4YlN_Z4dZTskB36q_JQ2R0-VMx9LWciT2tX_RQBt5rw1FgGf5UbbFo1EtoXqwDPGrHoaxAxU83gEe6lRfkpJACu8XC-VHfW_KwfD-MDPDDzCXT8P=w418-h181&quot; width=&quot;418&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://www.seeedstudio.com/thanksgiving-2024&quot;&gt;seeed studio Thanksgiving Sale&amp;nbsp;&lt;/a&gt;&lt;span style=&quot;text-align: left;&quot;&gt;While Thanksgiving day may be over, the seeed studio 2024 Thanksgiving Sale is happening right now! The sale includes Buy 2 get 1 Free on select products, special offers, and, for 11/29 (Black Friday!) only, a flash sale. Link to entire sale:&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.seeedstudio.com/thanksgiving-2024&quot;&gt;Exclusive Sale: Up to 90% Off &amp;amp; Buy 2 Get 1 Free &amp;amp; Flash Sale &amp;amp; Pre-Sale Offers&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3Dlo1E0G2Btpab_maHwlZ1999jW4ljaVeqNr6Dkk-ufET3PoFQMdLtryv7_vL4-mSZBQgGMzisMbGsnlAauOV7hBqIaR4QjnwiwjLUfoet1f9qtn9Ov54Z88fztbnYUm_CiJQ5bWsEqxv7E-5Duu42-w-QXlEOKqf9tZpi2uWN3fQknBiVmYz8Mq79MK/s1920/banner-02.webp&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;698&quot; data-original-width=&quot;1920&quot; height=&quot;221&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3Dlo1E0G2Btpab_maHwlZ1999jW4ljaVeqNr6Dkk-ufET3PoFQMdLtryv7_vL4-mSZBQgGMzisMbGsnlAauOV7hBqIaR4QjnwiwjLUfoet1f9qtn9Ov54Z88fztbnYUm_CiJQ5bWsEqxv7E-5Duu42-w-QXlEOKqf9tZpi2uWN3fQknBiVmYz8Mq79MK/w611-h221/banner-02.webp&quot; width=&quot;611&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.tindie.com/browse/sale/&quot;&gt;Black Friday Sale on Tindie&lt;/a&gt;&amp;nbsp;has many devices from various shops, including wifi adapters, battery testers, and much more!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://store-usa.arduino.cc/collections/black-friday&quot;&gt;Arduino Online Shop&lt;/a&gt;&amp;nbsp;has plenty of devices on sale, including the Arduino Nano, Arduino Uno, and Nicla.&lt;a href=&quot;https://store-usa.arduino.cc/collections/black-friday&quot;&gt;Arduino Online Shop&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0ckjYyMRuedKMHAnr6xvoskugfcuVLcEskTBySg4neouOM849I8bP0V86rAQwhfWIdGLrhNQIccixxp8a4uAo-TUiIaVp-EZ9F3xzVPjezditQGUfDquDbCDqSDCMjkNU8sGQCooWTuuK8qARbs3Xev1c2VkqjDbPup81KC4sZNh-EyU3s625NUm-DHlx/s1591/black%20friday%20arduino.webp&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;447&quot; data-original-width=&quot;1591&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0ckjYyMRuedKMHAnr6xvoskugfcuVLcEskTBySg4neouOM849I8bP0V86rAQwhfWIdGLrhNQIccixxp8a4uAo-TUiIaVp-EZ9F3xzVPjezditQGUfDquDbCDqSDCMjkNU8sGQCooWTuuK8qARbs3Xev1c2VkqjDbPup81KC4sZNh-EyU3s625NUm-DHlx/w527-h148/black%20friday%20arduino.webp&quot; width=&quot;527&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://estore.st.com/en/&quot;&gt;STMicroelectronics&lt;/a&gt;&amp;nbsp;is offering free worldwide shipping through November 30th!&amp;nbsp; Additionally, select&amp;nbsp;&lt;a href=&quot;https://estore.st.com/en/motor-control-evaluation-boards.html?inStock=1&amp;amp;sfd=sd00&quot;&gt;Motor Control Evaluation Boards&lt;/a&gt;&amp;nbsp;have discounts with code DV-ASP-BOGO-11 at checkout.&amp;nbsp;&lt;a href=&quot;https://estore.st.com/en/&quot;&gt;eStore - STMicroelectronics - Buy Direct from ST&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;a href=&quot;https://www.raspberrypi.com/&quot;&gt;Raspberry Pi&lt;/a&gt;&amp;nbsp;While not a Black Friday deal, the Raspberry Pi Compute Module is now available for $45 from the Raspberry Pi Store. It is a modular version of the Raspberry Pi 5.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuUtuRP93ZOto6h1fDac7oHQceAi-oFUF7wa7PmRQxIUIOWV-gols4dkdTmM9VMdlQJkd-z2gOsx_e_ZW0m7K6RcWKcnQWOtZL-slXofPgF8JX9Tiu-Y-ZBp9xsoBQ5P3EmDJ23jB19GW0s_PhNFxvLxHSPorYtY03ikdac7JfJj3jCHa8H-Y-UL29Xxm-/s1024/CM5-front-1024x717.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;717&quot; data-original-width=&quot;1024&quot; height=&quot;333&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuUtuRP93ZOto6h1fDac7oHQceAi-oFUF7wa7PmRQxIUIOWV-gols4dkdTmM9VMdlQJkd-z2gOsx_e_ZW0m7K6RcWKcnQWOtZL-slXofPgF8JX9Tiu-Y-ZBp9xsoBQ5P3EmDJ23jB19GW0s_PhNFxvLxHSPorYtY03ikdac7JfJj3jCHa8H-Y-UL29Xxm-/w476-h333/CM5-front-1024x717.jpg&quot; width=&quot;476&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://bc-robotics.com/2024-black-friday-sale/&quot;&gt;2024 Black Friday Sale - BC Robotics&lt;/a&gt;&amp;nbsp;Receive free gifts with purchases and save on select items. Additionally, there are door crasher deals.&lt;/p&gt;&lt;p style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://www.parts-express.com/&quot;&gt;Parts Express&lt;/a&gt;&amp;nbsp;save 12% sitewide with code BLACKFRI24&lt;/p&gt;&lt;p style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://www.robotshop.com/collections/on-sale&quot;&gt;RobotShop&lt;/a&gt;&amp;nbsp;has up to 70% off on select products&lt;/p&gt;&lt;p style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://jlcpcb.com/black-friday-2024?from=BF24&amp;amp;spm=Jlcpcb.Homepage.1019&quot;&gt;JLCPCB:Black Friday 2024 Deals and Coupons&lt;/a&gt;- Coupons on PCB orders&lt;/p&gt;&lt;p style=&quot;clear: both; text-align: left;&quot;&gt;Find any other great deals on electronics? Let me know in the comments below!&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2024/11/black-friday-2024-deals-on-electronics.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEh0nCHMCVkpNb6AUmViin56cMYPaFbRNg5gyiCJzZQjrWUJlAyHRH6KraWaNcPDzb_54M9yWHZ3_C7woiB2NRqy7jPe9rnAtnkrXe5QvcO-e-x-T9MCTnyanUS-OVUayl695uI9xfSAsqYWMGqoOJmKEYpGF1b76WbZ1D_pIZiSGEaGH_LDSI2IVWvFEuyl=s72-w399-h224-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-7583880826551948862</guid><pubDate>Sat, 02 Nov 2024 19:30:00 +0000</pubDate><atom:updated>2024-11-02T15:30:28.929-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">ARM Processor</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">MEMS</category><category domain="http://www.blogger.com/atom/ns#">STM32</category><title>A Guide to STMicroelectronics&#39; Edge AI Suite Tools</title><description>&lt;p&gt;STMicroelectronics has plenty of&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite/tools.html&quot;&gt;Edge AI Tools&lt;/a&gt;&amp;nbsp;that are useful in a variety of applications.&amp;nbsp; They collectively form&amp;nbsp;the&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite.html&quot;&gt;ST Edge AI Suite - STMicroelectronics&lt;/a&gt;. All of these tools can be used free of charge with a myST user account. To create an account, click on the avatar in the top right corner of the&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en.html&quot;&gt;STMicroelectronics Website&lt;/a&gt;. You are now ready to access the&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite.html&quot;&gt;ST Edge AI Suite&lt;/a&gt;!&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;1.&amp;nbsp;&lt;a href=&quot;https://stm32ai.st.com/nanoedge-ai/&quot;&gt;NanoEdge AI Studio&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;The first tool is&amp;nbsp;&lt;a href=&quot;https://stm32ai.st.com/nanoedge-ai/&quot;&gt;NanoEdge AI Studio&lt;/a&gt;, it is a good place to get started with Machine Learning.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/tCRIpDiHYVo&quot; width=&quot;320&quot; youtube-src-id=&quot;tCRIpDiHYVo&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;It is also compatible with Arduino Devices.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/v6UeZZt34Gw&quot; width=&quot;320&quot; youtube-src-id=&quot;v6UeZZt34Gw&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;For getting started, the following video is a good example - &lt;a href=&quot;https://youtu.be/yXMUv_C5FGk?feature=shared&quot; target=&quot;_blank&quot;&gt;Anomaly Detection Demo Using Edge AI&lt;/a&gt;.&amp;nbsp; It uses the Accelerometer on the&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/evaluation-tools/steval-stwinkt1b.html&quot;&gt;STEVAL-STWINKT1B&lt;/a&gt;&amp;nbsp;board.&amp;nbsp; In a future blog post I will try this demo using some other ST Micro boards that have an accelerometer.&amp;nbsp; Additionally, the Nano Edge AI libraries can be used with any type of sensor.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/yXMUv_C5FGk&quot; width=&quot;320&quot; youtube-src-id=&quot;yXMUv_C5FGk&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To use the Datalogger Feature in NanoEdge AI Studio, a Nucleo-F411RE, ST-EVAL or similar type of board is necessary.&amp;nbsp; Here are all the Board options shown:&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNgbQtj48Rp9WHwfknRIFfTnsrY_i2A-26UU24l4FhU-rURWRZoIoWOv7K6Bu8VGUCUKaBI9bmuozpC0jApsPQw3PxiG5PxRcponh9c-GnbksP1a5sUjLS-IJKieLuOK0bbPkXClf81F-2Zpb5GRfnnQx_t_i-ZMLC5s23ocQ9qib-Y2JQAMbUHRnnQ5VZ/s1227/1-Datalogger%20Dev%20Boards%20A.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1169&quot; data-original-width=&quot;1227&quot; height=&quot;401&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNgbQtj48Rp9WHwfknRIFfTnsrY_i2A-26UU24l4FhU-rURWRZoIoWOv7K6Bu8VGUCUKaBI9bmuozpC0jApsPQw3PxiG5PxRcponh9c-GnbksP1a5sUjLS-IJKieLuOK0bbPkXClf81F-2Zpb5GRfnnQx_t_i-ZMLC5s23ocQ9qib-Y2JQAMbUHRnnQ5VZ/w421-h401/1-Datalogger%20Dev%20Boards%20A.png&quot; width=&quot;421&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOWM09l3UUupwZADKEii8r-B1lM12t3TFAi1NG4M-_oq3AHil4ckTOanFTN90MfhUG1837D2Z5kP0fpZEzXNht-aI3w3zQ-iO8UZu2o1Q-lK3HIu5ZPm178Ep5vgrcJb0adQPWgpJk1-g2RV_o0vEomMCQkhyphenhyphennjfgUb0SdGo14t-KbQMEChXDK-kIqUHzH/s1236/2%20-%20Datalogger%20Dev%20Boards%20B.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1185&quot; data-original-width=&quot;1236&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOWM09l3UUupwZADKEii8r-B1lM12t3TFAi1NG4M-_oq3AHil4ckTOanFTN90MfhUG1837D2Z5kP0fpZEzXNht-aI3w3zQ-iO8UZu2o1Q-lK3HIu5ZPm178Ep5vgrcJb0adQPWgpJk1-g2RV_o0vEomMCQkhyphenhyphennjfgUb0SdGo14t-KbQMEChXDK-kIqUHzH/w426-h409/2%20-%20Datalogger%20Dev%20Boards%20B.png&quot; width=&quot;426&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjap5VEis5q6FzetRUuNEe9UrJfUHLwBjXJit9B3UG2tvHjye9KhaatyYtGz_c1r0WwmYi3nyxVpOtaa4yP6t4IOHgDO9KBs6_9ApXF30kWbM8E-Qqoxckh5-P2wqSgard4gHObgj_wBLHdTydHLofD6nLT0FiaeX7UtNogCFIFpE70zryo6oOu0r20sAhP/s1216/3%20-%20Datalogger%20Dev%20Boards%20C.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;302&quot; data-original-width=&quot;1216&quot; height=&quot;105&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjap5VEis5q6FzetRUuNEe9UrJfUHLwBjXJit9B3UG2tvHjye9KhaatyYtGz_c1r0WwmYi3nyxVpOtaa4yP6t4IOHgDO9KBs6_9ApXF30kWbM8E-Qqoxckh5-P2wqSgard4gHObgj_wBLHdTydHLofD6nLT0FiaeX7UtNogCFIFpE70zryo6oOu0r20sAhP/w425-h105/3%20-%20Datalogger%20Dev%20Boards%20C.png&quot; width=&quot;425&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2.&amp;nbsp;&lt;a href=&quot;https://stedgeai-dc.st.com/home&quot;&gt;ST Edge AI Developer Cloud&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://stedgeai-dc.st.com/home&quot;&gt;ST Edge AI Developer Cloud&lt;/a&gt;&amp;nbsp;is a tool that allows users to do on remotely stored devices. You can import your own ML model or choose from ST Edge AI Model Zoo for optimization and testing.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/YLee9a4cbio&quot; width=&quot;320&quot; youtube-src-id=&quot;YLee9a4cbio&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following video is a getting started guide for STM32Cube.AI Developer Cloud, the predecessor of ST Edge AI Developer Cloud. While there are some differences between the two, this getting started video does have some helpful steps.&amp;nbsp; I&#39;m also working on a blog post about getting started with the updated ST Edge AI Developer Cloud.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/TsIpchBPjQk&quot; width=&quot;320&quot; youtube-src-id=&quot;TsIpchBPjQk&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;3.&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/development-tools/mems-studio.html#get-software&quot;&gt;MEMS-Studio&lt;/a&gt;&lt;/h4&gt;&lt;h4&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;a href=&quot;https://www.st.com/en/development-tools/mems-studio.html#get-software&quot;&gt;MEMS-Studio&lt;/a&gt;&amp;nbsp;is a software solution for using AI in embedded systems development. It can be downloaded from the linked webpage (&lt;/span&gt;&lt;a href=&quot;https://www.st.com/en/development-tools/mems-studio.html#get-software&quot; style=&quot;font-weight: normal;&quot;&gt;MEMS-Studio&lt;/a&gt;).&amp;nbsp;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;Once installed an opened, you will have access to&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.st.com/resource/en/user_manual/um3233-getting-started-with-memsstudio-stmicroelectronics.pdf&quot;&gt;Getting Started with MEMS-Studio - User manual&lt;/a&gt;&amp;nbsp;&lt;span style=&quot;font-weight: normal;&quot;&gt;and&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/dam/videos-cf/pub/2024/q1/introduction-to-MEMS-studio.mp4&quot;&gt;Introduction-to-MEMS-studio Video&lt;/a&gt;.&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;4.&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/development-tools/stedgeai-core.html&quot;&gt;STEdgeAI-Core&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;h4&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;a href=&quot;https://www.st.com/en/development-tools/stedgeai-core.html&quot;&gt;STEdgeAI-Core&lt;/a&gt;&amp;nbsp;is used for compiling edge AI models on various ST MCUs MPUs, and Smart Sensors - all in one tool.&amp;nbsp; The following video gives an overview.&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/ToSK3yxS1pE&quot; width=&quot;320&quot; youtube-src-id=&quot;ToSK3yxS1pE&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;clear: both; text-align: left;&quot;&gt;5. ST Edge AI Model Zoo&lt;/h4&gt;&lt;div&gt;The ST Edge Ai Model Zoo is a collection of AI models that can be used for running on the other tools in the&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite.html&quot;&gt;ST Edge AI Suite&lt;/a&gt;. It is comprised of three GitHub repositories:&amp;nbsp;&lt;a href=&quot;https://github.com/STMicroelectronics/stm32ai-modelzoo&quot;&gt;AI Model Zoo for STM32 devices&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://github.com/STMicroelectronics/STMems_Machine_Learning_Core&quot;&gt;GitHub - STMicroelectronics/STMems_Machine_Learning_Core&lt;/a&gt;, and&amp;nbsp;&lt;a href=&quot;https://github.com/STMicroelectronics/st-mems-ispu&quot;&gt;GitHub - STMicroelectronics/st-mems-ispu: Examples, tutorials, and other development resources for the ISPU&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;6.&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/x-cube-ai.html#overview&quot;&gt;X-CUBE-AI - AI expansion pack for STM32CubeMX&amp;nbsp;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;h4&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;The&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/x-cube-ai.html#overview&quot;&gt;AI expansion pack for STM32CubeMX&amp;nbsp;&lt;/a&gt;&amp;nbsp;is a tool used for optimizing and profiling Neural Networks and Machine Learning models for STM32.&amp;nbsp; To install this tool, open the &lt;a href=&quot;https://www.st.com/en/development-tools/stm32cubeide.html&quot;&gt;STM32CubeIDE&lt;/a&gt;, and go to Help &amp;gt; Manage Embedded Software Packages &amp;gt; STMicroelectronics, then scroll down to X-CUBE-AI and click on the newest available version (9.1.0 in this case), then click &quot;Install.&quot;&amp;nbsp; You may need to log-in on the pop up that appears for the expansion to install successfully.&amp;nbsp; Here is a screenshot of the installation screen.&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiAfYw1AAAkckMOugGYVXlMyO3OHCjVhyk_3HKdtY87SzY95yX4h0iGXlBEiD5g_56aGI3MEtp0ylJpXTgWI0DocNl1J6ek1AdGFJr1R-rPJLQExEFvdKo2m5Tdexj6GnEMGMhYNWzSNiWzjgUVXsv3QOru7BNCRaLFl7QzYY8TQwl6d9O_ynYRdb1lR-z7&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;712&quot; data-original-width=&quot;977&quot; height=&quot;233&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiAfYw1AAAkckMOugGYVXlMyO3OHCjVhyk_3HKdtY87SzY95yX4h0iGXlBEiD5g_56aGI3MEtp0ylJpXTgWI0DocNl1J6ek1AdGFJr1R-rPJLQExEFvdKo2m5Tdexj6GnEMGMhYNWzSNiWzjgUVXsv3QOru7BNCRaLFl7QzYY8TQwl6d9O_ynYRdb1lR-z7&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;7.&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/fp-sns-datalog2.html#get-software&quot;&gt;ST High Speed Datalog&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; One of the newer tools in the suite,&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/fp-sns-datalog2.html#get-software&quot;&gt;ST High Speed Datalog&lt;/a&gt;&amp;nbsp;is a data acquisition and visualization toolkit. It is specifically designed for applications in embedded systems and data science. The following &lt;a href=&quot;file:///C:/Users/maxcl/Downloads/fp-sns-datalog2-quick-start-guide.pdf&quot;&gt;Datalog Quick Start Guide&lt;/a&gt;&amp;nbsp;is designed to get started with the Datalog along with the&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/evaluation-tools/steval-stwinbx1.html&quot;&gt;STEVAL-STWINBX1&amp;nbsp;&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;8.&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.st.com/en/development-tools/stellarstudioai.html?rt=db&amp;amp;id=DB5102&quot;&gt;StellarStudioAI&amp;nbsp;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; The next tool,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.st.com/en/development-tools/stellarstudioai.html?rt=db&amp;amp;id=DB5102&quot;&gt;StellarStudioAI&amp;nbsp;&lt;/a&gt;is an AI tool for&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/development-tools/stellarstudio.html&quot;&gt;StellarStudio - development environment for Stellar automotive MCUs&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/development-tools/stellarstudioai.html?rt=db&amp;amp;id=DB5102&quot;&gt;StellarStudioAI&lt;/a&gt;&amp;nbsp;generates neural networks and converts them into C libraries for use by MCUS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;9.&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/x-linux-ai.html#get-software&quot;&gt;X-Linux-AI&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;X-Linux-AI is an expansion for the&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/stm32-mpu-openstlinux-distribution.html&quot;&gt;STM32 MPU OpenSTLinux Distribution.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/embedded-software/x-linux-ai.html#get-software&quot;&gt;X-LINUX-AI&amp;nbsp;&lt;/a&gt;&amp;nbsp;provides LINUX AI frameworks and application examples for use with STM32 MPUs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;10.&amp;nbsp;&lt;a href=&quot;https://handposturetof.st.com/&quot;&gt;ST ToF Hand Posture&lt;/a&gt;&lt;/h4&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;The final tool,&amp;nbsp;&lt;a href=&quot;https://handposturetof.st.com/&quot;&gt;ST ToF Hand Posture&lt;/a&gt;, is used for detecting hand gestures on STM32 MCUs using a&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/imaging-and-photonics-solutions/vl53l5cx.html&quot;&gt;Time-of-Flight sensor&lt;/a&gt;. It requires a free login to MyST to access.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;This completes the summary of the&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite/tools.html&quot;&gt;ST Edge AI Tools&lt;/a&gt;. The first four tools listed are the best place to get started when doing AI projects for ST MCUs and MPUs.&amp;nbsp; Helpful example videos are also available for NanoEdgeAI Studio, and MEMS Studio.&amp;nbsp; For example,&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=yXMUv_C5FGk&quot;&gt;NanoEdge AI Studio V3 - Anomaly Detection demo&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/dam/videos-cf/pub/2024/q1/introduction-to-MEMS-studio.mp4&quot;&gt;Introduction To MEMS Studio&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;Arial, Helvetica, sans-serif&quot; style=&quot;color: #74757c;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://blog.embeddedcoding.com/2024/11/a-guide-to-stmicroelectronics-edge-ai.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/tCRIpDiHYVo/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-3468468550769521805</guid><pubDate>Mon, 26 Aug 2024 14:56:00 +0000</pubDate><atom:updated>2026-05-20T10:39:03.134-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><title>Introduction to Machine Learning on Arduino - Micro Speech - Part 2</title><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h2&gt;Part 2: Changing Words&lt;/h2&gt;

&lt;p&gt;
  In this part, we will use the words &quot;On&quot; and &quot;Off&quot; to control the LED and turn it on and off.
  This is a continuation from the steps in
  &lt;a href=&quot;https://blog.embeddedcoding.com/2024/08/introduction-to-machine-learning-on.html&quot;&gt;Part 1&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  To do this, we can use the Google Commands dataset which has data for many short words. The following
  video by Digi-Key includes instructions for Downloading the dataset. Although it is not labeled as
  machine learning in the title, it is similar to what is being done in this ML guide.
&lt;/p&gt;

&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;iframe allowfullscreen=&quot;&quot;
          class=&quot;BLOG_video_class&quot;
          height=&quot;266&quot; width=&quot;320&quot;
          src=&quot;https://www.youtube.com/embed/fRSVQ4Fkwjc&quot;
          youtube-src-id=&quot;fRSVQ4Fkwjc&quot;&gt;
  &lt;/iframe&gt;
&lt;/div&gt;

&lt;!-- ═══════════════════════════════════════════════════════
     Copy-to-click box styles (shared across Part 2)
════════════════════════════════════════════════════════ --&gt;
&lt;style&gt;
  .cmd-block {
    position: relative;
    background: #1e1e1e;
    border: 1px solid #3a3a3a;
    border-radius: 6px;
    margin: 12px 0 20px 0;
    font-family: &#39;Courier New&#39;, Courier, monospace;
    font-size: 0.9em;
  }
  .cmd-block .cmd-label {
    background: #2d2d2d;
    color: #888;
    font-size: 0.75em;
    padding: 5px 12px;
    border-radius: 6px 6px 0 0;
    border-bottom: 1px solid #3a3a3a;
    letter-spacing: 0.05em;
  }
  .cmd-block .cmd-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    gap: 10px;
  }
  .cmd-block code {
    color: #d4d4d4;
    white-space: pre-wrap;
    flex: 1;
  }
  .cmd-block .cmd-copy {
    flex-shrink: 0;
    background: #3a3a3a;
    color: #ccc;
    border: none;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 0.8em;
    cursor: pointer;
    transition: background 0.2s;
  }
  .cmd-block .cmd-copy:hover { background: #555; }
  .cmd-block .cmd-copy.copied { background: #2e6e2e; color: #7ec87e; }
&lt;/style&gt;

&lt;script&gt;
  function copyCmd(btn, text) {
    navigator.clipboard.writeText(text).then(function() {
      btn.textContent = &#39;Copied!&#39;;
      btn.classList.add(&#39;copied&#39;);
      setTimeout(function() {
        btn.textContent = &#39;Copy&#39;;
        btn.classList.remove(&#39;copied&#39;);
      }, 2000);
    });
  }
&lt;/script&gt;

&lt;!-- ═══════════════════════════════════════════════════════
     2.1
════════════════════════════════════════════════════════ --&gt;
&lt;h3&gt;2.1 Downloading Python Script&lt;/h3&gt;
&lt;p&gt;
  The &lt;a href=&quot;https://github.com/ShawnHymel/ei-keyword-spotting&quot;&gt;Dataset Curation Python Script&lt;/a&gt;
  is available to download. Here are the steps to extract it properly, as the video instructions are
  shown too quickly.
&lt;/p&gt;

&lt;h4&gt;&lt;b&gt;2.1.1 Install 7-Zip&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;
  For extracting the file. On the
  &lt;a href=&quot;https://www.7-zip.org/download.html&quot;&gt;7-Zip Download Page&lt;/a&gt;
  select the download for your machine. (I&#39;m using Windows 7 64-Bit)
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2GiX9pUv-RIBpVK5QGblBBOihLFg3tcG57jGuZD1HDYJNwI68LJuUiyvTWFl7WqpxYCHkBWjkq3j9Jja5Lzag1Z38MCzpPGRPXKy5-7f-4gbytrGFnocJH_aNGA2BDQvi_8Xa-PPJupSrZe4qqHogrDX-kd0x-G3OShOSI-hesl4SGor98sAKPOvSBgxh/s1064/51%207-Zip.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;565&quot; data-original-width=&quot;1064&quot;
         height=&quot;230&quot; width=&quot;432&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2GiX9pUv-RIBpVK5QGblBBOihLFg3tcG57jGuZD1HDYJNwI68LJuUiyvTWFl7WqpxYCHkBWjkq3j9Jja5Lzag1Z38MCzpPGRPXKy5-7f-4gbytrGFnocJH_aNGA2BDQvi_8Xa-PPJupSrZe4qqHogrDX-kd0x-G3OShOSI-hesl4SGor98sAKPOvSBgxh/w432-h230/51%207-Zip.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p style=&quot;text-align: left;&quot;&gt;
  Once downloaded, open the .exe file. (You may need to click &quot;Allow Changes&quot; in the pop-up window)
  Next, Install.
&lt;/p&gt;

&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjoafD_7NQg-kzXHdSok_4yrMPEtvzduSho4tV1zPoym3sRoR3uAOLrNhR9_Ujfi6cMkK8JdSSzsHXz0RNCobVMMsqcvLQVzyjN6sTpvjjL5_BKHnaTePdobJASyppWodcx3KWrdVx03mPeWwe5cxeQCRg3VeSuWXfiTFYE9XLWZnMX42fMfHzMU49ZkyvM&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img alt=&quot;&quot;
         data-original-height=&quot;215&quot; data-original-width=&quot;302&quot;
         height=&quot;228&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjoafD_7NQg-kzXHdSok_4yrMPEtvzduSho4tV1zPoym3sRoR3uAOLrNhR9_Ujfi6cMkK8JdSSzsHXz0RNCobVMMsqcvLQVzyjN6sTpvjjL5_BKHnaTePdobJASyppWodcx3KWrdVx03mPeWwe5cxeQCRg3VeSuWXfiTFYE9XLWZnMX42fMfHzMU49ZkyvM&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.1.2&lt;/h4&gt;
&lt;p&gt;Click on the green &quot;Code&quot; box and select the &quot;Download ZIP&quot; option that appears&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq0yuCWOq4c1bMlsteHN-ynALvPn6Fnx0kxWBwy3NM9wZ49DV2sps5jfQ3aH-443gwhPzsMKfJsYNpcrKxOYGAoOlod-6Zp_7QiDbkOfa5_2aENiPPlEtt9QYr0f_VT4XOVxtPoN_PQ1lqLtTdYG2nAbLRvEayZDdeMpqA8C0Y0eEwWvoSZ7pAtba-iUbT/s904/50%20-%20download%20Zip.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;425&quot; data-original-width=&quot;904&quot;
         height=&quot;227&quot; width=&quot;484&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq0yuCWOq4c1bMlsteHN-ynALvPn6Fnx0kxWBwy3NM9wZ49DV2sps5jfQ3aH-443gwhPzsMKfJsYNpcrKxOYGAoOlod-6Zp_7QiDbkOfa5_2aENiPPlEtt9QYr0f_VT4XOVxtPoN_PQ1lqLtTdYG2nAbLRvEayZDdeMpqA8C0Y0eEwWvoSZ7pAtba-iUbT/w484-h227/50%20-%20download%20Zip.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;&lt;b&gt;2.1.3&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Left Click on the Downloaded zip file, then click on &quot;Show more options&quot;.&lt;/p&gt;

&lt;h4&gt;&lt;b&gt;2.1.4&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Under &quot;Show more options&quot; Hover over &quot;7-zip&quot;, then click on &quot;Extract Here&quot;&lt;/p&gt;

&lt;h4&gt;&lt;b&gt;2.1.5&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Once it&#39;s extracted, open File Explorer and search for &quot;ei-keyword&quot;. Open the &quot;ei-keyword-spotting-master&quot; folder.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj69n-VsHwkqAt4JPqLZq7tZs9oa8GR3PWFB5YZxgwoMj2XWvQWES3iLjmVfhyxHKPCuQo3nqYdDyI0sChSds6ip05hlasczsHg4LCHdJdimakMS7_p94uZyaktwRxi8dCmYQr1k9e4ii6aXJTRceyy4eblj4kKsbYQ16amTy9DPjQV5qIjrWYaX3LDoHW/s629/53%20unzipped%20ei%20keyword%20spotting.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;50&quot; data-original-width=&quot;629&quot;
         height=&quot;61&quot; width=&quot;776&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj69n-VsHwkqAt4JPqLZq7tZs9oa8GR3PWFB5YZxgwoMj2XWvQWES3iLjmVfhyxHKPCuQo3nqYdDyI0sChSds6ip05hlasczsHg4LCHdJdimakMS7_p94uZyaktwRxi8dCmYQr1k9e4ii6aXJTRceyy4eblj4kKsbYQ16amTy9DPjQV5qIjrWYaX3LDoHW/w776-h61/53%20unzipped%20ei%20keyword%20spotting.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;&lt;b&gt;2.1.6&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Copy and paste the &quot;dataset-curation&quot; and &quot;utils&quot; Python files into a directory where they can be accessed.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVU5wR0klyWLsH_D85vjArNxmGo3jEAlIWo9820SMvqnUHE_4msE-LC4VFQHn6Q7Sq54vwO1Reo2Z4YB0u0p0ZoloBd1xWIN_CcD_QWyd3HlpD5Jb9eKDz5XFEz7lwRzeYTY_X2HAcRM60lDENkHawKDgyrygV7BaEf4rx4XkMcQ5ggbO_49jNBuIS_sBy/s1403/55%20py%20files.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;790&quot; data-original-width=&quot;1403&quot;
         height=&quot;301&quot; width=&quot;534&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVU5wR0klyWLsH_D85vjArNxmGo3jEAlIWo9820SMvqnUHE_4msE-LC4VFQHn6Q7Sq54vwO1Reo2Z4YB0u0p0ZoloBd1xWIN_CcD_QWyd3HlpD5Jb9eKDz5XFEz7lwRzeYTY_X2HAcRM60lDENkHawKDgyrygV7BaEf4rx4XkMcQ5ggbO_49jNBuIS_sBy/w534-h301/55%20py%20files.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;!-- ═══════════════════════════════════════════════════════
     2.2
════════════════════════════════════════════════════════ --&gt;
&lt;h3&gt;2.2 Downloading Speech Commands&lt;/h3&gt;
&lt;p&gt;
  As shown in the video description, here is a download link for the
  &lt;a href=&quot;https://www.youtube.com/redirect?event=video_description&amp;amp;redir_token=QUFFLUhqbE5XcTVwNGF4V3B3OTB6YXBwbHh2S0gydUp1Z3xBQ3Jtc0tuT2otd2QzS2w2TWFSMElJZ0ROSkpDYkJKanR2QW9tUWFGMHdrWVBjay1kMjdwcFhzYzNXSFlhamp5cnp3Vl9KempLVzNrRnUza1hfcS0ySmg4Q0lQSTJJT1A4NjhhYVByT0dQdzJiTkViN3lMNEVvbw&amp;amp;q=https%3A%2F%2Fstorage.cloud.google.com%2Fdownload.tensorflow.org%2Fdata%2Fspeech_commands_v0.02.tar.gz&amp;amp;v=fRSVQ4Fkwjc&quot;&gt;Google Speech Commands Dataset&lt;/a&gt;.
  If a page appears when following this link, click on &quot;Go to Site&quot; to start the download.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWtcxLSzVrgVNCuj20_N5cnRI2aFS5G1BenreK5K7KlJF6XC6Mxwofd_p3-yyhI6ikuM1StnFCzVSYfuEETG7pyMt10IAKkk1TUrt4qnQixDZEcpspS_77WmuKYb_CmCB-3Eti6mrqbBCi6BV1bSSX3n51uV6ImhSWGSI_JpzV4sQxkFTZhqeQ3kS-xQWL/s543/56%20Leave%20YT.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;332&quot; data-original-width=&quot;543&quot;
         height=&quot;196&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWtcxLSzVrgVNCuj20_N5cnRI2aFS5G1BenreK5K7KlJF6XC6Mxwofd_p3-yyhI6ikuM1StnFCzVSYfuEETG7pyMt10IAKkk1TUrt4qnQixDZEcpspS_77WmuKYb_CmCB-3Eti6mrqbBCi6BV1bSSX3n51uV6ImhSWGSI_JpzV4sQxkFTZhqeQ3kS-xQWL/s320/56%20Leave%20YT.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.2.1&lt;/h4&gt;
&lt;p&gt;Left Click on the Downloaded zip file of the Dataset, then click on &quot;Extract All&quot;&lt;/p&gt;

&lt;h4&gt;2.2.2&lt;/h4&gt;
&lt;p&gt;Create a folder for housing the necessary files. In this example I named it &quot;Speech_Rec&quot;.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijWCXctPQ2P6TzwV73PmnoH2yBihHsA1mc1eN1Rjjz4jS_fTm40K1QnWvcw8GfAJcZOrGR1SAB-9WfDZ0wllpy2PN2rStHleKzvKvWkGNoQGJhDe_-pExFPJ9_C7WDcNfNYWJjTwh8w9d8ToqwFLXpQnvi9e4ka41L9iwQIbJPCpONTrDvji_EDpXTLWIc/s714/56.5%20-%20speech%20rec.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;310&quot; data-original-width=&quot;714&quot;
         height=&quot;248&quot; width=&quot;571&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijWCXctPQ2P6TzwV73PmnoH2yBihHsA1mc1eN1Rjjz4jS_fTm40K1QnWvcw8GfAJcZOrGR1SAB-9WfDZ0wllpy2PN2rStHleKzvKvWkGNoQGJhDe_-pExFPJ9_C7WDcNfNYWJjTwh8w9d8ToqwFLXpQnvi9e4ka41L9iwQIbJPCpONTrDvji_EDpXTLWIc/w571-h248/56.5%20-%20speech%20rec.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.2.3&lt;/h4&gt;
&lt;p&gt;
  Cut and paste the _background_noise_ into the created folder. The _background_noise_ must be stored
  separately from the individual keywords.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpO6bZjQJcPMOJwJ6wbwJHWvNDf8Z5F5LiUVOjp0MVz5SRNIMrjYqq0ZsTX5XS9xY3kR9qXC8m0Ai7OqY5CXzHOdprxpor7fsYVcKbfI2s47dOfahMlDkG4dcXVZ_K1K82OsplJ0wfnZDdWdxZ4QFo8Sh2iFtAmmAkc9eoasZtMLXyL7f0W5h6dovQrlex/s1404/57%20background_noise%20file.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;627&quot; data-original-width=&quot;1404&quot;
         height=&quot;227&quot; width=&quot;506&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpO6bZjQJcPMOJwJ6wbwJHWvNDf8Z5F5LiUVOjp0MVz5SRNIMrjYqq0ZsTX5XS9xY3kR9qXC8m0Ai7OqY5CXzHOdprxpor7fsYVcKbfI2s47dOfahMlDkG4dcXVZ_K1K82OsplJ0wfnZDdWdxZ4QFo8Sh2iFtAmmAkc9eoasZtMLXyL7f0W5h6dovQrlex/w506-h227/57%20background_noise%20file.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV-9xfYkKhM1kYuRw4DzLe7bqy8LxaUhTM_BzB-xzJHuGylskNQn3g0Mo_vtqz9tXJ0bG1dW9zR5tsTGF6bazKljOJzj3jd1kowl5uiJE-6U2NLsuKi5SNGwNPcdRMAa_tCcAQiH3elzcQZoopjIUsg-CHTEZfoT8HCnNP0h9CeEjKYHqlF-Kjpz_vkC3D/s806/61%20-%20Background%20noise%20paste.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;448&quot; data-original-width=&quot;806&quot;
         height=&quot;254&quot; width=&quot;457&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV-9xfYkKhM1kYuRw4DzLe7bqy8LxaUhTM_BzB-xzJHuGylskNQn3g0Mo_vtqz9tXJ0bG1dW9zR5tsTGF6bazKljOJzj3jd1kowl5uiJE-6U2NLsuKi5SNGwNPcdRMAa_tCcAQiH3elzcQZoopjIUsg-CHTEZfoT8HCnNP0h9CeEjKYHqlF-Kjpz_vkC3D/w457-h254/61%20-%20Background%20noise%20paste.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.2.4&lt;/h4&gt;
&lt;p&gt;Create a folder for housing keywords such as &quot;on&quot; and &quot;off&quot;. (The video example includes using custom keywords as well)&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_VSTRigpJnD0Lsu5e4RQacQzF0Tu1X00HRr_quhCrPJxoCAMzgK4BgcQzGaePwInJ7Va9uc2iVL-CySXdM299DgGFeOyRDB2t-DbTuue1W2KcAicDdHO5mwMQd4AfL482qYVqvDFpBfyKW8cu345IpM6eRtFwCLWY9j039FkXEdpWYVWjS_g47PVoZ39Q/s1016/60%20keyowrd%20folder.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;458&quot; data-original-width=&quot;1016&quot;
         height=&quot;283&quot; width=&quot;629&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_VSTRigpJnD0Lsu5e4RQacQzF0Tu1X00HRr_quhCrPJxoCAMzgK4BgcQzGaePwInJ7Va9uc2iVL-CySXdM299DgGFeOyRDB2t-DbTuue1W2KcAicDdHO5mwMQd4AfL482qYVqvDFpBfyKW8cu345IpM6eRtFwCLWY9j039FkXEdpWYVWjS_g47PVoZ39Q/w629-h283/60%20keyowrd%20folder.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.2.5&lt;/h4&gt;
&lt;p&gt;Copy and paste the &quot;on&quot; and &quot;off&quot; keywords into the newly created &quot;keywords&quot; folder&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfy1WP-fvFUS6TEZFV1GFDcWg2LVeY0LGuhRjuWrDk9uQFXYB1AFllqaRKPM_KUO5CY5K4-FDz5IisSnV2cyrWZ1skCF-GY9NExisLSAA_3Fwpvj6tgbJ6BH6d-RTDswDRQY4JRXsG3YrhHSR0OomDZ3es79W-fygGOzrfHvSwehYjP5RDxXqaMR0v50yb/s1023/59%20on_off.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;501&quot; data-original-width=&quot;1023&quot;
         height=&quot;256&quot; width=&quot;522&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfy1WP-fvFUS6TEZFV1GFDcWg2LVeY0LGuhRjuWrDk9uQFXYB1AFllqaRKPM_KUO5CY5K4-FDz5IisSnV2cyrWZ1skCF-GY9NExisLSAA_3Fwpvj6tgbJ6BH6d-RTDswDRQY4JRXsG3YrhHSR0OomDZ3es79W-fygGOzrfHvSwehYjP5RDxXqaMR0v50yb/w522-h256/59%20on_off.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;!-- ═══════════════════════════════════════════════════════
     2.3
════════════════════════════════════════════════════════ --&gt;
&lt;h3&gt;2.3 Using the Program&lt;/h3&gt;

&lt;h4&gt;2.3.1&lt;/h4&gt;
&lt;p&gt;
  Python will need to be installed to run the speech Recognition Code.
  &lt;a href=&quot;https://www.python.org/downloads/&quot;&gt;Download Python&lt;/a&gt;
  &amp;mdash; click on the yellow box to download the latest version.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyED6brMmkiqDEbZcpqL6EZYe0JbLLgcTVr5kCh1_qLmvxHEmwe1qd3zylH1ofk9DUu6DgLvTRqDhsPwD37g4QRnuvqwXEPruJC0X2PU9cCHSZAWAdvJig75kVSINHIbqFGsW61ipeuLdB_3AF_wAflfZ_JjQUMT_B6_7Gnk3p2iQUuMkMBtzrlp0ro4ep/s792/62%20Download%20Python.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;534&quot; data-original-width=&quot;792&quot;
         height=&quot;293&quot; width=&quot;434&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyED6brMmkiqDEbZcpqL6EZYe0JbLLgcTVr5kCh1_qLmvxHEmwe1qd3zylH1ofk9DUu6DgLvTRqDhsPwD37g4QRnuvqwXEPruJC0X2PU9cCHSZAWAdvJig75kVSINHIbqFGsW61ipeuLdB_3AF_wAflfZ_JjQUMT_B6_7Gnk3p2iQUuMkMBtzrlp0ro4ep/w434-h293/62%20Download%20Python.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.3.2&lt;/h4&gt;
&lt;p&gt;
  If you already have Python installed, it may ask to upgrade to the latest version.
  Otherwise, there should be an option to install.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT44GyPNgLEdsk75ANeu_h1_-OqPxi4ZxziEkGekHud-GwH3mI7QPa8jtphPwhvNV-4jkeVNh8i5usoTDoNE5q0a6MjBLFb1PN52jnAkhnRbp7cbaBQHR-b0bdAqlTl2aWejvmxwkqTtp38KrGiBwhFP3LIduby9QZiFUHguKxntnI57UEyrSJPT1SriPJ/s649/64%20Upgrade%20Python.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;399&quot; data-original-width=&quot;649&quot;
         height=&quot;300&quot; width=&quot;487&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT44GyPNgLEdsk75ANeu_h1_-OqPxi4ZxziEkGekHud-GwH3mI7QPa8jtphPwhvNV-4jkeVNh8i5usoTDoNE5q0a6MjBLFb1PN52jnAkhnRbp7cbaBQHR-b0bdAqlTl2aWejvmxwkqTtp38KrGiBwhFP3LIduby9QZiFUHguKxntnI57UEyrSJPT1SriPJ/w487-h300/64%20Upgrade%20Python.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.3.3&lt;/h4&gt;
&lt;p&gt;An option to close the installer will appear once setup is successful&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrtypjAyKLwILkNY8X5mnqN76h7hiNDSNEEFlUwN5GSNmyYhDeZB-D3XISp3kmsH1JL2_i80g9BSqBEfvv_MMXEs9SNZFoTKOUig3J7c_c2yrekWOULdhV1gHBpfYt5ogNCoIH_EHdCqG_RvJKWXMcYRcdLFelarcdjbfTAQVOeATR2sZUJOGR3ErFDbNP/s645/65%20-%20Setup%20Successful.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;402&quot; data-original-width=&quot;645&quot;
         height=&quot;289&quot; width=&quot;464&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrtypjAyKLwILkNY8X5mnqN76h7hiNDSNEEFlUwN5GSNmyYhDeZB-D3XISp3kmsH1JL2_i80g9BSqBEfvv_MMXEs9SNZFoTKOUig3J7c_c2yrekWOULdhV1gHBpfYt5ogNCoIH_EHdCqG_RvJKWXMcYRcdLFelarcdjbfTAQVOeATR2sZUJOGR3ErFDbNP/w464-h289/65%20-%20Setup%20Successful.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.3.4&lt;/h4&gt;
&lt;p&gt;Open Windows PowerShell (Terminal) and run the following command. This installs all the necessary Python libraries for the speech recognition.&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;PowerShell — install Python libraries&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;pip install librosa numpy soundfile&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;pip install librosa numpy soundfile&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h4&gt;2.3.5&lt;/h4&gt;
&lt;p&gt;
  While in PowerShell, go to the folder that contains all the speech recognition files (&quot;Speech_Rec&quot;).
  To find the path, click on the folder name in File Explorer, then left click and select &quot;Copy Address&quot;.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHniI_luWTU6vh8fBGSziXqh2pBz4G-EWXzXe1OyGTyL7QETV4O2KXi7HUJyOJ6qVC3zE37RZP9jBq_AAWOhyphenhyphenMoruzH8mncYG2YNFNBrEbwcSNf9ATaKponOnj6g2iamoiSCrNZQ9ZBOq7XDpkeJV9ARipOX2VLo7IqLufY9cNj3rr0PVaV9RlGiUgRspP/s695/67%20-%20address%20to%20folder.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;381&quot; data-original-width=&quot;695&quot;
         height=&quot;266&quot; width=&quot;485&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHniI_luWTU6vh8fBGSziXqh2pBz4G-EWXzXe1OyGTyL7QETV4O2KXi7HUJyOJ6qVC3zE37RZP9jBq_AAWOhyphenhyphenMoruzH8mncYG2YNFNBrEbwcSNf9ATaKponOnj6g2iamoiSCrNZQ9ZBOq7XDpkeJV9ARipOX2VLo7IqLufY9cNj3rr0PVaV9RlGiUgRspP/w485-h266/67%20-%20address%20to%20folder.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Use the &lt;code&gt;cd&lt;/code&gt; command followed by the path to the directory, for example:&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;PowerShell — navigate to Speech_Rec folder&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;cd C:\Users\maxcl\Downloads\Speech_Rec&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;cd C:\\Users\\maxcl\\Downloads\\Speech_Rec&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h4&gt;2.3.6&lt;/h4&gt;
&lt;p&gt;Next, enter the following line into the terminal. It runs the dataset-curation.py script and sets all the necessary parameters.&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;PowerShell — run dataset curation script&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;python dataset-curation.py -t &quot;on, off&quot; -n 1500 -w 1.0 -g 0.1 -s 1.0 -r 16000 -e PCM_16 -b &quot;..\Speech_Rec\_background_noise_&quot; -o &quot;Speech_Rec\keywords&quot; &quot;..\Speech_Rec\data_speech_commands_v0.02&quot; &quot;..\datasets\keywords&quot;&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;python dataset-curation.py -t &amp;quot;on, off&amp;quot; -n 1500 -w 1.0 -g 0.1 -s 1.0 -r 16000 -e PCM_16 -b &amp;quot;..\\Speech_Rec\\_background_noise_&amp;quot; -o &amp;quot;Speech_Rec\\keywords&amp;quot; &amp;quot;..\\Speech_Rec\\data_speech_commands_v0.02&amp;quot; &amp;quot;..\\datasets\\keywords&amp;quot;&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The script may take a few minutes to run.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi6RBM_3ubRV_BHrcxZqWcJQCfa9Shpjn6SPnW0AwMogH-SCAQbjLM5BtMH8xm0SipBi50N83hoxNkhibjvnFp3tIVjXDmlWPI9lNTr82GRdp0nT0LIkDyRFE2l-MLQiPn2M3pdDhTWW772NKgRKrRIxf2auxvmIaBUxS_rNGF3Q2xAFZ3j_AtZr8dkjKP/s1107/70%20-%20Completed%20Script.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;619&quot; data-original-width=&quot;1107&quot;
         height=&quot;228&quot; width=&quot;408&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi6RBM_3ubRV_BHrcxZqWcJQCfa9Shpjn6SPnW0AwMogH-SCAQbjLM5BtMH8xm0SipBi50N83hoxNkhibjvnFp3tIVjXDmlWPI9lNTr82GRdp0nT0LIkDyRFE2l-MLQiPn2M3pdDhTWW772NKgRKrRIxf2auxvmIaBUxS_rNGF3Q2xAFZ3j_AtZr8dkjKP/w408-h228/70%20-%20Completed%20Script.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.3.7&lt;/h4&gt;
&lt;p&gt;
  Once it&#39;s finished, a set of folders named after the input, output, and keywords can be found in the
  directory. (Note: In this case, the folder name &quot;Speech_Rec&quot; appeared twice so I changed the second
  one to &quot;results&quot;)
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs20UP574dnAkfhKprcpVJ32nk6wmqEAyy-Jg4EQnIPt_pGVM8S3xux7fcLcOiizIiRty4HdaaQW-vbjcB_W1P9Vjsl9PVW_V5-_rvYwdTohIG1YU69uvJnkHypY_3It_1DgpTMbbVdG6vd61DInhISH9h3M63ATkjd3tOalhCRRuOpMX1fsIPT9l3fzVa/s692/71%20-%20newly%20created%20speech-rec%20or%20results%20path.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;431&quot; data-original-width=&quot;692&quot;
         height=&quot;199&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs20UP574dnAkfhKprcpVJ32nk6wmqEAyy-Jg4EQnIPt_pGVM8S3xux7fcLcOiizIiRty4HdaaQW-vbjcB_W1P9Vjsl9PVW_V5-_rvYwdTohIG1YU69uvJnkHypY_3It_1DgpTMbbVdG6vd61DInhISH9h3M63ATkjd3tOalhCRRuOpMX1fsIPT9l3fzVa/s320/71%20-%20newly%20created%20speech-rec%20or%20results%20path.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.3.8&lt;/h4&gt;
&lt;p&gt;Open the &quot;on&quot; folder and select one of the audio samples to play.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBX6umZiZW_ieFrbA2mSoedXiUlrJ981mzHTwoazdYIQHL3p0JBTaftFfkmYh9JJDodpOLKFIjWZfh2xII3H7GJj5PwFfAdDKqdmcZFgYCnfRcHng_sDxskP6Jm0w3x5XpMrltEuVIFqxexgdYG3HWBgFZpIx8HREc_fwWxWrlIkGwnR2uGDg2RRVj9P2N/s756/72%20-%20unknown%20sample.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;426&quot; data-original-width=&quot;756&quot;
         height=&quot;237&quot; width=&quot;422&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBX6umZiZW_ieFrbA2mSoedXiUlrJ981mzHTwoazdYIQHL3p0JBTaftFfkmYh9JJDodpOLKFIjWZfh2xII3H7GJj5PwFfAdDKqdmcZFgYCnfRcHng_sDxskP6Jm0w3x5XpMrltEuVIFqxexgdYG3HWBgFZpIx8HREc_fwWxWrlIkGwnR2uGDg2RRVj9P2N/w422-h237/72%20-%20unknown%20sample.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;!-- ═══════════════════════════════════════════════════════
     2.4
════════════════════════════════════════════════════════ --&gt;
&lt;h3&gt;2.4 Edge Impulse&lt;/h3&gt;

&lt;h4&gt;2.4.1&lt;/h4&gt;
&lt;p&gt;
  Next, we will go to &lt;a href=&quot;https://edgeimpulse.com/&quot;&gt;Edge Impulse&lt;/a&gt;. Click on the &quot;Login&quot; option
  in the top left corner of the home screen, as this will give you the option to either log into your
  account or create a new account.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRtbnBqXT0bdKvT5RrLFWgva3jdg0pUtlCAsqGu8GD59XivwRnf7VwqXZEr_QEY_QoUeErDGkBAGSfKxLiUNoKewUVp4pwxatb1FXjBdflng7qdcvu1nyHZseDLr82Uw3g15ZGlXKoZ8_0kwIukSiY97UN9R81ihkE4q94UClYMY1WwVczG_EXXZD4eN5H/s1356/73%20edge%20impulse%20login.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;835&quot; data-original-width=&quot;1356&quot;
         height=&quot;293&quot; width=&quot;476&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRtbnBqXT0bdKvT5RrLFWgva3jdg0pUtlCAsqGu8GD59XivwRnf7VwqXZEr_QEY_QoUeErDGkBAGSfKxLiUNoKewUVp4pwxatb1FXjBdflng7qdcvu1nyHZseDLr82Uw3g15ZGlXKoZ8_0kwIukSiY97UN9R81ihkE4q94UClYMY1WwVczG_EXXZD4eN5H/w476-h293/73%20edge%20impulse%20login.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.2&lt;/h4&gt;
&lt;p&gt;Once you&#39;ve created an account and/or logged in, click on the icon in the top left, then click on &quot;Projects&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3fs3wm5Bt-4NJv-4KDbojnK8sWDmd_fZInLDx-zOr5D3w_2IRfCu_1vVem-XOJ4mgGj6104uU98k5Bkb4PwTbu-y8HxqFdzFZd795bsGKgKQv2OCKq-qaU9mKETISCjnUocnx89rHgrsFuBv6r-I_BWtnnH0OKfYV_86cEY0V3AVifD6yHrgA3Nb1kYe_/s387/74%20-%20new%20project.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;387&quot; data-original-width=&quot;233&quot;
         height=&quot;320&quot; width=&quot;193&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3fs3wm5Bt-4NJv-4KDbojnK8sWDmd_fZInLDx-zOr5D3w_2IRfCu_1vVem-XOJ4mgGj6104uU98k5Bkb4PwTbu-y8HxqFdzFZd795bsGKgKQv2OCKq-qaU9mKETISCjnUocnx89rHgrsFuBv6r-I_BWtnnH0OKfYV_86cEY0V3AVifD6yHrgA3Nb1kYe_/s320/74%20-%20new%20project.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.3&lt;/h4&gt;
&lt;p&gt;Click on &quot;Create New Project&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Ukx-m8-M7ePWcIEyOSI1iQ54lPKjJrBiEVmJwgai-5uOs2lY8BOpgi4nMx74MbX5K5kp9bRPwiCPTdg0oH6Ocm-L64TqQsqeoOUcAfhd4HPJqSlwPj3gWN8ovKYrdXdllWK6K_4dMNd8Z-8Z5A9uizCwvrPf4I-bWAXy9L7vzRibUAe_-GxEIqhXyDAZ/s1159/75%20-%20create%20new%20project%20edge%20impulse.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;533&quot; data-original-width=&quot;1159&quot;
         height=&quot;261&quot; width=&quot;568&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Ukx-m8-M7ePWcIEyOSI1iQ54lPKjJrBiEVmJwgai-5uOs2lY8BOpgi4nMx74MbX5K5kp9bRPwiCPTdg0oH6Ocm-L64TqQsqeoOUcAfhd4HPJqSlwPj3gWN8ovKYrdXdllWK6K_4dMNd8Z-8Z5A9uizCwvrPf4I-bWAXy9L7vzRibUAe_-GxEIqhXyDAZ/w568-h261/75%20-%20create%20new%20project%20edge%20impulse.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.4&lt;/h4&gt;
&lt;p&gt;Name your project then click on the green &quot;Create New Project&quot;. I chose to leave this one as public.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe8GxkADnK9trOXDB3L_xfhnIv3a1bMFwuZKfKgUnCbIFGXQ20pclsl1e2SjGf9xvLG5nbsNci9y7CMv5-CkWLpMBC71bfzKfh1M3378fMl4q9tBlAybnTyqxn-WOHMZCNrTi0R2HfK1Xafl0u9w576SvndzhzaTgCNFxQ-H4lU9BBVclVdNgst8VcjIgr/s754/76%20-%20projct%20name.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;754&quot; data-original-width=&quot;592&quot;
         height=&quot;320&quot; width=&quot;251&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe8GxkADnK9trOXDB3L_xfhnIv3a1bMFwuZKfKgUnCbIFGXQ20pclsl1e2SjGf9xvLG5nbsNci9y7CMv5-CkWLpMBC71bfzKfh1M3378fMl4q9tBlAybnTyqxn-WOHMZCNrTi0R2HfK1Xafl0u9w576SvndzhzaTgCNFxQ-H4lU9BBVclVdNgst8VcjIgr/s320/76%20-%20projct%20name.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.5&lt;/h4&gt;
&lt;p&gt;In the new project, click on &quot;Data Acquisition&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLqMqgM1LSM5kDiCa_dr9Cwxpd0-3Dw_jJui-3PU8M4OQk1bQ6b3pQzR7gRVBo8ddYriPb8PNJTSPCtxhrVUYwyjtQY1wmA8qyefVitJ4plBL3SlLV47h3BqOrCXQNMXXeaE_vZwTn24zA9kBG2EHxEnMZ6pa-PAZcbvxKE-98QZgu8PW1VI50HgoAkJL6/s1274/77%20-%20data%20acq.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;709&quot; data-original-width=&quot;1274&quot;
         height=&quot;256&quot; width=&quot;460&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLqMqgM1LSM5kDiCa_dr9Cwxpd0-3Dw_jJui-3PU8M4OQk1bQ6b3pQzR7gRVBo8ddYriPb8PNJTSPCtxhrVUYwyjtQY1wmA8qyefVitJ4plBL3SlLV47h3BqOrCXQNMXXeaE_vZwTn24zA9kBG2EHxEnMZ6pa-PAZcbvxKE-98QZgu8PW1VI50HgoAkJL6/w460-h256/77%20-%20data%20acq.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.6&lt;/h4&gt;
&lt;p&gt;Next, click on &quot;Add Data&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib_WPWjoEUVebpAl9FpMoTzt1KXJRNnjjbNHCz-TpCbUtWeP7M1s0lnpDhMiUfkRj9xm3upkKPHEJdCwfrIxw7MNFm7rCVu7zGyoKmi3GKRHsPDy03QAo5aWGbKzVJ0XnBtGNm4YjA00WIqRptUyGLE_SWR1TLi-4gncCcntI8ZIIayI7FLZu65KQlz_K9/s1358/78%20-%20add%20data.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;744&quot; data-original-width=&quot;1358&quot;
         height=&quot;243&quot; width=&quot;444&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib_WPWjoEUVebpAl9FpMoTzt1KXJRNnjjbNHCz-TpCbUtWeP7M1s0lnpDhMiUfkRj9xm3upkKPHEJdCwfrIxw7MNFm7rCVu7zGyoKmi3GKRHsPDy03QAo5aWGbKzVJ0XnBtGNm4YjA00WIqRptUyGLE_SWR1TLi-4gncCcntI8ZIIayI7FLZu65KQlz_K9/w444-h243/78%20-%20add%20data.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.7&lt;/h4&gt;
&lt;p&gt;Select &quot;Upload Data&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHjUUCvnBuZyrmQriQYu7w5k7ZAcXN8LUL_PnqTUCT512jWEaNbgoZj6Pcp41lUDglueZ_dqrqA8SchVTSQDgkeQFzI9jms_11zaTr0C56HmFtxO259pXTJz2khUVUtjUaaaKivBqUTTff_v_GZWmMRWXlMZRDKxnqFKq8CWo_A4CqdDiMfmNBp7E9tEAO/s796/79%20-%20Upload%20Data.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;268&quot; data-original-width=&quot;796&quot;
         height=&quot;176&quot; width=&quot;523&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHjUUCvnBuZyrmQriQYu7w5k7ZAcXN8LUL_PnqTUCT512jWEaNbgoZj6Pcp41lUDglueZ_dqrqA8SchVTSQDgkeQFzI9jms_11zaTr0C56HmFtxO259pXTJz2khUVUtjUaaaKivBqUTTff_v_GZWmMRWXlMZRDKxnqFKq8CWo_A4CqdDiMfmNBp7E9tEAO/w523-h176/79%20-%20Upload%20Data.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;&lt;b&gt;2.4.8&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Leave the default selections for category and label, and click on &quot;Select Files&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz-EKfLcpc8qATiilL2CvRTQLF1Hw5uVvin16RUTAXt-9byWHZr_al5XUW9V7RJ8WrH3-dVT7TqvStct4ZscPs4hR9ckgKTW26Lw2OOuWtXWE8Vj1gZTNGQXRQWPwzGhXWtFUHyepN5SVB-pewwhLJ7NevO0wXvqtg5xYC7qx7NuoZcKcwJeGz2GBT38BU/s1129/82%20-%20upload%20selctions.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;905&quot; data-original-width=&quot;1129&quot;
         height=&quot;280&quot; width=&quot;349&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz-EKfLcpc8qATiilL2CvRTQLF1Hw5uVvin16RUTAXt-9byWHZr_al5XUW9V7RJ8WrH3-dVT7TqvStct4ZscPs4hR9ckgKTW26Lw2OOuWtXWE8Vj1gZTNGQXRQWPwzGhXWtFUHyepN5SVB-pewwhLJ7NevO0wXvqtg5xYC7qx7NuoZcKcwJeGz2GBT38BU/w349-h280/82%20-%20upload%20selctions.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;&lt;b&gt;2.4.9&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Start by uploading all the files in the noise folder. (I selected all by clicking on the box next to &quot;name&quot;). Click &quot;Open&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkoYjLIGWue845sob_PCPyh0iS6QpN7Apj_BOtbwWAAw0GOigeQAnnE2DiY5XW66taVfo1ptr4bTTPexaOsZY2aT2Rj5AAqxmlSmMHzLU0mDn3bRrtcEMJxEJiq7sXv61raUCHSOt7LqWRxKOYZpzjafI2nO7MlPcwRpsZGqwyK2v_aCwWOgKm5eQOAk3K/s1085/81%20-%20noise%20selection.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;472&quot; data-original-width=&quot;1085&quot;
         height=&quot;240&quot; width=&quot;553&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkoYjLIGWue845sob_PCPyh0iS6QpN7Apj_BOtbwWAAw0GOigeQAnnE2DiY5XW66taVfo1ptr4bTTPexaOsZY2aT2Rj5AAqxmlSmMHzLU0mDn3bRrtcEMJxEJiq7sXv61raUCHSOt7LqWRxKOYZpzjafI2nO7MlPcwRpsZGqwyK2v_aCwWOgKm5eQOAk3K/w553-h240/81%20-%20noise%20selection.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;&lt;b&gt;2.4.10&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Afterwards, click on the purple &quot;Upload Data&quot; button&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBNk5nr_Y9ArLYfRfGH5j9MPnHMxoyF3Od-LQVVxCmw6C8PnvB7GPxcmcP_-ZwbxGs0v8d7yuV50QeMhZzo2a634v0WRuxqobWL9rqTOq5FuVdouhFoQUCA-_ojhs0-K7VoredomrDAOurUQWGGQKAyi5pGwFCsk3eBjgOPy84yekCOaBhE__7yxR0iI53/s1129/82%20-%20upload%20selctions.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;905&quot; data-original-width=&quot;1129&quot;
         height=&quot;257&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBNk5nr_Y9ArLYfRfGH5j9MPnHMxoyF3Od-LQVVxCmw6C8PnvB7GPxcmcP_-ZwbxGs0v8d7yuV50QeMhZzo2a634v0WRuxqobWL9rqTOq5FuVdouhFoQUCA-_ojhs0-K7VoredomrDAOurUQWGGQKAyi5pGwFCsk3eBjgOPy84yekCOaBhE__7yxR0iI53/s320/82%20-%20upload%20selctions.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Edge Impulse will then process and add the files to the project.&lt;/p&gt;

&lt;h4&gt;&lt;b&gt;2.4.11&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;Repeat steps 2.4.8 through 2.4.10 for the &quot;on&quot;, &quot;off&quot;, and &quot;unknown&quot; categories.&lt;/p&gt;

&lt;h4&gt;&lt;b&gt;2.4.12&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;
  The pie charts at the top of the Dashboard should show that the data is split amongst the four
  categories, and 80% of the data was assigned to training and 20% was assigned to testing.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ8O2O48Yvv3FlrBRz6fuDgG-trxhxEV4GoCa9z7rRAOzbsUTakkiideEfZv3_h-CqaonXLlKK2zX2lwVzFRyGWN2nThwKxgxwUTg0HoNLp6r8Gvz5pVSk-u4fdj3_H51Ex6g0XR4eoft0myTt9dkL8g6A20egfmUhKLycUosq7ow-3rGFouli5f8Le8q9/s1367/83%20pie%20charts.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;302&quot; data-original-width=&quot;1367&quot;
         height=&quot;86&quot; width=&quot;389&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ8O2O48Yvv3FlrBRz6fuDgG-trxhxEV4GoCa9z7rRAOzbsUTakkiideEfZv3_h-CqaonXLlKK2zX2lwVzFRyGWN2nThwKxgxwUTg0HoNLp6r8Gvz5pVSk-u4fdj3_H51Ex6g0XR4eoft0myTt9dkL8g6A20egfmUhKLycUosq7ow-3rGFouli5f8Le8q9/w389-h86/83%20pie%20charts.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;&lt;b&gt;2.4.13&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;On the left side, click on Impulse Design, then Create Impulse. Click on &quot;Add Processing Block&quot;.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuNomfFvveap7GlGWeUMHz50DB-lika91C6qqbzkc2JkbbEtxWdytix68JT45ILWsGi60YyX3902UnPsvun5pWnJvhIUTM6deD2wnedMLAA7AQoRkSw2PWsM6wab_6IGksC6bxeHieN0anM4JsjmZrvGaLQ20SSRW9SgsCjWT-FdvBfu7w4pwQI1kBfZ2J/s1383/84%20-%20Processing%20Block.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;751&quot; data-original-width=&quot;1383&quot;
         height=&quot;230&quot; width=&quot;423&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuNomfFvveap7GlGWeUMHz50DB-lika91C6qqbzkc2JkbbEtxWdytix68JT45ILWsGi60YyX3902UnPsvun5pWnJvhIUTM6deD2wnedMLAA7AQoRkSw2PWsM6wab_6IGksC6bxeHieN0anM4JsjmZrvGaLQ20SSRW9SgsCjWT-FdvBfu7w4pwQI1kBfZ2J/w423-h230/84%20-%20Processing%20Block.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.14&lt;/h4&gt;
&lt;p&gt;Add the Audio (MFCC) Processing Block&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrFmcxYpGrnhSb_DVOG3c6AqmG0PpQy-yUcEdd99wGA6FefUfNC-nxJFBNX7wIc4sD-s1MwRW0aBLUHOTzGX6CmL8Y4QGgh_Tj_vHWE1lEnhaqxgwv6hE6tSSC1sGVUFI-z0hHqBcrC23AXX_qNn4zAHjgr8ykI1E56HnIW6QxPc5sQGu-uf4ouCVYsT6s/s821/85%20Audio%20MFCC.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;821&quot; data-original-width=&quot;787&quot;
         height=&quot;320&quot; width=&quot;307&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrFmcxYpGrnhSb_DVOG3c6AqmG0PpQy-yUcEdd99wGA6FefUfNC-nxJFBNX7wIc4sD-s1MwRW0aBLUHOTzGX6CmL8Y4QGgh_Tj_vHWE1lEnhaqxgwv6hE6tSSC1sGVUFI-z0hHqBcrC23AXX_qNn4zAHjgr8ykI1E56HnIW6QxPc5sQGu-uf4ouCVYsT6s/s320/85%20Audio%20MFCC.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.15&lt;/h4&gt;
&lt;p&gt;Select the &quot;Add a Learning Block&quot; option, then choose the default &quot;Classification&quot; block&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_tYOJabd5BGYmf4NxbY3vdKO-c_WXwWPZMjjldg7wW_HKZsNCLwHl3Em0CHkn36MnBn7obvijRayGT1dgaTCgGFcjfjRpcNtIXJO1Eg0IKJ5OTSpv0D2sK1zGQuc9gZuW8WXCS7dOmGy19zsZBp8W7FvVlrNjp7b4ghFotbFU81dk4dipH29anqqQXOA/s1930/85.5%20Learning.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;827&quot; data-original-width=&quot;1930&quot;
         height=&quot;185&quot; width=&quot;431&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_tYOJabd5BGYmf4NxbY3vdKO-c_WXwWPZMjjldg7wW_HKZsNCLwHl3Em0CHkn36MnBn7obvijRayGT1dgaTCgGFcjfjRpcNtIXJO1Eg0IKJ5OTSpv0D2sK1zGQuc9gZuW8WXCS7dOmGy19zsZBp8W7FvVlrNjp7b4ghFotbFU81dk4dipH29anqqQXOA/w431-h185/85.5%20Learning.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2HRGXvFPNqtXOH-FVTDzT3W4kzcbx14WuagKbrpfJxm2L8G8OZET6FfbxUL4NDyumN7k_wIr_xIvDkGojTE49ORBCLMh70IJh2k2MTSg5GeClMA8v2Fmi6OGnOapleIdy8Qa7HvyyPyS5FzBQKeM_Skp8S812dQJQ3dQcSVoRx1oKFAURSUkrH9Q8CBX6/s799/86%20Classification.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;612&quot; data-original-width=&quot;799&quot;
         height=&quot;245&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2HRGXvFPNqtXOH-FVTDzT3W4kzcbx14WuagKbrpfJxm2L8G8OZET6FfbxUL4NDyumN7k_wIr_xIvDkGojTE49ORBCLMh70IJh2k2MTSg5GeClMA8v2Fmi6OGnOapleIdy8Qa7HvyyPyS5FzBQKeM_Skp8S812dQJQ3dQcSVoRx1oKFAURSUkrH9Q8CBX6/s320/86%20Classification.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.16&lt;/h4&gt;
&lt;p&gt;Click on the Green &quot;Save Impulse&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipsFIAC0ghgCR26rWzuYSYzUeDmXeK8qv3nIkPgtUdzDGOqNsL5VnhY517Wcs9_4Qmiw_tf0wzAF_dRXOOyg-b0ZjvN2pKgJ1UMo1bJyiTba_FasINJCntV1yqzj6sJ24qEa81GsCWiA1XX9aW3RqsFVoNXJZoYiIZIKF7iMGhznuSBqqhRGL5iiLgKEKT/s1661/87%20Save%20Impulse.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;695&quot; data-original-width=&quot;1661&quot;
         height=&quot;237&quot; width=&quot;567&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipsFIAC0ghgCR26rWzuYSYzUeDmXeK8qv3nIkPgtUdzDGOqNsL5VnhY517Wcs9_4Qmiw_tf0wzAF_dRXOOyg-b0ZjvN2pKgJ1UMo1bJyiTba_FasINJCntV1yqzj6sJ24qEa81GsCWiA1XX9aW3RqsFVoNXJZoYiIZIKF7iMGhznuSBqqhRGL5iiLgKEKT/w567-h237/87%20Save%20Impulse.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.17&lt;/h4&gt;
&lt;p&gt;From the MFCC on the left, select the Generate Features tab, then click on &quot;Generate Features&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJwqM2fAd1hlGiddWHVnkJm-lvPdCUxMN6dNrloTEMdGTyF1Qbw6m_i_YvBTVf6BzGUx4BUqbTQmdUynHhHf5VGeQMw2K4Yu4jU_GOj-YIeBafjj2OKom8pKp-P3rdx7K3OdruZGMFsVfe-NbSnBYKe0MEUTMMHoPLeetKyJ7auZd6ns1RoYSlnmPKRA1V/s1376/88%20-%20Generate%20Features.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;775&quot; data-original-width=&quot;1376&quot;
         height=&quot;221&quot; width=&quot;392&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJwqM2fAd1hlGiddWHVnkJm-lvPdCUxMN6dNrloTEMdGTyF1Qbw6m_i_YvBTVf6BzGUx4BUqbTQmdUynHhHf5VGeQMw2K4Yu4jU_GOj-YIeBafjj2OKom8pKp-P3rdx7K3OdruZGMFsVfe-NbSnBYKe0MEUTMMHoPLeetKyJ7auZd6ns1RoYSlnmPKRA1V/w392-h221/88%20-%20Generate%20Features.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.18&lt;/h4&gt;
&lt;p&gt;Next, under Classifier on the left, choose Save &amp;amp; Train.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSvMX4A63jIgKJpCNk_ty34ed1K8gQgm8WkBydr0p1SWaY2Gn0jvPymazKJhfU5rFZN9TuVWJQVdCzFnu-duCFodNdszrhZWf0mBgRKnUzhbK3Rlc6u4J7UErZMdGZ6D77EaHnZfJb-vWC0kfK-Gpy9Gdo6xdRcWidzr6LDDYdlwu-Qpvuuss06NS0fL7h/s1367/89%20%20-%20Train%20Classifier.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;1217&quot; data-original-width=&quot;1367&quot;
         height=&quot;303&quot; width=&quot;340&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSvMX4A63jIgKJpCNk_ty34ed1K8gQgm8WkBydr0p1SWaY2Gn0jvPymazKJhfU5rFZN9TuVWJQVdCzFnu-duCFodNdszrhZWf0mBgRKnUzhbK3Rlc6u4J7UErZMdGZ6D77EaHnZfJb-vWC0kfK-Gpy9Gdo6xdRcWidzr6LDDYdlwu-Qpvuuss06NS0fL7h/w340-h303/89%20%20-%20Train%20Classifier.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.19&lt;/h4&gt;
&lt;p&gt;
  Now that the model is trained, the loss and accuracy of the model will appear. The accuracy refers to
  the percentage of the data that was correctly classified. As for loss, it is based upon a predefined
  function, and a smaller loss value indicates better ML model accuracy.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWEmh54vyz1y05ugzMz0ZE4MH8-o-WKPle1AvhbodgIrXS34LYwI31UqLQ1OMjdZXcHxD379u-eG5HxRfhFVUlwVdJa-HtOdCv383bn0vRY6oTp8ohbD4WPYOcRhA4OIIzMYCoIkx8UUB-WKs1No61R3s9YeovXzORaJXj_D4SAU5XmZW1QYzm-c4LZy9/s1081/90%20-%20Confusion%20Matrix.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;414&quot; data-original-width=&quot;1081&quot;
         height=&quot;211&quot; width=&quot;551&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWEmh54vyz1y05ugzMz0ZE4MH8-o-WKPle1AvhbodgIrXS34LYwI31UqLQ1OMjdZXcHxD379u-eG5HxRfhFVUlwVdJa-HtOdCv383bn0vRY6oTp8ohbD4WPYOcRhA4OIIzMYCoIkx8UUB-WKs1No61R3s9YeovXzORaJXj_D4SAU5XmZW1QYzm-c4LZy9/w551-h211/90%20-%20Confusion%20Matrix.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.20&lt;/h4&gt;
&lt;p&gt;To test the model, go to Model Testing on the left. Select &quot;Classify All&quot;.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHvCGDItl8zVWGLphSj2QurJxf4lRppiEpOqx8QkKpY_QI7cgizmhjrMcvv36EZ-EMFDZvVVGv8AXXqobVI-EFZ_ImqjPMa9IMccAtg2W8wATaA8UtLmIoL6ob-TrT4gLBInT09GfpW4G7xZijc-d4qRWlFMQI0k8J3MBn6ogZo93QRJ7BDMraLxvf-EvA/s1365/91%20-Model%20Testing.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;943&quot; data-original-width=&quot;1365&quot;
         height=&quot;272&quot; width=&quot;394&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHvCGDItl8zVWGLphSj2QurJxf4lRppiEpOqx8QkKpY_QI7cgizmhjrMcvv36EZ-EMFDZvVVGv8AXXqobVI-EFZ_ImqjPMa9IMccAtg2W8wATaA8UtLmIoL6ob-TrT4gLBInT09GfpW4G7xZijc-d4qRWlFMQI0k8J3MBn6ogZo93QRJ7BDMraLxvf-EvA/w394-h272/91%20-Model%20Testing.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.21&lt;/h4&gt;
&lt;p&gt;Once the testing is done, the results will be shown.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYVsbZ8syMd_QKc3cpKLp8sKi7zHvNQBtEqLxJv9tvjXmuH5wuYqg_DJOP22xQ_acXbAlYJWWAy-ystLgE_pJjV0UkLRKzasnfF09VSZscR7qFaJ0YfEVY0c-6C8Yp9el27F64pCGor0DT4B7ymsALZ7va-aJFnm6sKdt04yeQl0zyblE70hJI3GEdhwaJ/s2461/92%20-%20Testing%20Results.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;1123&quot; data-original-width=&quot;2461&quot;
         height=&quot;228&quot; width=&quot;499&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYVsbZ8syMd_QKc3cpKLp8sKi7zHvNQBtEqLxJv9tvjXmuH5wuYqg_DJOP22xQ_acXbAlYJWWAy-ystLgE_pJjV0UkLRKzasnfF09VSZscR7qFaJ0YfEVY0c-6C8Yp9el27F64pCGor0DT4B7ymsALZ7va-aJFnm6sKdt04yeQl0zyblE70hJI3GEdhwaJ/w499-h228/92%20-%20Testing%20Results.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.22&lt;/h4&gt;
&lt;p&gt;
  Next, we will deploy the model for Arduino. Click on the Search Bar and select the Arduino option.
  (Note: There are other options that can be used for other microcontrollers such as STM32 devices)
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_XQy5AhJhQ10wMyDRpdNzzLSnsDf2Vj6iSSerejO4CSf9AOaxSRZ_uv3N3WeIeXvXCU8gHlFOnuc5Wzw9Dgr-Qw2eRHjpjvS3NVRglyQyJPcKTR_e_aF5-ZokxAUxsb3iAfVc1ErGN6-0ann2I0jVP36rdI799N2CkDmq4niLln-fD7qX1ElzUy-sghoH/s1536/93%20-%20Arduino%20Library.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;786&quot; data-original-width=&quot;1536&quot;
         height=&quot;243&quot; width=&quot;475&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_XQy5AhJhQ10wMyDRpdNzzLSnsDf2Vj6iSSerejO4CSf9AOaxSRZ_uv3N3WeIeXvXCU8gHlFOnuc5Wzw9Dgr-Qw2eRHjpjvS3NVRglyQyJPcKTR_e_aF5-ZokxAUxsb3iAfVc1ErGN6-0ann2I0jVP36rdI799N2CkDmq4niLln-fD7qX1ElzUy-sghoH/w475-h243/93%20-%20Arduino%20Library.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.4.23&lt;/h4&gt;
&lt;p&gt;Select &quot;Build&quot; to create the Arduino Library, which will download automatically.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTDZ1yMG2lJSQqK12lJkUwA5lQBdhdhEK3k_OW9fNzVoVdbMLWjqfEWFrvMum1-K44iZ-xd6Nbuwz_8VFhXyTtMTV5KhAy0_-Mdu5hX_Fxhj-SPA6PZZYHSV8bg-_MOS9fIoLNo2hgTcT-pt7wAkE-tFAVVdK32LFr-Y25PZqQ4anwyraY1YqwvNaSXzPm/s1283/94%20-%20Build%20.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;1014&quot; data-original-width=&quot;1283&quot;
         height=&quot;330&quot; width=&quot;417&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTDZ1yMG2lJSQqK12lJkUwA5lQBdhdhEK3k_OW9fNzVoVdbMLWjqfEWFrvMum1-K44iZ-xd6Nbuwz_8VFhXyTtMTV5KhAy0_-Mdu5hX_Fxhj-SPA6PZZYHSV8bg-_MOS9fIoLNo2hgTcT-pt7wAkE-tFAVVdK32LFr-Y25PZqQ4anwyraY1YqwvNaSXzPm/w417-h330/94%20-%20Build%20.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Once it&#39;s done building, a dialogue will pop up showing the path for using the Arduino Library&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7JzXLetKAqn0JEgl1HcLC0Im0TDPjWm-ue5vIexM-NVVSE1-1fyPLFY4Ej6O44ZCpY246TWySSBBp1xb4jc35jQgwUxAZNkfBomfSPG_rKEH5E-6hdng2RkZ9t96ezjFJ8ab5H8N4ioBmdbbhsySdLavvdVYZVhurGEnqUWWiYBuuJXE5FIZvkKq1TJJq/s797/95%20-%20Built%20Library.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;398&quot; data-original-width=&quot;797&quot;
         height=&quot;239&quot; width=&quot;478&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7JzXLetKAqn0JEgl1HcLC0Im0TDPjWm-ue5vIexM-NVVSE1-1fyPLFY4Ej6O44ZCpY246TWySSBBp1xb4jc35jQgwUxAZNkfBomfSPG_rKEH5E-6hdng2RkZ9t96ezjFJ8ab5H8N4ioBmdbbhsySdLavvdVYZVhurGEnqUWWiYBuuJXE5FIZvkKq1TJJq/w478-h239/95%20-%20Built%20Library.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;!-- ═══════════════════════════════════════════════════════
     2.5
════════════════════════════════════════════════════════ --&gt;
&lt;h3&gt;2.5 Arduino&lt;/h3&gt;

&lt;h4&gt;2.5.1&lt;/h4&gt;
&lt;p&gt;In the Arduino IDE, open a new Arduino Sketch (File &amp;gt; New Sketch)&lt;/p&gt;

&lt;h4&gt;2.5.2&lt;/h4&gt;
&lt;p&gt;
  Once you&#39;re in a new sketch, select Sketch &amp;gt; Include Library &amp;gt; Add .ZIP Library and open the
  library downloaded from Edge Impulse.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMDzTJ4WcarBoCljgnEbGvQj-8ozm9c3tacafyIFbps5RkMtmhdaOgtrVvOUSldH1TgJddMjGHExY-TlMCuYrM__gqCAEi-m7PF7V99lZW76lXlRF6NkKfY5aCIj0wbcD9aHpFpctMUht64yPzbolUrU9MvNGoL3sR3nTA9XVMAjQ9v51gBWxKpM5T0Q7X/s753/96%20-%20Add%20.ZIP%20libbbrary.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;470&quot; data-original-width=&quot;753&quot;
         height=&quot;270&quot; width=&quot;431&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMDzTJ4WcarBoCljgnEbGvQj-8ozm9c3tacafyIFbps5RkMtmhdaOgtrVvOUSldH1TgJddMjGHExY-TlMCuYrM__gqCAEi-m7PF7V99lZW76lXlRF6NkKfY5aCIj0wbcD9aHpFpctMUht64yPzbolUrU9MvNGoL3sR3nTA9XVMAjQ9v51gBWxKpM5T0Q7X/w431-h270/96%20-%20Add%20.ZIP%20libbbrary.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.3&lt;/h4&gt;
&lt;p&gt;
  Next, go to File &amp;gt; Examples and scroll down to find the library you just installed. It should have
  the same name as the project in Edge Impulse. Go to &quot;Speech_Rec_inferencing&quot; (may differ based on your
  project name) &amp;gt; &quot;nano_ble33_sense&quot; &amp;gt; &quot;nano_ble33_sense_microphone_continuous&quot;.
  Note: the Arduino IDE might need to be restarted for it to appear.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9h1pBXp2boS877RhA42x4oidDSH8GRJpruuHLeiCTCYYakDSV5qdjkIRM5aVy_0JJW1_XxGFQdQGm-PC1K5iys-BBvp5sOa0wn5Gz6YkjTvJnn7dHhkaA9wYsGhpNZ3QrArPxe8kFpNY107KqlHAaXuNhDj3VkIyzfbn3o79JMASEGY_jrUYv-ui1TBjE/s1431/97%20-nano%20BLE%20mic%20continuous.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;691&quot; data-original-width=&quot;1431&quot;
         height=&quot;191&quot; width=&quot;394&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9h1pBXp2boS877RhA42x4oidDSH8GRJpruuHLeiCTCYYakDSV5qdjkIRM5aVy_0JJW1_XxGFQdQGm-PC1K5iys-BBvp5sOa0wn5Gz6YkjTvJnn7dHhkaA9wYsGhpNZ3QrArPxe8kFpNY107KqlHAaXuNhDj3VkIyzfbn3o79JMASEGY_jrUYv-ui1TBjE/w394-h191/97%20-nano%20BLE%20mic%20continuous.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.4&lt;/h4&gt;
&lt;p&gt;
  Open File Explorer and go to the newly installed Speech_Rec library and locate the Model variables file.
  The path will likely be:
  &lt;i&gt;User &amp;gt; Arduino &amp;gt; libraries &amp;gt; Speech_Rec_Inferencing &amp;gt; src &amp;gt; model_parameters &amp;gt; &lt;b&gt;model_variables&lt;/b&gt;&lt;/i&gt;
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw847fNNTibrvujUm5dmgU5OUOcEJrWZdpCAivm-1yoteFW8AvXoOe7Be6OYrEFc8dmFnb6pGobiBCBn_j-jjTlkGLZ-NdIvm9WuoAdYU1ZvQSZzbFixY83ZXCHI5eYA8CNb0Rocj-RS_UB3Zz65YfJOuqbM_hDQHjEglNxU02-zADwWPCinnevWmdFR-H/s951/98%20-%20path%20to%20variables.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;491&quot; data-original-width=&quot;951&quot;
         height=&quot;179&quot; width=&quot;347&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw847fNNTibrvujUm5dmgU5OUOcEJrWZdpCAivm-1yoteFW8AvXoOe7Be6OYrEFc8dmFnb6pGobiBCBn_j-jjTlkGLZ-NdIvm9WuoAdYU1ZvQSZzbFixY83ZXCHI5eYA8CNb0Rocj-RS_UB3Zz65YfJOuqbM_hDQHjEglNxU02-zADwWPCinnevWmdFR-H/w347-h179/98%20-%20path%20to%20variables.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.5&lt;/h4&gt;
&lt;p&gt;
  Open the model_variables.h file in a code editor such as VS Code, and search for where the keywords
  are listed. The line will likely be:
&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;model_variables.h — keyword categories array&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;const char* ei_classifier_inferencing_categories[] = { &quot;_noise&quot;, &quot;_unknown&quot;, &quot;off&quot;, &quot;on&quot; };&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;const char* ei_classifier_inferencing_categories[] = { &amp;quot;_noise&amp;quot;, &amp;quot;_unknown&amp;quot;, &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; };&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In this case &quot;_noise&quot; is in position 0, &quot;_unknown&quot; is in 1, &quot;off&quot; is 2, and &quot;on&quot; is 3.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMPBDy7bpnz9iBwSHA4It9z2F6tgQMgmx2MiNRhkxbsEDHFP1yQ9gPPb_2q-4amT-RYDFU4UI-0Rj6e_kGUGgM217RyCvlUk-kHS8vXK5Yuqf_Qq2lgpF87saHkn44FuCfB8EVXtGPqY33BhttnQj8eTsGfPRnhJ-Drx7emGt7_6IHxh8uyIWvKQ9DnDbM/s1157/99%20-%20keyword%20listing.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;609&quot; data-original-width=&quot;1157&quot;
         height=&quot;257&quot; width=&quot;490&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMPBDy7bpnz9iBwSHA4It9z2F6tgQMgmx2MiNRhkxbsEDHFP1yQ9gPPb_2q-4amT-RYDFU4UI-0Rj6e_kGUGgM217RyCvlUk-kHS8vXK5Yuqf_Qq2lgpF87saHkn44FuCfB8EVXtGPqY33BhttnQj8eTsGfPRnhJ-Drx7emGt7_6IHxh8uyIWvKQ9DnDbM/w490-h257/99%20-%20keyword%20listing.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.6&lt;/h4&gt;
&lt;p&gt;
  Return to the Arduino IDE. In the nano_ble33_sense_continuous example, create a new line under line 59
  (&lt;code&gt;static int print_results = -(EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW);&lt;/code&gt;).
&lt;/p&gt;
&lt;p&gt;The new line will read:&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;Arduino sketch — declare LED pin variable&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;static const int led_pin = LED_BUILTIN;&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;static const int led_pin = LED_BUILTIN;&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhchtqre5bzp10h38UYw0UUSw6jIujkyLpQZpLpNalxr134MR7oeboM0ZwaU-lQ3z3DxcMr08P9po-IL2jmwk5zw9-sm0h8tMYob0mRpjm9x4dkgB8X2LvFMIPW5llUd6_QdfdzQejIGpbkAEU-riImU9da0U3WwuckJz4bonhXGkDQDczCsIXNakRSTA7s/s946/101%20-%20LED_BUILTIN.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;560&quot; data-original-width=&quot;946&quot;
         height=&quot;245&quot; width=&quot;414&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhchtqre5bzp10h38UYw0UUSw6jIujkyLpQZpLpNalxr134MR7oeboM0ZwaU-lQ3z3DxcMr08P9po-IL2jmwk5zw9-sm0h8tMYob0mRpjm9x4dkgB8X2LvFMIPW5llUd6_QdfdzQejIGpbkAEU-riImU9da0U3WwuckJz4bonhXGkDQDczCsIXNakRSTA7s/w414-h245/101%20-%20LED_BUILTIN.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.7&lt;/h4&gt;
&lt;p&gt;
  Next, go a few lines down to be within the &lt;code&gt;void setup() {&lt;/code&gt; block of code.
  Type the following line:
&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;Arduino sketch — set LED pin as output (inside void setup)&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;pinMode(led_pin, OUTPUT);&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;pinMode(led_pin, OUTPUT);&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip13X9_EWWk5OaO9kjsbAMJ9QsF-FNits5E8Weju1cKHzNA3pKd1hKt_DOvQJXreuWXuHZ0XVsKA-z2FsXcsyuOs6ewEltSolKZU3uJ6n7hyQTwXxVdABlgiP-Tiiap9P6CyWyC0jLbWFYjNHYYT7_kC6wm6YsBGQVPewj4ANz9egBvhNUA-pn2dg9I0_h/s887/102%20-%20led_pin.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;421&quot; data-original-width=&quot;887&quot;
         height=&quot;195&quot; width=&quot;411&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip13X9_EWWk5OaO9kjsbAMJ9QsF-FNits5E8Weju1cKHzNA3pKd1hKt_DOvQJXreuWXuHZ0XVsKA-z2FsXcsyuOs6ewEltSolKZU3uJ6n7hyQTwXxVdABlgiP-Tiiap9P6CyWyC0jLbWFYjNHYYT7_kC6wm6YsBGQVPewj4ANz9egBvhNUA-pn2dg9I0_h/w411-h195/102%20-%20led_pin.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.8&lt;/h4&gt;
&lt;p&gt;
  Even further down in the code, above line 114
  (&lt;code&gt;if (++print_results &amp;gt;= (EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW)) {&lt;/code&gt;),
  enter the following block of code:
&lt;/p&gt;

&lt;div class=&quot;cmd-block&quot;&gt;
  &lt;div class=&quot;cmd-label&quot;&gt;Arduino sketch — LED on/off control block&lt;/div&gt;
  &lt;div class=&quot;cmd-body&quot;&gt;
    &lt;code&gt;    //turn on LED if &quot;On&quot; value is above a threshold
    if (result.classification[3].value &gt; 0.7) {
      digitalWrite(led_pin, HIGH);
    }
    //turn off LED if &quot;Off&quot; value is above a threshold
    else if (result.classification[2].value &gt; 0.7) {
      digitalWrite(led_pin, LOW);
    }
    else {
      digitalWrite(led_pin, LOW);
    }&lt;/code&gt;
    &lt;button class=&quot;cmd-copy&quot; onclick=&quot;copyCmd(this, &#39;    //turn on LED if &amp;quot;On&amp;quot; value is above a threshold\n    if (result.classification[3].value &gt; 0.7) {\n      digitalWrite(led_pin, HIGH);\n    }\n    //turn off LED if &amp;quot;Off&amp;quot; value is above a threshold\n    else if (result.classification[2].value &gt; 0.7) {\n      digitalWrite(led_pin, LOW);\n    }\n    else {\n      digitalWrite(led_pin, LOW);\n    }&#39;)&quot;&gt;Copy&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  This code controls whether the LED is &quot;on&quot; or &quot;off&quot; based on the keyword recognized. The
  &lt;code&gt;result.classification[2]&lt;/code&gt; and &lt;code&gt;result.classification[3]&lt;/code&gt; values are consistent
  with the labels for &quot;Off&quot; and &quot;On&quot; found in the model_variables.h file.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNleyFAGiESQjVKpm1YOx3nO-xwC4rJDADkdr5e1zNGIz8y6uWGlAxYg1wlDXMaJKLh_uEYq9mVR8eCYdNNIFEm02Sm1Yhdg-whx1ufPqfAzTdiLtAfojj2Lff7nLIpVFBvXTwGaFjWwXzUXMntXsYpy5ySEN3yCYPSQAbhxJJ-q3BJqdis5Hiq7LiTy1/s903/103%20-if%20else%20block.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;648&quot; data-original-width=&quot;903&quot;
         height=&quot;230&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNleyFAGiESQjVKpm1YOx3nO-xwC4rJDADkdr5e1zNGIz8y6uWGlAxYg1wlDXMaJKLh_uEYq9mVR8eCYdNNIFEm02Sm1Yhdg-whx1ufPqfAzTdiLtAfojj2Lff7nLIpVFBvXTwGaFjWwXzUXMntXsYpy5ySEN3yCYPSQAbhxJJ-q3BJqdis5Hiq7LiTy1/s320/103%20-if%20else%20block.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.9&lt;/h4&gt;
&lt;p&gt;Next, click the arrow to upload the code. It may take a while to compile, as it is a lengthy code segment.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzMj8JiLOrWuMuUv9XPMJIUt9IIvKYqmDRdZYADtDW5BIO505A91qenTvfGLDbjk_hqZdqRnYNChCYijek01eZfxoJLdziGeHShcPzz4-zu2QreSDAu_yWVWZJ8mBNwy-1b5U2Hl6wsFFgJdhidSpf-0AahUyTGKcuUNsFsyXQw8iOeIFIRua1Gsyux189/s752/104%20-compile%20option.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;332&quot; data-original-width=&quot;752&quot;
         height=&quot;141&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzMj8JiLOrWuMuUv9XPMJIUt9IIvKYqmDRdZYADtDW5BIO505A91qenTvfGLDbjk_hqZdqRnYNChCYijek01eZfxoJLdziGeHShcPzz4-zu2QreSDAu_yWVWZJ8mBNwy-1b5U2Hl6wsFFgJdhidSpf-0AahUyTGKcuUNsFsyXQw8iOeIFIRua1Gsyux189/s320/104%20-compile%20option.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.10&lt;/h4&gt;
&lt;p&gt;
  Once the code is compiled, speak the keywords within a couple inches of the board. The voice needs to
  be very close for the recognition to work. If the board recognizes a word with a confidence value of
  0.7, the LED next to the USB will turn yellow.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5o4U1sLzJytZ6-iH1iw0yvGlH668oGwWVCFSPTpMDy7eouwtabpSfrN8JrzP6Lcud_ceoLK0EbVR5rq9i7E7OweBuoNSgN9yWKbTSGK3nAmExQP7dZgtZteNtL_8OX4Vmel47puZv9193yxqiqjK4JuvdRRM01IwrI5i6UV-PCIhEiyNM2sdb1eJVqE9K/s441/105%20LED.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;310&quot; data-original-width=&quot;441&quot;
         height=&quot;248&quot; width=&quot;353&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5o4U1sLzJytZ6-iH1iw0yvGlH668oGwWVCFSPTpMDy7eouwtabpSfrN8JrzP6Lcud_ceoLK0EbVR5rq9i7E7OweBuoNSgN9yWKbTSGK3nAmExQP7dZgtZteNtL_8OX4Vmel47puZv9193yxqiqjK4JuvdRRM01IwrI5i6UV-PCIhEiyNM2sdb1eJVqE9K/w353-h248/105%20LED.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h4&gt;2.5.11&lt;/h4&gt;
&lt;p&gt;
  To check the readings for the speech recognition values on the board, you can look at the serial
  monitor in the Arduino IDE. To do this click on &lt;b&gt;Tools &amp;gt; Serial Monitor&lt;/b&gt; (or type
  &lt;b&gt;Ctrl + Shift + M&lt;/b&gt;). The serial monitor continually shows the speech rec values for all the
  keywords, as we are in the continuous example.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXd7mAICEuhT-Qu4-bEBlihgRJbNT7UV3sk2brW63EBr4n5xXs-Y0_lmr4kckygZZ0WfwyMwzPeYmQDrSo06nISgn_hJpbPG5gF6mHqVv7EojM7A5dO94DvklVqDYvpXsm_A3012jgwhYQpTnmCVwQ0oAY60G_-0uDuekHU2rq4Zj_av7eLfoRispNdWlF/s1158/106%20Serial%20Monitor.png&quot;
     style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;735&quot; data-original-width=&quot;1158&quot;
         height=&quot;269&quot; width=&quot;424&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXd7mAICEuhT-Qu4-bEBlihgRJbNT7UV3sk2brW63EBr4n5xXs-Y0_lmr4kckygZZ0WfwyMwzPeYmQDrSo06nISgn_hJpbPG5gF6mHqVv7EojM7A5dO94DvklVqDYvpXsm_A3012jgwhYQpTnmCVwQ0oAY60G_-0uDuekHU2rq4Zj_av7eLfoRispNdWlF/w424-h269/106%20Serial%20Monitor.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p style=&quot;text-align: left;&quot;&gt;
  We now have a working Arduino program that uses machine learning to recognize the words &quot;on&quot; and &quot;off&quot;.
  In the future, the code can be adjusted so that the LED stays on for longer, thus making the &quot;off&quot;
  command more effective.
&lt;/p&gt;
</description><link>http://blog.embeddedcoding.com/2024/08/introduction-to-machine-learning-on_26.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/fRSVQ4Fkwjc/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-6881114729410369193</guid><pubDate>Wed, 21 Aug 2024 15:46:00 +0000</pubDate><atom:updated>2026-05-20T10:15:23.720-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><title>Introduction to Machine Learning on Arduino - Micro Speech - Part 1</title><description>&lt;p style=&quot;text-align: left;&quot;&gt;
  The beginning of this guide is based upon
  &lt;a href=&quot;https://docs.arduino.cc/tutorials/nano-33-ble-sense/get-started-with-machine-learning/&quot;&gt;Get Started With Machine Learning on Arduino | Arduino Documentation&lt;/a&gt;
  and
  &lt;a href=&quot;https://tonyfu97.github.io/TinyML-Notes/07_wake_word_detection/&quot;&gt;Wake-Word Detection - TinyML Notes&lt;/a&gt;.
  Up through the speech recognition example, it follows mostly the same steps. I&#39;ve added steps for clarity and detail,
  for anyone starting from scratch. Additionally, I encountered an issue with the Windows Machine I&#39;m using crashing
  due to the GameInput Application, which will be addressed at the end.
&lt;/p&gt;

&lt;p&gt;
  The examples in this guide are part of the field of TinyML. TinyML is machine learning done on low-power devices
  such as the Arduino Nano we are using. One potential use case for TinyML is wake-word detection.
&lt;/p&gt;

&lt;p&gt;I have written this guide so that the program can be run and tested in the Arduino IDE as of June 2024.&lt;/p&gt;

&lt;p&gt;
  This is Part 1 of 2 in this series of posts. In
  &lt;a href=&quot;https://blog.embeddedcoding.com/2024/08/introduction-to-machine-learning-on_26.html&quot;&gt;part 2&lt;/a&gt;,
  I will show how to change the keywords using Edge Impulse.
&lt;/p&gt;

&lt;h2 style=&quot;text-align: left;&quot;&gt;1 Creating a New Arduino Sketch&lt;/h2&gt;

&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.1 Prerequisites&lt;/h3&gt;
&lt;p&gt;
  The Arduino IDE is required for this operation. The host machine should have a 64-bit processor.
  You will also need about 16GB of hard drive space and a stable network connection.
&lt;/p&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.2 Install Arduino IDE&lt;/h3&gt;
&lt;p&gt;
  Arduino IDE 2.3.2 is current at time of writing. Here&#39;s the link to Download the installer for your machine:
  &lt;a href=&quot;https://www.arduino.cc/en/software&quot;&gt;Software | Arduino&lt;/a&gt;.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXWskkNSc67cFeWkhAlRgr01f6nQCOV0fWku3fpbFe27gzM-ilJnRt2O3HYiK7eBXt9NO1GaNJBQMTdaWepVoACD5IShf0XdLYkEsOcxn7fxoNCwrlsad49Og7sYhvFsMBUIyk8OOoe5vkZ5nFVx-4pZaACC9NNyfwmfmrRmfmIYYpjZ5fuUjahrolu-c/s624/1-%20Arduino%20IDE%20Install.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;320&quot; data-original-width=&quot;624&quot;
         height=&quot;245&quot; width=&quot;477&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXWskkNSc67cFeWkhAlRgr01f6nQCOV0fWku3fpbFe27gzM-ilJnRt2O3HYiK7eBXt9NO1GaNJBQMTdaWepVoACD5IShf0XdLYkEsOcxn7fxoNCwrlsad49Og7sYhvFsMBUIyk8OOoe5vkZ5nFVx-4pZaACC9NNyfwmfmrRmfmIYYpjZ5fuUjahrolu-c/w477-h245/1-%20Arduino%20IDE%20Install.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;When you click on the installer, you can select &quot;Just Download&quot; on the following two pages that pop up.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1qZfs6IZ4ym8cnV24KocvMvL-jJYoMaxi8BPHVc_Bw_jK3b9JVrZnlHYM6kh_Xe4OtB8ORAXD3MBCl7Y9a-IdSvWRe3iabWoBULmkCtZJ6J5bLQmXZ0Nd7Laf2A4k9504nReme8OUjwU3sJr2wZ3RfjIqnPIiZbg2IGlC95PPibTAyObeBWiJQkQfnywc/s394/2-Just%20Download%20or%20Contribute.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;317&quot; data-original-width=&quot;394&quot;
         height=&quot;288&quot; width=&quot;358&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1qZfs6IZ4ym8cnV24KocvMvL-jJYoMaxi8BPHVc_Bw_jK3b9JVrZnlHYM6kh_Xe4OtB8ORAXD3MBCl7Y9a-IdSvWRe3iabWoBULmkCtZJ6J5bLQmXZ0Nd7Laf2A4k9504nReme8OUjwU3sJr2wZ3RfjIqnPIiZbg2IGlC95PPibTAyObeBWiJQkQfnywc/w358-h288/2-Just%20Download%20or%20Contribute.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQyDLapogaUz_rxg3tSkrBNveQ7Dq5Cqks5qA3LiPqe2Fri3QA0hyphenhyphenlW7W_UMgM-y6elXK-5atXWxuCuZSqa11lOB8EFGolUUrreTw9FAbvTBJO4RO6a0DAmq02Tgeyun9nyiFAvleuAv7z_NvbR2ZTu2rqRAq6cXMQJct2zl-EUuZdc7M-HxJzcRWBTdIv/s403/3-Just%20Download%20or%20Subscribe.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;403&quot; data-original-width=&quot;391&quot;
         height=&quot;354&quot; width=&quot;343&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQyDLapogaUz_rxg3tSkrBNveQ7Dq5Cqks5qA3LiPqe2Fri3QA0hyphenhyphenlW7W_UMgM-y6elXK-5atXWxuCuZSqa11lOB8EFGolUUrreTw9FAbvTBJO4RO6a0DAmq02Tgeyun9nyiFAvleuAv7z_NvbR2ZTu2rqRAq6cXMQJct2zl-EUuZdc7M-HxJzcRWBTdIv/w343-h354/3-Just%20Download%20or%20Subscribe.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Once the .exe file is downloaded, open it and click on &quot;I agree&quot; to the installer.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNErpKDlkxdjMdAx8MLLmuj2rxbOkbqLUg6YEBm6U_WsWnyY68vzv8rNOI3NrNvEkn-BOeuSbUP9uGrepN_stOFQEBMCWJtUgK4PxNJMZedKrwu0OTfuOHxT7-QiGtfaVFNJR9JSHVNAZVQu1HCW-gYeMtmrBeSX0PbEJ6gO_1kB4fWG4f7MdMAAKactvy/s444/4-Arduino%20IDE%20Licensing%20Agreement.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;344&quot; data-original-width=&quot;444&quot;
         height=&quot;313&quot; width=&quot;404&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNErpKDlkxdjMdAx8MLLmuj2rxbOkbqLUg6YEBm6U_WsWnyY68vzv8rNOI3NrNvEkn-BOeuSbUP9uGrepN_stOFQEBMCWJtUgK4PxNJMZedKrwu0OTfuOHxT7-QiGtfaVFNJR9JSHVNAZVQu1HCW-gYeMtmrBeSX0PbEJ6gO_1kB4fWG4f7MdMAAKactvy/w404-h313/4-Arduino%20IDE%20Licensing%20Agreement.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Continue and Click &quot;Next&quot; after selecting which users to install the IDE for.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha5giyqZYcUTKNKtThJHUfbUYlw_Cipvysyh38hEGfLt91-YtBCdku5VfokvC_JqhGvtSgXrj5335Rql2qx11uWpYjptfAs93gRm04Qbji3ghbLshosD0Z5fFt_ZKrif34LtF4Nft-RmFbcjaPS6zQEtUaEYo-nSEAswYVhxoMMMgBqcriJzhEB9ngtzYe/s497/5%20-%20IDE%20Installation%20Options.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;386&quot; data-original-width=&quot;497&quot;
         height=&quot;333&quot; width=&quot;428&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha5giyqZYcUTKNKtThJHUfbUYlw_Cipvysyh38hEGfLt91-YtBCdku5VfokvC_JqhGvtSgXrj5335Rql2qx11uWpYjptfAs93gRm04Qbji3ghbLshosD0Z5fFt_ZKrif34LtF4Nft-RmFbcjaPS6zQEtUaEYo-nSEAswYVhxoMMMgBqcriJzhEB9ngtzYe/w428-h333/5%20-%20IDE%20Installation%20Options.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  A system dialogue screen may appear (not pictured in this guide). Click &quot;Yes&quot; to &quot;Allow Changes&quot;
  then click on &quot;I agree&quot; once more.
&lt;/p&gt;
&lt;p&gt;Afterwards, click &quot;Install&quot;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQFmX8nVzh2P-Njww_JHW8V7Ihb7SmVk6esYASCW3ZvNyxcRlrEHa-kPA2TFmV3KX13JiKdxi8ZLTtdogzfc4V2KYFtLANi4rPGv1r708N-EEJ3VVjdLJcS5p0abmFpz9zkHYbKqlZw7UwCPTI6N1KclZHLiwvqYnh5Io1BJp6c3N7rGcWM55xvJLSpe7m/s499/6-%20IDE%20File%20location%20Install.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;389&quot; data-original-width=&quot;499&quot;
         height=&quot;337&quot; width=&quot;433&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQFmX8nVzh2P-Njww_JHW8V7Ihb7SmVk6esYASCW3ZvNyxcRlrEHa-kPA2TFmV3KX13JiKdxi8ZLTtdogzfc4V2KYFtLANi4rPGv1r708N-EEJ3VVjdLJcS5p0abmFpz9zkHYbKqlZw7UwCPTI6N1KclZHLiwvqYnh5Io1BJp6c3N7rGcWM55xvJLSpe7m/w433-h337/6-%20IDE%20File%20location%20Install.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;The installation will take a minute. Once it is done, click &quot;Finish&quot;.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiacmtHLKiZWW8k15LeEhIUnPIHbg9qll7fgou45Z0PL1kK6wM5h19QM_0Ovbdx86ANk3YQU26S54WAMmlMnMjzrZzsK11qF44cWYGL-trdmSOh4w_g21hdWMnBUbC1Mev4IQm8PMY7pHdzxKn-xypbMEEyezxVHLOVf7ir1mb1OgvbGEIFtBZZf8si6poR/s450/7%20IDe%20Setup%20Finished.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;353&quot; data-original-width=&quot;450&quot;
         height=&quot;337&quot; width=&quot;429&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiacmtHLKiZWW8k15LeEhIUnPIHbg9qll7fgou45Z0PL1kK6wM5h19QM_0Ovbdx86ANk3YQU26S54WAMmlMnMjzrZzsK11qF44cWYGL-trdmSOh4w_g21hdWMnBUbC1Mev4IQm8PMY7pHdzxKn-xypbMEEyezxVHLOVf7ir1mb1OgvbGEIFtBZZf8si6poR/w429-h337/7%20IDe%20Setup%20Finished.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.3 Install Git&lt;/h3&gt;
&lt;p&gt;
  Download the correct version of Git for your machine. The latest Windows Release as of writing is 2.45.2.
  Click on the &quot;Download For Windows&quot; Button.
  Here is the link to the site to download: &lt;a href=&quot;https://git-scm.com/&quot;&gt;Git (git-scm.com)&lt;/a&gt;
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtSrdfpO6aGP74SWFBoLx6W8F1y823dXCr40mdVRq1Qy988GznaTH3nWWB8LYUR-m7ULBRFNMpebL2PmPM9OK2osxug1Har4aKnpGTT_JVF-WWpUReWxwMZX9u8L39nVwenOdvtui4mZHRCgpelTMEZmOGQtfhbxlemHhY9nV5-HtHhDYjm19UqEMugjnq/s544/8%20Git%20Download.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;400&quot; data-original-width=&quot;544&quot;
         height=&quot;322&quot; width=&quot;438&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtSrdfpO6aGP74SWFBoLx6W8F1y823dXCr40mdVRq1Qy988GznaTH3nWWB8LYUR-m7ULBRFNMpebL2PmPM9OK2osxug1Har4aKnpGTT_JVF-WWpUReWxwMZX9u8L39nVwenOdvtui4mZHRCgpelTMEZmOGQtfhbxlemHhY9nV5-HtHhDYjm19UqEMugjnq/w438-h322/8%20Git%20Download.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Next, click on &quot;Click here to download&quot; the latest version&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4KuLahsr_gzhW0HQ6Eng_r0OUBG_Av4-lYuViDkokLrtwLS8_G8xf8w69mHrIvcTiJ8YY2n2gJmCJ852FIWEiG_WiqPEcgm5QVcPhWh94ZA6boyz0Mf3ali463jvujspbQMYMBZuXOwiW6dJH1QIT_Yc7RHVKdMphq2D9bKzYTyBLExdXD42p4m4aaTGX/s493/9%20-%20WIndows%20Git%20Versions.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;358&quot; data-original-width=&quot;493&quot;
         height=&quot;318&quot; width=&quot;438&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4KuLahsr_gzhW0HQ6Eng_r0OUBG_Av4-lYuViDkokLrtwLS8_G8xf8w69mHrIvcTiJ8YY2n2gJmCJ852FIWEiG_WiqPEcgm5QVcPhWh94ZA6boyz0Mf3ali463jvujspbQMYMBZuXOwiW6dJH1QIT_Yc7RHVKdMphq2D9bKzYTyBLExdXD42p4m4aaTGX/w438-h318/9%20-%20WIndows%20Git%20Versions.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Open the .exe file and click &quot;Next&quot;.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5XZORJFeltTwZefwAkCKV86HlOTe1yTmBhtg7cBbB1s9xrWsSnOFhgFyEX0OZmxmAWqUXbJJBYFLc2kvDMUfs0IVwxwcdxL0D_ECbObRDuni3JvxEVmugQYlT8hlbCXNl6Tj51jbnW7MUKx7eoDIKKEtE1lJmFDC4lKZnwOgIg5AXLKkZIpaXncgnHOVm/s494/10%20-%20Git%20Licensing%20Agreement.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;388&quot; data-original-width=&quot;494&quot;
         height=&quot;338&quot; width=&quot;431&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5XZORJFeltTwZefwAkCKV86HlOTe1yTmBhtg7cBbB1s9xrWsSnOFhgFyEX0OZmxmAWqUXbJJBYFLc2kvDMUfs0IVwxwcdxL0D_ECbObRDuni3JvxEVmugQYlT8hlbCXNl6Tj51jbnW7MUKx7eoDIKKEtE1lJmFDC4lKZnwOgIg5AXLKkZIpaXncgnHOVm/w431-h338/10%20-%20Git%20Licensing%20Agreement.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  I chose all of the default selections through the rest of the installation. Feel free to make any changes
  necessary for your installation. For each screen, Click &quot;Next&quot; until you get to the &quot;configuring
  experimental options&quot; and can click &quot;Install&quot;
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7cZTtRjjjaThW12CZ_kgp8uU35_IHufjjU9lXa9GGvBrhigGskEXxhR_6eMEJrZs3bk5Ft9B9V-nwQBk7QEwpfOAB7647QXjDlqh2ymPGoVtyZjIUy6u2mtGPwMj_gAXJqzodYTJiWa6dTTPwnvCOwCPTUmyZbyWQi2myGwQyUsSJqNzqDn1f5SM961Pc/s494/11-%20Git%20%20Select%20Components.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;389&quot; data-original-width=&quot;494&quot;
         height=&quot;343&quot; width=&quot;435&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7cZTtRjjjaThW12CZ_kgp8uU35_IHufjjU9lXa9GGvBrhigGskEXxhR_6eMEJrZs3bk5Ft9B9V-nwQBk7QEwpfOAB7647QXjDlqh2ymPGoVtyZjIUy6u2mtGPwMj_gAXJqzodYTJiWa6dTTPwnvCOwCPTUmyZbyWQi2myGwQyUsSJqNzqDn1f5SM961Pc/w435-h343/11-%20Git%20%20Select%20Components.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinvlZ1Rl4YooPD8x_s0soGgf9VoRiEQTcaor2HcOZMVNlszwULUiJ_bSLlniYj14FA-amrsVE-t-f2xhv0FVxSobKVghg7ebAQTdRXlSGhZxvo6TqD_4dWx2AF-gpwhsDbTyMscIu6pC-DY3Y3Sc6S-ogHbd4lk9tONE7t9yZ9iXOA_DZdq7Ej7PjbyEB0/s492/12%20-%20Git%20Choose%20text%20Editor.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;394&quot; data-original-width=&quot;492&quot;
         height=&quot;346&quot; width=&quot;433&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinvlZ1Rl4YooPD8x_s0soGgf9VoRiEQTcaor2HcOZMVNlszwULUiJ_bSLlniYj14FA-amrsVE-t-f2xhv0FVxSobKVghg7ebAQTdRXlSGhZxvo6TqD_4dWx2AF-gpwhsDbTyMscIu6pC-DY3Y3Sc6S-ogHbd4lk9tONE7t9yZ9iXOA_DZdq7Ej7PjbyEB0/w433-h346/12%20-%20Git%20Choose%20text%20Editor.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvo14wYR3OXHX0Gek-Fna108-5k3qKb7YQGYyWQZ0dqQukhcCFj1zkUb2xj7PNQbtY5FqkulnJbSEbg5a7KAU8Fugk1OrZOGzXocAew-Dd_aoVwsG-K_L9BOHf1V4FwE0pPDyBGmm5917DB8OqlkU4437_fXJ1U9B_kpS2wbRwtT-e2KKMJRuvWiYVaZOu/s500/13%20-%20Git%20Adjust%20Branch%20Name.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;395&quot; data-original-width=&quot;500&quot;
         height=&quot;345&quot; width=&quot;436&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvo14wYR3OXHX0Gek-Fna108-5k3qKb7YQGYyWQZ0dqQukhcCFj1zkUb2xj7PNQbtY5FqkulnJbSEbg5a7KAU8Fugk1OrZOGzXocAew-Dd_aoVwsG-K_L9BOHf1V4FwE0pPDyBGmm5917DB8OqlkU4437_fXJ1U9B_kpS2wbRwtT-e2KKMJRuvWiYVaZOu/w436-h345/13%20-%20Git%20Adjust%20Branch%20Name.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFBoDXx0yxNVOvE-4HIzI4l9JXEA8fvfsAUQz_P7iIJhjkAuhHX_0aiAGkr4Ul45rvUUFIGurus7t8xiMHEW2u-o4AdBUCQTG9pWBEmWkWWn_Koue4NXzh8kZJZeQlu4y8uoDtdp-5I9aqVuSumfn60_Q6cmez0PJ5h7y7Pa5iSuhxKQ-geYCodcBguz3n/s472/14%20-%20Git%20Adjust%20PATH%20Environment.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;372&quot; data-original-width=&quot;472&quot;
         height=&quot;341&quot; width=&quot;433&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFBoDXx0yxNVOvE-4HIzI4l9JXEA8fvfsAUQz_P7iIJhjkAuhHX_0aiAGkr4Ul45rvUUFIGurus7t8xiMHEW2u-o4AdBUCQTG9pWBEmWkWWn_Koue4NXzh8kZJZeQlu4y8uoDtdp-5I9aqVuSumfn60_Q6cmez0PJ5h7y7Pa5iSuhxKQ-geYCodcBguz3n/w433-h341/14%20-%20Git%20Adjust%20PATH%20Environment.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbihwf6vXk8cSRzG23PnKEmrxZV0S34GBnweWepmLqU1dMbUlrthojRa0yZfSWs84ayd-CgtVawuMJzcXpHy6eoBcNi1TlevYLLZfA4CXu1XD4UCUlqkWf4hCi1hD-MZfz6oJDd3auhtunE54ljzF1gRQbLwDKh36cjoyFHK-WjskM0aDJ9CldfAsZqK_p/s491/Git%20Choose%20SSH.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;385&quot; data-original-width=&quot;491&quot;
         height=&quot;342&quot; width=&quot;436&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbihwf6vXk8cSRzG23PnKEmrxZV0S34GBnweWepmLqU1dMbUlrthojRa0yZfSWs84ayd-CgtVawuMJzcXpHy6eoBcNi1TlevYLLZfA4CXu1XD4UCUlqkWf4hCi1hD-MZfz6oJDd3auhtunE54ljzF1gRQbLwDKh36cjoyFHK-WjskM0aDJ9CldfAsZqK_p/w436-h342/Git%20Choose%20SSH.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU0h4c3BqLydSL1hHoqzuOjTf5LI_EnxJclBCuLhFzd-6k0Ia4Nga9wTPTqF5DIOyV23gdqWNfOYKYu3qnsxKfvRRTAFeEu9dIigoVysoIHQ7Ikq_SlIIYSE0Bbcje6euUyLstqHiJN0O2ve9RbDcCxUT9DTiVUPkGwNZr5ticJyFO-B71KEnxLqlY4aR4/s492/16-%20Git%20Choose%20HTTPS.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;388&quot; data-original-width=&quot;492&quot;
         height=&quot;346&quot; width=&quot;440&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU0h4c3BqLydSL1hHoqzuOjTf5LI_EnxJclBCuLhFzd-6k0Ia4Nga9wTPTqF5DIOyV23gdqWNfOYKYu3qnsxKfvRRTAFeEu9dIigoVysoIHQ7Ikq_SlIIYSE0Bbcje6euUyLstqHiJN0O2ve9RbDcCxUT9DTiVUPkGwNZr5ticJyFO-B71KEnxLqlY4aR4/w440-h346/16-%20Git%20Choose%20HTTPS.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQUvxqpHsiWJB8Lk7_L6x6cpSQE_2GBCyNrVnC7ASbALdSisOMrrixe3-mUayXlLw5gP9ssPmVlZOcDvzfLuaEAw9hj3TqF2Qvf6X2bznUW5Xmr0YgT2YbaDaV7qtFLFWGS-lAAyQ7tvkvbPJoVhFKRlcsH0s5iGhKaLFvo1u-eV7KyMR7UuTENC5N0bzT/s498/17%20-%20Git%20Line%20End%20Configuring.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;392&quot; data-original-width=&quot;498&quot;
         height=&quot;348&quot; width=&quot;442&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQUvxqpHsiWJB8Lk7_L6x6cpSQE_2GBCyNrVnC7ASbALdSisOMrrixe3-mUayXlLw5gP9ssPmVlZOcDvzfLuaEAw9hj3TqF2Qvf6X2bznUW5Xmr0YgT2YbaDaV7qtFLFWGS-lAAyQ7tvkvbPJoVhFKRlcsH0s5iGhKaLFvo1u-eV7KyMR7UuTENC5N0bzT/w442-h348/17%20-%20Git%20Line%20End%20Configuring.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4BqpJRrAyk19Ng9EgxWOk7pcJMd3sIRo5EtX1_4TVfd7qM_LymXOjHhrlymkdZheI_CAb1zo6tAodmXB4wi3EoWPUIEtlilOtxlZCWsW9Bu4bGRdsShtIaAJd7JwkzaSsKBKgcN_zJSL21eppLFiJ7hLVIUAGF2cg482_gQd4Hm_ocB4pG2dU-zOcmlP_/s496/18%20Git%20-%20terminal%20configure.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;387&quot; data-original-width=&quot;496&quot;
         height=&quot;348&quot; width=&quot;445&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4BqpJRrAyk19Ng9EgxWOk7pcJMd3sIRo5EtX1_4TVfd7qM_LymXOjHhrlymkdZheI_CAb1zo6tAodmXB4wi3EoWPUIEtlilOtxlZCWsW9Bu4bGRdsShtIaAJd7JwkzaSsKBKgcN_zJSL21eppLFiJ7hLVIUAGF2cg482_gQd4Hm_ocB4pG2dU-zOcmlP_/w445-h348/18%20Git%20-%20terminal%20configure.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV4LpAmIXFcXetNXVdMxQwidnECgI4XEOEqlwF3oRD-dqueQTjCXv12hXxylr5heWXUa0G8K2DPssFGJuNKrK2FiPJQDFzbyHmPTl9CQmZ7BZ2KelAa5tDdK25QsLQ56rREhb0FGP8D27kBfU1GSWVc4sPIDsE5IiAq4_5ydif0ujg0Y3_7IMNLT5dvv54/s494/19%20-%20Git%20Behavior%20GIt%20Pull.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;386&quot; data-original-width=&quot;494&quot;
         height=&quot;345&quot; width=&quot;442&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV4LpAmIXFcXetNXVdMxQwidnECgI4XEOEqlwF3oRD-dqueQTjCXv12hXxylr5heWXUa0G8K2DPssFGJuNKrK2FiPJQDFzbyHmPTl9CQmZ7BZ2KelAa5tDdK25QsLQ56rREhb0FGP8D27kBfU1GSWVc4sPIDsE5IiAq4_5ydif0ujg0Y3_7IMNLT5dvv54/w442-h345/19%20-%20Git%20Behavior%20GIt%20Pull.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEgj10nrMa6qqoTwOcYlGZbR80E2Ew-Yu6SaHCbiMycCOYBH-_NTGURSLdO-2jzUNAluykkbj1iWiyuaWmE1LKHxu5Q6UA5iWfeeo7xWJ1TtivS2Wh36XSrJ3Voy6Mh9mY-Ns3O66qGEvlCzI4-K_UutCPi_Gv4R2cewJwIL2_WCr6O6AkNVbBCbRIpXTZ/s492/20%20-%20GIt%20Credential.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;390&quot; data-original-width=&quot;492&quot;
         height=&quot;348&quot; width=&quot;439&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEgj10nrMa6qqoTwOcYlGZbR80E2Ew-Yu6SaHCbiMycCOYBH-_NTGURSLdO-2jzUNAluykkbj1iWiyuaWmE1LKHxu5Q6UA5iWfeeo7xWJ1TtivS2Wh36XSrJ3Voy6Mh9mY-Ns3O66qGEvlCzI4-K_UutCPi_Gv4R2cewJwIL2_WCr6O6AkNVbBCbRIpXTZ/w439-h348/20%20-%20GIt%20Credential.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzZz-Dy3t3ajklY0e5IQt-cNouQgZ_9VsAkbQ2JuwW2x8LEFv2WT9g_w-Cwb5URyguoHO4e5hLx7AKSlAwqUY2BUjRkjiTExFN7PCpUH1TtTjKhdKq46iAfIbBpp4jwsjmDzhoKVYn44FBw3_PRjxMWvm2cR7tfweQW7plQmuqiP8Fd1wka0uij12Dup08/s491/21%20-%20Git%20Enable.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;389&quot; data-original-width=&quot;491&quot;
         height=&quot;353&quot; width=&quot;445&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzZz-Dy3t3ajklY0e5IQt-cNouQgZ_9VsAkbQ2JuwW2x8LEFv2WT9g_w-Cwb5URyguoHO4e5hLx7AKSlAwqUY2BUjRkjiTExFN7PCpUH1TtTjKhdKq46iAfIbBpp4jwsjmDzhoKVYn44FBw3_PRjxMWvm2cR7tfweQW7plQmuqiP8Fd1wka0uij12Dup08/w445-h353/21%20-%20Git%20Enable.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Click &quot;Install&quot;. The installation will run for a few minutes.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicvQF1eAuIYvpSZNf5s6j5-k2uZSlXQbIKwGXFrP1-3XWCixNyCIBGtv9oPzUt89XEC87CLURHJQb0vcEkdK9TpFp9ypPWqAp9nTV3BmxJmsbhTkr5D8gtV8HyHQCBBSmQ0TXeX52DCRyarvR-8oNM52iMdnifQMjz68qoiFu4Rr04VS7P-2a1EipG-toN/s487/22%20-%20Git%20Experimental.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;385&quot; data-original-width=&quot;487&quot;
         height=&quot;352&quot; width=&quot;445&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicvQF1eAuIYvpSZNf5s6j5-k2uZSlXQbIKwGXFrP1-3XWCixNyCIBGtv9oPzUt89XEC87CLURHJQb0vcEkdK9TpFp9ypPWqAp9nTV3BmxJmsbhTkr5D8gtV8HyHQCBBSmQ0TXeX52DCRyarvR-8oNM52iMdnifQMjz68qoiFu4Rr04VS7P-2a1EipG-toN/w445-h352/22%20-%20Git%20Experimental.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Click &quot;Finish&quot;. The Release notes will open in a browser and can be disregarded for now&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3QDx8hEbrgN5GfxyRMGVQO1c9tSMxVjFAvcn6xqoD7Qz2o5Eg9KHYZIAOeOsspPXMOuQPYQhUygxRYjbCispbwQqkSHxzxLPtgH_6SK8v9csQhyphenhyphen-y4jCz6FarZ0TsXnhwuCY5crhcKkCXiiJnSpVH4phG6LLhi-or4y47lM2Nw-X2lNUMRUqeNKZ4JGSz/s418/23%20-%20Git%20Setup%20Wizard%20COmplete.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;328&quot; data-original-width=&quot;418&quot;
         height=&quot;348&quot; width=&quot;443&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3QDx8hEbrgN5GfxyRMGVQO1c9tSMxVjFAvcn6xqoD7Qz2o5Eg9KHYZIAOeOsspPXMOuQPYQhUygxRYjbCispbwQqkSHxzxLPtgH_6SK8v9csQhyphenhyphen-y4jCz6FarZ0TsXnhwuCY5crhcKkCXiiJnSpVH4phG6LLhi-or4y47lM2Nw-X2lNUMRUqeNKZ4JGSz/w443-h348/23%20-%20Git%20Setup%20Wizard%20COmplete.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.4 Install TensorFlow Arduino Libraries&lt;/h3&gt;
&lt;p&gt;
  Open the &#39;Terminal&#39; (AKA Windows Powershell) application. There may be an icon on the start ribbon
  at the bottom of your desktop, if not search for &#39;Terminal&#39; in the start menu.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgIIW4K358wwWYhdW3r-w7jDt3DzFEmQbbjzM0OpTeX3hI0jkfP-1eXFZ7wCTLI_iVyIt8EoYNr5U4tCXwpkryu32RGQRekunCD__oQq1PT2TtLo7BjpA0bXLVI-QzJTk1Q9uwuQOyJLNKF2sWVOWrOE83jlr8S3jlzIoTmbYu_dJXy3BFPFBSDn3TMhmy/s624/24%20-%20Windows%20Powershell.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;350&quot; data-original-width=&quot;624&quot;
         height=&quot;264&quot; width=&quot;472&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgIIW4K358wwWYhdW3r-w7jDt3DzFEmQbbjzM0OpTeX3hI0jkfP-1eXFZ7wCTLI_iVyIt8EoYNr5U4tCXwpkryu32RGQRekunCD__oQq1PT2TtLo7BjpA0bXLVI-QzJTk1Q9uwuQOyJLNKF2sWVOWrOE83jlr8S3jlzIoTmbYu_dJXy3BFPFBSDn3TMhmy/w472-h264/24%20-%20Windows%20Powershell.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  Open the file explorer and locate your Arduino Libraries Folder. Click on it so that its highlighted,
  then press Ctrl+Shift+C to copy as path. (Alternatively, you can also left click on it then click &quot;Copy as Path&quot;.)
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtIAvQROijcVNJwosOZSqj6T9Oy04xBjNtPINbyN1lKdG3qGscryc5qb5L22xALkjadDZSufTIC0E4neanSuq6371fpIaC6jyqKqIZJ08C-H7ZzfTQVmyVgQesL87efLl-5Op2Wx9oWq4d2xWY4ZKwuoG-tJCvAz34PbQ30_7Evs0wtSr3OByzwUh2OSyj/s594/25-%20Copy%20as%20Path.png&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;40&quot; data-original-width=&quot;594&quot;
         height=&quot;35&quot; width=&quot;511&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtIAvQROijcVNJwosOZSqj6T9Oy04xBjNtPINbyN1lKdG3qGscryc5qb5L22xALkjadDZSufTIC0E4neanSuq6371fpIaC6jyqKqIZJ08C-H7ZzfTQVmyVgQesL87efLl-5Op2Wx9oWq4d2xWY4ZKwuoG-tJCvAz34PbQ30_7Evs0wtSr3OByzwUh2OSyj/w511-h35/25-%20Copy%20as%20Path.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Once you&#39;ve copied the path, return to the terminal and paste the path in the command line:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;C:\Users\maxcl&amp;gt;:~# &lt;/b&gt;&lt;i&gt;&quot;C:\Users\maxcl\Arduino\libraries&quot;&lt;/i&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3JAfFUcFpcwmjMIgQKg4_oj49SLkGtkrFdK8ghs8ndX4gpvZCLub9YCMmppkT0syLX1CATX-o5DNi8umHuI8VXIndeBqEeh1Tb8O3knioSMHHWxbKG_nmlFkrr_FE8Lsu8HsPo5dP0GmGsfXLqSqEdnyRHyB_OFaoB4VNAxFfloIPP7mfv9Y_AWs-OTlM/s683/26%20-%20powershell%20path.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;387&quot; data-original-width=&quot;683&quot;
         height=&quot;279&quot; width=&quot;493&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3JAfFUcFpcwmjMIgQKg4_oj49SLkGtkrFdK8ghs8ndX4gpvZCLub9YCMmppkT0syLX1CATX-o5DNi8umHuI8VXIndeBqEeh1Tb8O3knioSMHHWxbKG_nmlFkrr_FE8Lsu8HsPo5dP0GmGsfXLqSqEdnyRHyB_OFaoB4VNAxFfloIPP7mfv9Y_AWs-OTlM/w493-h279/26%20-%20powershell%20path.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Next: Use the following command to install the TensorFlow Lite library&lt;/p&gt;

&lt;p&gt;&lt;b&gt;C:\Users\maxcl&amp;gt;:~# &lt;/b&gt;&lt;i&gt;git clone https://github.com/tensorflow/tflite-micro-arduino-examples Arduino_TensorFlowLite&lt;/i&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH3DW45FAzzYrmLpYy8y0uAb8hUc1na6-hdCpad5ZXdi-fTNzUUq76rT5rExVhXQ0q5xFW3ZWQtz9CSOh5bkZWbrm3hEAVh2pWY4WDDfNdoeCozxPht-KmfHgsTSARbx3BIveEdvTMFb6VQejpNgwTU6zCg9u9e1IUA8YVvmYAkGFReeOBIn2w5BY12EdH/s574/27%20-%20download%20(git%20clone)%20arduino%20TFLite.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;318&quot; data-original-width=&quot;574&quot;
         height=&quot;300&quot; width=&quot;543&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH3DW45FAzzYrmLpYy8y0uAb8hUc1na6-hdCpad5ZXdi-fTNzUUq76rT5rExVhXQ0q5xFW3ZWQtz9CSOh5bkZWbrm3hEAVh2pWY4WDDfNdoeCozxPht-KmfHgsTSARbx3BIveEdvTMFb6VQejpNgwTU6zCg9u9e1IUA8YVvmYAkGFReeOBIn2w5BY12EdH/w543-h300/27%20-%20download%20(git%20clone)%20arduino%20TFLite.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Once the library is installed, use the following command to change directory to the new TensorFlow Library&lt;/p&gt;

&lt;p&gt;&lt;b&gt;C:\Users\maxcl&amp;gt;:~# &lt;/b&gt;cd Arduino_tensorFlowLite&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPBpPP4-pac4d0jvmRvHn_GaJjetdXbfw7Yef0A2n0G5mY0JWipSw7yNK0tIsg9vjZciaTla5u00BRegQxp6QRmL2964307fsDM_5sUxREJ7SIDo-LVyvNc7MPssgfQLisBrU3OIlYk42j6Vn1PnxJaHSL8AOXhudsfpNA3oInFPi0CT2P0PMBTGVSIoZs/s606/28%20change%20directory%20to%20tf%20lite.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;341&quot; data-original-width=&quot;606&quot;
         height=&quot;307&quot; width=&quot;545&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPBpPP4-pac4d0jvmRvHn_GaJjetdXbfw7Yef0A2n0G5mY0JWipSw7yNK0tIsg9vjZciaTla5u00BRegQxp6QRmL2964307fsDM_5sUxREJ7SIDo-LVyvNc7MPssgfQLisBrU3OIlYk42j6Vn1PnxJaHSL8AOXhudsfpNA3oInFPi0CT2P0PMBTGVSIoZs/w545-h307/28%20change%20directory%20to%20tf%20lite.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Lastly use the git pull command to update the library&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7PNP_DHTC3BPTLzHuUokyxQ9_40NDfZ7p3voupJ51n-Qp3lrFlOJYGUQNkDPbTFIQv8AvsV6GDJxtkZL5wm5s2aiUGuR_7LMhtEwvVc94uuGhPYiwEGa9NZf0zXmc7zzHOlJ8BhEyg4v_Z3M2LZSo0SPRXSWmniCPWfFsV5o-zEsHVzje-sPPlCF3eKOj/s624/29%20-%20update%20(git%20pull)%20the%20TFLite%20library.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;352&quot; data-original-width=&quot;624&quot;
         height=&quot;307&quot; width=&quot;543&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7PNP_DHTC3BPTLzHuUokyxQ9_40NDfZ7p3voupJ51n-Qp3lrFlOJYGUQNkDPbTFIQv8AvsV6GDJxtkZL5wm5s2aiUGuR_7LMhtEwvVc94uuGhPYiwEGa9NZf0zXmc7zzHOlJ8BhEyg4v_Z3M2LZSo0SPRXSWmniCPWfFsV5o-zEsHVzje-sPPlCF3eKOj/w543-h307/29%20-%20update%20(git%20pull)%20the%20TFLite%20library.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.5 Working in the Arduino IDE&lt;/h3&gt;
&lt;p&gt;
  Open the Arduino IDE, either by searching for it from the Windows start menu (&quot;Arduino IDE&quot;),
  or clicking on a desktop icon. (It also may be open from the installation earlier.)
&lt;/p&gt;
&lt;p&gt;
  When it opens, there will be a message that appears in the bottom left of the screen prompting you
  to install updates. Click &quot;Install all&quot;. There also may be an update message for boards.
  Click &quot;Install All&quot; to this too.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQYmyWZx9QZ_qBLOoHr19ceFa3HqMHXBWeMHqKtPYm-zNFCNtGNHL9-zNAoQ8QBJ6gl6MChGisrbGcj-K6V55k0wYz3KFmAaaYWWtfLNuEj-jKbEacADgMFsclXqRhSQFDLEiLXwDMk6EupuKzW9Lb8bdSlV85GXaG1PpB8eNhNJ3gxHC6euQGa7g6KcF7/s537/30%20-%20Install%20Arduino%20Updates.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;217&quot; data-original-width=&quot;537&quot;
         height=&quot;220&quot; width=&quot;546&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQYmyWZx9QZ_qBLOoHr19ceFa3HqMHXBWeMHqKtPYm-zNFCNtGNHL9-zNAoQ8QBJ6gl6MChGisrbGcj-K6V55k0wYz3KFmAaaYWWtfLNuEj-jKbEacADgMFsclXqRhSQFDLEiLXwDMk6EupuKzW9Lb8bdSlV85GXaG1PpB8eNhNJ3gxHC6euQGa7g6KcF7/w546-h220/30%20-%20Install%20Arduino%20Updates.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  After everything is installed, verify that the Arduino_TensorFlow Lite library is installed by looking
  under &quot;File&quot; Then &quot;Examples&quot; in the top right-hand corner of the IDE. You might have to scroll down
  in the &quot;Examples&quot; section to find it because it will be found under &quot;Examples from Custom Libraries&quot;
&lt;/p&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.6 Attaching the Arduino Nano&lt;/h3&gt;
&lt;p&gt;
  Connect the Arduino Nano 33 BLE to your computer using a USB A to Micro USB cable. Note: if you have
  the Arduino Tiny Machine Learning kit, the Arduino Nano 33 BLE is in foam (see picture below).
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2s_vwCU_e0dWOyIj7xmSN2V8E3G3MOk1bA_MBJTORm_HFn9f2X34quAIELJ7UPWBmSoIJ1XHlzBMB7QFkyrf8PBRgbp1MOCE17HMu5Iducqu1SlrJlPWZ8D-wnXyXUmjd_G4UUgPL346b0sbqXaf2OjyxZceuK4mAg61Xpto5Vh9pCVhKX-hWSySPxDRm/s439/31%20-%20Arduino%20Nano%2033%20BLE.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;307&quot; data-original-width=&quot;439&quot;
         height=&quot;356&quot; width=&quot;507&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2s_vwCU_e0dWOyIj7xmSN2V8E3G3MOk1bA_MBJTORm_HFn9f2X34quAIELJ7UPWBmSoIJ1XHlzBMB7QFkyrf8PBRgbp1MOCE17HMu5Iducqu1SlrJlPWZ8D-wnXyXUmjd_G4UUgPL346b0sbqXaf2OjyxZceuK4mAg61Xpto5Vh9pCVhKX-hWSySPxDRm/w507-h356/31%20-%20Arduino%20Nano%2033%20BLE.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Also, a USB A to Micro USB cable is provided in the kit.&lt;/p&gt;

&lt;p&gt;
  In the Windows start menu, search for the &quot;device manager&quot;. Open it and click on
  &quot;USB Serial Device(COMX)&quot; under Ports. The Com number may differ; it is COM7 in this example.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkY3pd8xKHXIeILQkVXLlSd28mC-kNdRQ3mZjw6lQRM4gB0SdW9id2DsvHuk7S4cPGsD5oK5ciMTl96igtKPP1z8OQW4Hiikgw09i4x8QIhM4rZwkAkjLygaq-AZi0e867GXSXkXzhRGmh8RLmblChnFtF7IQOUmGGFftk11T2bqLoh9XqewyQahTnK82d/s552/33%20-%20Device%20Manager.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;403&quot; data-original-width=&quot;552&quot;
         height=&quot;406&quot; width=&quot;556&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkY3pd8xKHXIeILQkVXLlSd28mC-kNdRQ3mZjw6lQRM4gB0SdW9id2DsvHuk7S4cPGsD5oK5ciMTl96igtKPP1z8OQW4Hiikgw09i4x8QIhM4rZwkAkjLygaq-AZi0e867GXSXkXzhRGmh8RLmblChnFtF7IQOUmGGFftk11T2bqLoh9XqewyQahTnK82d/w556-h406/33%20-%20Device%20Manager.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;When you click on it, it should say &quot;This Device is working properly&quot; under General.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiCQM2_ht8qH_nYvKsbpC2PIvVqDdDKkmZigbICaJvD45MDMIZPqC9ISE9JIE_0LGKIVtCRpmxhUyXcR_GlPJSYVlJf7g9stu95adY6qOQKMomnjmgjxZExklMSNZYwsFQsbck-gJ5Q0Ly7WbVQUChaN8qF_N7vFWHGS4MXGcU34b8tYnHihNX8cfohn-4v&quot;&gt;
    &lt;img alt=&quot;&quot;
         data-original-height=&quot;568&quot; data-original-width=&quot;508&quot;
         height=&quot;334&quot; width=&quot;299&quot;
         src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiCQM2_ht8qH_nYvKsbpC2PIvVqDdDKkmZigbICaJvD45MDMIZPqC9ISE9JIE_0LGKIVtCRpmxhUyXcR_GlPJSYVlJf7g9stu95adY6qOQKMomnjmgjxZExklMSNZYwsFQsbck-gJ5Q0Ly7WbVQUChaN8qF_N7vFWHGS4MXGcU34b8tYnHihNX8cfohn-4v=w299-h334&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  When the board is Connected for the first time, A pop-up will appear in the bottom right corner of the
  Arduino IDE, prompting you to manually install the board package. Click &quot;Install&quot; then &quot;Next&quot;. A banner
  will appear on the right side of the screen. Click the green &quot;Install&quot; button on the one that says,
  &quot;Arduino Mbed OS Nano Boards.&quot;
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAZdQvLOwREKrGzD0jo-6GVIuZa4xqvO9uW1OftUf1SRxC1ldwohyphenhyphenxJjfzGpbET-FS5Rx2mHZjS24qpcqatxS3oHgc-Nje9ISzBPpQtfqmQAjJ0SpuJZEJKaeva7fu3nzTHoQohXGtqtQ0OUQUSac1_nkHPvgxMaahpAgMO6Zrl7rWXYzCV0xk8xdK_Wrf/s946/34%20-%20Update%20Mbed%20Board%20Package.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;702&quot; data-original-width=&quot;946&quot;
         height=&quot;367&quot; width=&quot;496&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAZdQvLOwREKrGzD0jo-6GVIuZa4xqvO9uW1OftUf1SRxC1ldwohyphenhyphenxJjfzGpbET-FS5Rx2mHZjS24qpcqatxS3oHgc-Nje9ISzBPpQtfqmQAjJ0SpuJZEJKaeva7fu3nzTHoQohXGtqtQ0OUQUSac1_nkHPvgxMaahpAgMO6Zrl7rWXYzCV0xk8xdK_Wrf/w496-h367/34%20-%20Update%20Mbed%20Board%20Package.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  Once the board package is installed, click on the white text box in the top right of the screen.
  Note: it may say &quot;None&quot; or &quot;Unknown&quot; at first. Click on the pen icon to open the board/port selector.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYUU1bW0vzHTRIEHrlpY6Vw108gBmp8BuKnaYQVO-thszsIqprin_aC2B_bAkJJqwNHLKWErVLOVp_dv3HEfKk-vw9jqF4ISoX9ii2DymYI0TtTgGNmKTS6HysfjnxjqD8Iw4Qb1NylyjNZRUaafNoOlebhwfGgBVHarpHuUhKPE1Nc-8-W7FB2q4FBX2w/s322/35%20-%20Available%20ports.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;261&quot; data-original-width=&quot;322&quot;
         height=&quot;259&quot; width=&quot;320&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYUU1bW0vzHTRIEHrlpY6Vw108gBmp8BuKnaYQVO-thszsIqprin_aC2B_bAkJJqwNHLKWErVLOVp_dv3HEfKk-vw9jqF4ISoX9ii2DymYI0TtTgGNmKTS6HysfjnxjqD8Iw4Qb1NylyjNZRUaafNoOlebhwfGgBVHarpHuUhKPE1Nc-8-W7FB2q4FBX2w/s320/35%20-%20Available%20ports.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  When the Board Selector Opens, search for &quot;Arduino Nano 33 BLE&quot; and select the one that reads
  &#39;Arduino Nano 33 BLE - Arduino Mbed OS Nan...&#39;. Under &#39;Ports&#39; Select the COM device that was listed
  for &#39;USB SERIAL DEVICE&#39; in the Device Manager. Click the Green &#39;OK&#39; Button.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyni4iNFn0AugBa10Fo8nFSpATeWX8LvKBUUW4PbXtSTs0B-6H73FAkLE42XRXbh1ZiTwYkEBnpUAcMAVJyN4ySsw5fUpmEuA68EfF9fJJY5xMZAJiMnRb6j_6rA8BRDSxwQpvlWg8qQAYySlJJlv642NKmlZjhfy3s3_sywctkYNXHuWbMncyYj1zr7Jq/s624/36%20-%20Board%20and%20Port%20Selector.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;447&quot; data-original-width=&quot;624&quot;
         height=&quot;278&quot; width=&quot;388&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyni4iNFn0AugBa10Fo8nFSpATeWX8LvKBUUW4PbXtSTs0B-6H73FAkLE42XRXbh1ZiTwYkEBnpUAcMAVJyN4ySsw5fUpmEuA68EfF9fJJY5xMZAJiMnRb6j_6rA8BRDSxwQpvlWg8qQAYySlJJlv642NKmlZjhfy3s3_sywctkYNXHuWbMncyYj1zr7Jq/w388-h278/36%20-%20Board%20and%20Port%20Selector.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;h3 style=&quot;text-align: left;&quot;&gt;1.7 The Micro Speech Example&lt;/h3&gt;
&lt;p&gt;
  In the Arduino IDE, under File&amp;gt;Examples&amp;gt;Arduino_TensorFlowLite, click on &#39;micro_speech&#39;.
  This will open the &quot;micro_speech&quot; example which does basic speech recognition. Note: Make sure to
  Click on &#39;Examples&#39; as opposed to just hovering over it.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDy5RiQJjvwCuOPDmWUnrCJ9hTsz7kIGFfsk-ah4jCpAN6vkF9IFyqj4DgT_-RdlwZEhlumQFtaOTI3Nk_3E9LjTcBsS8ubcqW-svLzaRB2mf7pRT4hNBChVyhGiZjbVIs7-DXumBZwiZ6rj3bXmWNmya0oYBbt_8Nx0s9QrGqic6IMatEaKk7x6tKuNTU/s574/37%20-%20Micro%20Speech%20Example.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;351&quot; data-original-width=&quot;574&quot;
         height=&quot;350&quot; width=&quot;571&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDy5RiQJjvwCuOPDmWUnrCJ9hTsz7kIGFfsk-ah4jCpAN6vkF9IFyqj4DgT_-RdlwZEhlumQFtaOTI3Nk_3E9LjTcBsS8ubcqW-svLzaRB2mf7pRT4hNBChVyhGiZjbVIs7-DXumBZwiZ6rj3bXmWNmya0oYBbt_8Nx0s9QrGqic6IMatEaKk7x6tKuNTU/w571-h350/37%20-%20Micro%20Speech%20Example.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  Once micro_speech is open, check to make sure that the proper board and port are selected.
  (You may need to reselect the correct COM port and the board.)
&lt;/p&gt;
&lt;p&gt;
  Next, click the checkmark in the top right of the screen. (The &quot;Verify&quot; button.) This will compile
  the code. (Which may take a few minutes and uses a lot of processing power).
&lt;/p&gt;
&lt;p&gt;After the board is verified, click the arrow next to it, the &#39;Upload&#39; Button. This programs the board with the code.&lt;/p&gt;
&lt;p&gt;
  The board is now programmed with speech recognition. You can test it by saying &quot;Yes&quot; aloud and watching
  the LED turn green, then saying &quot;No&quot; for it to turn red.
&lt;/p&gt;
&lt;p&gt;
  While verifying and uploading the code, my computer kept crashing. After looking into the event viewer,
  the shutdowns were due to the &#39;GameInput&#39; Application. To address this I followed the steps in the
  following video up to &lt;a href=&quot;https://www.youtube.com/watch?v=c7_wfefdv6E&amp;amp;t=119s&quot;&gt;1:59&lt;/a&gt;.
  At this point, I had to have the GameInput startup to &#39;Manual&#39; instead of &#39;Automatic&#39; which was shown in the video.
&lt;/p&gt;

&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;iframe allowfullscreen=&quot;&quot;
          class=&quot;BLOG_video_class&quot;
          height=&quot;266&quot; width=&quot;320&quot;
          src=&quot;https://www.youtube.com/embed/c7_wfefdv6E&quot;
          youtube-src-id=&quot;c7_wfefdv6E&quot;&gt;
  &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;
  The &quot;Manual&quot; startup should be the default setting. If you need to change startup mode, the way to open
  the GameInput properties differs than in the video.
&lt;/p&gt;
&lt;p&gt;
  To access the properties, first, right click on GameInput in Task Manager, and click on the
  &#39;Open Services&#39; Option. Note: Tasks are sorted alphabetically
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVPy9JFhKO3sJM04iTbzxHIbZsecltTuYgd-BFM_uAnb9h6Iga0A6_38V-HhXSV0IahC8oLbEaXczpaQr7OLJrXInbX83ljjrpOONwEBuQ9SMMHtUDAyl0UQp8QbpN0ir_HWc5_XBsA1mGdf-aWtWJugFUoy1BvU5LKWZ-Xm1UwJnXSfZoZuaEMYpsPvjw/s751/38%20-%20Task%20Manager.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;475&quot; data-original-width=&quot;751&quot;
         height=&quot;231&quot; width=&quot;366&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVPy9JFhKO3sJM04iTbzxHIbZsecltTuYgd-BFM_uAnb9h6Iga0A6_38V-HhXSV0IahC8oLbEaXczpaQr7OLJrXInbX83ljjrpOONwEBuQ9SMMHtUDAyl0UQp8QbpN0ir_HWc5_XBsA1mGdf-aWtWJugFUoy1BvU5LKWZ-Xm1UwJnXSfZoZuaEMYpsPvjw/w366-h231/38%20-%20Task%20Manager.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;Next, right click on the GameInput Service and choose &#39;Properties&#39;. Note: Sorting is again alphabetical&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjveq13ilroZsuCYKiEc2ayqRJJeh0fxIz_w5U5-UV3khJ7X4SQv_wW-Aq8oSInNXh7J0gV4vj9rlMsI_ukWYtI0m8bSh5e8m7jnXToIn8-pivQ2p55J0ciXP0DBetH023ZMRGjPr-pCWn8DoXeCJ6I0xL6_zkU2QN7BjXg9PIdgWurBKHUkgi1gNy7BzSe/s790/39%20-%20Services.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;408&quot; data-original-width=&quot;790&quot;
         height=&quot;192&quot; width=&quot;372&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjveq13ilroZsuCYKiEc2ayqRJJeh0fxIz_w5U5-UV3khJ7X4SQv_wW-Aq8oSInNXh7J0gV4vj9rlMsI_ukWYtI0m8bSh5e8m7jnXToIn8-pivQ2p55J0ciXP0DBetH023ZMRGjPr-pCWn8DoXeCJ6I0xL6_zkU2QN7BjXg9PIdgWurBKHUkgi1gNy7BzSe/w372-h192/39%20-%20Services.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p&gt;
  Once you are in the properties, select &#39;Manual&#39; for Startup Type. If it is running, select &#39;Stop&#39;.
  Afterwards, click on &#39;OK&#39;. Now that the GameInput is not running, you should be able to run the
  micro_speech example without crashing.
&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNbiM1tTTU7ZMTXsSN-Hc1GC0ed67AQBjqapQ9dvdmG8HZEfSV51KTr4z9Z1tdOR2a1C3QyMxmzKQPoCPEB2GzX8f7emwe6ftY1jehPzYpVOCRrogEGtlvcSI1CBvwJrqQnCCHMIw0Uh8qdQ3TR1skr-6Soa_X0N-f9p7IsRoZRIM8Db28LCy1QEyJoltj/s466/40%20-%20GameInput%20Properties.png&quot;
     style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;
    &lt;img border=&quot;0&quot;
         data-original-height=&quot;466&quot; data-original-width=&quot;397&quot;
         height=&quot;320&quot; width=&quot;273&quot;
         src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNbiM1tTTU7ZMTXsSN-Hc1GC0ed67AQBjqapQ9dvdmG8HZEfSV51KTr4z9Z1tdOR2a1C3QyMxmzKQPoCPEB2GzX8f7emwe6ftY1jehPzYpVOCRrogEGtlvcSI1CBvwJrqQnCCHMIw0Uh8qdQ3TR1skr-6Soa_X0N-f9p7IsRoZRIM8Db28LCy1QEyJoltj/s320/40%20-%20GameInput%20Properties.png&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br style=&quot;clear: both;&quot; /&gt;

&lt;p style=&quot;text-align: left;&quot;&gt;
  In &lt;a href=&quot;https://blog.embeddedcoding.com/2024/08/introduction-to-machine-learning-on_26.html&quot;&gt;part 2&lt;/a&gt;,
  I will show how to change the words being used for speech recognition using Edge Impulse.
&lt;/p&gt;
</description><link>http://blog.embeddedcoding.com/2024/08/introduction-to-machine-learning-on.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXWskkNSc67cFeWkhAlRgr01f6nQCOV0fWku3fpbFe27gzM-ilJnRt2O3HYiK7eBXt9NO1GaNJBQMTdaWepVoACD5IShf0XdLYkEsOcxn7fxoNCwrlsad49Og7sYhvFsMBUIyk8OOoe5vkZ5nFVx-4pZaACC9NNyfwmfmrRmfmIYYpjZ5fuUjahrolu-c/s72-w477-h245-c/1-%20Arduino%20IDE%20Install.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-3187253535844427686</guid><pubDate>Mon, 19 Aug 2024 14:06:00 +0000</pubDate><atom:updated>2024-08-19T11:52:45.790-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ARM Processor</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">DIY electronics</category><title>ST Micro eStore Free Global Delivery for August</title><description>&lt;p&gt;The &lt;a href=&quot;https://estore.st.com/&quot; target=&quot;_blank&quot;&gt;STMicroelectronics eStore&lt;/a&gt;&amp;nbsp;is offering free worldwide delivery for the remainder of August.&amp;nbsp; No code or minimum purchase is required.&amp;nbsp; There are also a few buy-one-get-one-free offers with a code.&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Triple half-bridge gate driver - &lt;a href=&quot;https://estore.st.com/en/products/power-management/gate-drivers/multiple-channel-drivers/stdrive101.html&quot; target=&quot;_blank&quot;&gt;STDRIVE101 and STDRIVE101TR&lt;/a&gt; with code EV-FREEDRIVE101&lt;/li&gt;&lt;li&gt;250 V three-phase BLDC controller with embedded STM32 MCU - &lt;a href=&quot;https://estore.st.com/en/stspin32g0251q-cpn.html&quot; target=&quot;_blank&quot;&gt;STSPIN32G0251Q&lt;/a&gt; with code&amp;nbsp;EV-FREE-STSPIN32&lt;/li&gt;&lt;li&gt;3-phase inverter based on STSPIN32G0251Q - &lt;a href=&quot;https://estore.st.com/en/evspin32g02q1s1-cpn.html&quot; target=&quot;_blank&quot;&gt;EVSPIN32G02Q1S1&lt;/a&gt; with code&amp;nbsp;EV-BOGO-EVSPIN32&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2024/08/st-micro-estore-free-global-delivery.html</link><author>noreply@blogger.com (Aaron Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-870334470430290178</guid><pubDate>Wed, 17 Jul 2024 10:28:00 +0000</pubDate><atom:updated>2024-07-17T06:28:31.649-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">ARM Processor</category><category domain="http://www.blogger.com/atom/ns#">Bluetooth</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">embedded Linux</category><category domain="http://www.blogger.com/atom/ns#">giveaway</category><category domain="http://www.blogger.com/atom/ns#">Wireless</category><title>Ezurio Development Board Kit Giveaway</title><description>&lt;p&gt;&lt;a href=&quot;https://www.ezurio.com/&quot; target=&quot;_blank&quot;&gt;Ezurio&lt;/a&gt; (formerly Laird Connectivity) is offering a &lt;a href=&quot;https://resources.endeavorb2b.com/nitrogen-smarc-kit-with-som-wi-fi-bt-module-antennas-carrier-giveaway/?pk=E1_07162024&quot; target=&quot;_blank&quot;&gt;development kit giveaway&lt;/a&gt; that includes a System on Module (SOM), a carrier board, a wireless module, and an antenna. Ezurio specializes in SOMs featuring &lt;a href=&quot;https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors:IMX_HOME&quot; target=&quot;_blank&quot;&gt;NXP i.MX processors&lt;/a&gt;, including the i.MX 8M Mini, 8M Plus, and i.MX 93, with support for both Android and Linux. The giveaway also includes &lt;a href=&quot;https://www.ezurio.com/wireless-modules/wifi-modules-bluetooth&quot; target=&quot;_blank&quot;&gt;Sona WiFi 6/6E and Bluetooth LE modules&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdotmDR2SeeeeEa6ysUVnJ7eqoJ32LIUw6e5Xjy1E028dMKBbY0g0-sHbhU7NwNcZWuPf1iXrJc_JxHcyq1oypu9BJ9ARPDtj6anE6gE9T-KFV30VeWXDw-6cHilWGgWh4FH_E3Wyn2VLd61cxfmV8Cue_a3mBM6BZh-n70FQdqMEypecW68rsh5jLIVhI/s1000/SOM-CARRIER-BUNDLE-LOGO-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;725&quot; data-original-width=&quot;1000&quot; height=&quot;232&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdotmDR2SeeeeEa6ysUVnJ7eqoJ32LIUw6e5Xjy1E028dMKBbY0g0-sHbhU7NwNcZWuPf1iXrJc_JxHcyq1oypu9BJ9ARPDtj6anE6gE9T-KFV30VeWXDw-6cHilWGgWh4FH_E3Wyn2VLd61cxfmV8Cue_a3mBM6BZh-n70FQdqMEypecW68rsh5jLIVhI/s320/SOM-CARRIER-BUNDLE-LOGO-1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2024/07/ezurio-development-board-kit-giveaway.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdotmDR2SeeeeEa6ysUVnJ7eqoJ32LIUw6e5Xjy1E028dMKBbY0g0-sHbhU7NwNcZWuPf1iXrJc_JxHcyq1oypu9BJ9ARPDtj6anE6gE9T-KFV30VeWXDw-6cHilWGgWh4FH_E3Wyn2VLd61cxfmV8Cue_a3mBM6BZh-n70FQdqMEypecW68rsh5jLIVhI/s72-c/SOM-CARRIER-BUNDLE-LOGO-1.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-2291756739009006763</guid><pubDate>Mon, 15 Jul 2024 19:02:00 +0000</pubDate><atom:updated>2025-01-09T11:58:37.558-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">BeagleBone</category><category domain="http://www.blogger.com/atom/ns#">Bluetooth</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><category domain="http://www.blogger.com/atom/ns#">STM32</category><title>Machine Learning Development Boards</title><description>&lt;p&gt;My name is &lt;a href=&quot;https://www.linkedin.com/in/MaxwellClarkeML/&quot;&gt;Maxwell Clarke&lt;/a&gt;, I am an embedded systems engineer at &lt;a href=&quot;https://aaronclarke.com/&quot;&gt;Aaron Clarke&lt;/a&gt; where I am researching machine learning application development.&amp;nbsp; An easy way to get started with machine learning development is to use an off-the-shelf development board. Here are some development boards I&#39;ve identified that support machine learning. I will be posting tutorials for some of these boards in the upcoming weeks.
&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://store-usa.arduino.cc/products/arduino-tiny-machine-learning-kit?selectedStore=us&quot;&gt;Arduino Tiny Machine Learning Kit&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This kit&#39;s main purpose is to run &lt;a href=&quot;https://www.tinyml.org/&quot;&gt;TinyML&lt;/a&gt; projects by using TensorFLowLite on the board included.&amp;nbsp; It contains an&amp;nbsp;&lt;a href=&quot;https://store-usa.arduino.cc/products/arduino-nano-33-ble-sense?selectedStore=us&quot;&gt;Arduino Nano 33 BLE Sense&lt;/a&gt;&lt;span face=&quot;&amp;quot;Open Sans&amp;quot;, sans-serif&quot; style=&quot;background-color: white;&quot;&gt;&amp;nbsp;board, which features the 32-bit Arm Cortex-M4 microcontroller in an nRF52840 processor from Nordic Semiconductors. The board also has sensors for proximity, motion, and many other measurements.&amp;nbsp; The kit costs $60 from the Arduino Store.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHoZYd9uGKcD47AQyOo6RN-BLOKqekS1Kn05-QYSR36WnYbr1Aepad8i43rqBUoL71wB4Km0hxD3anSsZ_JlAQMOxLUhRx3rHbUMfdJj9kYvQZE8xuJUMkpz5maLdxy0P01IlInuuTr_XksMfnRopIi0SOrN0yhvKWoee68RU8aDvRtmZ2qXmpnSeX_2d/s643/Arduino%20Nano%2033%20BLE%20Sense.webp&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;482&quot; data-original-width=&quot;643&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHoZYd9uGKcD47AQyOo6RN-BLOKqekS1Kn05-QYSR36WnYbr1Aepad8i43rqBUoL71wB4Km0hxD3anSsZ_JlAQMOxLUhRx3rHbUMfdJj9kYvQZE8xuJUMkpz5maLdxy0P01IlInuuTr_XksMfnRopIi0SOrN0yhvKWoee68RU8aDvRtmZ2qXmpnSeX_2d/s320/Arduino%20Nano%2033%20BLE%20Sense.webp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span face=&quot;&amp;quot;Open Sans&amp;quot;, sans-serif&quot; style=&quot;background-color: white; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.beagleboard.org/boards/beaglebone-ai-64&quot;&gt;BeagleBone® AI-64&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The BeagleBone AI-64 has great computing power as it contains a&amp;nbsp;&lt;a href=&quot;https://www.ti.com/product/TDA4VM?bm-verify=AAQAAAAJ_____zHh4IMewiNV2lXiKB8_FkCrjnzqB2Di_iqE9sRCVxY6M7DtNrUjFVvQubTm-3Qb2KqphBq2Ws39kZOeTS_B3aq0WaJsbLOQQP4QAQYbzFBAiCSNi9JTCLWUY6tuj8s70u57M8mX5ItxVSBJmF1IhLTvyHscgRZLpyUEmnFlT8_oEv3bvZkxXDCGpCW-aDVm6wmPlCDSlvDzYSUou_QwljIQSgezbhIGkQ_TSE-wp1XaNBJmBnajEdD10rmtOlysGdhox6pdPgEdUmEP8n7YOnuVySwdeN3jAEkvzOGj5NBkTIxb0kc&quot;&gt;Texas Instruments TDA4VM SoC&lt;/a&gt;&amp;nbsp;with a dual 64-Bit Arm Cortex-A72 microprocessor. It interfaces via a M.2E-key PCIe USB 3.0 connector for WiFi, Ethernet, and USB 3.0. Also included are 4-Lane CSI and DSI connectors for cameras and displays, respectively. It is available for about $190 from online distributors such as &lt;a href=&quot;https://www.digikey.com/en/products/detail/beagleboard-by-seeed-studio/102110646/15929655&quot;&gt;Digi-Key&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhKwz59QqZj-I9QzNug6uY7lamAOQkEQ9pJopScK8UaI7slg4UEAFYPj_pipXRZuweF37pmWLyW2yIwXOyHiPTbp37FetNI2QOhtwhjjEF06RcfICWXItCx7uH0M5ZjqAvMaOfwwXERwlmfXZ0NycmZOpHTabvNxFPxVVXPq8HuvZacAAwoi85TMGDmIrV/s400/BeagleBone_AI_64-400x333.webp&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;333&quot; data-original-width=&quot;400&quot; height=&quot;266&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhKwz59QqZj-I9QzNug6uY7lamAOQkEQ9pJopScK8UaI7slg4UEAFYPj_pipXRZuweF37pmWLyW2yIwXOyHiPTbp37FetNI2QOhtwhjjEF06RcfICWXItCx7uH0M5ZjqAvMaOfwwXERwlmfXZ0NycmZOpHTabvNxFPxVVXPq8HuvZacAAwoi85TMGDmIrV/s320/BeagleBone_AI_64-400x333.webp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.beagleboard.org/boards/beagley-ai&quot;&gt;BeagleY-AI&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This board uses a TI AM67A Arm- based vision processor, which contains a 64-bit Arm Cortex-A53 Microcontroller. It also has a BM3301 BLE module for networking over BLE.&amp;nbsp; Other features include 3 displays including touchscreen support, a 10-pin Tag-Connect and 4 USB3 ports.&amp;nbsp; It is less expensive than the AI-64 as it has a cost of around &lt;a href=&quot;https://www.digikey.com/en/products/detail/beagleboard-by-seeed-studio/102991834/22532596?s=N4IgTCBcDaIEYFMCGBzANggngWiQSxAF0BfIA&quot;&gt;$70&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJEe3-_rsVAQ__8H0X1pwYbjSlWszLnVeoFQWwQrmHAZ45nTKE3REhUqVdnIrf_UJopDzz23s4cl4Weruwh0D8LwFSt1zZol_b9S8l3IWAhnzpBPqRESpLgfnds4mbggkK5j3PpA6jcMLf-6LJV9Dy3edZMdcGZJrp-GBuSzxtkiJEXXDWhl-Tu-eXOJ4/s400/BeagleY-AI-angled-front-1-400x267.webp&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;267&quot; data-original-width=&quot;400&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJEe3-_rsVAQ__8H0X1pwYbjSlWszLnVeoFQWwQrmHAZ45nTKE3REhUqVdnIrf_UJopDzz23s4cl4Weruwh0D8LwFSt1zZol_b9S8l3IWAhnzpBPqRESpLgfnds4mbggkK5j3PpA6jcMLf-6LJV9Dy3edZMdcGZJrp-GBuSzxtkiJEXXDWhl-Tu-eXOJ4/s320/BeagleY-AI-angled-front-1-400x267.webp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://www.sparkfun.com/products/22098?nvid=em-945-13766-0005-000&quot;&gt;NVIDIA Jetson Orin Nano Developer Kit&lt;/a&gt;&lt;/div&gt;&lt;p&gt;This kit contains the Jetson Orin Nano 8GB, which features an Ampere GPU and a 6-core ARM CPU. It has a processing ability of up to 40 TOPS, making it the most powerful board on this list.&amp;nbsp; Due to its top performance capabilities, it cost $500 from online distributors such as &lt;a href=&quot;https://www.sparkfun.com/products/22098?nvid=em-945-13766-0005-000&quot;&gt;SparkFun&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/nmZ6fhkFmDY&quot; width=&quot;320&quot; youtube-src-id=&quot;nmZ6fhkFmDY&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
In December 2024, NVIDIA unveiled a new and improved version of this Jetson Kit, the &lt;a href=&quot;https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/nano-super-developer-kit/&quot;&gt;Jetson Orin Nano Super Developer Kit&lt;/a&gt;&amp;nbsp;with an improved processing power of up to 67 TOPS. This board retailed for $250 and quickly sold out. Owners of the previous Jetson Orin Nano Developer Kit can also access the super capabilities of the new kit by upgrading the SDK, more instructions can be found on this page: &lt;a href=&quot;https://developer.nvidia.com/embedded/jetpack&quot;&gt;Jetpack SDK&lt;/a&gt; For more information on Super developer kit, check out my post reviewing its key features, &lt;a href=&quot;https://blog.embeddedcoding.com/2025/01/nvidias-jetson-orin-nano-super.html&quot;&gt;NVIDIA&#39;s Jetson Orin Nano Super Developer Kit&lt;/a&gt; The following video is from NVIDIA CEO Jensen Huang, showcasing the kit&#39;s small size and high performance capabilities. 
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;S9L2WGf1KrM&quot; width=&quot;320&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/S9L2WGf1KrM&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
  
 &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.renesas.com/us/en/products/microcontrollers-microprocessors&quot;&gt;Renesas Microcontrollers &amp;amp; Microprocessors (MCUs, MPUs)&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Renesas currently has a&amp;nbsp;&lt;a href=&quot;https://www.renesas.com/us/en/products/microcontrollers-microprocessors/reality-ai&quot;&gt;Reality AI Software&lt;/a&gt;&amp;nbsp;which is useful for all sorts of ML applications. They also have a wide range of microcontrollers which are compatible with their software.&amp;nbsp; For example, there are&amp;nbsp;&lt;a href=&quot;https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rh850-automotive-mcus&quot;&gt;RH850 Automotive MCUs&lt;/a&gt;&amp;nbsp;for automotive applications, and&amp;nbsp;&lt;a href=&quot;https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus&quot;&gt;RL78 Low Power 8 &amp;amp; 16-bit MCUs |&lt;/a&gt;which are good for getting started. Many of the microcontrollers such as the&amp;nbsp;&lt;a href=&quot;https://www.digikey.com/en/products/detail/renesas-electronics-america-inc/R7F7015813AFP-C-AA3/13666413?s=N4IgTCBcDaIEoHYBiCAMBGArADnQZgEEkAFAWgGEBiAgvEAXQF8g&quot;&gt;R7F7015813AFP-C#AA3&amp;nbsp;&lt;/a&gt;, which has a cost of $17,&amp;nbsp;can be purchased from online distributors.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCLcfCspn45chHTjr5ntOHmW-O4QxUR_vKIIj74M3CmRHAmScePMjEXkOFJezCowSDvp2RFwmfCidDFAl5v0sRabOt5mHe1qvghMM_5vp2TiJkzqWrNLidUNiFRDNDQH8mDg5E6Wq1aLiwmJNmWLmDSoGOTJlU692sFB7BRHgqAYuQgkf_1nPqk6vEJ1Vf/s640/559~PLQP0100KB-B~FP~100.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;640&quot; data-original-width=&quot;640&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCLcfCspn45chHTjr5ntOHmW-O4QxUR_vKIIj74M3CmRHAmScePMjEXkOFJezCowSDvp2RFwmfCidDFAl5v0sRabOt5mHe1qvghMM_5vp2TiJkzqWrNLidUNiFRDNDQH8mDg5E6Wq1aLiwmJNmWLmDSoGOTJlU692sFB7BRHgqAYuQgkf_1nPqk6vEJ1Vf/s320/559~PLQP0100KB-B~FP~100.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html&quot;&gt;STM32 Microcontrollers (MCUs)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Currently, St Microelectronics has a vast library of&amp;nbsp;&lt;a href=&quot;https://www.st.com/content/st_com/en/st-edge-ai-suite/tools.html&quot;&gt;Edge AI tools&lt;/a&gt;&amp;nbsp;including&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/development-tools/mems-studio.html&quot;&gt;MEMS Studio&lt;/a&gt;.&amp;nbsp; These software libraries can be used for developing ML applications with STM32 boards.&amp;nbsp; For example, the&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/ecosystems/x-nucleo-iks4a1.html&quot;&gt;X-NUCLEO-IKS4A1&lt;/a&gt;&amp;nbsp;is a sensor kit forSTM32 boards that can be used with MEMS Studio. Both the kit and development boards can be purchased directly from STMicro.&amp;nbsp; The&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/ecosystems/x-nucleo-iks4a1.html&quot;&gt;X-NUCLEO-IKS4A1&lt;/a&gt;&amp;nbsp;costs about $33, and a new compatible board, the&amp;nbsp;&lt;a href=&quot;https://www.st.com/en/evaluation-tools/nucleo-g491re.html&quot;&gt;NUCLEO-G491RE&lt;/a&gt;&amp;nbsp;costs about $16.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/qeZ9500DSMs&quot; width=&quot;320&quot; youtube-src-id=&quot;qeZ9500DSMs&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://docs.edgeimpulse.com/docs/readme/for-beginners&quot;&gt;Edge Impulse&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Edge Impulse is a suite of tools for conducting machine learning on edge devices.&amp;nbsp; It has different ways to get started for beginners, ML practitioners, and embedded engineers. The getting started for beginners is a good way to begin with machine learning, without much coding required.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/dY3OSiJyne0&quot; width=&quot;320&quot; youtube-src-id=&quot;dY3OSiJyne0&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2024/07/machine-learning-development-boards.html</link><author>noreply@blogger.com (Maxwell Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHoZYd9uGKcD47AQyOo6RN-BLOKqekS1Kn05-QYSR36WnYbr1Aepad8i43rqBUoL71wB4Km0hxD3anSsZ_JlAQMOxLUhRx3rHbUMfdJj9kYvQZE8xuJUMkpz5maLdxy0P01IlInuuTr_XksMfnRopIi0SOrN0yhvKWoee68RU8aDvRtmZ2qXmpnSeX_2d/s72-c/Arduino%20Nano%2033%20BLE%20Sense.webp" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-8446208616403372603</guid><pubDate>Fri, 26 Nov 2021 13:07:00 +0000</pubDate><atom:updated>2021-11-26T08:28:13.069-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DIY electronics</category><category domain="http://www.blogger.com/atom/ns#">hardware design</category><title>Black Friday 2021 Electronics Deals</title><description>&lt;p&gt;I haven&#39;t found as many Black Friday promotions this year for electronics - probably due to the ongoing supply chain issues.&amp;nbsp; If you see a good deal that is not in the list, please leave a comment.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.adafruit.com/&quot; target=&quot;_blank&quot;&gt;Adafruit&lt;/a&gt;&amp;nbsp;has a code for 15% off all weekend&amp;nbsp;&lt;a href=&quot;https://blog.adafruit.com/2021/11/26/adafruit-sale-all-weekend-long-use-the-code-adaty-for-15-off/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&amp;nbsp; It&#39;s also Feather Friday which means 20% off all Feather (mainboards) and wing (daughterboards) with the code shown in the site header today.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.parts-express.com/&quot; target=&quot;_blank&quot;&gt;Parts Express&lt;/a&gt;&amp;nbsp;(audio components)&amp;nbsp;has 10% of sitewide.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.pololu.com/&quot; target=&quot;_blank&quot;&gt;Pololu Robotics &amp;amp; Electronics&lt;/a&gt; Black Friday and Cyber Monday deals on select products are&amp;nbsp;&lt;a href=&quot;https://www.pololu.com/blackfriday2021&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.robotshop.com/&quot; target=&quot;_blank&quot;&gt;RobotShop&lt;/a&gt;&amp;nbsp;has a sale on some items until November 30&amp;nbsp;&lt;a href=&quot;https://www.robotshop.com/en/black-friday-cyber-monday.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.jameco.com/&quot; target=&quot;_blank&quot;&gt;Jameco Electronics&lt;/a&gt; has free shipping with a code on all orders.&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2021/11/black-friday-2021-electronics-deals.html</link><author>noreply@blogger.com (Aaron Clarke)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-8658044611487267218</guid><pubDate>Fri, 10 Sep 2021 13:43:00 +0000</pubDate><atom:updated>2021-09-10T09:43:46.653-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">design contests</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">FPGA</category><category domain="http://www.blogger.com/atom/ns#">video</category><title>Xilinx Adaptive Computing Challenge 2021 at hackster.io</title><description>&lt;p&gt;The&amp;nbsp;&lt;a href=&quot;https://www.hackster.io/contests/xilinxadaptivecomputing2021&quot; target=&quot;_blank&quot;&gt;2021 Adaptive Computing Challenge&lt;/a&gt;&amp;nbsp;at &lt;a href=&quot;http://hackster.io&quot; target=&quot;_blank&quot;&gt;hackster.io&lt;/a&gt; will reward top &lt;a href=&quot;https://www.xilinx.com/&quot; target=&quot;_blank&quot;&gt;Xilinx&lt;/a&gt; development projects up to $10,000 (prizes are all Visa gift cards).&amp;nbsp; &amp;nbsp;You can apply for free hardware to compete in the contest until October 15, 2021.&amp;nbsp; Final submissions are due February 28, 2022.&amp;nbsp; The &lt;a href=&quot;https://www.xilinx.com/support/university.html&quot; target=&quot;_blank&quot;&gt;Xilinx University Program&lt;/a&gt; is sponsoring an additional $2500 prize for college students.&lt;/p&gt;&lt;p&gt;There are three main categories in the contest: Edge Computing, Data Center AI and Big Data Analytics.&amp;nbsp; The edge computing requires a solution running on the &lt;a href=&quot;https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit.html&quot; target=&quot;_blank&quot;&gt;Xilinx Kria KV260 Vision AI Starter Kit&lt;/a&gt;.&amp;nbsp; Data center AI must use the &lt;a href=&quot;https://www.xilinx.com/products/boards-and-kits/vck5000.html&quot; target=&quot;_blank&quot;&gt;Xilinx VCK5000 development card&lt;/a&gt;.&amp;nbsp; Big data analytics requires the Xilinx Big Data Analytics card (not much information on this board).&lt;/p&gt;&lt;p&gt;The Kria KV260 Vision AI Starter Kit is listed at $199 but currently out of stock at most distributors.&amp;nbsp; It is meant for vision application development for Edge computing.&amp;nbsp; It has multiple camera interfaces including support for the Raspberry Pi camera module.&amp;nbsp; Multiple cameras are supported by using additional interfaces such as IAS or USB.&amp;nbsp; A power supply is also required.&amp;nbsp; One is also included in the&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit/basic-accessory-pack.html&quot; target=&quot;_blank&quot;&gt;basic accessory pack&lt;/a&gt;&amp;nbsp;which also includes a 13MP camera module, available from Xilinx for $59.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFmWnjKIpGymKV5cAIx9ym0sMYZ7iNOIcn-Wmugp9iBMB_KnVaikCBEpNsSklC1Hn7qIMqTbfkyj1ku1hAHcoiOkQlxEL9MuVCVVm8KHtJyMCqZqnovzxNMPKfTx0RXzXxw95cbVVD4s_F/s800/1618249840056.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;678&quot; data-original-width=&quot;800&quot; height=&quot;542&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFmWnjKIpGymKV5cAIx9ym0sMYZ7iNOIcn-Wmugp9iBMB_KnVaikCBEpNsSklC1Hn7qIMqTbfkyj1ku1hAHcoiOkQlxEL9MuVCVVm8KHtJyMCqZqnovzxNMPKfTx0RXzXxw95cbVVD4s_F/w640-h542/1618249840056.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;KV260 Vision AI Starter Kit with Basic Accessory Pack&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><link>http://blog.embeddedcoding.com/2021/09/xilinx-adaptive-computing-challenge.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFmWnjKIpGymKV5cAIx9ym0sMYZ7iNOIcn-Wmugp9iBMB_KnVaikCBEpNsSklC1Hn7qIMqTbfkyj1ku1hAHcoiOkQlxEL9MuVCVVm8KHtJyMCqZqnovzxNMPKfTx0RXzXxw95cbVVD4s_F/s72-w640-h542-c/1618249840056.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-4339553091194192449</guid><pubDate>Thu, 03 Dec 2020 14:12:00 +0000</pubDate><atom:updated>2020-12-03T09:12:00.102-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio effects</category><category domain="http://www.blogger.com/atom/ns#">conferences</category><category domain="http://www.blogger.com/atom/ns#">design contests</category><title>MIDI Hack Competition at NAMM 2021</title><description>&lt;p&gt;The&amp;nbsp;&lt;a href=&quot;https://musichackspace.org/music-hackspace-the-midi-association-and-namm-to-host-the-first-midi-innovation-awards/&quot; target=&quot;_blank&quot;&gt;MIDI Innovation Awards&lt;/a&gt;, a design competition for MIDI hacks, DIY projects, or innovative MIDI products is now open with final judging at NAMM 2021.&amp;nbsp;&amp;nbsp;This competition was announced by &lt;a href=&quot;https://musichackspace.org/&quot; target=&quot;_blank&quot;&gt;Music Hackspace&lt;/a&gt;, &lt;a href=&quot;https://www.midi.org/&quot; target=&quot;_blank&quot;&gt;the MIDI Association&lt;/a&gt; and &lt;a href=&quot;https://www.namm.org/&quot; target=&quot;_blank&quot;&gt;NAMM&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx8bZpUIhMW1mJrJi7OYqICi6C2KfJL6OeJxKtNv1zIEIYNa2AJu4cxY-cosDK7XHCpfMI88ucsrlpse75sMbltZY3EFy8J6-YMeEUYcS541PQvA4bc_GTDl4S-6XVOgIjkTA2P7eWeuTl/s2048/MIDI+Innovation+Awards+2021+Logo_16x9%25402x.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1152&quot; data-original-width=&quot;2048&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx8bZpUIhMW1mJrJi7OYqICi6C2KfJL6OeJxKtNv1zIEIYNa2AJu4cxY-cosDK7XHCpfMI88ucsrlpse75sMbltZY3EFy8J6-YMeEUYcS541PQvA4bc_GTDl4S-6XVOgIjkTA2P7eWeuTl/w640-h360/MIDI+Innovation+Awards+2021+Logo_16x9%25402x.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;The first prize includes an exhibition booth and free advertising at the 2022 NAMM show.&amp;nbsp; Other prizes to be announced.&amp;nbsp; Submissions of existing commercialized products and art installations are also eligible.&amp;nbsp; For more details see &lt;a href=&quot;https://musichackspace.org/mia2021/&quot; target=&quot;_blank&quot;&gt;the Music Hackspace Innovation Awards page&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2020/12/midi-hack-competition-at-namm-2021.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx8bZpUIhMW1mJrJi7OYqICi6C2KfJL6OeJxKtNv1zIEIYNa2AJu4cxY-cosDK7XHCpfMI88ucsrlpse75sMbltZY3EFy8J6-YMeEUYcS541PQvA4bc_GTDl4S-6XVOgIjkTA2P7eWeuTl/s72-w640-h360-c/MIDI+Innovation+Awards+2021+Logo_16x9%25402x.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-2291890918292372955</guid><pubDate>Tue, 01 Dec 2020 16:40:00 +0000</pubDate><atom:updated>2020-12-01T11:40:30.306-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">Displays</category><category domain="http://www.blogger.com/atom/ns#">DIY electronics</category><category domain="http://www.blogger.com/atom/ns#">open hardware</category><category domain="http://www.blogger.com/atom/ns#">Sensors</category><title>Arduino Sensor Kit</title><description>&lt;p&gt;&lt;a href=&quot;https://www.arduino.cc/&quot; target=&quot;_blank&quot;&gt;Arduino&lt;/a&gt; and &lt;a href=&quot;https://www.seeedstudio.com/&quot; target=&quot;_blank&quot;&gt;Seeed&lt;/a&gt; have released the &lt;a href=&quot;https://blog.arduino.cc/2020/12/01/10-most-popular-modules-and-sensors-for-the-arduino-uno-all-on-one-board/&quot; target=&quot;_blank&quot;&gt;Arduino Sensor Kit&lt;/a&gt; for $23 (USD).&amp;nbsp; The kit includes 10 modules and sensors including light, sound, air pressure, temperature, an accelerometer, buzzer, button, and a small OLED screen.&amp;nbsp; The Arduino sensor kit base is an Arduino Shield (daughterboard) so you will need an Arduino UNO or compatible board to use it.&amp;nbsp; If you buy both from Arduino you can get them &lt;a href=&quot;https://store.arduino.cc/usa/sensor-kit-bundle?utm_source=store&amp;amp;utm_medium=product_page&quot; target=&quot;_blank&quot;&gt;bundled for a discounted price&lt;/a&gt;&amp;nbsp;($38.70).&amp;nbsp; The Arduino Sensor Kit can be purchased directly from &lt;a href=&quot;https://store.arduino.cc/usa/sensor-kit-base&quot; target=&quot;_blank&quot;&gt;Arduino&lt;/a&gt; or &lt;a href=&quot;https://www.seeedstudio.com/Arduino-Sensor-Kit-Base-p-4743.html&quot; target=&quot;_blank&quot;&gt;Seeed&lt;/a&gt; and &lt;a href=&quot;https://sensorkit.arduino.cc/&quot; target=&quot;_blank&quot;&gt;Arduino has developed a step-by-step tutorial&lt;/a&gt; to go with it and the Arduino UNO.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN_u_8CgZ5ec5bunCdj0UqsnqOhYVstQ732sS6dr_v1A-Q7KriGQFvbX7XXgPpLwa7f_fg2yezatbmX-GR29wh_E5osmN3rbNYNxcXPkj7KmQrsO6ja4xEp9ZlNtnnjglzU0oYFm19MhG2/s1400/000_front-05_2.webp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1050&quot; data-original-width=&quot;1400&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN_u_8CgZ5ec5bunCdj0UqsnqOhYVstQ732sS6dr_v1A-Q7KriGQFvbX7XXgPpLwa7f_fg2yezatbmX-GR29wh_E5osmN3rbNYNxcXPkj7KmQrsO6ja4xEp9ZlNtnnjglzU0oYFm19MhG2/w640-h480/000_front-05_2.webp&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Seed has a very similar all-in-one board, the&amp;nbsp;&lt;a href=&quot;seeedstudio.com/Grove-Beginner-Kit-for-Arduino-p-4549.html&quot; target=&quot;_blank&quot;&gt;Seeed&amp;nbsp;Grove Beginner Kit for Arduino&lt;/a&gt;&amp;nbsp;($19.90), which includes an Arduino compatible base board.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsEnUBtUidmwqbagKEssbMW0RBEARvoiLvAclKikTgaa_BP3zMESRd-Lqw096PXZRomplOSPdinFtWSANa7ox3QU6vobObpDlDtALB1DI9GgE1GJl2iobTHWRGy0bhoj1RwFd99DzCSJyR/s1400/110061162-3.webp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1050&quot; data-original-width=&quot;1400&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsEnUBtUidmwqbagKEssbMW0RBEARvoiLvAclKikTgaa_BP3zMESRd-Lqw096PXZRomplOSPdinFtWSANa7ox3QU6vobObpDlDtALB1DI9GgE1GJl2iobTHWRGy0bhoj1RwFd99DzCSJyR/w640-h480/110061162-3.webp&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://blog.embeddedcoding.com/2020/12/arduino-sensor-kit.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN_u_8CgZ5ec5bunCdj0UqsnqOhYVstQ732sS6dr_v1A-Q7KriGQFvbX7XXgPpLwa7f_fg2yezatbmX-GR29wh_E5osmN3rbNYNxcXPkj7KmQrsO6ja4xEp9ZlNtnnjglzU0oYFm19MhG2/s72-w640-h480-c/000_front-05_2.webp" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-6127752708150967605</guid><pubDate>Mon, 30 Nov 2020 16:50:00 +0000</pubDate><atom:updated>2020-11-30T11:50:35.522-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">DIY electronics</category><category domain="http://www.blogger.com/atom/ns#">electronic prototypes</category><category domain="http://www.blogger.com/atom/ns#">FPGA</category><category domain="http://www.blogger.com/atom/ns#">JTAG</category><category domain="http://www.blogger.com/atom/ns#">raspberry pi</category><category domain="http://www.blogger.com/atom/ns#">robotics</category><category domain="http://www.blogger.com/atom/ns#">Sensors</category><category domain="http://www.blogger.com/atom/ns#">STM32</category><title>Electronics Deals Cyber Monday 2020</title><description>Cyber Monday electronics deals are here.&amp;nbsp; Many of the deals listed in my&amp;nbsp;&lt;a href=&quot;http://blog.embeddedcoding.com/2020/11/electronics-deals-black-friday-2020.html&quot; target=&quot;_blank&quot;&gt;blog post on Black Friday&lt;/a&gt;&amp;nbsp;are still available from &lt;a href=&quot;https://www.adafruit.com/&quot; target=&quot;_blank&quot;&gt;Adafruit&lt;/a&gt;, &lt;a href=&quot;https://www.pololu.com/&quot; target=&quot;_blank&quot;&gt;Polulu&lt;/a&gt;, &lt;a href=&quot;https://www.sparkfun.com/news/3513&quot; target=&quot;_blank&quot;&gt;SparkFun&lt;/a&gt;, and &lt;a href=&quot;https://www.tindie.com/&quot; target=&quot;_blank&quot;&gt;Tindie&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;1BitSquared.com&quot; target=&quot;_blank&quot;&gt;1BitSquared&lt;/a&gt; has a 15% discount off any piece of hardware with the checkout code&amp;nbsp;BLACKFRIDAY2020 through Midnight (US PST).&amp;nbsp; They have a few unique development boards and JTAG accessories.&amp;nbsp; They have hard to find &lt;a href=&quot;https://1bitsquared.com/collections/accessories&quot; target=&quot;_blank&quot;&gt;JTAG adapters and cables&lt;/a&gt; that are useful for ARM processor debugging.&amp;nbsp; I have used the&lt;a href=&quot;https://1bitsquared.com/collections/embedded-hardware/products/black-magic-0-1-pin-header-jtag-cable&quot; target=&quot;_blank&quot;&gt; Black Magic 0.1in Pin Header JTAG cable&lt;/a&gt;&amp;nbsp;for &lt;a href=&quot;https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html&quot; target=&quot;_blank&quot;&gt;STM32&lt;/a&gt; debugging.&amp;nbsp; They also have&lt;a href=&quot;https://1bitsquared.com/collections&quot; target=&quot;_blank&quot;&gt; STM32 and FPGA development boards&lt;/a&gt; and the&amp;nbsp;&lt;a href=&quot;https://1bitsquared.com/collections/embedded-hardware/products/black-magic-probe&quot; target=&quot;_blank&quot;&gt;Black Magic Probe for ARM Cortex MCUs&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.mikroe.com/&quot; target=&quot;_blank&quot;&gt;MikroE&lt;/a&gt; is having deals until Tuesday December 1st on many products.&amp;nbsp; This includes 25% off most &lt;a href=&quot;https://www.mikroe.com/mikrobus&quot; target=&quot;_blank&quot;&gt;Click Boards&lt;/a&gt;.&amp;nbsp; These are small accessory boards that use the &lt;a href=&quot;https://www.mikroe.com/mikrobus&quot; target=&quot;_blank&quot;&gt;microBUS socket&lt;/a&gt;&amp;nbsp;available on many different development boards including the low cost &lt;a href=&quot;https://www.microchip.com/promo/curiosity-development-boards&quot;&gt;Microchip Curiosity Development Boards&lt;/a&gt;.&amp;nbsp; &lt;a href=&quot;https://www.mikroe.com/mikrobus&quot; target=&quot;_blank&quot;&gt;MicroBus Click Boards&lt;/a&gt; are great for prototyping or general DIY projects.&amp;nbsp; You can add just about any sensor, analog or digital interface, or communications module you would need.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.robotshop.com/&quot; target=&quot;_blank&quot;&gt;RobotShop&lt;/a&gt; is discounting specific products from 5% to 50% for it&#39;s &lt;a href=&quot;https://www.robotshop.com/en/black-friday-cyber-monday.html&quot; target=&quot;_blank&quot;&gt;Cyber Monday sale&lt;/a&gt;.&amp;nbsp; Of course this includes robot kits and parts, but you can also find Arduino boards, electronic learning kits, drones and Raspberry Pi development boards.&lt;/div&gt;</description><link>http://blog.embeddedcoding.com/2020/11/electronics-deals-cyber-monday-2020.html</link><author>noreply@blogger.com (Aaron Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-5189302414356202946</guid><pubDate>Fri, 27 Nov 2020 16:42:00 +0000</pubDate><atom:updated>2020-11-27T11:42:02.630-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">DIY electronics</category><category domain="http://www.blogger.com/atom/ns#">open hardware</category><category domain="http://www.blogger.com/atom/ns#">Wireless</category><title>Electronics Deals Black Friday 2020</title><description>&lt;p&gt;Black Friday is a great time to get a new development board or some parts for a DIY electronics project.&amp;nbsp; Here are a few great online electronics stores where you can find deals.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.adafruit.com/&quot; target=&quot;_blank&quot;&gt;Adafruit&lt;/a&gt;&amp;nbsp;is having two sales, one is for 15% all items in stock with the code ADATHX see more details in the&amp;nbsp;&lt;a href=&quot;https://blog.adafruit.com/2020/11/27/adafruit-sale-all-weekend-long-use-the-code-adathx-for-15-off/&quot; target=&quot;_blank&quot;&gt;Adafruit Thanksgiving Weekend Sale&lt;/a&gt;&amp;nbsp;blog post.&amp;nbsp; The Adafruit Feather line of development boards is 20% off today only with the same code, see&amp;nbsp;&lt;a href=&quot;https://blog.adafruit.com/2020/11/27/its-feather-friday-at-adafruit-use-the-code-adathx-to-get-20-off-feathers-and-15-off-items-storewide/&quot; target=&quot;_blank&quot;&gt;Adafruit Feather Friday Sale&lt;/a&gt;&amp;nbsp;for details.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.pololu.com/&quot; target=&quot;_blank&quot;&gt;Polulu&lt;/a&gt;&amp;nbsp;has a few different Black Friday deals.&amp;nbsp; There are coupons for individual products, discounts on your entire order and the unique design your own deal sale.&amp;nbsp; Follow this link to&amp;nbsp;&lt;a href=&quot;https://www.pololu.com/blackfriday2020&quot; target=&quot;_blank&quot;&gt;Pololu Black Friday/Cyber Monday Sale 2020&lt;/a&gt;&amp;nbsp;for the details.&lt;/p&gt;&lt;p&gt;The design your own deal allows you to propose propose a discount for up to three products.&amp;nbsp; Last year I was able to get even bigger discounts than I asked for.&amp;nbsp; I don&#39;t recall the original prices but I was pleasantly surprised that they were all approved and discounted further.&amp;nbsp; Here are my three wishes and the deals I was offered.&lt;/p&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.pololu.com/product/3103&quot; target=&quot;_blank&quot;&gt;Pololu item #3103: A-Star 32U4 Mini LV&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;You requested: 1 at $12.00 each.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;We can do even better!&amp;nbsp; Up to 3 at $8.88 each.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.pololu.com/product/3110&quot; target=&quot;_blank&quot;&gt;Pololu item #3110: A-Star Prime Accessory Pack&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;You requested: 1 at $3.00 each.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;We can do even better!&amp;nbsp; Up to 3 at $2.75 each.&lt;/div&gt;&lt;/blockquote&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinKLAnTscmq3mTuiaF3GHqOu9g4GKobD06MkKDvJ03VnwtO4HPkIMX9NMa41VbB8ZE3oiQ5XCl5VZ5D3hm4mNv4Tw7AlqXjbj1eEw7vHXovHQYGGD7vObxKZSdqx5V7jgYMeHDfoIjqSQ3/s1200/0J6078.1200-cropped.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;643&quot; data-original-width=&quot;1200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinKLAnTscmq3mTuiaF3GHqOu9g4GKobD06MkKDvJ03VnwtO4HPkIMX9NMa41VbB8ZE3oiQ5XCl5VZ5D3hm4mNv4Tw7AlqXjbj1eEw7vHXovHQYGGD7vObxKZSdqx5V7jgYMeHDfoIjqSQ3/s320/0J6078.1200-cropped.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.pololu.com/product/3113&quot; target=&quot;_blank&quot;&gt;Pololu item #3113: A-Star 32U4 Prime SV&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;You requested: 1 at $15.00 each.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;We can do even better!&amp;nbsp; Up to 3 at $14.00 each.&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.sparkfun.com/news/3513&quot; target=&quot;_blank&quot;&gt;SparkFun Black Friday Deals&lt;/a&gt;&amp;nbsp;are discounts from 15 to 60 percent off select products.&amp;nbsp; There are not as many deals here but you might get lucky and find something you want.&amp;nbsp; You can also check out this &lt;a href=&quot;https://www.sparkfun.com/sales#cyber-monday&quot; target=&quot;_blank&quot;&gt;sneak peak of Cyber Monday Deals&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;At the&amp;nbsp;&lt;a href=&quot;https://www.tindie.com/browse/sale/&quot; target=&quot;_blank&quot;&gt;Black Friday Sale on Tindie&lt;/a&gt;&amp;nbsp;many development boards are discounted.&amp;nbsp; &lt;a href=&quot;https://www.tindie.com/&quot; target=&quot;_blank&quot;&gt;Tindie&lt;/a&gt; is a unique online store featuring independent sellers of all kinds of development boards and accessories for unique applications.&amp;nbsp; &amp;nbsp;If you haven&#39;t been to this site before it&#39;s a great time to look around.&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2020/11/electronics-deals-black-friday-2020.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinKLAnTscmq3mTuiaF3GHqOu9g4GKobD06MkKDvJ03VnwtO4HPkIMX9NMa41VbB8ZE3oiQ5XCl5VZ5D3hm4mNv4Tw7AlqXjbj1eEw7vHXovHQYGGD7vObxKZSdqx5V7jgYMeHDfoIjqSQ3/s72-c/0J6078.1200-cropped.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-3040422298593320336</guid><pubDate>Fri, 30 Oct 2020 14:19:00 +0000</pubDate><atom:updated>2020-10-30T10:19:01.290-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">8-bit microcontroller</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">ARM Processor</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">electronic prototypes</category><category domain="http://www.blogger.com/atom/ns#">hardware design</category><category domain="http://www.blogger.com/atom/ns#">Sensors</category><category domain="http://www.blogger.com/atom/ns#">Wireless</category><title>SparkFun A La Carte Custom Board Designer</title><description>&lt;p&gt;&lt;a href=&quot;https://www.sparkfun.com/&quot; target=&quot;_blank&quot;&gt;SparkFun Electronics&lt;/a&gt; is offering a web based custom board design service called &lt;a href=&quot;https://alc.sparkfun.com/designer/&quot; target=&quot;_blank&quot;&gt;SparkFun A La Carte&lt;/a&gt; (ALC).&amp;nbsp; You can choose from a few different microcontrollers that can run Arduino programs.&amp;nbsp; You also have a choice of I/O, connectors and power options.&amp;nbsp; Communications options include RFID, WiFi and Bluetooth.&amp;nbsp; There is a one-time design fee for each board and a per unit cost calculated as you add the components.&amp;nbsp; You can get a 50% discount on the design fee until 12/31/2020 with the promocode&amp;nbsp;ALCSPARKFUN50. For more information see this &lt;a href=&quot;https://www.sparkfun.com/news/3422&quot;&gt;ALC post on the SparkFun Blog&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This &lt;a href=&quot;https://youtu.be/FEkppV2zSvw&quot; target=&quot;_blank&quot;&gt;YouTube video on the custom board designer&lt;/a&gt; goes over an example design.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/FEkppV2zSvw&quot; width=&quot;320&quot; youtube-src-id=&quot;FEkppV2zSvw&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://blog.embeddedcoding.com/2020/10/sparkfun-la-carte-custom-board-designer.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/FEkppV2zSvw/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-8697492590560146723</guid><pubDate>Mon, 08 Jul 2019 18:10:00 +0000</pubDate><atom:updated>2019-07-08T16:52:42.477-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">8-bit microcontroller</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">Ethernet</category><category domain="http://www.blogger.com/atom/ns#">hardware design</category><category domain="http://www.blogger.com/atom/ns#">network programming</category><title>WIZnet IoT iOffload Contest</title><description>&lt;a href=&quot;https://www.wiznet.hk/en/&quot;&gt;WIZnet&lt;/a&gt; is running a contest this summer for IoT designs that use either the &lt;a href=&quot;https://www.wiznet.io/product-item/w6100/&quot;&gt;W6100 Internet controller chip&lt;/a&gt; or &lt;a href=&quot;https://www.wiznet.io/product-item/wiz610io/&quot;&gt;WIZ610io Ethernet&amp;nbsp; module&lt;/a&gt;.&amp;nbsp; They are looking for &#39;IoT innovation&#39; and will award five $1000 and ten $500 prizes.&amp;nbsp; For more details see the&lt;a href=&quot;https://maker.wiznet.io/contests/contest-in-progress/201905-iot-ioffload-contest/&quot;&gt; &lt;span style=&quot;font-weight: 400;&quot;&gt;IoT iOffload Contest.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;a href=&quot;https://www.wiznet.io/product/&quot;&gt;WIZnet products&lt;/a&gt; include chips and modules to enable networking for microcontrollers.&amp;nbsp; For example, the &lt;a href=&quot;https://store.arduino.cc/usa/arduino-ethernet-shield-2&quot;&gt;Arduino Ethernet Shield 2&lt;/a&gt; uses the &lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;a href=&quot;https://www.wiznet.io/product-item/W5500/&quot;&gt;W5500 Ethernet Controller&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://blog.embeddedcoding.com/2019/07/wiznet.html</link><author>noreply@blogger.com (Aaron Clarke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-5503868731308754420</guid><pubDate>Mon, 17 Dec 2018 18:45:00 +0000</pubDate><atom:updated>2018-12-17T13:45:13.085-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CPLD</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">FPGA</category><category domain="http://www.blogger.com/atom/ns#">open hardware</category><title>Lattice Development Board Sale and New Crowd Funded Board</title><description>Lattice has three boards on sale until December 31, 2018, click on the board links to learn more.&lt;br /&gt;
&lt;a href=&quot;http://info.latticesemi.com/K00HhNZ002CI2QEC30aF0A0&quot;&gt;MachXO3-9400 Development Board&lt;/a&gt;&amp;nbsp;- MachXO3LF-9400C PLD - includes Arduino and Raspberry Pi connectors -&amp;nbsp; $39&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_fK8lxeRx9Y34cNNmz8aSv-bKCJ27Uke8D56gXYgjQLd35ZLdvSe5RA7oisJ847fpDFqSK3DLaORZaZfhqhMQPZYCKT5hba0X6znk9oOqJ31XQRgRZJqZfDM8g-kTqILlPA9oWSpyhwd/s1600/MachXO3_All_Board_Email.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;260&quot; data-original-width=&quot;370&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_fK8lxeRx9Y34cNNmz8aSv-bKCJ27Uke8D56gXYgjQLd35ZLdvSe5RA7oisJ847fpDFqSK3DLaORZaZfhqhMQPZYCKT5hba0X6znk9oOqJ31XQRgRZJqZfDM8g-kTqILlPA9oWSpyhwd/s320/MachXO3_All_Board_Email.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://info.latticesemi.com/lCZHR0002aC30A2Eh0F0J0N&quot;&gt;Embedded Vision Development Kit&lt;/a&gt;&amp;nbsp;- FPGA for embedded vision systems - $199&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvIatG0RS56QayE_72xjh_HHvOTw2E_xz5GYdPaM0aLRSPYX4_cIVaIGljB_MdX-5Jx1SsZB8FF2q2Dez9l6j-p-i0BcbFJfWluKv8b3nLvAV3w0aekkro0eiR9_NbmJQVqU5rUTBFftG8/s1600/EVDKit_All_Board_Email.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;260&quot; data-original-width=&quot;370&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvIatG0RS56QayE_72xjh_HHvOTw2E_xz5GYdPaM0aLRSPYX4_cIVaIGljB_MdX-5Jx1SsZB8FF2q2Dez9l6j-p-i0BcbFJfWluKv8b3nLvAV3w0aekkro0eiR9_NbmJQVqU5rUTBFftG8/s320/EVDKit_All_Board_Email.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://info.latticesemi.com/eF0CKA02000ZNC0HhaS230E&quot;&gt;iCE40 UltraPlus Breakout Board&lt;/a&gt;&amp;nbsp;- FPGA for mobile and IoT - $49&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglV8e3DYYo5NaA3Tu0TBP7njBl2lZjhTUIaJOMJoaloUMn8ZubyPSpow4zsA-JLb2SUmoJzfPWNGa_dokPSEwZeeGysNz3Z44XQ0DQCsB05-Mqo0r_W8IRsLTHBDfeHOWNoD4gOWhAmcm1/s1600/iCE40_UltraPlus_Board_Email.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;260&quot; data-original-width=&quot;370&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglV8e3DYYo5NaA3Tu0TBP7njBl2lZjhTUIaJOMJoaloUMn8ZubyPSpow4zsA-JLb2SUmoJzfPWNGa_dokPSEwZeeGysNz3Z44XQ0DQCsB05-Mqo0r_W8IRsLTHBDfeHOWNoD4gOWhAmcm1/s320/iCE40_UltraPlus_Board_Email.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are interested in learning how to program the iCE40 with open source tools and hardware see the recently funded&lt;a href=&quot;https://www.crowdsupply.com/1bitsquared/icebreaker-fpga&quot;&gt; iCEBreaker FPGA &lt;/a&gt;project by &lt;a href=&quot;https://1bitsquared.com/&quot;&gt;1BitSquared&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe width=&quot;320&quot; height=&quot;266&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/WBlNRxgEBTc/0.jpg&quot; src=&quot;https://www.youtube.com/embed/WBlNRxgEBTc?feature=player_embedded&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;</description><link>http://blog.embeddedcoding.com/2018/12/lattice-development-board-sale-and-new.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_fK8lxeRx9Y34cNNmz8aSv-bKCJ27Uke8D56gXYgjQLd35ZLdvSe5RA7oisJ847fpDFqSK3DLaORZaZfhqhMQPZYCKT5hba0X6znk9oOqJ31XQRgRZJqZfDM8g-kTqILlPA9oWSpyhwd/s72-c/MachXO3_All_Board_Email.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1337821233995903490.post-2144693602075686802</guid><pubDate>Thu, 08 Feb 2018 16:58:00 +0000</pubDate><atom:updated>2018-02-08T11:58:30.465-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">8-bit microcontroller</category><category domain="http://www.blogger.com/atom/ns#">Atmel</category><category domain="http://www.blogger.com/atom/ns#">AVR</category><category domain="http://www.blogger.com/atom/ns#">development board</category><category domain="http://www.blogger.com/atom/ns#">development tools</category><category domain="http://www.blogger.com/atom/ns#">JTAG</category><title>Atmel-ICE and Development Board Sale at Microchipdirect.com</title><description>The Atmel-ICE Full Kit is half off with coupon code TP1747 until February 28, 2018.&amp;nbsp; A few other development boards are discounted as well.&amp;nbsp; See details at &lt;a href=&quot;http://www.microchipdirect.com/product/DevToolDeals&quot;&gt;http://www.microchipdirect.com/product/DevToolDeals&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.aaronclarke.com/blog.embeddedcoding.com/images/ATATMEL-ICE.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.aaronclarke.com/blog.embeddedcoding.com/images/ATATMEL-ICE.jpg&quot; data-original-height=&quot;153&quot; data-original-width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I have used the Atmel-ICE with a few different AVR microcontrollers along with the Atmel Studio 7.&amp;nbsp; It works well but I have had a few small issues with JTAG debugging from Atmel Studio, usually I just restart the debug session and things work.&amp;nbsp; Definitely the best tool I have found for AVR JTAG debugging. For more information see the the &lt;a href=&quot;http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=ATATMEL-ICE&quot;&gt;Atmel-ICE product page&lt;/a&gt;.&amp;nbsp; The link to the online user&#39;s guide on that page is currently broken, I will add it to the comments if I can find a link.&amp;nbsp; Here is the &lt;a href=&quot;https://www.digikey.com/en/resources/datasheets/atmel/atmel-ice-user-guide&quot;&gt;Atmel-ICE User Guide at DigiKey&lt;/a&gt;.&amp;nbsp; The Youtube video &lt;a href=&quot;https://youtu.be/meyJXWTIQF4&quot;&gt;Atmel Edge With Paul Rako: Debug 102&lt;/a&gt; shows and unboxing and goes over the basics of the kit.&amp;nbsp; The video is embedded below (no pun intended).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe width=&quot;320&quot; height=&quot;266&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/meyJXWTIQF4/0.jpg&quot; src=&quot;https://www.youtube.com/embed/meyJXWTIQF4?feature=player_embedded&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;</description><link>http://blog.embeddedcoding.com/2018/02/atmel-ice-and-development-board-sale-at.html</link><author>noreply@blogger.com (Aaron Clarke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/meyJXWTIQF4/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>