A Controller Area Network (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts. For each device, the data in a frame is transmitted serially but in such a way that if more than one device transmits at the same time a restransmission after delay is employed to ensure that every node receives a complete datagram. The highest priority device can continue while the others back off. Frames are received by all devices, including by the transmitting device.