blob: da3bdc90af40bf46951195d420bb905fd85cec18 [file] [log] [blame]
<!--
Documentation/_templates/layout.html
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ESP32-S2-Kaluga-1 Kit v1.3 &mdash; NuttX latest documentation</title>
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/tabs.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/custom.css" type="text/css" />
<link rel="shortcut icon" href="../../../../../_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="../../../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../../../../../_static/jquery.js"></script>
<script src="../../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../../../../" id="documentation_options" src="../../../../../_static/documentation_options.js"></script>
<script src="../../../../../_static/doctools.js"></script>
<script src="../../../../../_static/sphinx_highlight.js"></script>
<script src="../../../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../../../genindex.html" />
<link rel="search" title="Search" href="../../../../../search.html" />
<link rel="next" title="ESP32-S2-Saola-1" href="../esp32s2-saola-1/index.html" />
<link rel="prev" title="Espressif ESP32-S2" href="../../index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../../../index.html" class="icon icon-home"> NuttX
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../../../../latest" selected="selected">latest</option>
<option value="../../../../../../10.0.0" >10.0.0</option>
<option value="../../../../../../10.0.1" >10.0.1</option>
<option value="../../../../../../10.1.0" >10.1.0</option>
<option value="../../../../../../10.2.0" >10.2.0</option>
<option value="../../../../../../10.3.0" >10.3.0</option>
<option value="../../../../../../11.0.0" >11.0.0</option>
<option value="../../../../../../12.0.0" >12.0.0</option>
<option value="../../../../../../12.1.0" >12.1.0</option>
<option value="../../../../../../12.2.0" >12.2.0</option>
<option value="../../../../../../12.2.1" >12.2.1</option>
<option value="../../../../../../12.3.0" >12.3.0</option>
<option value="../../../../../../12.4.0" >12.4.0</option>
<option value="../../../../../../12.5.0" >12.5.0</option>
<option value="../../../../../../12.5.1" >12.5.1</option>
</select>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Supported Platforms</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../../arm/index.html">ARM</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../risc-v/index.html">RISC-V</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../sim/index.html">Simulators</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html">Xtensa</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../../../esp32/index.html">Espressif ESP32</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="../../index.html">Espressif ESP32-S2</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../../index.html#toolchain">Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#flashing">Flashing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#bit-timers">64-bit Timers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#watchdog-timers">Watchdog Timers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#i2s">I2S</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash Encryption</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="../../index.html#supported-boards">Supported Boards</a><ul class="current">
<li class="toctree-l5 current"><a class="current reference internal" href="#">ESP32-S2-Kaluga-1 Kit v1.3</a></li>
<li class="toctree-l5"><a class="reference internal" href="../esp32s2-saola-1/index.html">ESP32-S2-Saola-1</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../esp32s3/index.html">Espressif ESP32-S3</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../components/index.html">OS Components</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../applications/index.html">Applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../glossary.html">Glossary</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../../../index.html">NuttX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../../../index.html">Supported Platforms</a></li>
<li class="breadcrumb-item"><a href="../../../index.html">Xtensa</a></li>
<li class="breadcrumb-item"><a href="../../index.html">Espressif ESP32-S2</a></li>
<li class="breadcrumb-item active">ESP32-S2-Kaluga-1 Kit v1.3</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../../../_sources/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="esp32-s2-kaluga-1-kit-v1-3">
<h1>ESP32-S2-Kaluga-1 Kit v1.3<a class="headerlink" href="#esp32-s2-kaluga-1-kit-v1-3" title="Permalink to this heading"></a></h1>
<p>The <a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp32-s2-kaluga-1-kit.html">ESP32-S2-Kaluga-1 kit v1.3</a>
is a development kit by Espressif that is mainly created to:</p>
<ul class="simple">
<li><p>Demonstrate the ESP32-S2’s human-computer interaction functionalities</p></li>
<li><p>Provide the users with the tools for development of human-computer interaction applications based on the ESP32-S2</p></li>
</ul>
<p>There are many ways of how the ESP32-S2’s abundant functionalities can be used. For starters, the possible use cases may include:</p>
<ul class="simple">
<li><p><strong>Smart home</strong>: From simplest smart lighting, smart door locks, smart sockets, to video streaming devices, security cameras, OTT devices, and home appliances</p></li>
<li><p><strong>Battery-powered equipment</strong>: Wi-Fi mesh sensor networks, Wi-Fi-networked toys, wearable devices, health management equipment</p></li>
<li><p><strong>Industrial automation equipment</strong>: Wireless control and robot technology, intelligent lighting, HVAC control equipment, etc.</p></li>
<li><p><strong>Retail and catering industry</strong>: POS machines and service robots</p></li>
</ul>
<figure class="align-center" id="id2">
<a class="reference internal image-reference" href="../../../../../_images/esp32-s2-kaluga-1-kit-v1.0-3d.png"><img alt="ESP32-S2-Kaluga-1-Kit-Assembly" src="../../../../../_images/esp32-s2-kaluga-1-kit-v1.0-3d.png" style="width: 690.4000000000001px; height: 318.0px;" /></a>
<figcaption>
<p><span class="caption-text">ESP32-S2-Kaluga-1-Kit Overview (click to enlarge)</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p>The ESP32-S2-Kaluga-1 kit consists of the following boards:</p>
<ul class="simple">
<li><p>Main board: <em>ESP32-S2-Kaluga-1</em></p></li>
<li><p>Extension boards:</p>
<ul>
<li><p><a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrat-8311a_v1.3.html">ESP-LyraT-8311A</a> - Audio player</p></li>
<li><p><a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-toucha-v1.1.html">ESP-LyraP-TouchA</a> - Touch buttons</p></li>
<li><p><a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-lcd32-v1.2.html">ESP-LyraP-LCD32</a> - 3.2” LCD screen</p></li>
<li><p><a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-cam-v1.1.html">ESP-LyraP-CAM</a> - Camera module</p></li>
</ul>
</li>
</ul>
<p>A block diagram below shows the components of the ESP32-S2-Kaluga-1 and their interconnections.</p>
<figure class="align-center" id="id3">
<img alt="ESP32-S2-Kaluga-1 block diagram" src="../../../../../_images/esp32-s2-kaluga-1-v1.2-block-diagram.png" />
<figcaption>
<p><span class="caption-text">ESP32-S2-Kaluga-1 block diagram</span><a class="headerlink" href="#id3" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<section id="features">
<h2>Features<a class="headerlink" href="#features" title="Permalink to this heading"></a></h2>
<p>The ESP32-S2-Kaluga-1 main board is the heart of the kit. It integrates the
ESP32-S2-WROVER module and all the connectors for extension boards. This board
is the key tool in prototyping human-computer interaction interfaces.</p>
<p>The ESP32-S2-Kaluga-1 board has connectors for boards with:</p>
<ul class="simple">
<li><p>Extension header (ESP-LyraT-8311A, ESP-LyraP-LCD32)</p></li>
<li><p>Camera header (ESP-LyraP-CAM)</p></li>
<li><p>Touch FPC coneector (ESP-LyraP-TouchA)</p></li>
<li><p>LCD FPC connector (no official extension boards yet)</p></li>
<li><p>I2C FPC connector (no official extension boards yet)</p></li>
</ul>
<figure class="align-center" id="id4">
<a class="reference internal image-reference" href="../../../../../_images/esp32s2-kaluga-1-v1.3-3d.png"><img alt="ESP32-S2-Kaluga-1" src="../../../../../_images/esp32s2-kaluga-1-v1.3-3d.png" style="width: 772.25px; height: 583.75px;" /></a>
<figcaption>
<p><span class="caption-text">ESP32-S2-Kaluga-1 (click to enlarge)</span><a class="headerlink" href="#id4" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p>All the four extension boards are specially desgined to support the following
features:</p>
<ul class="simple">
<li><dl class="simple">
<dt>Touch panel control</dt><dd><ul>
<li><p>Six touch buttons</p></li>
<li><p>Supports acrylic panels up to 5 mm</p></li>
<li><p>Wet hand operation</p></li>
<li><p>Water rejection, ESP32-S2 can be configured to disable all touchpads
automatically if multiple pads are simultaneously covered with water
and to re-enable touchpads if the water is removed</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Audio playback</dt><dd><ul>
<li><p>Connect speakers to play audio</p></li>
<li><p>Use together with the Touch panel to control audio playback and adjust volume</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>LCD display</dt><dd><ul>
<li><p>LCD interface (8-bit parallel RGB, 8080, and 6800 interface)</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Camera image acquisition</dt><dd><ul>
<li><p>Supports OV2640 and OV3660 camera modules</p></li>
<li><p>8-bit DVP image sensor interface (ESP32-S2 also supports 16-bit DVP image sensors, you can design it yourself)</p></li>
<li><p>Clock frequency up to 40 MHz</p></li>
<li><p>Optimized DMA transmission bandwidth for easier transmission of high-resolution images</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
<section id="compatibility-of-extension-boards">
<h3>Compatibility of Extension Boards<a class="headerlink" href="#compatibility-of-extension-boards" title="Permalink to this heading"></a></h3>
<p>If you want to use more than one extension board at the same time, please check the table given below.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 20%" />
<col style="width: 15%" />
<col style="width: 33%" />
<col style="width: 32%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Boards Used</p></th>
<th class="head"><p>HW Conflict</p></th>
<th class="head"><p>Limitations</p></th>
<th class="head"><p>Solution</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>8311A v1.3 + CAM v1.1</p></td>
<td><p>I2S Controller</p></td>
<td><p>ESP32-S2 has only one I2S interface. But both extension boards require connection via the ESP32-S2’s I2S interface (LyraT-8311A in Standard mode, ESP-LyraP-CAM in Camera mode).</p></td>
<td><p>Utilize time division multiple access, or use a different audio module that can be connected via other GPIOs or DAC.</p></td>
</tr>
<tr class="row-odd"><td><p>TouchA v1.1 + LCD32 v1.2</p></td>
<td><p>IO11, IO6</p></td>
<td><p>Touch actions cannot be triggered because of the multiplexed pin IO11. ESP-LyraP-LCD32 will not be affected because its BLCT pin will be disconnected from IO6.</p></td>
<td><p>Do not initialize IO11 (NETWORK) for your ESP-LyraP-TouchA, or configure the BLCT pin to <cite>-1</cite> (= do not use BLCT) for your ESP-LyraP-LCD32.</p></td>
</tr>
<tr class="row-even"><td><p>8311A v1.3 + LCD32 v1.2</p></td>
<td><p>IO6</p></td>
<td><p>BLCT pin of ESP32-S2-Kaluga-1 will be disconnected from IO6.</p></td>
<td><p>Configure the BK pin to <cite>-1</cite> (= do not use BLCT) for your ESP-LyraP-LCD32.</p></td>
</tr>
<tr class="row-odd"><td><p>TouchA v1.1 + 8311A v1.3</p></td>
<td><p>Pin BT_ADC on ESP-LyraT-8311A</p></td>
<td><p>This pin is required for initialization of the six button on ESP-LyraT-8311A. At the same time, ESP-LyraP-TouchA needs this pin for its touch actions.</p></td>
<td><p>If you plan to use buttons on ESP-LyraT-8311A, do not initialize pin IO6 (PHOTO) for your ESP-LyraP-TouchA.</p></td>
</tr>
<tr class="row-even"><td><p>TouchA v1.1 + CAM v1.1</p></td>
<td><p>IO1, IO2, IO3</p></td>
<td><p>Cannot be used simultaneously because of the mentioned multiplexed pins.</p></td>
<td><p>For ESP-LyraP-TouchA, do not initialize IO1 (VOL_UP), IO2 (PLAY), and IO3 (VOL_DOWN).</p></td>
</tr>
<tr class="row-odd"><td><p>TouchA v1.1 + LCD32 v1.2 + CAM v1.1</p></td>
<td><p>IO1, IO2, IO3, IO11</p></td>
<td><p>Conflicts on the mentioned multiplexed pins.</p></td>
<td><p>For ESP-LyraP-TouchA, do not initialize IO1 (VOL_UP), IO2 (PLAY), IO3 (VOL_DOWN), and IO11 (NETWORK).</p></td>
</tr>
<tr class="row-even"><td><p>TouchA v1.1 + LCD32 v1.2 + 8311A v1.3</p></td>
<td><p>IO6, IO11</p></td>
<td><p>If ESP-LyraT-8311A’s pin BT_ADC is used to initialize the board’s six buttons, IO6 and IO11 will not be available for the other boards.</p></td>
<td><p>Do not initialize IO11 (NETWORK) for your ESP-LyraP-TouchA. Also, if you need to use BT_ADC, do not initialize IO6 (PHOTO).</p></td>
</tr>
</tbody>
</table>
<p>Also, all extension boards and the JTAG interface share the same pins IO39, IO40, IO41 and IO42. For this reason, the following may disturb the JTAG operation:</p>
<ul class="simple">
<li><p>Plugging in any extension board</p></li>
<li><p>Debugging an application that is using an extension board</p></li>
</ul>
</section>
</section>
<section id="serial-console">
<h2>Serial Console<a class="headerlink" href="#serial-console" title="Permalink to this heading"></a></h2>
<p>UART0 is, by default, the serial console. It connects to the on-board
CP2102 converter and is available on the micro-USB connector (J1).</p>
<p>It will show up as /dev/ttyUSB[n] where [n] will probably be 0.</p>
</section>
<section id="buttons-and-leds">
<h2>Buttons and LEDs<a class="headerlink" href="#buttons-and-leds" title="Permalink to this heading"></a></h2>
<section id="buttons">
<h3>Buttons<a class="headerlink" href="#buttons" title="Permalink to this heading"></a></h3>
<p>There are two buttons labeled Boot and EN. The EN button is not available
to the software. It pulls the chip enable line that doubles as a reset line.</p>
<p>The BOOT button is connected to IO0. On reset, it is used as a strapping
pin to determine whether the chip boots normally or into the serial
bootloader. After resetting, however, the BOOT button can be used for
software input.</p>
</section>
<section id="leds">
<h3>LEDs<a class="headerlink" href="#leds" title="Permalink to this heading"></a></h3>
<p>There are many on-board LEDs. The only one that can be controlled by software
is a WS2812 RGB LED (U21) addressable LED and is driven by GPIO45.</p>
</section>
</section>
<section id="configurations">
<h2>Configurations<a class="headerlink" href="#configurations" title="Permalink to this heading"></a></h2>
<section id="nsh">
<h3>nsh<a class="headerlink" href="#nsh" title="Permalink to this heading"></a></h3>
<p>Basic NuttShell configuration (console enabled in UART0, exposed via
USB connection by means of CP2102 converter, at 115200 bps).</p>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../../index.html" class="btn btn-neutral float-left" title="Espressif ESP32-S2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../esp32s2-saola-1/index.html" class="btn btn-neutral float-right" title="ESP32-S2-Saola-1" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2020, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>