purposes
location
parallelism
modularity
interference
serial bus
asynchronous
RS-232, RS-422, RS-485
components video
hello.bus.45.bridge.cad board traces interior
hello.bus.45.node.cad board traces interior
hello.bus.45.c makefile
I2C
TWI master slave
USI master slave
software master
library bit-bang video
hello.I2C.45.bridge.cad board traces interior
hello.I2C.45.node.cad board traces interior
components programming
SPI
library
SD memory cards
specification FAT
hello.uSD.44.py board components traces interior
hello.uSD.44.read.c make output
CAN
USB
hardware
AVR LUFA
software
V-USB
OSI layers
7: application (HTTP)
6: presentation (SSL)
5: session (RPC)
4: transport (TCP, UDP)
3: network (IP)
2: data link (MAC)
1: physical (PHY)
physical media
capacity
bandwidth * log_2 (signal/noise)
wired
single-ended, differential, powerline
open collector, open drain
transmission (pass) gate, tri-state
transmission line
waveguide
TIA RS232, 422, 485
802.3 ethernet
chip module
SONET optical fiber
wireless
RF
FCC Part 15 ISM
802.11 Wi-Fi
802.15 ZigBee 6LoWPAN
Bluetooth BLE GATT GAP UUID Services app stack
optical
transmitter receiver LiFi
acoustic
modulation
PCM: Pulse-Code Modulation
PPM: Pulse-Position Modulation
OOK: On-Off Keying
FSK: Frequency-Shift Keying
BPSK: Binary Phase-Shift Keying
QAM: Quadrature Amplitude Modulation
OFDM: Orthogonal Frequency-Division Multiplexing
FHSS: Frequency-Hopping Spread Spectrum
DSSS: Direct-Sequence Spread Spectrum
UWB: Ultra-WideBand
channel sharing
ALOHA
Master-Slave
Token Ring
TDMA: Time-Division Multiple Access
FDMA: Frequency-Divsion Multiple Access
CSMA: Carrier-Sense Multiple Access
CD: Collision Detection
CA: Collision Avoidance
1-persistent: transmit when clear
nonpersistent: random backoff
p-persistent: probability to transmit
CDMA: Code-Division Multiple Access
MIMO: Multiple-Input Multiple-Output
"PDMA": Physical-Division Multiple Access
errors
detection, correction
block, convolution codes
parity, checksum, Hamming, Reed-Solomon, Turbo
networking
Internet protocols
RFCs
IPv4, IPv6
DNS DHCP NAT private
UDP, TCP
HTTP
BGP AODV ROLL
sockets
udpsnd.js udprcv.js video
udpsnd.py udprcv.py
udpsnd.c udprcv.c
Wireshark
SLIP
slattach route
hello.bus.45.SLIP.c makefile udp_slip.py video
Internet 0
APA
RF
radios
oscillator, mixer, PA, LNA, IF, I/Q, demod, baseband, filters
antennas
Q, antenna gain, impedance matching
FabFi
single-chip
RN4871 (2.4 GHz Bluetooth)
chip module commands
hello.RN4871.ftdi.cad board components traces interior video
CC2541 (2.4 GHz Bluetooth)
chip HC-08 HM-10 HM-11 commands
hello.HM-11.ftdi.cad board components traces interior video
nRF52 (2.4 GHz Bluetooth, ISM)
chip module project project
nRF24L01+ (2.4 GHz ISM)
chip module library antennas
hello.nRF24L01P.44.cad board components traces interior
nRF905 (433/868/915 MHz ISM)
chip module library
ESP8266 (2.4 GHz Wi-Fi)
chip module power
hello.ESP8266-12E.ftdi.cad board components traces interior
commands UDP TCP client server
ESP32 (2.4 GHz Wi-Fi, Bluetooth)
chip module board toolchain
MicroPython JavaScript NodeMCU Lua RTOS FreeRTOS
RN2903 (LoRA)
software radio
assignment
individual assignment:
design, build, and connect wired or wireless node(s)
with network or bus addresses
group assignment:
send a message between two projects