📋 Component Inventory Summary

Component Quantity Primary Specifications Common Applications
Standard LEDs 10 Vf: 2.0V, If: 15mA Indicators, displays, visual feedback
RGB LED 1 3-color (R/G/B), Common cathode/anode Color mixing, status indication
Rotary Encoder 1 Quadrature output, 20 PPR typical Volume control, position tracking
Photoresistor (LDR) 1 Dark: 1MΩ, Bright: 1kΩ Light sensing, auto-brightness
OLED Display 1 128×64, I2C, SSD1306 Data display, user interface
7-Segment Display 1 7 segments + DP, CC/CA Numeric display, counters
Passive Buzzer 1 Frequency-controlled, 100Hz-10kHz Alarms, tones, music
DIP Switch 1 4 or 8 position, SPST Configuration, binary input
4×4 Keypad 1 16 keys, matrix scanning Data entry, PIN codes
100kΩ Resistors 10 1/4W, 5% tolerance Pull-ups, voltage dividers
10kΩ Resistors 10 1/4W, 5% tolerance Pull-ups, general purpose
1kΩ Resistors 10 1/4W, 5% tolerance LED limiting, general purpose
220Ω Resistors 10 1/4W, 5% tolerance LED current limiting

⚡ Critical Design Formulas

LED Current Limiting

R = (Vsupply - Vf) / If

Example: 5V supply, 2V LED, 15mA target
R = (5 - 2) / 0.015 = 200Ω → Use 220Ω

Voltage Divider

Vout = Vin × (R2 / (R1 + R2))

Example: Photoresistor circuit
R1 = LDR (variable), R2 = 10kΩ fixed

Power Dissipation

P = I² × R = V² / R

Safety: Keep P < 50% of resistor rating
1/4W resistor → Max 125mW recommended

RC Time Constant

τ = R × C

Example: 10kΩ, 0.1µF
τ = 1ms, settling ≈ 5τ = 5ms

Frequency to Period

T = 1 / f

Example: 440Hz (A4 note)
T = 1/440 = 2.27ms period

Sound Wavelength

λ = v / f

Example: 1kHz tone in air
λ = 343 / 1000 = 0.343m = 34.3cm

🔌 Arduino Uno Pin Reference

Pin Type Pin Numbers Specifications Special Functions
Digital I/O 0-13 (14 pins) 5V logic, 40mA max per pin Serial (0,1), Interrupts (2,3)
PWM Output 3, 5, 6, 9, 10, 11 8-bit (0-255), ~490Hz / ~980Hz analogWrite() function
Analog Input A0-A5 (6 pins) 10-bit ADC (0-1023), 0-5V range Can be used as digital I/O
I2C A4 (SDA), A5 (SCL) 100kHz / 400kHz Wire library, multiple devices
SPI 10(SS), 11(MOSI), 12(MISO), 13(SCK) Up to 4MHz High-speed peripherals
Power 5V, 3.3V, GND, Vin 5V: 500mA, 3.3V: 50mA Multiple GND pins available
⚠️ CRITICAL LIMITS:
  • Maximum current per I/O pin: 40mA
  • Maximum total current all pins: 200mA
  • Absolute maximum voltage on any pin: -0.5V to 5.5V
  • Exceeding these limits can permanently damage the Arduino!

🎯 Best Practices & Design Guidelines

✓ Circuit Design Best Practices

  • Always use current-limiting resistors with LEDs - Never connect LEDs directly to power
  • Debounce all switches - 10-50ms delay or hardware RC filter
  • Use pull-up/pull-down resistors - Prevent floating inputs (use INPUT_PULLUP when possible)
  • Power management - Calculate total current draw, stay under limits
  • Wire management - Keep wires organized, use color coding (Red=5V, Black=GND)
  • Decoupling capacitors - 0.1µF near each IC for noise reduction
  • Ground loops - Use star grounding, single ground reference point
  • Test incrementally - Build and test one section at a time

💡 Programming Best Practices

  • Use const for pin definitions - Makes code more readable and maintainable
  • Avoid delay() in complex programs - Use millis() for non-blocking timing
  • Comment your code - Explain what each section does
  • Use libraries - Don't reinvent the wheel (Keypad, Adafruit, etc.)
  • Serial debugging - Print values to understand program flow
  • Initialize variables - Always give variables starting values
  • Bounds checking - Validate all input data
  • Function modularization - Break complex tasks into smaller functions

⚠️ Common Mistakes to Avoid

  • Forgetting resistors - LEDs without resistors will burn out
  • Reversed polarity - Always check LED, diode, capacitor orientation
  • Floating pins - Unconnected inputs can give random readings
  • Exceeding pin current - Use transistors/MOSFETs for high-current loads
  • Integer overflow - Be careful with large numbers and calculations
  • Blocking code - Long delay() calls prevent responsiveness
  • Memory overflow - Arduino Uno has only 2KB RAM
  • Wrong pin modes - Must set pinMode() before using pins

📚 Quick Reference: Resistor Color Codes

Color Digit Multiplier Tolerance
Black0×1-
Brown1×10±1%
Red2×100±2%
Orange3×1K-
Yellow4×10K-
Green5×100K±0.5%
Blue6×1M±0.25%
Violet7×10M±0.1%
Gray8×100M±0.05%
White9×1G-
Gold-×0.1±5%
Silver-×0.01±10%
Example: Yellow-Violet-Red-Gold = 47 × 100 ± 5% = 4.7kΩ ± 5%

🛠️ Troubleshooting Guide

Problem Possible Cause Solution
LED doesn't light Wrong polarity, no current limit, open circuit Check orientation, add resistor, verify connections
LED too dim Resistor too large, low supply voltage Use smaller resistor (min 150Ω for 5V), check power
Erratic sensor readings Floating input, noise, bad connection Add pull-up/down, decoupling cap, check wiring
Display not working Wrong I2C address, power issue, library error Run I2C scanner, check Vcc/GND, reinstall library
Keypad not responding Wrong pin mapping, no pull-ups, matrix short Verify pin array, enable INPUT_PULLUP, test keys individually
Arduino resets randomly Power supply insufficient, brown-out Use adequate power supply (500mA+), add bulk capacitor
Program won't upload Wrong board/port, USB cable, bootloader issue Select correct board, try different cable, check connections
Serial monitor gibberish Wrong baud rate Match Serial.begin() rate with monitor setting

📖 Essential Libraries

Library Purpose Installation
Keypad Matrix keypad scanning Library Manager: "Keypad"
Adafruit_SSD1306 OLED display driver Library Manager: "Adafruit SSD1306"
Adafruit_GFX Graphics primitives Library Manager: "Adafruit GFX"
Wire I2C communication Built-in (no installation needed)
SPI SPI communication Built-in (no installation needed)

📊 Component Datasheets & Resources

Where to find datasheets:
  • Manufacturer websites - Most reliable source
  • Datasheet Archive - alldatasheet.com
  • Component distributors - DigiKey, Mouser, SparkFun
  • Arduino forums - arduino.cc/forum
  • GitHub repositories - Code examples and libraries
Key information to look for:
  • Absolute maximum ratings
  • Operating voltage and current
  • Pin configurations and functions
  • Timing diagrams
  • Example circuits