- FinalMouse · ... 11 2.4.6 Misc Firmware Features / Capabilities / Glitch ... approach requires

17
[C* Denotes confidential information excluded from this document] <SCREAM 1 PMW3360 - FIRST EDITION> PRODUCT DESIGN SPECIFICATION / ENGINEERING WHITE PAPER Version <1.1- Commercial Production> <10/14/2016>

Transcript of - FinalMouse · ... 11 2.4.6 Misc Firmware Features / Capabilities / Glitch ... approach requires

[C* Denotes confidential information excluded from this document]

<SCREAM 1 PMW3360 - FIRST EDITION> PRODUCT DESIGN SPECIFICATION /

ENGINEERING WHITE PAPER Version <1.1- Commercial Production>

<10/14/2016>

Scream 1 PMW3360 – First Edition

Page 2 of 17 [C* Denotes confidential information excluded from this document]

Scream 1 PMW3360 – First Edition

Page 3 of 17 [C* Denotes confidential information excluded from this document]

VERSION HISTORY Version

# Implemented

By Revision

Date Approved

By Approval

Date Reason

1.0 <Finalmouse LLC>

<01/02/16> - - Initial hardware prototype, pcb design

1.01 <Finalmouse LLC>

<02/14/16> - - Initial firmware + pcb + Hardware improvement

1.02 <Finalmouse LLC>

<03/02/16> - - Firmware + pcb+ hardware improvement

1.03 <Finalmouse LLC>

<05/12/16> - - Firmware improvement

1.04 <Finalmouse LLC>

<06/08/16> - - Firmware improvement

1.05 <Finalmouse LLC>

<08/04/16> - - Firmware improvement

1.06 <Finalmouse LLC>

<08/21/16> - - Firmware improvement

1.1 - producti

on

<Finalmouse LLC>

<09/05/16> <Finalmouse LLC>

<09/12/16> Firmware final

Scream 1 PMW3360 – First Edition

Page 4 of 17 [C* Denotes confidential information excluded from this document]

TABLE OF CONTENTS 1 GENERAL OVERVIEW AND DESIGN GUIDELINES/APPROACH/GOALS ............. 5

1.1 Assumptions / Constraints / Standards ............................................................... 5

2 DESIGN .................................................................................................................................... 6 2.1 PMW3360 Sensor .................................................................................................. 6 2.2 In-house programmed NXP MCU ........................................................................ 6 2.3 Sensor settings / Customization / Registers ...................................................... 8 2.4 Sensor Implentation / Firmware Design / Sensor performance ...................... 8

2.4.1 Motion / Input Latencies / Sensor Polling ........................................................... 8 2.4.2 Click Latencies / Button Polling .......................................................................... 9 2.4.3 USB Polling stability / Motion reporting ............................................................. 9 2.4.4 Tracking Quality / Motion Count Smoothness .................................................. 10 2.4.5 Wheel encoder Polling / “CS Bunny hop Optimization” ................................... 11 2.4.6 Misc Firmware Features / Capabilities / Glitch Prevention / CPI Stages .......... 11

2.5 Shape / Industrial Design .................................................................................... 11 2.6 Lightweight Design / Weight Reduction ............................................................ 13 2.7 Integrated illumination .......................................................................................... 14 2.8 PCB Design / Circuit Design / Schematic Design ........................................... 14 2.9 Lens Assembly / Sensor Position ...................................................................... 15 2.10 OMRON 20M Switches ........................................................................................ 15 2.11 Side Button Improvements / New Daughter PCB design ............................... 16

Scream 1 PMW3360 – First Edition

Page 5 of 17 [C* Denotes confidential information excluded from this document]

1 GENERAL OVERVIEW AND DESIGN

GUIDELINES/APPROACH/GOALS From a performance standpoint the Scream One (and all related pmw3360

variations of the Scream One/Finalmouse pro player endorsed products) is

