Skip to content

ESP8266 BIOS Programmer v0.5.0-beta-3 - Critical Base64 Fix + Multi-Chip Support + pt-br

Latest

Choose a tag to compare

@AdaLoveLacer AdaLoveLacer released this 10 Oct 11:48
· 3 commits to main since this release

🚀 ESP8266 BIOS Programmer v0.5.0-beta-3


🇺🇸 ENGLISH VERSION

🔴 Critical Bug Fix

Fixed: 4001 bytes corruption in large file uploads
Root Cause: Three bugs in Base64 decoder (loop termination, padding handling, byte extraction)
Solution: Complete decoder rewrite with bit-accumulation algorithm
Result: ✅ 0% corruption in all tests (8MB files validated)

✨ What's New

🔍 Automatic Chip Detection

  • Identifies W25Q16/32/64/128/256 via JEDEC ID
  • Dynamic memory size adjustment (2MB to 32MB)
  • Displays chip name and capacity in interface

📈 Extended Chip Support

  • Now supports 8MB+ chips (up to 32MB)
  • Tested: W25Q64 (8MB), W25Q128 (16MB), W25Q256 (32MB)

📄 New File Format

  • Accepts .bss files (common BIOS format)
  • Automatic format detection - no conversion needed

🐛 Debug Improvements

  • Client-side console logs (F12 in browser)
  • Server-side serial monitor logs
  • Base64 chunk size tracking
  • Detailed error messages with hex dumps

📚 Bilingual Documentation

  • Complete English documentation (README.md)
  • Complete Portuguese documentation (README.pt-BR.md) 🇧🇷

⚡ Quick Start (3 Steps)

  1. Open esp8266_w25q32_programmer.ino in Arduino IDE
  2. Configure WiFi credentials (lines 15-16)
  3. Upload to ESP8266 and access IP address in browser

Web interface is embedded - no HTML files to upload!
No filesystem needed - everything works out of the box!

🔌 Hardware Requirements

  • ESP8266 board (NodeMCU, D1 Mini, etc.)
  • W25Qxx flash chip (any capacity)
  • 6 wires for SPI connection
  • Important: WP# and HOLD# pins must connect to 3.3V!

📊 Validation Results

  • ✅ W25Q32BV (4MB): 100+ successful uploads
  • ✅ W25Q64 (8MB): 50+ successful uploads
  • ✅ W25Q128 (16MB): 10+ successful uploads
  • ✅ 0% data corruption across all tests

⚠️ Safety Warnings

  • Always backup original BIOS before flashing
  • Stable power supply required during operation
  • Verify connections before starting (especially WP# and HOLD# to 3.3V)
  • High risk operation - can brick hardware if done incorrectly

🇧🇷 VERSÃO EM PORTUGUÊS

🔴 Correção de Bug Crítico

Corrigido: 4001 bytes corrompidos em uploads de arquivos grandes
Causa Raiz: Três bugs no decodificador Base64 (término de loop, tratamento de padding, extração de bytes)
Solução: Reescrita completa do decodificador com algoritmo de acumulação de bits
Resultado: ✅ 0% de corrupção em todos os testes (arquivos de 8MB validados)

✨ Novidades

🔍 Detecção Automática de Chip

  • Identifica W25Q16/32/64/128/256 via JEDEC ID
  • Ajuste dinâmico de tamanho de memória (2MB a 32MB)
  • Exibe nome e capacidade do chip na interface

📈 Suporte Estendido para Chips

  • Agora suporta chips 8MB+ (até 32MB)
  • Testado: W25Q64 (8MB), W25Q128 (16MB), W25Q256 (32MB)

📄 Novo Formato de Arquivo

  • Aceita arquivos .bss (formato comum de BIOS)
  • Detecção automática de formato - sem necessidade de conversão

🐛 Melhorias de Debug

  • Logs no console do cliente (F12 no navegador)
  • Logs no monitor serial do servidor
  • Rastreamento de tamanho de chunks Base64
  • Mensagens de erro detalhadas com dumps hexadecimais

📚 Documentação Bilíngue

  • Documentação completa em inglês (README.md)
  • Documentação completa em português (README.pt-BR.md) 🇧🇷

⚡ Início Rápido (3 Passos)

  1. Abra esp8266_w25q32_programmer.ino no Arduino IDE
  2. Configure credenciais WiFi (linhas 15-16)
  3. Faça upload para ESP8266 e acesse endereço IP no navegador

Interface web já está embutida - não precisa fazer upload de arquivos HTML!
Não precisa de sistema de arquivos - tudo funciona imediatamente!

🔌 Requisitos de Hardware

  • Placa ESP8266 (NodeMCU, D1 Mini, etc.)
  • Chip flash W25Qxx (qualquer capacidade)
  • 6 fios para conexão SPI
  • Importante: Pinos WP# e HOLD# devem conectar a 3.3V!

📊 Resultados de Validação

  • ✅ W25Q32BV (4MB): 100+ uploads bem-sucedidos
  • ✅ W25Q64 (8MB): 50+ uploads bem-sucedidos
  • ✅ W25Q128 (16MB): 10+ uploads bem-sucedidos
  • ✅ 0% de corrupção de dados em todos os testes

⚠️ Avisos de Segurança

  • Sempre faça backup da BIOS original antes de gravar
  • Fonte de alimentação estável necessária durante operação
  • Verifique conexões antes de começar (especialmente WP# e HOLD# em 3.3V)
  • Operação de alto risco - pode inutilizar hardware se feito incorretamente

📦 Package Contents / Conteúdo do Pacote