Dependendo dos requisitos exatos, pode ser útil usar um microcontrolador que possa capturar e marcar os dados no tempo e enviá-los ao PC. Os UARTs historicamente encontrados em PCs típicos só conseguiram registrar informações precisas de tempo ou capturar dados de 9 bits, fazendo com que o processador pegue cada byte quando chegar, sem buffer; sistemas operacionais e drivers posteriores geralmente não estão equipados para fazer isso, e os chips UART para USB são inúteis nesse sentido. Se o seu PC puder receber dados com o dobro da taxa de dados desejada, um microcontrolador receberá bytes de dados e, para cada byte, enviará dois bytes. O primeiro byte deve ter o MSB definido, relatar o MSB (ou dois MSBs de 9 bits) dos dados recebidos nos próximos bits, e use os 5 (ou 4) bits inferiores para informar a quantidade de tempo (0-30 ou 0-14) desde o meio do bit de parada do byte anterior (medido em unidades de, por exemplo, um tempo de bit). O segundo byte teria o MSB limpo e conteria os 7 bits restantes de dados. Quando nenhum dado está sendo transmitido, os caracteres de estimulação FF são enviados a cada 30 (ou 14) bits de tempo. O software que recebe esses relatórios poderá, assim, reconstruir com muita precisão (dentro de um bit) o tempo exato dos dados recebidos. Se a taxa de dados que alimenta o PC for quatro vezes a taxa de dados que está sendo monitorada, pode-se usar esse esquema geral para multiplexar dois canais de recebimento em uma porta do PC (use um pouco do byte do cabeçalho para identificar se continha dados para o primeiro ou o segundo porta). Embora a temporização de itens com precisão de um bit possa parecer excessiva, há momentos em que pode ser útil,