Systems and techniques for printing on a workpiece. In one implementation, a data pump is used to create a packet of image data for a print head assembly. The data pump includes multiple state machines to receive image data from an image buffer on a computer, and a serializer to gather image data from each of the state machines. Each of the state machines is configured to send image data to the serializer at a different instance in time. The serializer is configured to arrange the gathered image data according to when the serializer received the image data from each of the state machines. The data pump also includes an optical fiber communication interface to connect with a communication channel.