Este artigo mostra o que eu preciso para programar o CH552 (8051). É o artigo inicial da série de postagens sobre este pequeno microcontrolador. Aqui vou te mostrar tudo que você precisa instalar para programar o pequeno e poderoso CH552.
Em termos de comprar, você só precisa mesmo do CH552 (que pode ser adquirido baratinho no Aliexpress (aqui) ou (aqui)). É um microcontrolador baseando no antigo e saudoso 8051, por isso é bem barato e fácil de usar.

Esta pequena plaquinha é feita pela WeAct Studio e custa em torno de US$2,50 no Aliexpress. Isto no momento da escrita deste artigo, em Abril de 2026. Vamos inicialmente falar sobre as características técnicas deste pequeno chip, logo abaixo.
Características técnicas
o microcontrolador Ch552 é feito pela fabricante Chinesa Nanjing Qinheng microelectronics, seu datasheet pode ser obtido neste link. Eu recomendo fortemente você baixar o datasheet, vai ser útil ao longo da série de artigos.
O chip CH552DS1 tem as especificações descritas na tabela abaixo. A primeira coisa que devemos notar é a presença de um periférico USB. É super importante por dois motivos:
- Nos 8051 originais não haviam portas USB (estamos falando dos anos 1970/80).
- Este periférico permite a gravação do chip (código do usuário) pela USB, super conveniente. Esta para mim é a melhor parte deste chip.

Um detalhe interessante é a quantidade de memória de programa, neste caso a ROM. O Ch552 possui 16kB, metade daquela que o Arduino implementa. Em termos de memória RAM (memória volátil de execução), temos 1280 bytes, um pouco mais da metade do que o Arduino UNO possui (2kB).
Isto significa que não ppdemos abusar muito em termos de tamanho de código, temos que ser conscientes no uso de váriáveis, etc, sob o risco de ficar sem espaço. Porém se formos comparar o Ch552 com o Attiny85, o mesmo possui o dobro de memória de programa e RAM em relação ao pequeno chip da ATMEl.
Se já dá pra fazer milagres com o Attiny85, imagina com o Ch552!. Ele possui ainda três Timers (vamos aprender a usa-los), 2 portas UART (uma pela USB e outra em dois pinos separados), porta SPI e conversor ADC. O conversor ADC possui ainda função de comparador, muito útil em algumas aplicação.
Finalmente temos hardware de entrada touch (sensor/botão de toque capacitivo). É um toque especial, já que hardware muito melhores e mais atuais (olhando para você, STM32) ainda não possuem este tipo de ferramenta.
O que eu preciso instalar?
Para programar o CH552 são necessárias quatro ferramentas principais, pelo menos da forma que eu vou mostrar aqui. Faremos tudo através de editor de texto (Visual Studo code) e linha de comando. Significa que você vai abrir o CMD do seu Windows (a famosa tela de comando preta) e fazer tudo por lá, compilação e gravação.
Importante: eu tive muita ajuda de inteligências artificiais durante este processo de aprendizado do Ch552. Usei o ChatGPT, Claude.ai, Microsoft Copilot e Google Gemini, cada uma contribuiu de uma forma. Incluside o script em Python usando para automatização toda a compilação/gravação do chip fo feito por inteligência artificial.
As ferramentas utilizadas foram:
- Visual Studio Code. Você pode usar qualquer editor de texto, até mesmo o Notepad do Windows,
- Python instalado na máquina. Não é necessário mas eu quis automatizar todo o processo, então é útil. Basta um comando no CMD que o Python faz tudo para você, desde compilar, linkar e gravar o chip. Eu usarei máquina Windows para esta série de artigos,
- Compilador SDCC,
- Gravador Chprog.
Vamos então á instalação dos softwares necessários. Nem vou comentar sobre o Visual Studio code, visto que ele não é extremamente necesário. Vamos começar com o compilador, SDCC. Baixe e instale o compilador SDCC deste link. Após a instalação é necessário adicionar a pasta onde o mesmo está instado ao PATH do sistema. Ou seja, às variáves de ambiente.
Geralmente o local de instalação do SDCC é “C:\Program Files\SDCC\bin”. Então abra o menu do Windows e digite “path”, ou então “editar variáveis de ambiente do sistema”.
Na janela que abrir, em “avançado (1)” clique em “variáveis de ambiente.. (2)” e então na parte inferior da janela em “variáveis do sistema (3)” localize “Path (4)”. Clique sobre o texto e então no botão “Editar… (5)”. Clique em “novo (6)” e digite “C:\Program Files\SDCC\bin” ou outro local onde seu SDCC foi instalado.

Então clique me “OK” nas três janelas abertas, fechando-as (8a, 8b, 8c). Agora vamos à instalação do gravador Chprog. Entre no Github oficial e baixe o arquivo, descompacte o arquivo em um local conhecido. Eu descompactei o meu em “C:\Users\Clovisf\Documents\chprog”. Adicione este endereço ao Path (variáveis de ambiente do sistema) seguindo o mesmo procedimento da image acima. Deve ficar similar à imagem abaixo.

A ferramenta de automação
Para facilitar o fluxo de testes e desenvolvimento para programar o CH552, e pedi à inteligência artificial criar um script em Python. Ele vai pegar o arquivo “.c” que é nosso código fonte, compilar, converter para “.bin” e gravar no microcontrolador.
Então necessáriamente para este processo você precisa do Python instalado na sua máquina, e adicionado ao Path (variáveis de ambiente). Esta é uma opção que deve ser marcada na hora de instalar o Python.
O repositório oficial do projeto, onde está tudo que desenvolvi e que você precisa, está aqui. O arquivo em Python pode ser baixado diretamente daqui. Eu criei uma pasta dentro dos meus Documentos para o projeto, em “C:\Users\Clovisf\Documents\ch552”; sugiro que você faça algo similar. Salve o arquivo Python “build_flash.py” diretamente nesta pasta.
A estrura de pastas necessária
Como todo bom desenvolvedor, você deve ser organizado. Isto inclui as pastas e suas estruturas, onde você vai salvar e mexer nos seus projetos. Conforme comentei, eu criei a pasta “C:\Users\Clovisf\Documents\ch552” onde vou salvar tudo que usarei nestes tutoriais do Ch552.

Veja na imagem acima a estrutura que criei. O arquivo de include com as definições do microcontrolador Ch552 está dentro da pasta “inc”. Cada periférico ou parte implementada está dentro de sua própria pasta, como “mpu9250”, “serial_print” e “spi”. Esta estrutura é MUITO importante para o script em Python da compilação e gravação funcionar.
O hardware
Agora que já temos as pastas criadas e os software necessários instalados (e adicionados ao Path), podemos pensar no hardware usado e seus detalhes.
Conforme comentado, usaremos o microcontrolador Ch552 da WeAct studio, cujas informações estão neste link. Tudo que você precisa para programa-lo está no link fornecido, porém de uma forma específica (com as ferramentas oficiais da Nanjing). Utilizaremos outra forma, via linha de comando, para isso veja os capítulos anteriores.
Tudo que precisamos para o andamento, aprendizado e programar o Ch552 é uma protoboarda de 400 furos e alguns outros componentes, listados abaixo:

- Uma protoboard 400 furos ou maior.
- Um LED 3mm ou 5mm, qualquer cor. Um resistor entre 220 Ohm e 1k Ohm para o LED.
- Um Potenciômetro de uma volta ou multivoltas, com valor entre 1k Ohm e 100k Ohm.
- Um Push button (botão) 6x6mm, mas pode também ser 12x12mm ou qualquer outro, desde que tenha um contato aberto (NA/NO).
- Um sensor que funcione via protocolo SPI. No meu caso usei o MPU-9250, acelerômetro e giroscópio.
- Alguns resistores para fazer um divisor resistivo para teste do comparador analógico. Por exemplo dois resistores de 4k7 Ohm ou dois de 10k Ohm.
- Um conversor USB para serial, como por exemplo o FT232 ou CH340. Precisa apenas ter RX, TX e GND.
O experimento inicial
Da forma que a placa vem do fornecedor, no meu caso Aliexpress, é necessário primeiro mudar o modo como sua porta USB funcionar (ou como aparece para o computador). Para isso baixe o software Zadig deste link.
Para executar o software, selecione “executar como administrador”. Já dentro do software e com a placa ainda desconectada da porta USB, primeiro clique no menu “Options” e marque “List all devices”. Então em “Driver” selecione no menu “libusb-win32”. Na placa do Ch552, clique e segure apertado o botão BOOT. Então conecte seu cabo USB ao computador.
Solte o botão BOOT. No menu suspenso selecione a placa Ch552, vai provavelmente aparecer como “USB module”. Clique sobre ele.

Neste momento você tem apenas alguns segundos para apertar o botão “Replace driver”. Faça isso aguarde: vai aparecer uma mensagem de “installing driver”. Podem ser necessárias várias tentativas até obter sucesso, eu mesmo tentei várias vezes. Use um cabo “USB C” de boa qualidade, isto pode influenciar no resultado.
- Dica 1: caso nada funcione, pressione e segure o botão BOOT o tempo todo, até o fim do processo. Pode durar uns 2 minutos.
- Dica 2: o processor acima de trocar o driver com o software Zadig pode ser necessário diversas vezes. Em minha experiência o microcontrolador “se perde” de tempos em tempos.
Para o experimento inicial, vamos piscar o LED onboard da placa. Ele vem montado na placa Ch552 da WeAct, conectado do pino P3.0. O Código está abaixo, usa interrupção de timer. Não se preocupe em entende-lo agora, vamos apenas usa-lo para testar o setup. Depois vem o entendimento.
O fluxo é o seguinte:
- Salve o código abaixo como “blink-basic-timer.c” usando seu editor de texto favorito. Salve-o dentro da pasta criada anteriormente (no meu caso “C:\Users\Clovisf\Documents\ch552”).
- Entre na linha de comando do Windows (tela preta), digitando “cmd” após apertar o botão do menu do Windows.
- Navege até a pasta citada, digitando “cd C:\Users\Clovisf\Documents\ch552”
- A placa do microcontrolador Ch552 deve estar DESCONECTADA da porta USB do computador.
- Digite exatamente este comando: “python build_flash.py blink-basic-timer.c”
Algo parecido à imagem abaixo deve ser executado. Neste momento vem o procedimento de colocar a placa Ch552 em modo BOOT. Para isto, pressione e segure pressionado o botão BOOT da placa. Com o botão pressionado, insira o cabo USB na placa e no computador. Então solte o botão BOOT.

Após conecta a placa na USB segurando botão BOOT, na linha de comando pressione “ENTER”. A gravação será executada rapidamente, conforme imagem abaixo. Então o LED começará a piscar.

A partir deste momento o LED onboard no pipno P3.0 começará a piscar. Você pode remover o cabo USB e recolocar, o programa será sempre executado.
Resultado final e próximos passos
Fiz um video ilustrando todo processo inicial desta postagem, veja no início do artigo. Nos próximos passos e postagens vamos começar a falar dos periféricos, como timer, UART, SPI, etc. Lembrando que se você quiser adquirir a plca Ch552, use meus links do Aliexpress (aqui) ou (aqui).





