Mostrando entradas con la etiqueta ESP32C3. Mostrar todas las entradas
Mostrando entradas con la etiqueta ESP32C3. Mostrar todas las entradas

martes, 14 de julio de 2026

Medidor ROE con ESP32C3

  Página principal

Medidor ROE
ESP32C3


Hace unos meses había visto en youtube (RADIO BUNKER)  un medidor de potencia y ROE que se podía visualizar las medidas a través de internet.
Yo tenía el mismo medidor, y me comió la curiosidad el ver si yo podía hacer algo parecido.
Tenía dos posibilidades, tomar la tensión de la propia alimentación de la aguja medidora, o tomar los datos directamente del captador, tanto de la tensión directa como de la reflejada.


Para poder medir la ROE se tiene que medir la tensión directa como la reflejada a la vez, y hacer los cálculos.

Para hacer el proyecto, que debía servir una página a través de internet, además de medir la onda directa y la onda reflejada, he utilizado un ESP32C3.


A la vez se calcula la potencia sobre una carga de 50 ohmios.

Para nuestro caso la conversión a Watios se hace de la siguiente forma.

        W=((V/63)²)/50


Donde 63 es la proporción para transformación de la lectura proporcionada por el ESP32C3 a Voltios, y los 50 son los ohmios.

Después de calcular tanto la ROE y los Watios debemos representarlos en una página web.
Con la biblioteca WebServer se hace fácil, se crea una cadena de texto con todas la partes de una página web.
Se representa en texto y en gráficos. Los gráficos se hacen mediante la creación de un dibujo con formato svg.
Los gráficos son sencillos, son unas barras que representan los diferentes valores.
En el propio código fuente de la página web se obliga al navegador a actualizarse cada 1 Segundo.
Si se quiere  acceder desde Internet a nuestra página creada con el ESP32C3, deberemos configurar nuestro router a la IP del ESP32C3.





Si nos fijamos cuando cambiamos las teclas para medir tanto los Watios como el SWR, se modifica la carga sobre la tensión de V0 y V1.
Por lo cual debemos saber lo que queremos medir para no errar en la medida. Si colocamos la teclas para SWR, la medida en Watios será incorrecta, y viceversa.
También podemos observar que la medida cambia constantemente. Aunque el ESP32 no tiene fama por su linealidad en la conversión de A/D, el culpable no es el.
Las interferencias RF que produce una emisora, aunque sea de 4W, provoca ruido en la propia señal a medir, se debería poner filtros de alta frecuencia y apantallamientos.  

Este proyecto es solo un punto de inicio para hacer un medidor, si se quiere hacer uno serio se necesita tener su propio captador de ROE.

PROGRAMA

VIDEO



VERSIÓN 2
Para mandar datos desde un servidor WEB existe otro método más rápido.
En esta versión se hace uso de la programación en JavaScript.
Este método no recarga toda la página, solo manda desde el servidor los datos pedidos mediante el comando en javascript .
setInterval(leerDatos,500);
leerDatos();
Recibidor los datos en el navegador el programa javascript, crea las barras de Watios y del ROE.
 async function leerDatos()
    {
        const r = await fetch('/datos');
        const d = await r.json();
        document.getElementById('Wvol0').textContent = d.Jvol0;
        document.getElementById('Wvol1').textContent = d.Jvol1;
        document.getElementById('Wwat').textContent = d.Jwat;
        document.getElementById('Wroe').textContent = d.Jroe;


        document.getElementById("mi_watG").style.width = (d.Jwat*100)/5 + "%";
        document.getElementById("mi_watG").innerHTML = d.Jwat + " W";

        document.getElementById("mi_roeG").style.width = d.Jroe*20 + "%";       
        document.getElementById("mi_roeG").innerHTML ="ROE: " + d.Jroe ;
    }

ProgramaVersión2

VIDEO2





Saludos.
Juan Galaz



Bibliografía:

https://youtu.be/Y6bU1aNEhe0?si=yWGXt5H0RoDwl9Ak
https://youtu.be/ro6M2ssqFKA?si=XZG6q0CkU2q38VK8

