85 lines
1.6 KiB
Markdown
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
|