Como fazer TDD com hardware

Todos os projetos em que trabalho fazem interface com uma peça de hardware e esse costuma ser o principal objetivo do software. Existem maneiras eficazes de aplicar o TDD ao código que funciona com o hardware?

Atualizar Desculpe por não ser mais claro com a minha pergunt

O hardware que uso é um captador de quadros que captura imagens de uma câmera. Eu então processo essas imagens, as exibo e as salvo em disco. Posso simular todo o processamento que ocorre depois que as imagens são capturadas usando imagens capturadas anteriormente que são armazenadas em disc

Mas é a interação real com o hardware que eu quero testar. Por exemplo, meu software lida corretamente quando não há uma câmera conectada, inicia e pára apropriadamente, etc. Mas isso está tão ligado ao hardware que não sei como testá-lo quando o hardware não está presente ou se eu deveria estar tentando fazer isso?

2ª Atualização: Também estou procurando alguns exemplos concretos de exatamente como as pessoas lidaram com essa situaçã

questionAnswers(7)

yourAnswerToTheQuestion