Bit-biting odnosi się do koncepcji generowania / próbkowania sygnałów wychodzących lub wchodzących do urządzenia przez oprogramowanie, a nie sprzęt. Oczywiście wymagany jest sprzęt, ale w przypadku korzystania z bit-bangingu jedynym sprzętem dla każdego wyjścia jest zatrzask, który można jawnie ustawić lub wyczyścić za pomocą oprogramowania, a jedynym sprzętem dla każdego wejścia jest interfejs umożliwiający oprogramowaniu sprawdzenie, czy jest high lub low (i zazwyczaj wykonują gałąź warunkową dla jednego stanu, ale nie dla drugiego).
Maksymalna prędkość, którą można osiągnąć dzięki bitbangowaniu, będzie na ogół ułamkiem tego, co można osiągnąć za pomocą specjalnie zbudowanego sprzętu, ale poza ograniczeniami wynikającymi z szybkości procesora, bitbanging jest znacznie bardziej wszechstronny i może być stosowany w okolicznościach gdzie sprzęt ogólnego przeznaczenia nie jest całkiem odpowiedni, a sprzęt specjalnego przeznaczenia nie byłby opłacalny.
Na przykład wiele kontrolerów ma port „w stylu SPI”, który zachowuje się zasadniczo w następujący sposób: gdy bajt jest zapisywany w pewnym rejestrze, sprzęt generuje pewną liczbę impulsów zegarowych (zwykle osiem), odliczając bit danych na zbocze narastające każdego impulsu zegarowego i próbkowanie przychodzącego bitu danych na zboczu opadającym. Zasadniczo porty w stylu SPI kontrolerów umożliwiają konfigurację różnych funkcji, ale w niektórych przypadkach może być konieczne połączenie procesora z urządzeniem, które robi coś niezwykłego. Urządzenie może wymagać przetwarzania bitów danych w wielokrotnościach innych niż osiem, może też wymagać, aby dane były zarówno wyjściowe, jak i próbkowane na tym samym zboczu zegara, lub może mieć inne nietypowe wymagania. Jeśli konkretny sprzęt kontrolera, którego używasz, może spełnić twoje dokładne wymagania, świetny (niektóre zapewniają konfigurowalną liczbę bitów, osobno konfigurowalne taktowanie nadawania i odbierania itp.) Jeśli nie, pomocne może być wybijanie bitów. W zależności od kontrolera, bit-bifting interfejsu SPI często zajmuje 2-10 razy tyle, ile pozwala sprzętowi na jego obsługę, ale jeśli wymagania nie pasują do posiadanego sprzętu, wolniejsza wymiana danych może być lepsza niż w ogóle nie mogąc tego zrobić.
Jedną ważną rzeczą, na którą należy zwrócić uwagę w przypadku projektów bitowych, jest to, że są one najprostsze i najbardziej niezawodne w okolicznościach, w których albo komunikowane urządzenia czekają na kontrolerze bitów, aby wygenerować cały czas, lub gdy kontroler będzie mógł zaczekaj, bez rozproszenia, na nadejście zdarzenia i na miejsce, w którym będzie mógł zrobić wszystko, co musi zrobić z tym wydarzeniem, zanim nadejdzie inne wydarzenie, na które musi zareagować. Są znacznie mniej wytrzymałe w okolicznościach, w których urządzenie będzie musiało być w stanie reagować na bodźce zewnętrzne w stosunkowo krótkim czasie, ale nie może wykorzystać 100% swojej energii na obserwowanie takich bodźców.
Załóżmy na przykład, że ktoś chce, aby procesor przesyłał szeregowo dane w stylu UART z szybkością, która jest bardzo wysoka w stosunku do jego szybkości zegara (np. PIC, który wykonuje 8 192 instrukcji na sekundę, chce wysyłać dane z szybkością 1200 bps). Jeśli nie są włączone żadne przerwania, taka transmisja nie jest trudna (zegar jeden bit na siedem cykli instrukcji). Gdyby PIC robił tylko czekanie na przychodzący bajt danych 1200bps, mógłby wykonać pętlę 3-cyklową, czekając na bit startowy, a następnie kontynuować taktowanie danych w siedmiocyklowych odstępach. Rzeczywiście, jeśli PIC miałby bajt danych gotowy do wysłania, gdy nadszedł przychodzący bajt danych, siedem cykli na bit wystarczyłoby, aby PIC wysłał swój bajt danych jednocześnie z odczytaniem przychodzącego bajtu. Również,jeżeli taka odpowiedź miałaby ustalony czas w stosunku do pierwotnej transmisji . Z drugiej strony, PIC nie miałby możliwości obsługi komunikacji bit-bang w taki sposób, aby każde urządzenie mogło transmitować w dowolnym momencie, w którym uznało to za stosowne (w przeciwieństwie do posiadania jednego urządzenia, które mogłoby transmitować, gdy zobaczyło dopasuj się i rób, co chcesz, gdy nie transmitujesz, i jedno urządzenie, które musiałoby spędzać większość czasu, robiąc tylko czekając na transmisje z pierwszego urządzenia).