Initial commit
This commit is contained in:
72
docs/hardware.md
Normal file
72
docs/hardware.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Hardware
|
||||
|
||||
Current target: **PineTime smartwatch**.
|
||||
|
||||
PineTime is an open hardware smartwatch designed by Pine64.
|
||||
|
||||
It is capable of running fully custom firmware.
|
||||
|
||||
|
||||
## Core Specifications
|
||||
|
||||
Main hardware components include:
|
||||
|
||||
- Nordic **nRF52832** MCU (ARM Cortex-M4F)
|
||||
- 64 KB RAM
|
||||
- 512 KB internal flash
|
||||
- additional **4 MB SPI NOR flash** for assets
|
||||
- Bluetooth Low Energy support
|
||||
|
||||
The CPU runs at **64 MHz** and includes a floating-point unit.
|
||||
|
||||
## Display
|
||||
|
||||
PineTime includes:
|
||||
|
||||
- 1.3 inch IPS display
|
||||
- resolution **240×240**
|
||||
- **ST7789 display controller**
|
||||
- capacitive touchscreen controller
|
||||
|
||||
The display is connected through SPI.
|
||||
|
||||
## Sensors
|
||||
|
||||
The device contains several sensors and peripherals:
|
||||
|
||||
- BMA421 accelerometer
|
||||
- HRS3300 heart rate sensor
|
||||
- vibration motor
|
||||
- capacitive touchscreen
|
||||
|
||||
These are typically connected over I²C.
|
||||
|
||||
|
||||
## Battery
|
||||
|
||||
PineTime uses a small Li-Po battery around **170-180 mAh** capacity.
|
||||
|
||||
Battery life depends heavily on firmware design and BLE usage.
|
||||
|
||||
|
||||
## Development Constraints
|
||||
|
||||
Important constraints for firmware design:
|
||||
|
||||
- very limited RAM (64 KB)
|
||||
- limited internal flash (512 KB)
|
||||
- firmware must run entirely from internal flash
|
||||
- external flash cannot execute code
|
||||
|
||||
The external flash is mainly used for:
|
||||
|
||||
- fonts
|
||||
- assets
|
||||
- large UI resources.
|
||||
|
||||
|
||||
## Future Hardware Support
|
||||
|
||||
Vaka OS is designed primarily for PineTime.
|
||||
|
||||
Portability may be considered later but is **not a primary goal** during early development.
|
||||
Reference in New Issue
Block a user