ChromeOS Compatible - Stylus Specification v1.0

Version: 1.0.3
Last Updated: 2024-02-01

Legend

Product Verb Development Action
"MUST" Mandatory product requirement
"SHOULD" Optional recommendation
"MAY" Nice to have

Overview

This specification document describes the criteria that a ChromeOS Compatible stylus meets.

Protocol

  • The stylus MUST implement the features described in the Universal Stylus Initiative (USI) Stylus Certification Requirements version 2.0 or newer.
    • The Stylus Certification Requirements document is available to USI members to download from the Members site of universalstylus.org. Quick access links to these documents can be found within the Technical Working Group page.
    • To become a USI member, please reach out to the contacts listed at universalstylus.org.
    • Note: At time of writing, the direct contact for USI is usiadmin@universalstylus.org.
    • Refer to sections 2.4 through 2.7 of the Stylus Certification Requirements for the required features.
    • In addition to implementing features applicable to all USI styluses, the stylus MUST implement:
      • STY.FEA.1.4 - Stylus Feature - Fuel gauge
      • Rationale: ChromeOS uses the numeric fuel gauge for showing stylus battery-related UI.
    • These features MAY be implemented, but are not required:
      • STY.FEA.2.1 - Stylus Feature – Primary Button
      • STY.FEA.2.3 - Stylus Feature – Erase Affordance
    • Compliance with the requirements may be measured through the processes described in the Universal Stylus Initiative (USI) Stylus Certification Test Plan 2.0; at time of publication, this document is not yet available from USI, please contact them for updated information.
    • If the stylus implements wireless charging (STY.FEA.6.1 - Stylus Feature – Wireless Charging), then it may be tested for compliance with the test plan described in the Wireless Charging Compliance and Test Cases Document, available at the universalstylus.org site to USI members.
    • Compliance testing and logo certification may be performed through the USI Certification Program, details of which are available on the universalstylus.org website at https://universalstylus.org/certification.
  • As a reminder, the stylus MUST support both USI 1.0 and 2.0 host devices:
    • Rationale: The USI ecosystem is designed for maximal compatibility, so that all 2.0 styluses are expected to work with all Chromebooks that have shipped with USI support, including both 1.0 and 2.0 protocol versions.
    • This will be accomplished if your stylus implements the features in the Stylus Certification Requirements.

Battery Replacement

  • If the stylus supports replaceable batteries, such as AAAA cells, it SHOULD provide an easily visible battery polarity/direction indicator within the battery compartment.

Wired Charging

  • If the stylus has a rechargeable battery that charges through a wired connection, the device MUST support recharging via USB-C with USB-IF certified cables and USB-IF compliant USB-A and USB-C sources, including USB-C sources that support USB PD. (Specifically, the stylus MUST implement a USB-C Sink as described in USB Type-C Cable and Connector Specification Section 4.5.1.3.2 following Figure 4-9 ).
  • If the device includes a USB cable:
    • Cable SHOULD be USB-IF certified
  • If the device includes a USB-C charger:
    • Charger SHOULD be USB-IF Certified

Wireless Charging

  • If a stylus charges wirelessly, it SHOULD implement the feature as described by STY.FEA.6.1 - Stylus Feature – Wireless Charging, in section 2.5 of the Stylus Certification Requirements 2.0.
    • Rationale: using this design is necessary for the stylus to be charged by USI 2.0 compliant wireless chargers, including Chromebooks.
    • Note: As stated in the Stylus Certification Requirements 2.0, the device can be tested as described in the "Wireless Charging Compliance and Test Cases Document".

Firmware

GID

  • As a reminder of items that MUST be implemented as described by the C.GetGID(...) definition in section 6.1.3.6 of the USI Technical Specification 2.0:

    • The stylus MUST have a globally unique ID, contained in the GID0-3 fields.
    • The GID3 field MUST include the USI identifier (from the USI Vendor Registry document available from the universalstylus.org member site) of the stylus manufacturer.
  • If the stylus manufacturer is different from the stylus IC manufacturer, then GID2 MUST include the stylus IC manufacturer's USI identifier.

  • If any of the companies involved do not have USI identifiers, they MUST contact USI and have new identifiers allocated for this purpose.

  • If the stylus implements tilt as described by the STY.FEA.3.1 - Stylus Feature – Dual Transmitter Tilt Support in section 2.4 of the Stylus Certification Requirements 2.0 then GID4/5 MUST be programmed appropriately to distinguish stylus models with distinct physical tilt parameters:

  • GID4 MUST be programmed with a valid USI identifier, likely that of the stylus manufacturer, or an OEM that the stylus is being made for.

  • GID5 MUST be programmed with a different value for each stylus that has different electromechanical tilt characteristics, unique to the GID4 value.

Battery Level Reporting

  • As a reminder of items that MUST be implemented as described by the C.GetBattery(...) definition in section 6.1.3.3 of the USI Technical Specification 2.0.
    • The stylus's reported battery level via C.GetBattery() range MUST be in the range of 1 to 100%.
    • Rationale: ChromeOS uses this battery range for reporting stylus battery information. The value 0 in particular should not be reported.
  • The stylus MUST report a battery level via C.GetBattery() of 16 or lower when the battery will be discharged soon and the user should take timely action to change or recharge the stylus battery.
    • Rationale: ChromeOS uses this threshold for actively presenting a notification to the user that they should recharge their stylus.
  • The stylus MUST report a battery level via C.GetBattery() of 25 or lower when the battery is significantly discharged.
    • Rationale: ChromeOS uses this threshold for passively presenting the visual stylus battery indicator with a warning color.
  • If the stylus reports 8 or more unique distinct battery levels, then the stylus' reported battery level SHOULD have a goodness of linear fit to the stylus battery discharge curve (reported % vs actual capacity) of 80% or better.

Revision History

Date Version Notes
2024-02-01 1.0.3 Republication on a new platform
2023-06-29 1.0.2 Inserted line break
2023-06-27 1.0.1 Fixed broken links
2023-05-18 1.0 Initial Partner Site Publication