# Hardware Notes ## Core Components - Arduino MKR1000 - SH1106 OLED display - AM2302 temperature and humidity sensor - Two momentary buttons for user input ## Planned Responsibilities ### Arduino MKR1000 - Main controller - Sensor reading - Display updates - Button input handling - Network connectivity for time and weather data ### SH1106 OLED Display - Render the current screen - Present concise text-based information ### AM2302 Sensor - Provide ambient temperature - Provide ambient humidity ### Buttons - `Next` button for navigation - `Select` button for action or mode selection ## Wiring Status The physical wiring is already assembled. Current documented wiring is: ## Button Wiring ### Select button - Signal pin: `A5` - Wiring: pull-up with `10K` resistor ### Next button - Signal pin: `A4` - Wiring: pull-up with `10K` resistor ## Sensor Wiring ### AM2302 - Measurement/data pin: `A3` - `VCC` -> `3V3` - `GND` -> `GND` ## Display Wiring ### SH1106 - Interface: `I2C` - `SCK` -> `SCL` - `SDA` -> `SDA` - `VCC` -> `5V` - `GND` -> `GND` ## Ground All component ground pins are connected to common `GND`. ## Assumptions To Verify Later - The SH1106 module is compatible with the MKR1000 voltage levels - The AM2302 is powered within its supported operating range - The button pull-up arrangement matches the intended firmware logic - Available pins are sufficient for the display, sensor, and both buttons ## Risks To Keep In Mind - OLED modules may vary by interface and initialization details - Sensor timing can be sensitive depending on the library used - Network-based features may require retry logic and fallback screen states