Creating a Low-Level Serial Protocol

When developing systems of any complexity we’re tasked with either making multiple modules inside a system talk to each other, or the system itself talks to the outside world. It’s at this point that we need to develop a protocol to be able to send any amount of coherent data back and forth. Whether you’re […]

The CRC8 Checksum

The Cyclic Redundancy Check (CRC) byte in a serial packet is used for error detection. The method covered in this post is identical to the Maxim/Dallas 1-wire devices called Dow CRC. This is done through the following formula: Lucky for us, this data can be compressed to a simple Look Up Table (LUT) for efficient […]

Eagle Tip: Exporting Pick and Place Data

When submitting a design to a fab to get your electronics assembled, you’ll need to generate the “XY Data” file that can then be imported into the board houses’ software to program their Pick-and-Place machine. The default-installed ULP below will generate the data file in a format that matches Altium Designer and will be useable […]