- FinalMouse · ... 11 2.4.6 Misc Firmware Features / Capabilities / Glitch ... approach requires
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