martes, 19 de mayo de 2026

Antena Loop IV - Servo WEB

  Página principal

Antena Loop
IV

Hace medio año había construido una antena Loop para la banda de HF.
http://seta43.duckdns.org/loopb/loopc.html
La sintonía se manejaba mediante servos, y estos se controlaban mediante el microcontrolador ESP32.
El control se hacía mediante
Bluetooth , el cual me obligó a realizar un programa android.
El caso es que me parecía un poco engorroso, por lo que me plantee en su momento hacerlo tipo WEB.
También había utilizado un
ESP32 clásico, pero me parecía infrautilizar este microcontrolador.

El caso era emplear un ESP32C3, es muy pequeño y barato.
El problema es que la antena que utiliza es minimalista del tipo cerámica, y no llega muy lejos.
Lo primero que me plantee era mejorar la antena.
Mirando por internet encontré algún artículo que sustituían la antena por una pequeña antena hecha con un hilo de cobre.
https://peterneufeld.wordpress.com/2025/03/04/esp32-c3-supermini-antenna-modification/


La antena la modifique un poco, y utilice el hilo de cobre con un diámetro de 1.3mm .

ANTENA MODIFICADA
-------------------------------------
Default wifi band mode scan:
-------------------------------------
Scan start
Scan done
21 networks found
Nr | SSID                             | RSSI | CH | Encryption
 1 | MiFibra-5FF8                     |   -8 |  6 | WPA2
 2 | MiFibra-5FF8-2G4                 |   -8 |  6 | WPA2
 3 | MOVISTAR_EE00                    |  -58 |  6 | WPA2
 4 | Tech603F                         |  -64 |  1 | WPA+WPA2
 5 | vodafone5114                     |  -75 |  1 | WPA+WPA2
 6 | Livebox6-C2D0                    |  -83 |  1 | WPA2
 7 | MOVISTAR_9500                    |  -85 |  1 | WPA2
 8 | Livebox6-0273                    |  -87 |  6 | WPA2
 9 | HMU4Pq4AOfLziYzaPVZfffRwTi3YdQQV |  -87 | 10 | WPA2
10 | MOVISTAR_F410                    |  -87 | 11 | WPA2
11 | vodafone3830                     |  -90 |  1 | WPA+WPA2
12 | MIWIFI_NuE3-2G-2G-EXT_EXT        |  -91 |  1 | WPA2
13 | MOVISTAR_5EC0                    |  -91 |  6 | WPA2
14 | Lowi3E15                         |  -91 | 11 | WPA+WPA2
15 | MIWIFI_NuE3-2G-2G-EXT            |  -92 |  1 | WPA2
16 | Livebox6-46F4                    |  -92 |  6 | WPA2
17 | Red Wi-Fi de Alvaro              |  -92 | 11 | WPA2
18 | MiFibra-0E94                     |  -92 | 11 | WPA2
19 | MOVISTAR-WIFI6-A790              |  -92 | 11 | WPA2
20 | MOVISTAR-WIFI6-7500              |  -93 |  1 | WPA2
21 | SUPERRESASO                      |  -93 |  1 | WPA+WPA2
-------------------------------------

ANTENA ORIGINAL
-------------------------------------
Default wifi band mode scan:
-------------------------------------
Scan start
Scan done
17 networks found
Nr | SSID                             | RSSI | CH | Encryption
 1 | MiFibra-5FF8                     |  -19 |  6 | WPA2
 2 | MiFibra-5FF8-2G4                 |  -19 |  6 | WPA2
 3 | Tech603F                         |  -59 |  1 | WPA+WPA2
 4 | MOVISTAR_EE00                    |  -72 |  6 | WPA2
 5 | Livebox6-C2D0                    |  -75 |  1 | WPA2
 6 | MOVISTAR_F410                    |  -84 | 11 | WPA2
 7 | MOVISTAR_9500                    |  -85 |  1 | WPA2
 8 | vodafone5114                     |  -89 |  1 | WPA+WPA2
 9 | Livebox6-0273                    |  -90 |  6 | WPA2
