¿Se puede usar la segunda MCU en UNO R3 para la emulación de teclado?


9

Siguiendo desde ¿Cuál es el segundo encabezado ICSP para Arduino Uno R3? Me preguntaba cómo se podría piratear esto para nuestra ventaja.

Por ejemplo, ¿podría reescribirse ese firmware para que UNO sea reconocido como entrada de mouse / teclado? ¿Podría hacerse esto después del proceso del gestor de arranque y dejar intacto el proceso de carga?

Dado el IO limitado, parece que sus funciones podrían ser limitadas. Además, no tengo idea de cuánto código hay disponible.


Como un extra a esta pregunta, siéntase libre de agregar otras ideas que podrían usarse mientras (en la medida de lo posible), dejando el ambiente arduino intacto. Es decir, ¿qué más se podría piratear para aumentar su funcionalidad?
Madivad

Su flash es demasiado pequeño para contener múltiples hacks, pero el sitio web de LUFA (vinculado en mi pregunta) tiene muchos hacks diferentes que son compatibles con el 16u2
TheDoctor

¿Demasiado pequeña? 16kB es mucho flash. Me sorprende que no se hayan quedado con el 8U2 como en el original (aunque puede haber problemas de disponibilidad).
Ignacio Vazquez-Abrams

Acabo de revisar Digi-Key y la diferencia de precio entre el 8U2 y el 16U2 es de aproximadamente $ 0.01. A ese precio, es obvio, incluso si no necesita el flash extra.
Ignacio Vazquez-Abrams

Esta pregunta se originó en un proyecto que vi el hackaday del año pasado, y un amigo y yo lo hemos estado discutiendo de vez en cuando. Acabo de encontrar esto (solo dos semanas): hackaday.com/2014/03/16/…
Madivad

Respuestas:


7

Sí, es posible. Con LUFA, puede grabar un nuevo firmware en el convertidor en serie. El único problema es que necesita volver a grabar el convertidor de serie USB para cargar otro programa.

Información: http://www.fourwalledcubicle.com/LUFA.php

Página específica: http://mitchtech.net/arduino-usb-hid-keyboard/


¿Hay más información sobre el firmware que existe en el segundo mcu? No he podido encontrar nada en él. Estoy seguro de que alguien en algún lugar lo ha pirateado específicamente. Personalmente, me encantaría ver el código. El énfasis (para mí) sería dejar en gran medida el ambiente intacto para permitir futuras actualizaciones. Lo que no creo que sea demasiado difícil de incorporar después de que no haya nada del IDE después del reinicio.
Madivad

@Madivad es un archivo de ensamblaje simple que convierte las señales USB en serie. Necesitas usar AvrDude para flashearlo.
TheDoctor

de uno de esos enlaces que encontré: arduino.cc/en/Hacking/DFUProgramming8U2 Busqué este tipo de información, obviamente términos de búsqueda incorrectos :) Gracias por sus enlaces Doc.
Madivad

3

El segundo MCU es similar al utilizado en el Leonardo, pero es más pequeño y menos capaz ( ATmega16U2 frente a ATmega32U4 ). Ciertamente es posible reprogramarlo para que haga lo que quiera, pero sus límites significan que puede tener menos "dispositivos" USB al mismo tiempo.

No he mirado el firmware existente, pero sin duda debería ser posible agregar su propio código personalizado para que tanto la conexión en serie normal a la MCU principal como su código adicional puedan coexistir.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.