En la primera entrega de lo que promete ser una serie completa, el canal BTTLab muestra cómo convertir un microcontrolador STM32F207 en un osciloscopio de un solo canal usando únicamente el conversor analógico-digital (ADC) que el chip ya trae integrado. El proyecto se puede seguir tanto en el video de YouTube como en el repositorio de GitHub de esta versión monocanal.

¿Hasta dónde llega un ADC integrado?
El ADC de un microcontrolador no compite con un conversor dedicado ni con el procesamiento sobre FPGA que llevan los equipos comerciales. Un Rigol DS1054Z, que es gama de entrada, alcanza 1 GSPS, mientras que el STM32F207 llega a 2 MSPS con resolución de 12 bits. Aun así, la cifra no es despreciable: para depuración de circuitos de baja frecuencia y de protocolos digitales, según Hackaday, ya resulta suficiente.
Vale la pena traducir esos números a lo que se ve en pantalla:
| Parámetro | STM32F207 (ADC interno) | Rigol DS1054Z |
|---|---|---|
| Frecuencia de muestreo | 2 MSPS | 1 GSPS |
| Diferencia | 1x | 500x |
| Resolución declarada | 12 bits (4.096 niveles) | no informada en el artículo |
| Techo teórico por Nyquist | 1 MHz | 500 MHz |
| Escalón mínimo sobre 3,3 V | unos 0,8 mV | no informado |
Los 2 millones de muestras por segundo dejan, por el criterio de Nyquist, un techo teórico de 1 MHz de señal reconstruible, y en la práctica se trabaja cómodo bastante por debajo de esa frecuencia. Los 12 bits, por su parte, reparten el rango de entrada en 4.096 niveles: sobre una escala de 3,3 V, cada escalón equivale a unos 0,8 milivoltios de resolución vertical.
¿Por qué la etapa de entrada es lo primero que hay que resolver?
Uno de los puntos que el video toca brevemente, y que en la práctica es el que decide si el proyecto sobrevive, es el front-end. Las entradas del ADC están especificadas para un rango de tensión concreto, típicamente de 0 a 3,3 V cuando el microcontrolador se alimenta a 3,3 V. Meter tensiones más altas o negativas en esa entrada no es una opción.
Ahí es donde medir algo como corriente alterna se vuelve delicado, advierte el artículo, y donde aparecen las liberaciones inesperadas de humo mágico. La etapa de entrada de un osciloscopio real existe justamente para eso: acondicionar, limitar y proteger antes de que la señal llegue al conversor.
Firmware portable a otras familias STM32
El firmware demostrado usa la capa de abstracción ST HAL, lo que en principio facilita portarlo a otros microcontroladores STM32. La advertencia es que el rendimiento del ADC cambia entre familias, y a veces incluso entre subfamilias, así que conviene leer la hoja de datos y el manual de programación antes de comprometerse con un chip determinado.
Para quien quiera replicarlo en la región, es un proyecto que encaja bien con lo que se consigue localmente: placas de desarrollo Nucleo de ST o clones compatibles con STM32, una protoboard y un divisor resistivo con diodos de protección para armar la etapa de entrada. El repositorio publicado permite partir desde el código que ya funciona en lugar de escribir la captura por DMA desde cero.