10 | Livebox6-46F4                    |  -91 |  6 | WPA2
11 | MOVISTAR_5EC0                    |  -91 |  6 | WPA2
12 | vodafone3830                     |  -92 |  1 | WPA+WPA2
13 | MOVISTAR-WIFI6-A790              |  -92 | 11 | WPA2
14 | MIWIFI_NuE3-2G-2G-EXT_EXT        |  -93 |  1 | WPA2
15 | HMU4Pq4AOfLziYzaPVZfffRwTi3YdQQV |  -94 | 10 | WPA2
16 | Lowi3E15                         |  -94 | 11 | WPA+WPA2
17 | DIGIFIBRA-AYdy                   |  -95 | 11 | WPA+WPA2

Como se puede ver en los datos, la ganancia es considerable.

Una vez probada la mejora significativa de señal, ponemos el ESP32C3 en el circuito.



Ahora no toca programar el ESP32C3 para crear un Punto de Acceso, y insertar una página WEB del tipo formulario a base de botones.


client.println("<body><h1>ESP32-CAPACITOR</h1>");
client.println("<p>CAPACITOR1 - " + String(CAP1) + "</p>");
client.println("<p><a href=\"/cap1/menos\"><button class=\"button\">-</button></a>   <a href=\"/cap1/mas\"><button class=\"button\">+</button></a></p>");          
client.println("<p>CAPACITOR2 - " + String(CAP2) + "</p>");
client.println("<p><a href=\"/cap2/menos\"><button class=\"button\">-</button></a>   <a href=\"/cap2/mas\"><button class=\"button\">+</button></a></p>");
Parte del código de la página WEB.

Pulsado los diferentes botones, cambiamos la capacidad de los condensadores, y de esta forma la sintonía de resonancia.

Para conectarnos a la AP creada con el ESP32C3 he creado un QR que hará muy fácil su conexión a la red WIFI creada.


Si no queréis complicaros mucho cambiando el tipo de antena, se puede utilizar ESP8266 y sus muchas variantes que llevan impresas la antenas.

PROGRAMA_ESP32C3

Saludos.
Juan Galaz



Bibliografía:

https://loop-magnetic-ce3yu.blogspot.com/2015/01/antena-loop-magnetica_31.html
https://www.nonstopsystems.com/radio/frank_radio_antenna_magloop.htm#top-of-page
http://www.pearltrees.com/kc4fne/loop-antennas/id25196879
http://www.radioamatoripeligni.it/i6ibe/loopflat/loopflat.htm
https://www.ivarc.org.uk/uploads/1/2/3/8/12380834/multi-band_hf_magnetic_loop_slides_-1.pdf





martes, 21 de abril de 2026

Sensor de temperatura Protocolo TFA - Arduino - ESP32-C3 Super Mini 18B20

  Página principal

Sensor de temperatura
Protocolo  TFA

Arduino - ESP32-C3 Super Mini
18B20

En los 2 anteriores montajes había realizado un sensor de temperatura con el protocolo TFA que utilizan muchas estaciones meteorológicas comerciales.
En un primer montaje había utilizado el ATmega328 , y el segundo montaje utilizaba  un ESP32-C3. En ambas utilizaba un AHT21 que es un sensor doble, de presión, y de humedad-temperatura.
Como solo utilizaba el sensor de temperatura, pensé que era desaprovechar el módulo, y que para este montaje era mejor utilizar un 18B20, que es más barato.
El 18B20 utiliza el protocolo OneWire, por lo cual elimino toda la programación de I2C, para sustituirla por OneWire.







Toda la PCB sería igual, solo habría que colocar un 18B20 y una resistencia de 4K7.
Además he mejorado el código en la versión de ATmega328, corrigiendo algún error.

PROGRAMA ATmega328





