Bit-banging er en teknik der kan anvendes i indlejrede systemer. Bit-banging er f.eks. at implementere seriel kommunikation i software, uden anvendelse af dedikeret hardware, som f.eks. en UART eller et skifteregister. En softwarerutine emulerer UART sendefunktionen ved at ændre det binære signal på et af mikrocontrollerens ben til bestemte tidspunkter. En modtagerfunktion implementeres ved at sample et af mikrocontrollerens ben til bestemte tidspunkter.

F.eks. kan et videosignal genereres på et ben, ved at anvende nogle få komponenter.

Det at anvende bit-banging bliver ofte opfattet som noget af et hack, men det er mere fleksibelt at anvende mikrocontrolleren til at kunne tale flere forskellige protokoller, med intet eller et minimum af ekstra hardware.

Der kan dog være nogle ulemper ved anvendelse af bit-banging. Normalt anvender en software emulations proces mere effekt end dedikeret hardware. Et andet muligt problem er at mikrocontrolleren er optaget det meste af tiden med at sample eller sende et sample til et ben, i stedet for at gøre noget andet nyttigt. Endnu et andet potentielt problem er, at det producerede signal, normalt har mere jitter eller glitches, hvis eller når mikrocontrollerens software gør noget andet. Hvis bit-banging softwaren er hardware interrupt drevent af signalet, kan det være et ikke-betydende problem.

Eksterne henvisninger redigér