Files

85 lines
1.6 KiB
Markdown

# 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