En la versión de ESP32-C3 todo sigue igual, solo sustituyo el código de I2C por el de OneWire.
He visto que el C3 tiene un LED de piloto de alimentación, por lo cual si se quiere reducir aún más el consumo, deberíamos el LED.
Existe otra posibilidad para aumentar la autonomía es que tarde más en despertarse, pasar de 1 Seg. a 4 Seg.  o más.

Programa ESP32-C3


Saludos.
Juan Galaz



Bibliografía:

http://seta43.duckdns.org/ard433.html
http://seta43.duckdns.org/termot.html
http://seta43.duckdns.org/temt3.html

sábado, 18 de abril de 2026

Sensor de temperatura - Protocolo TFA - ESP32-C3 super mini

  Página principal

Sensor de temperatura
Protocolo  TFA

ESP32-C3 super mini


Esta es la continuación del sensor con el protocolo TFA realizado con un ATMEGA328, pero en este caso lo realizo con un ESP32_C3 super mini.


Que cada uno mire en su placa la configuración de pins.
Se puede encontrar en:
    /home/usuario/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/lolin_c3_mini

Se diseña el esquema y el circuito impreso en KICAD.




El circuito impreso se realizó con el método de transferencia de tinta tóner.
Quedando como se ve en la foto.


Como no me quería arriesgar en alimentar el ESP-C3 con los 4V que proporciona la batería 18650, he bajado el voltaje a 3.3V utilizando un diodo que tiene una caída de voltaje de 0.6V .

Quedando todo el conjunto ...


El 95% del código es el mismo que con el ATmega328, pero he tenido que cambiar la forma en que se duerme el microcontrolador.

    esp_sleep_enable_timer_wakeup(1000000); // 1 Segundo
    esp_light_sleep_start();


También he solucionado algún error, sobre todo el que siempre sonaba un pitido cuando mandaba datos, y solo lo tiene sonar la primera vez.

Como el micro se encuentra dormido el 98% del tiempo, cuando se programa por segunda vez, no responde a la programación.
Para poder programarlo, deberás pulsar los dos botones a la vez (BOOT y RESET), sin dejar de presionar el BOOT, soltar el RESET, y ahora mandar el código al microprocesador.
El consumo es el siguiente:
Alimentado a 5V en el pin de 5V -> 0.78mA (Dormido)        27mA(Despierto)
Alimentado a 3.3V en el pin de 3.3V -> 0.5mA        26mA(Despierto)




El próximo cambio será utilizar un 18B20 como sensor de temperatura, en este montaje se desaprovecha el AHT20.

Programa


Saludos.
Juan Galaz



Bibliografía:
http://seta43.duckdns.org/2026/tfa/tfa.html
http://seta43.duckdns.org/ard433.html
http://seta43.duckdns.org/termot.html
http://seta43.duckdns.org/temt3.html

jueves, 18 de diciembre de 2025

Entrenador Morse- Paleta simple y paleta doble con ESP32C3 MINI

  Página principal

Entrenador Morse
Paleta simple y paleta doble
ESP32 C3 MINI

 

En el anterior montaje había realizado un entrenador morse con el arduino, ahora lo hago con el ESP32 C3 MINI.
http://seta43.duckdns.org/morse/maniall.html
Este proyecto solo es una adaptación del anterior, me ha llevado 1 hora modificar un poco el código  y el circuito.

Probando varias placas y consultando varios tutoriales, encontré mi placa que funcionaba como LOLIN C3 MINI.
El problema que existen muchos ensambladores de placas, y algunos no figuran el modelo.
Que cada uno mire en su placa la configuración de pins.
Se puede encontrar en:
    /home/usuario/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/lolin_c3_mini

Después se hace el ajuste de los pins en el programa.

#define PIN_SOUND 4
#define TONO 647  //704

#define MILED 21
#define PUNTO 0
#define RAYA 1
#define MANI 1
#define PULSADOR 3


Ahora se cambia un poco el circuito.




Espero que les guste este montaje, y que practiquen mucho el morse.

VIDEO

PROGRAMA


Saludos.
Juan Galaz



