Le 2e MCU de l'UNO R3 peut-il être utilisé pour l'émulation du clavier?

9

Dans la continuité de ce qu'est le deuxième en-tête ICSP dans Arduino Uno R3? Je me demandais comment cela pouvait être piraté à notre avantage.

Par exemple, ce micrologiciel pourrait-il être réécrit pour que l'UNO soit reconnu comme entrée souris / clavier? Cela pourrait-il être fait après le processus du chargeur de démarrage et laisser le processus de téléchargement intact?

Étant donné le nombre limité d'E / S, il semble que ses fonctions puissent être limitées. De plus, je n'ai aucune idée de la quantité d'espace de code disponible.

Madivad
la source
En plus de cette question, n'hésitez pas à ajouter d'autres idées pour lesquelles cela pourrait être utilisé (dans la mesure du possible), en laissant l'environnement Arduino intact. Autrement dit, quoi d'autre pourrait être piraté pour augmenter sa fonctionnalité?
Madivad
Son flash est trop petit pour contenir plusieurs hacks, mais le site Web de LUFA (lié dans ma question) a beaucoup de hacks différents qui sont compatibles avec le 16u2
TheDoctor
Trop petit? 16 Ko, c'est beaucoup de flash. Je suis surpris qu'ils ne respectent pas le 8U2 comme dans l'original (bien qu'il puisse y avoir des problèmes de disponibilité).
Ignacio Vazquez-Abrams
Je viens de vérifier Digi-Key et la différence de prix entre le 8U2 et le 16U2 est d'environ 0,01 $. À ce prix, c'est une évidence, même si vous n'avez pas besoin du flash supplémentaire.
Ignacio Vazquez-Abrams
Cette question est née d'un projet que j'ai vu sur hackaday l'année dernière, et un ami et moi en avons discuté de temps en temps depuis. Je viens de trouver cela (seulement deux semaines): hackaday.com/2014/03/16/…
Madivad

Réponses:

7

Oui c'est possible. en utilisant LUFA, vous pouvez graver un nouveau firmware sur le convertisseur série. Le seul problème est que vous devez re-graver le convertisseur USB-série pour télécharger un autre programme.

Infos: http://www.fourwalledcubicle.com/LUFA.php

Page spécifique: http://mitchtech.net/arduino-usb-hid-keyboard/

Le docteur
la source
Y a-t-il plus d'informations sur le firmware qui existe dans le 2ème MCU? Je n'ai rien trouvé dessus. Je suis sûr que quelqu'un quelque part l'a piraté spécifiquement. Personnellement, j'aimerais voir le code. L'accent (pour moi) serait de laisser largement l'environnement intact pour permettre un reflash futur. Ce qui, je pense, ne serait pas trop difficile à intégrer après qu'il n'y a rien de l'IDE après la réinitialisation.
Madivad
@Madivad c'est un simple fichier d'assemblage qui convertit les signaux USB en série. Vous devez utiliser AvrDude nu pour le flasher.
TheDoctor
à partir de l'un de ces liens que j'ai trouvé: arduino.cc/en/Hacking/DFUProgramming8U2 J'ai recherché ce genre d'informations, évidemment des termes de recherche erronés :) Merci pour vos liens Doc.
Madivad
3

Le deuxième MCU est similaire à celui utilisé dans le Leonardo, mais est plus petit et moins performant ( ATmega16U2 vs ATmega32U4 ). Il est certainement possible de le reprogrammer pour faire ce que vous aimez, mais ses limites signifient que vous pouvez avoir moins de "périphériques" USB en même temps.

Je n'ai pas regardé le firmware existant, mais il devrait certainement être possible d'y ajouter votre propre code personnalisé de telle sorte que la connexion série normale au MCU principal ainsi que votre code supplémentaire puissent coexister.

Ignacio Vazquez-Abrams
la source