Difference between revisions of "PineTime Hardware Wishlist"

From PINE64
Jump to navigation Jump to search
m (Add Ox64 based pinetime idea)
(fix)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page contains a list of things people wish PineTime did differently
This page contains a list of things people wish PineTime did differently


=== Hardware ===
== Hardware ==


* Long pressing the button should power-cycle the watch without any software being involved
* Other display technology could be explored.
* Other display technology could be explored.
** E-ink
*** Still images require no power to maintain
**[//en.Wikipedia.org/wiki/Transflective_liquid-crystal_display A transflective LCD]
**[//en.Wikipedia.org/wiki/Transflective_liquid-crystal_display A transflective LCD]
*** Increased readability in bright daylight
*** Increased readability in bright daylight
Line 19: Line 20:
** Its total number of pixels is a power of 2 (65536), and each pixel is addressable with exactly 2 bytes.
** Its total number of pixels is a power of 2 (65536), and each pixel is addressable with exactly 2 bytes.
** The [http://Pelulamu.net/ibniz IBNIZ (Ideally Bare Numeric Impression giZmo) virtual machine], designed for minimalist demoscene graphics, has chosen 256×256 for its virtual display specifically for code efficiency.
** The [http://Pelulamu.net/ibniz IBNIZ (Ideally Bare Numeric Impression giZmo) virtual machine], designed for minimalist demoscene graphics, has chosen 256×256 for its virtual display specifically for code efficiency.
** If PineTime also chose 256×256 then it would be a target platform for unclipped IBNIZ demoscene programmes, which would be really fun to play around with on one's wrist!
*** If PineTime also chose 256×256 then it would be a target platform for unclipped IBNIZ demoscene programmes, which would be really fun to play around with on one's wrist!
* Full screen refresh is very slow
* Full screen refresh is very slow
** A full 16-bit redraw on the display takes at worst 120ms, which is 8Hz
** A full 16-bit redraw on the display takes at worst 120ms, which is 8Hz
Line 27: Line 28:
** The nRF528(33/40) has one high speed SPI master which supports 32MHz, still well below the ST7789 maximum
** The nRF528(33/40) has one high speed SPI master which supports 32MHz, still well below the ST7789 maximum
** Parallel data transfer could be an option, but using more GPIOs (which don't look available)
** Parallel data transfer could be an option, but using more GPIOs (which don't look available)
* Some sort of scroll wheel would be nice for convenience.
* Some sort of scroll wheel (and possibly button combination) would be nice as an additional input method
* Changed GPIO assignment so more functionality is available (i.e. NFC and VSYNC)
* Changed GPIO assignment so more functionality is available (i.e. NFC and VSYNC)
* Wireless charging, or Qi Charging capability
* Wireless charging, or Qi Charging capability
* nRF5840 update
* Different MCU with more RAM and ROM, higher clock
** 32MHz HS SPI, QuadSPI, CryptoCell + Secure Key Storage, more RAM, a coprocessor and the possibility to expose USB through power pins
** nRF5840 update
* PineTime Pro based on the Ox64
*** 32MHz HS SPI, QuadSPI
** RISV-V based MCU with high performance, lots of memory, bluetooth 5.2 and peripherals (SPI, I2C, USB)
*** CryptoCell + Secure Key Storage
* Preferably a pre-certified MCU module with a ceramic antenna
*** More RAM, a coprocessor
*** The possibility to expose USB through power pins
** Ox64/BL808
*** Open hardware RISC-V based MCU
*** Significant jump in performance
*** Significant jump in memory and storage, allowing for more features and better UI's
** Possibly a pre-certified MCU module with a ceramic antenna
* Version without sensors but maybe bigger battery
* Version without sensors but maybe bigger battery
* Pins on the programmer connector to allow UART while developing (currently there is a TX test point on PCB). (Note: There's ARM SemiHosting, ITM and Segger RTT)
* Pins on the programmer connector to allow UART while developing (currently there is a TX test point on PCB). (Note: There's ARM SemiHosting, ITM and Segger RTT that fulfil this purpose for most)
* Connect SDO of ST7889 LCD controller to MCU.
* Connect SDO of ST7889 LCD controller to MCU
** Allows MCU to execute READ commands
** Allows MCU to execute READ commands
** Possibility of leveraging ST7889 RAM to save MCU RAM?
** Possibility of leveraging ST7889 RAM to save MCU RAM?
Line 43: Line 50:
* A NFC antenna around the case, connected to the NFC pins.
* A NFC antenna around the case, connected to the NFC pins.
* Used sensors should be NDA-free and preferably also blob-free for easier development
* Used sensors should be NDA-free and preferably also blob-free for easier development
** Possibly replace BMA421 accelerometer
** Possibly replace BMA421 accelerometer with a magnetometer + gyroscope + accelerometer combination
*** The BMA421 doesn't have a public datasheet
*** The BMA421 doesn't have a public datasheet
*** Special attention should be paid to advanced features, such as step counting integration or flick detection.
*** Special attention should be paid to advanced features, such as step counting integration or flick detection.
* PineTime SoC could support USB or have a FTDI chip with the relevant pins exposed.
* PineTime SoC could support USB or have a FTDI chip with the relevant pins exposed
** It could allow flashing a sealed device, just like Arduinos work.
** It could allow flashing a sealed device, just like Arduinos work.
** Alternatively, an USB-C port could be added that provides these features.  
** Alternatively, an USB-C port could be added that provides these features.  
Line 60: Line 67:
*** A nano-power system timer IC could in theory provide a RTC, MOSFET-controlled deep sleep, watchdog timer and button-controlled reset
*** A nano-power system timer IC could in theory provide a RTC, MOSFET-controlled deep sleep, watchdog timer and button-controlled reset
** Built-in "fuel gauge" for better estimation of battery capacity
** Built-in "fuel gauge" for better estimation of battery capacity
* Small Piezo Buzzer
* Improved haptic or audible feedback
** E.g. small Piezo buzzer
** Use case would be for very short beeps (think old-school casio watch) as notification.
** Use case would be for very short beeps (think old-school casio watch) as notification.
** Of course developers can PWM other frequency to make it sing, but piezos tend to be shrill.
** Of course developers can PWM other frequency to make it sing, but piezos tend to be shrill.
* More RAM and external flash storage
** Currently, the 64 KB of RAM significantly restricts the possible complexity of the UI and other software.
** At least 1 MB of RAM would be required to enable more advanced features like text input with spelling checking and more images in the UI.
** At least 8 MB of flash storage would also be beneficial, as it would significantly increase the potential number of apps and possible functionality of the watch.
* A built-in microphone
* A built-in microphone
** Would allow phone call functionality to be built into the watch.
** Would allow phone call functionality to be built into the watch.
** Could potentially allow for speech recognition for text input.
** Could potentially allow for speech recognition for text input.
** Direct access to the external (flash) storage
** Only a small jump in price


[[Category:PineTime]]
[[Category:PineTime]]

Latest revision as of 00:49, 16 March 2023

This page contains a list of things people wish PineTime did differently

Hardware

  • Other display technology could be explored.
    • E-ink
      • Still images require no power to maintain
    • A transflective LCD
      • Increased readability in bright daylight
    • OLED
      • Self-emissive display (pixels emit their own light)
      • Allows for lower power usage with mostly black screens
      • Allows for low power visual notifications (imagine an always-on small red square in the corner to indicate a notification)
  • Touchscreen with configurable sensitivity
    • Ideal for gloved fingers and water droplet resistance
    • Preferably it should remain capacitive, as a resistive touchscreen would have too many trade-offs.
  • A slightly bigger 256×256 pixel display
    • This resolution is preferable for its binary alignment for low-level simplicity
    • It has the property that its X and Y coordinates are each addressable with a single byte, with no bounds checking
    • Its total number of pixels is a power of 2 (65536), and each pixel is addressable with exactly 2 bytes.
    • The IBNIZ (Ideally Bare Numeric Impression giZmo) virtual machine, designed for minimalist demoscene graphics, has chosen 256×256 for its virtual display specifically for code efficiency.
      • If PineTime also chose 256×256 then it would be a target platform for unclipped IBNIZ demoscene programmes, which would be really fun to play around with on one's wrist!
  • Full screen refresh is very slow
    • A full 16-bit redraw on the display takes at worst 120ms, which is 8Hz
    • Modest optimization is possible by adopting 12-bit color
    • A smooth scrolling/usage/animation experience would be 30Hz minimum, preferably 60hz
    • Display redraw is currently bottlenecked by the nRF52832 maximum SPI clock (8MHz).
    • The nRF528(33/40) has one high speed SPI master which supports 32MHz, still well below the ST7789 maximum
    • Parallel data transfer could be an option, but using more GPIOs (which don't look available)
  • Some sort of scroll wheel (and possibly button combination) would be nice as an additional input method
  • Changed GPIO assignment so more functionality is available (i.e. NFC and VSYNC)
  • Wireless charging, or Qi Charging capability
  • Different MCU with more RAM and ROM, higher clock
    • nRF5840 update
      • 32MHz HS SPI, QuadSPI
      • CryptoCell + Secure Key Storage
      • More RAM, a coprocessor
      • The possibility to expose USB through power pins
    • Ox64/BL808
      • Open hardware RISC-V based MCU
      • Significant jump in performance
      • Significant jump in memory and storage, allowing for more features and better UI's
    • Possibly a pre-certified MCU module with a ceramic antenna
  • Version without sensors but maybe bigger battery
  • Pins on the programmer connector to allow UART while developing (currently there is a TX test point on PCB). (Note: There's ARM SemiHosting, ITM and Segger RTT that fulfil this purpose for most)
  • Connect SDO of ST7889 LCD controller to MCU
    • Allows MCU to execute READ commands
    • Possibility of leveraging ST7889 RAM to save MCU RAM?
  • LCD must be centered on case. Currently is not and watchfaces seems different when clock is put on the other wrist.
  • A NFC antenna around the case, connected to the NFC pins.
  • Used sensors should be NDA-free and preferably also blob-free for easier development
    • Possibly replace BMA421 accelerometer with a magnetometer + gyroscope + accelerometer combination
      • The BMA421 doesn't have a public datasheet
      • Special attention should be paid to advanced features, such as step counting integration or flick detection.
  • PineTime SoC could support USB or have a FTDI chip with the relevant pins exposed
    • It could allow flashing a sealed device, just like Arduinos work.
    • Alternatively, an USB-C port could be added that provides these features.
  • A bigger pulldown resistor for the power button
    • 100k still leaks a noticeable amount of power when the button is always on.
  • Ceramic Bluetooth antenna for better signal reception
  • An external RTC circuit
    • Allows the main MCU go to deep-sleep while retaining time.
    • Allows time retention through MCU reset.
  • Ultra low quiescent current PMIC
    • In theory could provide a hard reset capability based on button press
    • Better deep sleep/shipping/storage/off lifetime
      • A nano-power system timer IC could in theory provide a RTC, MOSFET-controlled deep sleep, watchdog timer and button-controlled reset
    • Built-in "fuel gauge" for better estimation of battery capacity
  • Improved haptic or audible feedback
    • E.g. small Piezo buzzer
    • Use case would be for very short beeps (think old-school casio watch) as notification.
    • Of course developers can PWM other frequency to make it sing, but piezos tend to be shrill.
  • A built-in microphone
    • Would allow phone call functionality to be built into the watch.
    • Could potentially allow for speech recognition for text input.
    • Direct access to the external (flash) storage
    • Only a small jump in price