Bibliografía:
http://seta43.duckdns.org/morse/maniall.html
http://seta43.duckdns.org/morse/morsema.html
https://morsecode.world/international/decoder/audio-decoder-adaptive.html
https://es.wikipedia.org/wiki/C%C3%B3digo_morse
http://seta43.duckdns.org/armorse.html
http://seta43.duckdns.org/amorb.html

sábado, 25 de octubre de 2025

ESP32C3 MINI - WEB SERVER modo Router

  Página principal


ESP32C3 MINI
WEB SERVER modo Router

Hace unos años realicé con el ESP8266 un montaje que hacía encender 4 LED desde un navegador.
http://seta43.duckdns.org/espb.html
En este montaje realizo un servidor en modo Router, en este modo, el router es el centralizador de todos los dispositivos, ya sean mediante cable de RED, o mediante el WIFI. Ademas si el router tiene acceso a INTERNET, el ESP32C3 podrá servir los datos al exterior.
Para poder acceder a nuestro ESP32C3 desde Internet, deberemos acceder la router y cambiar el direccionamiento de puerto 80 (o el puerto que queramos)  a la IP de nuestro ESP32C3.





No pude resistir el colocar un sensor de humedad temperatura en el bus I2C, y coloqué un AHT20.
También podemos observar que activando do desactivando el último botón, cambiamos el tipo de botones.




Antes de cargar el programa en el ESP32C3 , debemos colocar el nombre de nuestra WIFI y la contraseña.

const char* ssid = "MiWIFI";
const char* password = "password";


PROGRAMA

VIDEO

Saludos.
Juan Galaz



Bibliografía:

https://randomnerdtutorials.com/getting-started-esp32-c3-super-mini/
http://seta43.duckdns.org/espb.html
https://github.com/sidharthmohannair/Tutorial-ESP32-C3-Super-Mini
https://www.luisllamas.es/probamos-el-nuevo-esp32-c3-el-sustituto-del-esp8266/
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
https://www.mechatronicstore.cl/conectando-la-esp32-c3-super-mini-a-arduino-paso-a-paso/?srsltid=AfmBOopdSs8GEHCtRzY2aXz168xDNPLSEk_YsHXers0j9pHBz6SHsCk4
https://www.youtube.com/watch?v=0sum5XaOdW0

miércoles, 22 de octubre de 2025

Encender 4 LED con un móvil utilizando ESP32 C3


ESP32C3 MINI
WEB SERVER AP (Punto de acceso)



Hace unos años realicé con el ESP8266 un montaje que hacía encender 4 LED desde un navegador.
http://seta43.duckdns.org/espb.html
En este montaje realizo un servidor en modo Punto de Acceso.
Se conecta directamente el teléfono movil al wifi creado con el ESP32 C3, sin intervención de ningún router.


Probando varias placas y consultando varios tutoriales, encontré mi placa que funcionaba como LOLIN C3 MINI.
El problema que existen muchos ensambladores de placas, y algunos no figuran el modelo.
En mi caso la configuración de pins son:
static const uint8_t TX = 21;
static const uint8_t RX = 20;

static const uint8_t SDA = 8;
static const uint8_t SCL = 10;

static const uint8_t SS = 5;
static const uint8_t MOSI = 4;
static const uint8_t MISO = 3;
static const uint8_t SCK = 2;

static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;
Que cada uno mire en su placa la configuración de pins.
Se puede encontrar en:
    /home/usuario/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/lolin_c3_mini

El primer montaje solo utilizo 4 diodos LED y una resistencia.
El mando de encendido y apagado se hace con un teléfono conectado directamente la Wifi creado con el ESP32 C3.





Me di cuenta que no se proporcionaba ninguna información , por lo que he añado un OLED donde indico el nombre de la red Wifi, la contraseña y la IP.




PROGRAMA

VIDEO

Saludos.
Juan Galaz



Bibliografía:

