Desde hace un año estoy trabajando en un osciloscopio USB como proyecto de fin de carrera para obtener el título de Ingeniero en Electrónica. Hoy ese proyecto llegó a su fin. Y puedo decir felizmente que logramos un prototipo funcional.
El prototipo posee 2 canales de 8 bit y es capaz de capturar hasta 8 millones de muestras por segundo (MSPS) con la posibilidad de extenderlo fácilmente a 40 MSPS. Su diseño está basado en un microprocesador central y varios componentes (controlados por dicho procesador) para llevar a cabo la tarea de captura. El microprocesador pertenece a la popular familia de procesadores PIC de Microchip, en particular a la línea PIC18F que constan de un controlador USB incorporado.
Entre los componentes se encuentra un conversor analógico digital (para la digitalización de datos), una memoria SRAM (para usar de buffer) y contadores de 8-bit (para direccionar la memoria).
Además de la especificación y construcción del hardware, el proyecto contiene también el diseño e implementación del firmware (programa que corre en el PIC para controlar los componentes), software (interfaz gráfica que corre en la PC para controlar el osciloscopio) y el protocolo utilizado para comunicarse entre ellos.
La página del proyecto ya contiene toda la documentación final revisada para los que quieran leer, aprender o incluso extender el osciloscopio, puesto que todo el proyecto está liberado bajo licencias de libre distribución (concretamente, GPL y FDL).
Un amigo español ya se ha ofrecido para fabricar los PCB de la placa por lo que tengo plena confianza en que este proyecto puede ser adoptado y mejorado por algún hobbista. Soy consciente de que ello requiere una buena documentación y he puesto todo mi esfuerzo para que asi sea.
Sin ir más lejos, a mi me encantaría seguir trabajando en el proyecto pues su etapa actual es la más divertida, pero lo veo poco viable debido a la falta de tiempo, capital y herramientas de trabajo (irónicamente, un osciloscopio).
Bueno, si les interesa pueden seguir leyendo sobre el tema en la página del proyecto: