Utiliza las pilas durante más tiempo y protege activamente el medio ambiente
Estos componentes son necesarios:
1x Convertidor reductor MT3608
La idea del refresco alcalino
Numerosos aparatos de uso cotidiano funcionan con pilas de 1,5 V. Predomina el tipo de pilas AA. Las pilas alcalinas, en particular, se pueden encontrar en todos los supermercados por relativamente poco dinero. Constantemente se desechan enormes cantidades de estas pilas, y en todas partes podemos leer lo peligroso que es recargarlas. De hecho, en los últimos años la industria ha tenido bastante éxito a la hora de hacernos temer los intentos de recarga. Probablemente por razones muy obvias.
Al mismo tiempo, existe una gran variedad de proyectos de rehabilitación y autoconstrucción. Estos últimos, en particular, tienen conceptos muy diferentes. En algunos casos, se utilizan tensiones pulsadas complicadas. Aquí siempre me refiero a "refrescadores", no a "cargadores", porque no se trata de un proceso de carga. Aunque se invierten los procesos químicos, no se trata de un proceso de carga, como ocurre con una batería recargable.
Tras varios meses de pruebas, puedo afirmar que no se me ha calentado ni una sola batería. Ninguna pila ha tenido fugas, ha reventado o incluso se ha incendiado. Lo que es mucho más crítico con las pilas de iones de litio y requiere verdadero cuidado no es un problema con las pilas alcalinas en mi experiencia hasta ahora.
Es importante para mí señalar que el procedimiento presentado es exclusivamente para Alcalino-pilas. En ningún caso intente recargar pilas que no estén expresamente etiquetadas como "Alka line". Las pilas recargables tampoco pueden cargarse con este aparato.

Aquí presento el resultado de mi trabajo. Se trata de un aparato sencillo y que funciona bien. Al final de este primer artículo encontrará algunos ejemplos típicos de mediciones. Incluso una vez conseguí revivir una batería que se había "quedado seca" hasta 0,28 V.
Una batería usada puede cargarse entre 3 y 10 veces. En cuanto una batería empiece a agotarse, no debe utilizarse más. Se lo recomiendo encarecidamente.
La segunda parte de mi artículo integrará el refresco alcalino en el Asistente para el Hogar. Así siempre podrás ver hasta dónde ha avanzado el proceso de refresco sin tener que tener el dispositivo delante. Tengo varios dispositivos en diferentes habitaciones. El panel de control de HA es muy útil para esto.
La carga suave de las pilas también era importante para mí. Si se insertan cuatro pilas, cada una recibe un impulso de 250 ms y 850 ms de tiempo de reposo por segundo. Si sólo se inserta una batería, la carga es mucho más rápida: 250 ms de carga y aproximadamente 100 ms de tiempo de reposo. Como tampoco pude detectar ningún calentamiento de la batería en este modo de funcionamiento, no instalé un retardo adicional.
El circuito
Veamos primero el esquema del circuito:

