Course two of this specialization is all about hardware physical layer and communication between elements of your project, how to troubleshoot high-speed signals when they don't work, and how to design your projects so they do work. We start with a review of common signal protocols available . Then, to build a deep and intuitive understanding of how circuits send and receive these signals, Module 2 explores the physics of high-frequency signals in an easy-to-follow way. Module 3 flips your thinking from the time-domain to the frequency-domain to examine the frequency components of signals and understand how unintended filtering in your circuits distorts your digital waveforms. These are "signal integrity" concepts, distilled to what you need for your Raspberry Pi projects. Now, with our knowledge of signals, Module 4 develops five rules of thumb for designing your circuits so that your high-speed signals work the first time. These five rules of thumb, combined with the experience from earlier modules, help you estimate spectral bandwidth of signals, rise time, and gain insights whether you're troubleshooting a broken design or designing something new.