Difference between revisions of "PineTime Hardware Wishlist"

From PINE64
Jump to navigation Jump to search
(Improve and expand Ox64 suggestion)
(fix)
 
(4 intermediate revisions by one other user 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
* Preferably a pre-certified MCU module with a ceramic antenna
*** 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
* 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 41: 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 58: 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.
* PineTime Pro based on the Ox64/BL808
** Direct access to the external (flash) storage
** Open hardware RISC-V based MCU
** Significant jump in performance
** Significant jump in memory and storage, allowing for more features and better UI's
** Bluetooth 5.2 with BLE
** SPI with up to 80MHz clock speed, addressing the bottleneck issue posted above
** Only a small jump in price
** 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