En el centro del diagrama del circuito se puede ver el corazón del dispositivo, el D1 Mini ESP32 NodoMCU. Me gusta utilizar esta placa maravillosamente compacta cuando se añaden otras tareas a las simples conexiones WiFi, como la publicación MQTT.
A la derecha se ven cuatro unidades idénticas, cada una de ellas compuesta por un MOSFET de mejora de canal n BUZ42, un BC 547 como driver del MOSFET y un diodo emisor de luz. Cada pila recibe sus pulsos de f250 ms a través de una resistencia de 48Ω. Para ello, el MOSFET conmuta la tensión de funcionamiento de 12 V a la batería respectiva. La resistencia interna de la batería y la resistencia en serie forman un divisor de tensión, de modo que una batería consume brevemente unos 100 mA.
A la izquierda del microprocesador hay cuatro redes de resistencias idénticas que se conectan a los terminales positivos de las baterías y a GND. Esto se utiliza para medir el voltaje de la batería respectiva con el fin de realizar un seguimiento del proceso de refresco. La medición se realiza antes de el impulso de tensión correspondiente.
El microprocesador se alimenta a través de un LM 2596 - StepDown Converter, que está instalado en la placa AZ MT3608. Como utilizamos entradas de medición de alta impedancia en el MCU, esta placa debe colocarse lo más lejos posible de las entradas analógicas utilizadas por el procesador.
Al igual que en proyectos anteriores, esta vez también dibujé sobre el material de la caja de retoques. El MOSFET hace un buen trabajo, pero requiere un controlador. Si lo sustituye por un "MOSFET de nivel lógico" como el IRL 520, entonces esto ahorra la etapa de controlador.
Al igual que en proyectos anteriores, vuelvo a plantearme la posibilidad de crear una placa de circuito impreso y encargar su fabricación si existe interés en la comunidad. Las placas de circuito impreso para el comprobador del estado de las pilas acaban de llegar a su segunda edición. Cualquiera que refresque baterías seguramente también querrá medir su resistencia interna (más sobre esto más adelante) para determinar su éxito. Si está interesado en una placa de circuito, póngase en contacto conmigo a través de michaelklein495(at)gmail.de.
El boceto
En aras de la claridad, el sketch consta de tres partes. En primer lugar, veamos el programa principal:
Alkaline_refresh_1_2_part_1_DONE
En general, el esquema es bastante compacto. En las dos primeras líneas, se reservan matrices para los valores brutos del voltaje de la batería y los voltajes calculados.
En Matriz con el nombre battload[] registra la frecuencia con la que el voltaje de una batería ha alcanzado o superado el valor Ulimit. La lógica detrás de esto es muy simple: puede ocurrir que el límite se muestre como alcanzado durante la medición del voltaje, pero sólo se ha alcanzado durante un corto periodo de tiempo. Para asegurarse de que la batería está realmente cargada, el límite se registra diez veces en total. Cuando battload[] ha llegado a cero para una batería, se considera que está cargada. A continuación, la tensión desciende con bastante rapidez a 1,5 ... 1,65 V.
El bucle void configuración() se limita a inicializar la interfaz serie y los pines de salida. No hay nada más que hacer aquí por el momento.
Entonces es directamente en el void bucle(). La función medidas(), que recupera los valores brutos de las entradas analógicas y los convierte en voltajes de batería.
A continuación, se realiza un bucle en las cuatro baterías. Primero comprueba si los voltajes de las baterías están entre 0,2 y Ulimit. También comprueba si ya se ha alcanzado 10 veces Ulimit. era.
Si la tensión de la batería se encuentra dentro del rango deseado y aún no está completamente cargada, el croquis envía un impulso de carga de 250 ms de duración a la batería correspondiente y vuelve a desconectar la corriente.
Este es el proceso de carga - ¡es todo lo que necesitas! Este proceso se repite hasta que se ha alcanzado o superado Ulimit 10 veces.
Las siguientes consultas if se utilizan para el funcionamiento sencillo del dispositivo. Si reconoce (1ª consulta if) que el voltaje en una batería = 0 (batería ausente o defectuosa), el sketch establece la variable battload[] respectiva a 10 en preparación para el siguiente proceso de carga.
La siguiente consulta if comprueba si el voltaje de la batería respectiva es >= Ulimit y, si es necesario, cuenta hacia abajo battload[] para esta batería.
Ahora se vuelven a medir todas las tensiones de la batería. Si alguna de las tensiones es > Ulimit todos Los voltajes de la batería se emiten en una pequeña tabla a través de la interfaz serie. Esta función se utiliza para la depuración y para obtener una visión general.
Eso es todo. Creo que puedo dejar a su atención las funciones simples para las mediciones y la salida de la tabla. Son sencillas y autoexplicativas. Esta vez confié el tedioso tecleo de la salida de la tabla a una IA y no me decepcionó :-)
Funcionamiento del dispositivo
El esquema muestra el funcionamiento sencillo del dispositivo:
1. si sólo enciendes la fuente de alimentación de 5V sin la tensión de carga, puedes medir las tensiones de la batería 1 ... 4. Usted estará familiarizado con mi blog post "Probador de la aptitud de la batería" que esta medición de voltaje dice muy poco sobre el estado de salud de una batería. Sólo la medición de la resistencia interna proporciona información útil. Siempre sirve para clasificar las baterías como "sin remedio" o "pruébala".
2. en funcionamiento clásico con alimentación completa de 12V / 5V, el aparato no muestra ningún LED iluminado. Introduzca una pila en el 1er compartimento. El 1er LED parpadea, indicando el proceso de carga. Haga lo mismo con otras baterías y verá una luz encendida a medida que las baterías (ver esquema) reciben sus impulsos de carga sucesivamente. Hay un breve vídeo adjunto a este artículo.
3. cuando una batería está cargada, el LED asociado se apaga y la batería puede retirarse, incluso si otras baterías todavía se están cargando. Ahora se puede insertar otra batería en lugar de la batería completamente cargada y el ciclo comienza de nuevo.
Resultados prácticos
En primer lugar, se comprobó la resistencia interna de cada una de las pilas enumeradas a continuación con el comprobador de carga de pilas y, a continuación, se introdujeron en el refrescador alcalino. Puede ver los valores medidos y la duración del proceso de carga.
A continuación, se repitió la medición con el comprobador de aptitud de la pila/batería para visualizar la diferencia:
Ua [V] Ri[Ω]@10mA Tiempo de carga Ue [V] Ri[Ω]@50 mA
Batería #23 1,51 0,78 70 min 1,6 0,73
Batería #44 0,96 1,1 125 min 1,5 0,61
Batería nº 18 1,33 0,69 30 min 1,42 0,65
Ua es la tensión inicial de la batería a refrescar; Ri[Ω]@10mA es la resistencia interna a una carga máxima de 10 mA.
Ue es la relajación y Ri[Ω]@50 mA la resistencia interna, pero con una carga máxima de 50 mA.
Podemos ver en esta tabla (que por supuesto no proporciona ninguna estadística con tres entradas) que obviamente son las pilas "malas" como la #44 las que pueden experimentar una increíble "resurrección". Esto no es una garantía ni un "milagro", pero se ha demostrado una y otra vez en unas 25 pruebas. En este ejemplo, ¡la resistencia interna se ha reducido a la mitad!
He cargado intencionadamente las baterías con sólo 10 mA durante la prueba inicial porque, de lo contrario, es posible que la prueba no se ejecute hasta el final. Recordará que el comprobador de la aptitud de las baterías aumenta la carga en 10 pasos. Si va directamente a "50 mA de carga máxima", es posible que el dispositivo bajo prueba no pueda suministrar esta corriente en absoluto y la medición se "atascará". Por lo tanto, empiece con 10 mA para la primera prueba.
Una vez renovada la pila, se prueba con una corriente 5 veces superior: 50 mA. Si una batería no puede soportar esto, lo mejor es depositarla en la caja de eliminación.
Por cierto, ¡el #44 procede de esta caja de eliminación! Me sorprendió cómo se podía refrescar esta pila, mientras que en el #23, por ejemplo, se puede ver un efecto, pero no era grandioso.
#18 sólo se refrescó durante 30 minutos como prueba para ver qué efecto se podía conseguir. Por supuesto, no se alcanzó la tensión final de 1,65 V. Estaba claro de antemano que la batería no estaba agotada, pero que sólo era posible un efecto parcial. Los resultados lo demuestran.
Excurso: ¿Cómo se construyen las pilas alcalinas? ¿Qué proceso químico suministra la electricidad?
Como soy físico y no químico, he hecho algunas "lecturas inteligentes". Aquí en pocas palabras:
Las reacciones químicas (simplificadas) son las siguientes:
Ánodo (oxidación, zinc lösí mismo): Zn + 2 OH- → ZnO + H2O + 2 e-
Cátodo (reducción, MnO2 reacciona): 2 MnO2 + H2O + 2 e- → Mn2O3 + 2 OH-
Reacción total (simplificada): Zn + 2 MnO2 → ZnO + Mn2O3
El electrolito alcalino (KOH) proporciona un hömayor densidad energética y mejor potencia, incluso a temperaturas más bajas, que las antiguas pilas de zinc-carbono.
MnO2 como material catódico ermöLa tensión de descarga permanece estable hasta queöping del zinc.
—
Este diagrama ilustra a grandes rasgos el proceso de oxidación y reducción que tiene lugar en la célula. Evidentemente, es posible utilizar los impulsos de corriente para eliminar los depósitos que impiden el paso de la corriente y aumentar así la superficie de reacción, que suministra la corriente y reduce la resistencia interna en caso necesario. Esto significa que una mayor parte del material restante en la célula está disponible para participar en un proceso redox. Así es más o menos como yo entiendo las explicaciones de los expertos más competentes y familiarizados con el tema. ¡Ninguna garantía!
Al fin y al cabo, me parece interesante lo bien que funciona en la práctica y lo fácil que es.
Las Navidades han vuelto a traer una serie de pilas supuestamente agotadas que alimentaban algún tipo de iluminación. Ahora, después de refrescarlas, estoy volviendo a poner estas pilas en aparatos que no tienen un consumo de energía tan elevado, es decir, que no necesitan hacer funcionar motores, etc.
Esta es otra experiencia de lidiar con la renovación de la batería: La segunda vida debe ser más suave que la primera. En otras palabras: Si la batería ha trabajado "hasta el agotamiento" en una luz con una carga continua de 50 mA, entonces recomiendo para el segundo uso, por ejemplo, un reloj despertador con una pantalla LCD que sólo necesita 1 ... 5 mA.
¿Y qué pasa con otras pilas? ¿Aquí sólo se renuevan las pilas AA?
En general, el procedimiento es adecuado para cualquier pila alcalina con una tensión nominal de 1,5 V. Para las pilas AAA, la resistencia de carga debe aumentarse a 100 Ω. No he probado las AAAA.
Las pilas de botón no se pueden cargar.
Con pilas de tamaño C o D, el proceso de carga sólo tarda un poco más que con pilas AA, por ejemplo.
Otra nota: Puede haber baterías que ya no alcancen la tensión final de 1,65 V. En este caso, el proceso de carga no finalizará automáticamente. En este caso, el proceso de carga no finalizará automáticamente. Cuando hablemos de la integración del Asistente en Casa en la Parte 2, esta situación se resuelve con un temporizador en el HA que puedes configurar.
Conclusión
Hemos aprendido una técnica que reduce nuestras compras de pilas y ayuda un poco al medio ambiente. Sólo por eso ya merece la pena el esfuerzo. También hemos aprendido algo nuevo.
En la Parte 2, aprenderás cómo funciona la conexión con el Asistente Domiciliario.
Hasta entonces, espero sus preguntas, ideas y comentarios. No dude también en contarme sus experiencias prácticas con el dispositivo.
Atentamente
Michael Klein