https://randomnerdtutorials.com/getting-started-esp32-c3-super-mini/
http://seta43.duckdns.org/espb.html
https://github.com/sidharthmohannair/Tutorial-ESP32-C3-Super-Mini
https://www.luisllamas.es/probamos-el-nuevo-esp32-c3-el-sustituto-del-esp8266/
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
https://www.mechatronicstore.cl/conectando-la-esp32-c3-super-mini-a-arduino-paso-a-paso/?srsltid=AfmBOopdSs8GEHCtRzY2aXz168xDNPLSEk_YsHXers0j9pHBz6SHsCk4
https://www.youtube.com/watch?v=0sum5XaOdW0

miércoles, 6 de agosto de 2025

ESP32C3 MINI Timer programable

  Página principal


ESP32C3 MINI
Timer programable

Me ha llegado un nuevo módulo que lleva el CHIP ESP32C3 , por alrededor de 2€ no me he podido resistir.
Especificaciones
  • SoC de bajo consumo equipado con procesador mononúcleo RISC-V de 32 bits, frecuencia principal de hasta 160 MHz
  • Compatible con Wi-Fi de 2,4 GHz (802.11 b/g/n) y Bluetooth® 5 (LE)
  • 400 KB de SRAM y 384 KB de ROM, y 4 MB de memoria Flash integrada
  • 3x SPI, 1x I2C, 2x UART, 1x I2S, 2x ADC, etc.


Después de seguir algunos tutoriales y instalar en el arduino  el gestor de tarjetas el módulo esp32 by Espressif System, no conseguía hacer funcionar la placa.
Probando varias placas y consultando varios tutoriales, encontré mi placa que funcionaba como LOLIN C3 MINI.
El problema que existen muchos ensambladores de placas, y algunos no figuran el modelo.
En mi caso la configuración de pins son:
static const uint8_t TX = 21;
static const uint8_t RX = 20;

static const uint8_t SDA = 8;
static const uint8_t SCL = 10;

static const uint8_t SS = 5;
static const uint8_t MOSI = 4;
static const uint8_t MISO = 3;
static const uint8_t SCK = 2;

static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;
Que cada uno mire en su placa la configuración de pins.
Se puede encontrar en:
    /home/usuario/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/lolin_c3_mini

Después de probar el clásico programa de hacer parpadear un LED, me propuse hacer algo mejor.
En el anterior proyecto había publicado un montaje que me había mandado Alfredo Segura, era un TIMER PROGRAMABLE .
Pues me puse manos a la obra y monté todo el circuito, y me puse a programar.
El programa debe mantener unos valores de ON/OFF que contienen los tiempos de apagado y encendido, y estos valores se deben mantener aunque se vaya la alimentación.
Los ESP32 no tienen EEPROM, pero mediante la librería #include <EEPROM.h> , se emula y se graba en memoria de programa.
Para cambiar los valores de apagado y encendido utilizamos un Rotary Encoder, se debe pulsar el botón del mando para pasar entre los diferentes valores ON/OFF.
Si se mantiene pulsado el mando por más de 4 segundos, los valores de tiempos ON/OFF se almacenan en la *EEPROM.
Girando el mando se cambia de ON/OFF.
Todo esto se visualiza en la pantalla OLED SSD1306




Como se puede ver, he utilizado un módulo que contiene el mando
Rotary Encoder y la pantalla OLED.
También  se puede utilizar los dos módulos por separado.



Este ha sido mi primer contacto con el ESP32_C3_MINI, y  he encontrado una placa extraordinaria, con mucho potencial.
Espero que les haya gustado este pequeño proyecto, que no será el último con este micro.

PROGRAMA

Saludos.
Juan Galaz



Bibliografía:

https://github.com/sidharthmohannair/Tutorial-ESP32-C3-Super-Mini
https://www.luisllamas.es/probamos-el-nuevo-esp32-c3-el-sustituto-del-esp8266/
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
https://www.mechatronicstore.cl/conectando-la-esp32-c3-super-mini-a-arduino-paso-a-paso/?srsltid=AfmBOopdSs8GEHCtRzY2aXz168xDNPLSEk_YsHXers0j9pHBz6SHsCk4
https://www.youtube.com/watch?v=0sum5XaOdW0