Se a sua tarefa é "escrever um dispositivo de caractere", isso provavelmente significa que você deve escrever um driver de dispositivo que se comunica com o dispositivo (da maneira que achar melhor) e se apresenta como algo semelhante ao /dev/ttyACM0
device.
Acredito que seu professor possa ter pensado na solução dos alunos do ano passado de usar /dev/ttyACM0
como um truque.
Em um curso de programação de sistema, a solução pretendida provavelmente seria algo como escrever um driver de dispositivo que localiza o Arduino no barramento USB e cria um dispositivo de caractere. Quando o dispositivo é aberto no espaço do usuário, o driver deve enviar URBs USB do tipo apropriado (leia a documentação do Arduino!) Para o Arduino e coletar as respostas e apresentar os dados das respostas de uma forma útil (ou seja, com o protocolo USB enquadramento despojado) para o espaço do usuário ler o dispositivo de caractere.
Em seguida, será necessário um pequeno componente de espaço do usuário para abrir o dispositivo e gravar a saída em um arquivo (talvez apenas uma regra udev
que execute algo como cat /dev/YOURDEVICE > /var/log/YOURLOGFILE
quando o dispositivo for exibido).
Mas isso é algo que você deve perguntar ao seu professor.