designed to surpass every eSports performance benchmark given the current

understanding of optimal input device standards for high-end competitive FPS

gaming. In implementing these performance features and capabilities our

approach requires not only engineering/lab validation (motion stage, latency,

stress testing, firmware debugging, firmware code design review, IC review, PCB

review, or any related hardware facets) but also a hands on, in-game, pro-player

based validation to confirm or deny any relating engineering change. Every

revision, improvement, or even debugging must go through a hands on review to

ensure real world competitive congruence. A final production version is a confident

approval by both avenues of validation.

1.1 ASSUMPTIONS / CONSTRAINTS / STANDARDS

In designing the Scream One certain assumptions were to be made regarding

what traits were most optimal in a competitive eSports gaming mouse. These

standards and constraints govern the design philosophy/implementation, and

create the necessary benchmarks in measuring the Scream Ones performance.

The assumptions are that the following traits are paramount in a “perfect” eSports

mouse:

- exact / raw 1:1 motion representation (i.e. no acceleration, no prediction, no

artificial smoothing/filters, no sensor delay, no intermediary manipulation of

Scream 1 PMW3360 – First Edition

Page 6 of 17 [C* Denotes confidential information excluded from this document]

motion data)

- low latency (i.e. clicks registering as fast as possible, fast motion report rate, no

sensor delay)

- lightweight

- legacy hardware traits (shape players are used to, mechanical wheel encoder,

omron switches, side buttons, mouse feet configuration, plug and play, driver-

free preset dpi stages, etc…)

2 DESIGN This section outlines the design of the Scream One in regards to any feature, trait,

or implementation that has an impact on our measured performance of the mouse.

I.E. any non-aesthetic design.

2.1 PMW3360 SENSOR The Scream One utilizes the best in class PMW3360DM-T2QU. As Pixarts highest

end optical navigation gaming sensor the PMW3360 boasts the highest

capabilities of any existing navigation sensor, making it the best choice for eSports

tracking. The PMW3360DM-T2QU has a max framerate of 12,000 FPS, 12,000

resolution, speed of 250ips, integrated IR LED, resolution error of <1%, very low

default LOD, and 70mhz system clock with internal oscillator.

view full datasheet

2.2 IN-HOUSE PROGRAMMED NXP MCU The Scream One utilizes an NXP LPC11U34 ARM Cortex-M0 based

Scream 1 PMW3360 – First Edition

Page 7 of 17 [C* Denotes confidential information excluded from this document]

microcontroller. This powerful and flexible controller is capable of operating at

CPU frequencies of up to 50mhz, and comes equipped with best in class clock

generation allowing the Scream One’s sensor implementation and firmware to

provide consistent reporting of motion data completely in sync with every USB

frame. view full datasheet

The NXP LPC11U34 is programmed in-house by Finalmouse in Southern

California before being shipped out for assembly. This extra step ensures that

Finalmouse has complete control over every step of firmware development, from

coding all the way to MCU mass programming. The Scream One marks the first

eSports mouse with MCU’s being made and programmed in-house in the United

States. Every MCU is also laser etched by Finalmouse with the corresponding

firmware revision, further instilling the upmost standards in performance

assurance. These measures ensure that authentic Scream One performance will

be available SOLELY in authentic Scream Ones.

Scream 1 PMW3360 – First Edition

Page 8 of 17 [C* Denotes confidential information excluded from this document]

2.3 SENSOR SETTINGS / CUSTOMIZATION / REGISTERS The PMW3360 sensor in the Scream One was tuned to provide optimal eSports

performance in accordance to the current standards of a “perfect” eSports mouse.

These internal settings can be adjusted by writing to one or more of the many

PMW3360 registers. These registers are not to be confused with firmware, as they

are already capabilities integrated into the sensor itself.

The Angle Snapping registers are off to ensure there is no prediction (register

0x42), rest modes are disabled to ensure no occurrence of input lag from idle, lod

