O 2º MCU no UNO R3 pode ser usado para emulação de teclado?

9

Na sequência do que é o cabeçalho ICSP 2 no Arduino Uno R3? Fiquei me perguntando como isso poderia ser hackeado em nosso proveito.

Por exemplo, esse firmware poderia ser reescrito para que o UNO fosse reconhecido como uma entrada de mouse / teclado? Isso poderia ser feito após o processo do carregador de inicialização e deixar o processo de upload intacto?

Dado o IO limitado, parece que suas funções podem ser limitadas. Além disso, não tenho idéia de quanto código há espaço disponível.

Madivad
fonte
Como um extra para essa pergunta, fique à vontade para adicionar outras idéias que possam ser usadas enquanto (na medida do possível), deixando o ambiente do arduino intacto. Ou seja, o que mais poderia ser hackeado para aumentar sua funcionalidade?
Madivad 29/03/14
É o flash é muito pequeno para conter vários hacks, mas o site da LUFA (ligada na minha pergunta) tem um monte de diferentes hacks que são compatíveis com o 16u2
TheDoctor
Muito pequeno? 16kB é muito flash. Estou surpreso que eles não tenham aderido ao 8U2 como no original (embora possa haver problemas de disponibilidade envolvidos).
Ignacio Vazquez-Abrams
Acabei de verificar a Digi-Key e a diferença de preço entre o 8U2 e o 16U2 é de cerca de US $ 0,01. A esse preço, é óbvio, mesmo que você não precise do flash extra.
Ignacio Vazquez-Abrams
Essa pergunta surgiu de um projeto que vi no hackaday no ano passado, e um amigo e eu discutimos sobre isso desde então. Acabei de encontrar isso (apenas duas semanas): hackaday.com/2014/03/16/…
Madivad

Respostas:

7

Sim, é possível. usando LUFA, você pode gravar um novo firmware no conversor serial. O único problema é que você precisa regravar o conversor USB-Serial para fazer upload de outro programa.

Informações: http://www.fourwalledcubicle.com/LUFA.php

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

O médico
fonte
Há mais informações sobre o firmware que existe no segundo mcu? Não consegui encontrar nada sobre isso. Tenho certeza de que alguém em algum lugar o invadiu especificamente. Pessoalmente, eu adoraria ver o código. A ênfase (para mim) deixaria o ambiente em grande parte intacto para permitir uma reflexão futura. O que eu acho que não seria muito difícil de incorporar depois que não houver nada no IDE após a redefinição.
Madivad 29/03/14
@ Madivad é um arquivo de montagem simples que converte sinais USB em serial. Você precisa usar o AvrDude vazio para atualizá-lo.
TheDoctor
de um desses links que encontrei: arduino.cc/en/Hacking/DFUProgramming8U2 Procurei esse tipo de informação, termos de pesquisa obviamente errados :) Obrigado pelos links doe.
Madivad 29/03/14
3

O segundo MCU é semelhante ao usado no Leonardo, mas é menor e menos capaz ( ATmega16U2 vs. ATmega32U4 ). Certamente é possível reprogramar para fazer o que você gosta, mas seus limites significam que você pode ter menos "dispositivos" USB ao mesmo tempo.

Eu não observei o firmware existente, mas certamente deve ser possível adicionar seu próprio código personalizado a ele, de modo que a conexão serial normal ao MCU principal e seu código adicional possam coexistir.

Ignacio Vazquez-Abrams
fonte