2bit 그레이 코드를 약간 뒤틀면 어떤 대상의 절대적 위치를 알 수는 없지만 위치가 어떤 방향으로 변했는지 알 수 있다. 쿼드러처는에서는 2bit 그레이 코드 패턴이 여러 번 반복된다. 이런 변형에는 4가지 상태가 존재하기 때문에 쿼드러처 인코딩이라 한다.(ex 라디오 볼륨조절 장치)
쿼드러처 방식은 0132 의 값이 반복되며 시계 방향일 경우 0132 순서로 반복되며 반시계 방향일 경우 2310 순서로 반복된다.
병렬 통신은 LED 회로를 확장한 것이다. 8bit인 portB를 사용해 아스키 코드를 표현할 수 있다. 병렬이라는 것은 LED 컴포넌트 마다 별도의 선이 있기 때문에 동시에 모든 컴포넌트를 제어할 수 있다는 것이다.
데이터 선을 많이 사용하는 것에 문제가 있다. 선에 올바를 데이터가 들어있는 순간을 알아야 할 필요가 있다. 이를 해결하기 위해 과거에는 스트로브(clock)라는 신호가 있다.
통신에 사용하는 전선에 비용이 들고 거리가 멀어짐에 따라 더욱 증가하기 때문에 전선을 줄일 필요가 생겨 계획된 방식이 직렬 통신방식이다.
병렬 통신방식에서는 각 문자를 서로 다른 시간에 나뉘어 전송한다.
이 방식에서 영감을 얻어 직렬 통신방식에서는 각 비트를 서로 다른 시간에 나뉘어 전송한다.
1900년대 초 텔레타이프라는 직렬 통신장비가 생겼다. 이 장치는 직렬 프로토콜을 이용해 신호선 하나로 전달되며 돌아오는 선이 하나 더 필요하다. 이 신호는 아무일도 일어나지 않을 경우 1, 마크라고 부르며 로우 상태를 스페이스라고 부른다.
1에서 0으로 비트가 변하는 것을 시작비트라고 불리고 이후 8비트의 데이터가 전달되고 1상태의 2비트인 정지비트가 할당된다.
통신을 가능하게 해주는 IC회로를 UART라고 한다. UART는 범용 비동기 수신기-송신기의 약자이다. 이것을 소프트웨어로 구현한 것을 비트 뱅잉이라고 부른다.