is set at the default low (register 0x4A).

Additionally, the motion in the Scream One is being read via Burst Mode Read as

opposed to being individually read. This results in a faster internal SPI transaction

time, and less input lag (sensor delay).

2.4 SENSOR IMPLENTATION / FIRMWARE DESIGN / SENSOR PERFORMANCE The core of the Scream One’s performance lies within the firmware design. Nearly

every attribute, performance benchmark, and nuanced implementation of the

sensor is governed by the firmware design. Developed in-house by Finalmouse,

and consisting of over 10,000 kilobytes of code, the Scream One’s brain is

designed and engineered to provide best in class eSports performance in every

measurable category. Some (but not all) of these categories will be described

below.

2.4.1 Motion / Input Latencies / Sensor Polling The firmware for the Scream One was designed to poll/read motion data as fast

Scream 1 PMW3360 – First Edition

Page 9 of 17 [C* Denotes confidential information excluded from this document]

as possible to achieve the lowest input/motion latency of any mouse on the

market. After syncing to the C* with: // if( poll_usb )

if(C*IRQCount != oldC*IRQCount) The motion data is read within 180uS. There

is no intermediary filter, delay, or code to bog down the speed of the pipeline.

Each USB frame receives motion data in a hyper fast, and consistent manner.

2.4.2 Click Latencies / Button Polling Similar to motion data, buttons on the Scream One are polled in time for every

USB frame without any intermediary delay. This equates to a click latency of

<1ms, since there is no debounce count on press. What this means for

professional gamers is that their shot fires faster than any competing eSports

mouse on the market. The difference between <1ms and 5-10ms is not trivial, and

in our testing we have found it to be perceivable in game by players. In the game

CS:GO, click latency can have a measurable difference in hitting a shot on “dust2

mid doors with an awp”, and many other similar situations that occur very often.

2.4.3 USB Polling stability / Motion reporting While a high report rate is beneficial, it is more important to ensure the reports of

the mouse are being sent via USB consistently. In many high end gaming mice

this is often an issue as reports can be frequently dropped, skipped, or fall out of

sync. The Scream One has a USB report rate of 1ms (1000hz). (This USB report

rate is not to be confused with sensor polling) And more importantly, the scream

one delivers every single report on time, consistently, with zero drops or skips.

This is done by syncing the motion reads PROPERLY with a low level USB int

called the C*. In motion stage testing the Scream One was able to maintain

incredibly stable deltas for each subsequent report.

Scream 1 PMW3360 – First Edition

Page 10 of 17 [C* Denotes confidential information excluded from this document]

2.4.4 Tracking Quality / Motion Count Smoothness By only doing motion reads when needed for a USB frame, and syncing with the

USB frames as previously described, the resulting motion data becomes

organically smoother without the use of any artificial smoothing, delays, or filters.

This equates to great feeling tracking, without any unnecessary noise, delays, or

artifacts. The end result is raw 1:1 tracking that is inherently smooth, which is often

perceivable by players. Additionally, tracking quality was tested by reading the

motion pin data and evaluating the SQUAL or surface quality value. Proper values

here indicated proper circuit hardware design, and lens assembly.

Scream 1 PMW3360 – First Edition

Page 11 of 17 [C* Denotes confidential information excluded from this document]

2.4.5 Wheel encoder Polling / “CS Bunny hop Optimization” Unlike every other button polling, the z-encoder (mousewheel) was altered to C*

as through testing we found it to be easier to “bunnyhop” with.

2.4.6 Miscellaneous Firmware Features / Capabilities / Glitch Prevention / CPI Stages The Scream One comes with a new capability known as glitch prevention. This

means that while in motion a user cannot accidentally change the CPI if their hand

mistakenly hits the CPI button. The CPI stages on the Scream One are as follows:

400, 800, 1600, 3200

