Manual for the Zaunkoenig M1K
Sensor overview
The M1K is using the PMW3360DM-T2QU (3360 from here on) from PixArt. The 3360 has the following specifications:
- Counts per inch (CPI): Smallest CPI increment (and smallest CPI step as well) in the 3360 is 100 CPI. Highest CPI is 12,000. For CPI values of 100 up to 3,500 the 3360 has just 2 frames of smoothing. From 3,600 CPI up to 12,000 CPI however the smoothing jumps to 16 frames. We thus recommend not going above 3,500 CPI.
- Angle snapping: Angle snapping is a feature that automatically adjusts your cursors movement to align with the horizontal or vertical axis when your hand movement is close to being straight along those lines. Essentially, it snaps your cursor to a perfectly straight path, even if your physical movement is not exact. Some use this feature to increase their chances for headshots in tactical shooters like CS or Valorant, others argue angle snapping does more harm than good to your aim. On the 3360 you can either enable or disable it, there are no settings in-between.
- Lift off distance (LOD): The 3360 offers a «lift of distance» (LOD) of either 2 mm or 3 mm.
Overview over the M1K default parameters
Per default your M1K runs with the following parameters:
- 800 CPI
- Angle snapping off
- 2 mm LOD
- 1,000 hertz polling rate via USB Full Speed
Overview over how to change M1K parameters
The following gives an overview over how to change the following attributes of the M1K: CPI, angle snapping and LOD. It also shows how enter the «Device Firmware Upgrade» (DFU) mode:
CPI
You can change the CPI on your M1K the following way:
- The «CPI programming mode» on the M1K can be entered by lifting up the M1K and holding it in the air for 5 seconds. The M1K then tells you its current CPI by making your cursor jump. When you enter the CPI programming mode with an M1K that is set to 800 CPI, the mouse cursor will go up and down exactly eight times. At 3,500 CPI the mouse cursor would move to the right and back three times (indicating 3,000 CPI), and then up and down five times (indicating 500 CPI).
- Now place the M1K back on your mousepad. You can now change the CPI by pressing either the left or right mouse button. Each time you now press your left mouse button, the CPI will be decreased by 100 until you reach the minimum CPI value of 100. Pressing right increases CPI by 100. While you are doing this you can move the M1K around to get a feeling for different CPI values.
- If you want to increase CPI by 1,000 you can use the following shortcut: hold down the left mouse button and press right. The mouse cursor makes a bigger jump to indicate an increase by 1,000 CPI instead of just 100 CPI. Switch buttons to do the same for decreasing CPI by 1,000.
- Exit the «CPI programming mode» the same way you entered it.
Angle snapping and LOD
Angle snapping and LOD: Per default Angle Snapping on the M1K is disabled, and the LOD is set to 2 millimeters. Should you want to change these values this is how you can do it:
- To activate angle snapping, press and hold the left button while plugging in the M1K. Cursor moves clockwise in a square to indicate the change.
- To set LOD to 3 millimeters, press the right button while plugging in the M1K. Cursor moves clockwise in a square to indicate change.
- To go back to default settings, press both buttons while plugging in the M1K: angle snapping now is disabled again and LOD is set to 2 millimeters. Cursor moves counter-clockwise in a square to indicate the change.
Overclock your Windows driver to 8,000 hertz
When you plug the M1K into your computer it will run with 1,000 hertz which results in your PC getting new mouse data every 1.0 milliseconds (1,000 microseconds). Internally however the MCU of the M1K fetches new data from the sensor every 125 microseconds. Put another way: internally the M1K runs at 8,000 hertz. Only when used in conjunction with an overclocked Windows driver though can you actually use the M1K at 8,000 hertz in Windows.
Using the M1K at 8,000 hertz as opposed to 1,000 hertz reduces input lag by 437.5 microseconds on average.
Should you want to try overclocking your Windows driver to 8,000 hertz give this two minute long tutorial by McFlick a try.
Be warned though that overclocking your Windows drivers to take advantage of 8,000 hertz is very tricky. Many have tried and failed. If you want to go deeper down this rabbit hole check out SweetLows overclock.net thread «USB mouse hard overclocking (2000 Hz+)».
An overview over the M1K PCB
If you want to know more about the M1K PCB check out our blog article «The worlds lightest gaming mouse PCB».
Updating the M1K firmware
The most up to date firmware version of the M1K is the firmware version it was shipped out with: v0.1.
Assume that you have tried out a custom firmware on your M1K and you want to go back to the original firmware for the M1K. Here is how you can do that:
- You can either download the firmware files for the M1K here and proceed with step nine, or you can make your own firmware files; you can do that by browsing to our GitHub page for the M1K and then clicking on the green «code» button at the right top corner of the files list. Select «Download ZIP» and unzip after the download has finished.
- Open «Microsoft Store» from your Windows Start Menu.
- Type «WSL» into the search bar.
- Click on «Ubuntu», then on «Download».
- Click on «Start» once the download is complete.
- A terminal opens displaying the installation process. All you have to do is choose a username and password and wait for the installation to finish (takes only a few minutes). Close the terminal.
-
Now execute «ubuntu» in the command-line prompt (cmd.exe) to open
that terminal again. Execute the following command to open the
folder into which you downloaded and unzipped the firmware files:
cd /mnt/c/Users/Public/Downloads/m1k-firmware-master/m1k-firmware-master
-
Execute the following three commands:
sudo apt-get update -qq
sudo apt-get install -qq gcc-avr binutils-avr avr-libc
make
- After make has been executed the two firmware files have appeared in C:/Users/$HOME/Downloads/m1k-firmware-master/m1k-firmware-master. The .hex file is called twobtn.hex and the .eep file is called twobtn.eep.
- Download the command-line programmer for Atmel USB microcontrollers called «Atmel USB DFU Programmer».
- After you installed DFU Programmer, open up the folder «dfu-prog-usb-1.2.2» and right click on atmel_usb_dfu.inf and click on «install».
- Copy the two firmware files you want to install into the DFU Programmer folder. In the following we will assume they are called twobtn.hex and twobtn.eep.
- Now you have to put the M1K into the «firmware update mode». There are two ways to do that. The first way is to short-circuit the two golden pins to the right side of the left switch: you know you succeeded when the mouse cursor freezes. However, for this method you have to open your mouse. The other way is possible without having to open up your M1K: Plug in the M1K while holding down both mouse buttons. After 5 seconds the cursor will move clockwise in a square to indicate that Angle Snapping and LOD have been changed to default values. This time though, do not let go of your mouse buttons yet. Keep holding them for 5 more seconds until your mouse cursor has frozen.
-
Start the Windows command prompt and execute the following:
cd c:\program files (x86)\dfu-programmer-win-0.7.2
-
Now you have to run these four commands (each command will take a
few seconds to finish):
dfu-programmer atmega32u2 erase --force
dfu-programmer atmega32u2 flash twobtn.hex
dfu-programmer atmega32u2 flash-eeprom twobtn.eep --force
dfu-programmer atmega32u2 start
- After the last of those four commands has been executed, your M1K should be up and running with the new firmware.
FCC
The Zaunkoenig M1K complies with 47 CFR Part 15. Our FCC partner in the US: Michelle Construction, 7575 Hillcrest Avenue Manitou Beach, Michigan, 49253, chuck@michelleconstruction.com