• bus to reduce connections
  • serial bus vs parallel bus

ata vs sata buses on hard drives:

async serial:

  • rs 485
  • 1-wire-1-wire

sync serial:

  • i2c

  • spi

  • async has a receiver clock → data will be corrupted if sender freezes (0 will be logged).

differential vs single ended signal

to reduce noise: twisted wire → differential signal to reduce possibility of electromagnetic interference.

usb extender: decode signals first and then encode and send them again. use one with a repeater.

using shielded wires to remove noise.

eeprom of monitor: stores data for config of monitor (hdmi talks to it).

spi:

  • device selector pin (set to low to talk to it)
  • send data mosi / mosc

SPI uses 4 main pins: SCLK (clock), chip select (CS), MOSI (main out, subnode in), and MISO (main in, subnode out). On a Raspberry Pi, SPI0 uses GPIO 7–11 (plus CE0/CE1 chip-select on GPIO 8/7 by default), and SPI1 uses GPIO 16–21.

ibuttons for data logging and security checkpoints.

moving point average instead of averaging all values.

queue: take n signals and calculate average → keep pushing and popping in & out of queue.

ring buffer →

hysteris: two different thresholds and move them to avoid noise.

advanced peak detection:

look at total highest point and find out when it has dropped.

the delta point is the peak.