2.5 SHAPE / INDUSTRIAL DESIGN The Scream One shape/shell was designed from the ground up by Finalmouse

with inspiration from some of the greatest legacy mice of the past. The simple

shape was designed to be used by a wide variety of grips and be able to stand the

Scream 1 PMW3360 – First Edition

Page 12 of 17 [C* Denotes confidential information excluded from this document]

test of time in the competitive scene. Full size, yet able to be finger tipped, clawed,

or palmed in a variety of ways. Every aspect of the industrial design such as the

individual clicker housing, curvature, finger grooves, dimensions, etc… were

tested over a period of 2 and ½ years to ensure optimal performance in any

eSports environment.

Scream 1 PMW3360 – First Edition

Page 13 of 17 [C* Denotes confidential information excluded from this document]

2.6 LIGHTWEIGHT DESIGN / WEIGHT REDUCTION The Scream One was made significantly lighter than the tournament pro through a

variety of ways. As a result, the Scream One is the lightest Finalmouse built to

date, with a post-assembly weight of 79g (with wire cut near rubber housing), and

pre-assembly weight of just over 70g. The biggest weight reduction was achieved

by removing the tournament pro vertical tactile side switches, and instead utilizing

better omron style side switches on a daughter PCB inside the mouse. The

daughter PCB was designed to fit without any screws which would have added

more weight. The scream one almost completely avoided the utilization of screws,

making the mouse both lighter and of better quality. The lack of screws eliminates

the variance of pressure on the pcb... Instead, intelligent clip assembly provides a

more secure, consistent, and quality fit.

Additionally, Led’s were replaced by SMT LED’s to reduce weight, and the lack of

a sensor LED / LED clip due to the 3360’s integrated illumination also aided in

weight reduction. These changes in addition to the already clean and simple

design / low usage of materials make the Scream One a full size mouse that is

lighter than mice nearly half its dimensional size. It also makes the Scream One

the lightest high end eSports mouse available today.

Scream 1 PMW3360 – First Edition

Page 14 of 17 [C* Denotes confidential information excluded from this document]

2.7 INTEGRATED ILLUMINATION In addition to its previously mentioned benefits, the PMW3360’s integrated

illumination also serves to reduce tracking artifacts, and other motion defects

caused by LED inconsistencies. These inconsistencies included variance in LED

quality, variance in led clip assembly, light diffuse, etc… These issues could lead

to tracking malfunction that could include a cursor snapping to the floor or ceiling,

skipping, etc…

2.8 PCB DESIGN / CIRCUIT DESIGN / SCHEMATIC DESIGN The PCB, circuit, and schematic design for the Scream One was done in-house by

Finalmouse to ensure upmost quality compliance. In addition to standard electrical

Scream 1 PMW3360 – First Edition

Page 15 of 17 [C* Denotes confidential information excluded from this document]

quality compliance, proper circuit and schematic design is paramount in achieving

optimal performance from the PMW3360. Improper power to the sensor can lead

to degraded tracking performance, reliability issues, etc... Intensive stress testing

combined with measuring SQUAL values ensured optimal design.

2.9 LENS ASSEMBLY / SENSOR POSITION The sensor position for the Scream One was moved 2mm higher (closer to

mousewheel) than in the tournament pro. This was done to provide an increase in

the range of motion arc, while still maintaining a centered neurokinetic feel.

2.10 OMRON 20M SWITCHES The Omron switches in the Scream One’s left and right switch were upgraded to

D2FC-F-7N (20m) switches from the standard 5m in previous Finalmice. 20m

Scream 1 PMW3360 – First Edition

Page 16 of 17 [C* Denotes confidential information excluded from this document]

indicates a 20 million click life count.

2.11 SIDE BUTTON IMPROVEMENTS / NEW DAUGHTER PCB DESIGN See section 2.6

Scream 1 PMW3360 – First Edition

Page 17 of 17 [C* Denotes confidential information excluded from this document]