17 comentarios
Bernd-Steffen
Hallo Herr Klein, sehr schönes Projekt, was ich auch schon nachgebaut habe! Leider fehlen hier im Blog zwei wichtige Unterprogramme, ohne die sowohl Teil 1 als auch Teil2 nicht funktionieren: Messungen.ino und Tabellenoutput.ino !
Damit gibt es auch keine Compilierfehler mehr und das Ganze funktioniert super!
Paul Fried
Sehr schönes Projekt! Gibt es dazu einen Bausatz?
Lars Sternkopf
Hallo, das Projekt ist interessant, aber unvollständig. Wo ist der Code für die Funktion messungen() und printTable() ? Ein lesbarer Schaltplan (PDF mit vernünftiger Auflösung) wäre auch hilfreich.
Aber scheinbar wird das hier nicht mehr gepflegt (siehe Kommentar von Karl-Heinz Lippert).
Lars Sternkopf
Hallo, gibt es den Schaltplan auch in etwas höherer Auflösung?
Edwin Jonkman
Ich habe eine Frage zur sketch. In der sketch (und der Erklärung) wird auf die Funktion „messungen();“ verwiesen, diese ist aber nirgends aufgeführt. Könnten Sie mir bitte sagen, was hier falsch ist?
hypertrax
Mmmh….
Erstmal… ja, interessantes Projekt… aber….
1.) Fehlerhafte BOM: Sie geben im Schaltplan als auch im Text an das ein Step-Down Wandler LM2506 verwendung finet um die 5V für den D1 zur Verfügung zu stellen.
Im Text heist es dazu “Zitat -:Die Stromversorgung des Mikroprozessors erfolgt über einen LM 2596 – StepDown Converter, der im AZ-Board MT3608 verbaut ist”
Soweit ich das aber sehe ist das MT3608-Board doch ein “STEP-UP-Modul”
Obendrein führt auch der Link ganz am Anfang des Blog zu diesem Step-UP-Modul MT3608. Meines erachtens müsste hier doch eher auf das Step-Down-Modul “LM2596S”
verwiesen werden. (im Schaltplan ist imm übrigen der “richtige” “LM2596S” dargestellt.
2.) Im Schaltplan is ganz links ein Bauteil mit der Kennzeichnung V1 dargestellt ohne weitere Angaben. Was soll das denn sein? Und… Die Beschaltung kann doch wohl so auch nicht richtig sein da an dem “unteren Beinchen” sowohl “PWR_FLAG” als auch “GND” anliegen soll ??? Da PWR_FLAG aber oben am Step-Down-Modul die +12V abgreift würde das doch zu einem Kurzschluss führen! (oder sollen diese “PWR_FLAG” irgendwelche Messpunkte darstellen ?)
Wenn dieses “V1” Bauteil aber die exteren Spannungsversorgung darstellen soll, so müsste da doch da der “Abgang” auf “+12V Vdd” gehen und nicht wie gezeichnet auf “+5V Vdd” – Oder aber die Schaltung soll denn doch mit 5V Betriebsspannung versorgt werden, dann aber wäre wiederum der Rest falsch weil dann ja in der Tat ein STEP-UP MT3608 zur Erzeugung der +12V benötigt würde….
Alles recht verwirrend… Irgendwie passt das alles nicht so recht zusammen….
roompi
irgendwie stimmt hier etwas nicht – hast Du einen WeMos D1 mini verwendet oder einen ESP32? Wenn ein D1 mini, dann ist es aber ESP8266 und kein ESP32. Und die Pins hauen damit auch nicht hin.
Leif Ljungström
Sehr interessantes Projekt. Ich bin an Leiterplatten interessiert, falls Sie dies entwickeln werden. Mit freundlichen Grüßen,
Leif Ljungström
Karl-Heinz Lippert
Hallo, im Sketch fehlt die Funktion “void messungen()” …
So kann das Ganze nicht funktionieren.
Ich bin noch im theoretischen Teil – aber das sollte auffallen.
Viele Grüße
Michael Klein
DEN RICHTIGEN BOARDMANAGER WÄHLEN.
Bitte, benutzen Sie „ESP32 Dev Module“. Damit läuft der Compiler problemlos.
Viele Grüsse
Michael Klein
Michael
Wirklich ein sehr tolles und interessantes Projekt.
Es hat mich auch schon immer extremst gestört, dass man soviele Batterien entsorgt und
dann einfach eine neue aus der Verpackung nimmt.
Vor Deinem Bericht war mir allerdings nicht bewusst, dass man alte Alkaline Batterien wieder beleben kann vielen.
Danke für Deine Aufklärung.
Viele Grüße
Michael
Kurt Grunwald
Guten Tag, erstmal danke für die prima Arbeit.
Bei dem obigen Programm bekomme ich beim Kompilieren einen Fehler.
Kann das sein, das ich das falsche Board angegeben habe? oder läuft das Progrmm nicht mit der alten Arduino IDE? Vielleicht können Sie das einzustellende Board im Boardverwalter mit angeben.
Vielen Dank.
Arduino: 1.8.19 (Windows 7), Board: “WEMOS D1 MINI ESP32, 80MHz, Default, 240MHz (WiFi/BT), 921600, None, Disabled”
C:\-MEINE\arduino-1-8-19\arduino-builder -dump-prefs -logger=machine -hardware C:\-MEINE\arduino-1-8-19\hardware -hardware C:\-MEINE\arduino-1-8-19\portable\packages -tools C:\-MEINE\arduino-1-8-19\tools-builder -tools C:\-MEINE\arduino-1-8-19\hardware\tools\avr -tools C:\-MEINE\arduino-1-8-19\portable\packages -built-in-libraries C:\-MEINE\arduino-1-8-19\libraries -libraries C:\-MEINE\arduino-1-8-19\portable\sketchbook\libraries -fqbn=esp32:esp32:d1_mini32:FlashFreq=80,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none -ide-version=10819 -build-path C:\Users\PcM\AppData\Local\Temp\arduino_build_225214 -warnings=none -build-cache C:\Users\PcM\AppData\Local\Temp\arduino_cache_837457 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.openocd-esp32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.openocd-esp32-v0.12.0-esp32-20250707.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.mklittlefs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mklittlefs-4.0.2-db0513a.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mkspiffs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 prefs=runtime.tools.mkspiffs-0.2.3.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.xtensa-esp-elf-gdb.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 prefs=runtime.tools.xtensa-esp-elf-gdb-16.3_20250913.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 -prefs=runtime.tools.esp-rv32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 -prefs=runtime.tools.esp-rv32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 prefs=runtime.tools.dfu-util.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 -prefs=runtime.tools.dfu-util-0.11.0-arduino5.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 prefs=runtime.tools.esp-x32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esp-x32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esptool_py.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptool_py\5.1.0 prefs=runtime.tools.esptool_py-5.1.0.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptoolpy\5.1.0 -prefs=runtime.tools.riscv32-esp-elf-gdb.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.riscv32-esp-elf-gdb-16.320250913.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.esp32-arduino-libs.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -prefs=runtime.tools.esp32-arduino-libs-idf-releasev5.5-9bb7aa84-v2.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -verbose C:\MEINE\arduino-1-8-19\portable\sketchbook\AlkalineAuffrischen12Teil1final\AlkalineAuffrischen12Teil1final.ino
C:\-MEINE\arduino-1-8-19\arduino-builder -compile -logger=machine -hardware C:\-MEINE\arduino-1-8-19\hardware -hardware C:\-MEINE\arduino-1-8-19\portable\packages -tools C:\-MEINE\arduino-1-8-19\tools-builder -tools C:\-MEINE\arduino-1-8-19\hardware\tools\avr -tools C:\-MEINE\arduino-1-8-19\portable\packages -built-in-libraries C:\-MEINE\arduino-1-8-19\libraries -libraries C:\-MEINE\arduino-1-8-19\portable\sketchbook\libraries -fqbn=esp32:esp32:d1_mini32:FlashFreq=80,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none -ide-version=10819 -build-path C:\Users\PcM\AppData\Local\Temp\arduino_build_225214 -warnings=none -build-cache C:\Users\PcM\AppData\Local\Temp\arduino_cache_837457 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.openocd-esp32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.openocd-esp32-v0.12.0-esp32-20250707.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.mklittlefs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mklittlefs-4.0.2-db0513a.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mkspiffs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 prefs=runtime.tools.mkspiffs-0.2.3.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.xtensa-esp-elf-gdb.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 prefs=runtime.tools.xtensa-esp-elf-gdb-16.3_20250913.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 -prefs=runtime.tools.esp-rv32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 -prefs=runtime.tools.esp-rv32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 prefs=runtime.tools.dfu-util.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 -prefs=runtime.tools.dfu-util-0.11.0-arduino5.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 prefs=runtime.tools.esp-x32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esp-x32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esptool_py.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptool_py\5.1.0 prefs=runtime.tools.esptool_py-5.1.0.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptoolpy\5.1.0 -prefs=runtime.tools.riscv32-esp-elf-gdb.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.riscv32-esp-elf-gdb-16.320250913.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.esp32-arduino-libs.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -prefs=runtime.tools.esp32-arduino-libs-idf-releasev5.5-9bb7aa84-v2.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -verbose C:\MEINE\arduino-1-8-19\portable\sketchbook\AlkalineAuffrischen12Teil1final\AlkalineAuffrischen12Teil1final.ino
Using board ‘d1_mini32’ from platform in folder: C:\-_MEINE\arduino-1-8-19\portable\packages\esp32\hardware\esp32\3.3.5
Using core ‘esp32’ from platform in folder: C:\-_MEINE\arduino-1-8-19\portable\packages\esp32\hardware\esp32\3.3.5
cmd /c if exist “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\partitions.csv” COPY /y “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\partitions.csv” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv”
cmd /c if not exist “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv” if exist “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\partitions.csv” COPY “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\partitions.csv” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv”
cmd /c if not exist “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv” COPY “C:\\-_MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\tools\\partitions\\default.csv” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv”
cmd /c IF EXIST “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\bootloader.bin” ( COPY /y “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\bootloader.bin” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\Alkaline_Auffrischen_1_2_Teil_1_final.ino.bootloader.bin” ) ELSE ( IF EXIST “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\bootloader.bin” ( COPY “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\bootloader.bin” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\Alkaline_Auffrischen_1_2_Teil_1_final.ino.bootloader.bin” ) ELSE ( “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\tools\\esptoolpy\\5.1.0\\esptool.exe” —chip esp32 elf2image —flash-mode dio —flash-freq 80m —flash-size 4MB -o “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\Alkaline_Auffrischen_1_2_Teil_1_final.ino.bootloader.bin” “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.5-9bb7aa84-v2\\esp32\\bin\\bootloader_dio80m.elf” ) )
[PYI-708:ERROR] Failed to load Python DLL ‘C:\Users\PcM\AppData\Local\Temp\_MEI14282\python313.dll’.
LoadLibrary:
exit status -1
Fehler beim Kompilieren für das Board WEMOS D1 MINI ESP32.
Walter Wengler
Hallo Michael,
ich finde dieses Projekt sehr spannend, da ich selbst jede Menge Geräte im Smarthome Bereich habe, die AA Batterien benötigen. Ich freue mich schon auf zweiten Teil Ihres Blog.
Viele Grüße
Walter
Festus
Prima
Schönes Projekt. Obwohl nichts “passieren” kann sollte der Aufbau des Gerätes doch feuerhemmend erfolgen. Sehr gut gefällt mir die geringe Größe und die Übersichtlichkeit des Programms.
Ulrich
Die Funktion erinnert mich an die 80-er Jahre im Osten. Kollegen mit “West”-Verwandschaft bekamen Digitaluhren geschickt, solche “LR/AG” Knopfzellen gabs damals nicht.
Wir haben die Batterien aufgefrischt mit Einweggleichrichtung und über Widerstand mit kleiner negativen Gegenspannung. Danach liefen manche Uhren noch Monate.
Alex
Der code meldet mehrere Fehler!! Habe Chatgpt dazu gefragt und es hat den code überarbeitet, jetzt keine Fehlermeldungen beim Compilen !! Das Thema interessiert mich, weil zur Weihnachtszeit wieder viele Batterien zusammen kamen !!
taskkill
Könnten Sie auch ein Foto der Leiterplatte mit einbinden ?