No desenvolvimento de hardware, o uso de software reutilizável em substituição de componentes físicos pode ser uma última alternativa quando almejamos um menor custo na fabricação do projeto. Uma das maiores aliadas desse tipo de perspectiva de hardware de baixo custo é a velha técnica do Bit Bang (ou Bit Banging). Utilizando esta técnica é possível fazer nossos microcontroladores conversarem com protocolos como I2C, UART, SPI, USB, Ethernet, entre outros, sem a necessidade de um hardware específico para isso. Tudo feito por software.