Placa

ESP32-S3 simulator, on an Xtensa LX7 core

Mokxi modela la ESP32-S3-DevKitC-1: un ESP32-S3-WROOM-1 con su Xtensa LX7 a 240 MHz, la matriz GPIO, IO MUX, UART0, el puerto serie USB propio del chip, SYSTIMER, ADC1, el controlador PWM LEDC y el RMT que maneja el LED RGB de la placa, en las direcciones del manual de referencia técnica de Espressif. Un núcleo, no dos, y sin radio (el WiFi aquí es simulado, y lo dice), y el contrato indica qué números se verificaron y cuáles se suponen.

  • 9áreas de periféricos modeladas
  • 6proyectos listos para ejecutar
  • Tiempo realen tu propia máquina
ESP32-S3-DevKitC-1: parpadeolive0.000 s 0.00x
Haz clic para abrirlo en el editor
La placa está ejecutando firmware real ahora mismo. Haz clic para abrir el circuito en el editor.
El modelo

Qué se modela

Tomado del documento de contrato de la propia placa y dicho en palabras sencillas, con lo que falta al lado.

Modelado

Núcleo
Xtensa LX7 con ABI de ventanas: para todo lo que emite el compilador es el conjunto de instrucciones del LX6, con los niveles de interrupción propios del S3. Una instrucción por ciclo a 240 MHz
Memoria
416 KB de SRAM1 vistos por ambos buses, en 0x4037_8000 para código y 0x3FC8_8000 para datos, los mismos bytes, y la SRAM2 a continuación
Matriz GPIO e IO MUX
GPIO 0 a 48 con la división real en dos registros, los pull de reinicio del manual en cada pad, y la tabla de funciones que hace que 26 a 32 sean la flash
UART0 y serie USB
UART0 con el ritmo del baudaje configurado, y el puerto USB Serial/JTAG un paquete de 64 bytes a la vez; el monitor serie escucha ambos
SYSTIMER
La unidad 0 a 16 MHz detrás de millis() y micros(); delay() detiene el núcleo en CCOMPARE0 en lugar de girar en vacío
ADC1
Doce bits en diez canales, GPIO 1 a 10, con las cuatro atenuaciones
LEDC
Ocho canales y cuatro temporizadores en cualquier pin, con los bits de actualización que necesita el S3, detrás de analogWrite, ledcAttach y ledcWrite
RMT y el LED RGB
Cuatro canales de transmisión con su RAM, modo envolvente y portadora; rgbLedWrite envía un cuadro WS2812 y el LED de la placa en el GPIO48 (GPIO38 en la v1.1) se enciende con él
WiFi, simulado
WiFi.h, HTTPClient.h y WebServer.h sobre una red escrita por software: sin radio, sin 802.11, e internet real solo cuando inicias sesión y lo activas

No modelado

  • Una radio de cualquier tipo. No hay 802.11 ni radio Bluetooth en el modelo. En su lugar se simulan el WiFi y el Bluetooth LE, y cada página que los menciona lo dice.
  • El segundo núcleo. Un S3 real tiene dos núcleos LX7; este modelo ejecuta el núcleo 0, así que cualquier cosa que inicie una tarea en el núcleo 1 no correrá.
  • La FPU y las instrucciones vectoriales del S3: un binario construido en otro lado que las use falla. Los sketches construidos aquí usan punto flotante por software, así que las operaciones con float funcionan.
  • La SRAM0, la caché, la flash y la PSRAM, los coprocesadores RTC y ULP, el sueño profundo, el ADC2, el sensor táctil, los grupos de temporizadores y los controladores I2C y SPI (Wire y SPI aquí son software en pines normales, como en todas las placas).
  • Algunos números son una suposición de este modelo y no una página del manual: el más uno del divisor de reloj de la UART, la disposición de la RAM del RMT por canal, la fase de la portadora, el tiempo de los paquetes USB y la escala completa del ADC. La sección 6 del contrato nombra cada uno.
Empieza aquí

Abre uno y presiona Ejecutar

Cada uno de estos se abre en el editor tal como está dibujado aquí.

Proyectos

Todos los proyectos integrados de la ESP32-S3-DevKitC-1

Cada uno tiene su propia página con el circuito funcionando, el código y una lista de componentes.

Componentes

Componentes conectados a la ESP32-S3-DevKitC-1, paso a paso

Cada página tiene el cableado con los nombres de pin propios de la ESP32-S3-DevKitC-1, el código, los errores comunes y el circuito funcionando.

Aprender

Tutoriales que usan esta placa

Cada uno termina en un circuito funcionando, en esta misma placa.

Preguntas

¿Es gratis?

Sí. Todas las placas y todos los componentes están en el plan Gratis, sin necesidad de cuenta.

¿Puedo compilar mi propio sketch para ella?

Sí. Edita el sketch y presiona Ejecutar: compila en la pestaña con clang para Xtensa, y el panel de compilación muestra cada paso. No se sube nada. Las operaciones de punto flotante funcionan: el navegador compila con punto flotante por software, como en todas las demás placas de aquí.

¿Qué revisión es, la v1.0 o la v1.1?

Cualquiera: la propiedad de revisión de la placa lo decide. La única diferencia que lista Espressif es el LED RGB, en el GPIO48 en las primeras placas y en el GPIO38 en la v1.1. Los ejemplos están hechos para el GPIO48, como la definición de placa del núcleo de Arduino, así que en una v1.1 el LED queda apagado, como en un escritorio.

¿En qué puerto está Serial?

UART0, el conector "UART" con el puente USB a UART, que es lo que Serial es en el núcleo de Arduino con USB CDC On Boot desactivado. USBSerial es el puerto USB propio del chip. El monitor serie de aquí escucha ambos.

¿Simula WiFi o Bluetooth?

Ambos, simulados, y lo dice claramente. El Bluetooth es un teléfono en el panel de Bluetooth del editor, no una radio. Tu sketch usa las llamadas reales de Arduino, y por debajo no hay radio ni 802.11. Con la sesión iniciada, puedes activar Internet real en el panel Nube, y las solicitudes HTTP y HTTPS a servidores reales salen por el gateway de Mokxi.

¿Por qué mi potenciómetro lee 4095 antes del final de su recorrido?

Porque el rango de la hoja de datos con la atenuación predeterminada de 12 dB termina en 2.9 V y tu riel es de 3.3 V. Este modelo lee 4095 desde 2.9 V hacia arriba, y su contrato dice que una pieza real conserva un poco más de margen.

¿Ejecuta los dos núcleos?

Uno. Corre el núcleo 0; no hay segundo núcleo ni FreeRTOS que reparta entre ambos, así que un sketch con setup()/loop() está bien y xTaskCreatePinnedToCore no.

Pruébalo con tu propio firmware

Lo que armas aquí corre sin cambios en la placa de tu escritorio. Sin instalar nada y sin necesidad de cuenta.