Manual for the Zaunkoenig M3K
Sensor overview
The M3K is using the PAW3399DM-T4QU (3399 from here on) from PixArt. The 3399 has the following specifications:
- CPI: Smallest CPI increment (and smallest CPI step as well) in the 3399 is 50 CPI (it was 100 CPI in the 3360 that was used in the M1K and M2K). CPI steps in increments of 50 are useful if you never could decide between 400 and 500 CPI, for example. If you never could decide between 11,900 and 12,000 CPI … you probably need help. :P Highest CPI of the 3399 is 20,000 (it was 12,000 in the M1K and M2K); but that is a gimmick: at such high CPI values, the mouse cursor is jittery even when your mouse is just resting on your mousepad.
- LOD: Whereas the LOD in the M1K and M2K was either 2 or 3 millimeters, the M3K has three settings to choose from: 1, 2 and 3 millimeters. That is useful.
- Motion sync: The 3399 has a feature called «motion sync». Motion sync marginally increases latency and in return gives you slightly nicer looking sensor graphs. Using motion sync is comparable to drawing lightning bolts on your car: these lightning bolts may make your car look speedy, but in reality they marginally decrease the speed of your car by marginally increasing its mass. We regard motion sync as a gimmick and thus do not support it in our firmware.
- 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 3399 you can either enable or disable it, there are no settings in-between.
Overview over the M3K default parameters
Per default your M3K runs with the following parameters:
- 800 CPI
- 2 mm LOD
- Angle snapping off
- 8,000 hertz polling rate via USB High Speed
Changing CPI, angle snapping, LOD and polling rate
CPI
This is how you can change the CPI of your M3K:
- Plug in your M3K.
- Lift the M3K a few centimeters off your mousepad so it stops tracking.
- Hold down the left and right button for 5 seconds.
- The M3K now enters the so-called «CPI programming mode». Upon entering the mouse cursor will jump around to show you at what CPI the M3K is currently at. There are four kinds of jumps the M3K can do (that is four times as much than what a one-trick pony can do): up-down (indicating 10,000 CPI), right-left (indicating 1,000 CPI), down-up (indicating 100 CPI) as well as left-right (indicating 50 CPI). The default CPI value of the M3K is 800 CPI and would result in eight down-up jumps, for example.
- Now place your M3K back on your mousepad; you will not be able to change CPI while your M3K is up in the air.
- With your M3K on your mousepad you can now change the CPI by pressing either the left or right mouse button. Each time you press your left mouse button, the CPI decreases by 50 until you reach the minimum CPI value of 50. Pressing right increases CPI by 50. While you are doing this you can move the M3K around to get a feeling for different CPI values.
- If you want to increase CPI by 500 you can use the following shortcut: hold down the left mouse button and press right (vice versa for decreasing by 500 CPI). The mouse cursor makes a bigger jump to indicate an increase by 500 CPI instead of just 50 CPI.
- You exit the CPI programming mode the same way you entered it: Lift your M3K a few centimeters off your mousepad so it stops tracking and hold down the left and right mouse button for 5 seconds.
- Upon exiting your M3K again will tell the CPI it is currently running with.
Angle snapping
To activate angle snapping, hold down the left mouse button for at least 3 seconds while plugging in your M3K. The mouse cursor will move clockwise in a square to indicate the change. To disable Angle Snapping, repeat the same procedure; this time the cursor will do the square counterclockwise.
LOD and polling rate
You can switch between three different LOD values (1, 2 and 3 millimeters) as well as four different USB High Speed polling rates (1,000; 2,000; 4,000; 8,000 hertz) by entering the «LOD and polling rate programming mode».
Note that when you dumbed your M3K down to 1,000 hertz via USB Full Speed you will not be able to change the polling rate via the LOD and polling rate programming mode. You would first have to set your M3K back to 8,000 hertz via USB High Speed by plugging it in with the left and right mouse button held down; only then can you access the two polling rate values of 2,000 and 4,000 hertz.
It is a little bit confusing, but you can use the M3K at either 1,000 Hertz via USB Full Speed or at 1,000 Hertz via USB High Speed. The latter has a slight latency advantage over the former, so we recommend to use 1,000 hertz via USB High Speed.
This is how you can enter LOD and polling rate programming mode:
- Hold your M3K up in the air, so the sensor cannot track, and hold down the left and right mouse button for 10 seconds. After 5 seconds your M3K will enter the CPI programming mode and tell you its current CPI; ignore that and keep holding down both buttons for 5 more seconds, until your M3K starts drawing clockwise squares and numbers on your screen (that means you have entered the LOD and polling rate programming mode; you can now let go of the buttons :P).
- Here is what those clockwise squares mean: A LOD value of 2 millimeters will result in two clockwise squares, for example.
- Next up is USB polling rate. Your M3K will draw a figure 8 for 8,000 hertz, a figure 1 for 1,000 hertz, a figure 2 for 2,000 hertz and a figure 4 for 4,000 hertz.
- After the last animation is done you can now change LOD and polling rate by clicking left (LOD) and right (polling rate). Each time you click left the LOD will be increased by 1 millimeter and your mouse cursor will draw clockwise squares to show the new LOD. If the LOD is to 3 millimeters and you try to increase it one more time the LOD will jump down to 1 millimeter.
- Clicking right increases your polling rate, unless you already are at 8,000 hertz, in which case clicking right would result in a new polling rate of 1,000 hertz. Your mouse cursor will draw the corresponding figure to each hertz value.
- You can exit LOD and polling rate programming mode by holding up your M3K and pressing down the left and right mouse button for 5 seconds. Upon exiting your M3K will again tell you its current LOD as well as polling rate.
Switching between USB High Speed and USB Full Speed
Your M3K can do driverless 8,000 hertz. In contrast to the M2K, your M3K is set to 8,000 hertz per default.
Thanks to the sophisticated electromagnetic shielding the M3K can pull off 8,000 hertz even when it is plugged into a (reasonably long) USB extension cord. The M2K struggled a lot with USB extension cords.
However: should you have any issues with 8,000 hertz by the way, the first thing you should try is dumb your M3K down to 1,000 hertz by plugging it in with the left and right mouse button held down (your mouse cursor will do a figure one to indicate the change). If the issues you had are gone now it most likely is an issue related to 8,000 hertz.
You can switch to 1,000 hertz by plugging in your M3K with the left and right mouse button held down. The cursor on your screen will do a figure one (cursor will move right and then down) to indicate the change (you can now let go of the buttons :P).
Should you want to switch back to 8,000 hertz repeat the above procedure; this time your mouse cursor will do a figure eight to indicate the change.
If you want to double-check the polling rate of your M3K you can use this little website, made by «Bored». Move your M3K in quick circles but not in a zig-zag fashion. If you move your M3K quickly enough you should get a reading very close to 8,000 hertz (example: 7,942 hertz). Beware: If you are on a MacBook it is possible that the maximum hertz reading you will get is locked to the frame rate of your monitor.
If you want to analyze mouse input with more fidelity we recommend installing a software called «MouseTester», originally developed by microe1. These days there are several forks of MouseTester; we recommend giving this one by dobragab a try.
If you want to give MouseTester a try here are some pointers:
- Since a certain Windows update, only programs in the foreground get the full polling rate from your mouse, every program in the background will only get 125 hertz. So make sure you use MouseTester while it is in the foreground.
- The best way to generate mouse movement is by doing fast circles.
- Use interval/time for plotting as it actually shows the collected data instead of mathematical conversions.
If that was not technical enough for you, you can give this MouseTester guide by Japanese blogger piaKnow a try.
Reset
Performing a reset on the M3K will restore the following default values: 800 CPI, angle snapping off, 2 millimeters LOD and a polling rate of 8,000 hertz.
This is the first time we offer this reset functionality in our firmware, by the way.
And this is how you perform the reset: plug in your M3K with the right mouse button held down and plug in your M3K. Keep the right mouse button held down for at least 1 millisecond, but no longer than 3 seconds, to perform a reset. Upon a successful reset the mouse cursor will do a backslash (meaning: your mouse cursor will move diagonally towards the bottom right).
If you hold down the right mouse button for longer than 3 seconds your M3K will enter a mode called «Device Firmware Upgrade» (DFU). You know you accidentally got into the DFU mode when your mouse cursor is frozen. If that happens to you simply plug your M3K out and back in again.
Updating the M3K firmware
In December of 2024 Discord user Parawizard discovered severe firmware bugs in the M3K firmware that caused disconnects on some PCs. Not only did he find those firmware bugs, but he also provided a hot fix in the form of a prototype firmware (currently the M3K firmware on our GitHub is not up to date; apologies).
We have been testing this firmware for several months now and it has proven to be very robust. We thus strongly recommend updating: download the following four firmware files here, here, here and here, execute the .bat file (run as administrator) and follow the instructions.
Alternatively, if you want to test your pain tolerance, you can download a piece of software written by the maker of the M3K MCU; with it you can flash the actual firmware file (.bin) directly to the M3K. This software is called STM32CubeProgrammer and in order to download it you have give STM your email. Also you should avoid versions 2.16, 2.17 and 2.18, since they do not work reliably on every system. Known good versions are 2.14 and 2.15. It does not get better; good luck.
FCC
The Zaunkoenig M3K complies with 47 CFR Part 15. Our FCC partner in the US: Michelle Construction, 7575 Hillcrest Avenue Manitou Beach, Michigan, 49253, chuck@michelleconstruction.com