SayoDevice o3c Resources

The place for all resources related to the SayoDevice o3c keypad.

In addition to that, tips and tricks. Even troubleshooting solutions.

This site is not affiliated with any official Sayo personnel.

Start with checking the Index.

Or check FAQ if you have some questions regarding the site.

Have fun!
wat

πŸ‡·πŸ‡ΊπŸ‡¨πŸ‡³ Languages πŸ‡·πŸ‡ΊπŸ‡¨πŸ‡³


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Index

Light/dark mode here....

Are you a newcomer? Check out Calibration - > Rundown of switch parameters first.


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Input

β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Calibration


go back?

How?
  1. Press and Hold the knob.
  2. Scroll the knob down to Button, and click it.
  3. Go to Calibration, and select which key to calibrate for, then proceed.
  4. Gently press down until you feel the switch touching the bottom, then release immediately.
What

The "calibration" process is just defining the end point of the switch.

You should always do it gently because if you force it too hard, the latches on the switch will bend down and lower the switch, thus giving an incorrect reading.


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Rundown of switch parameters


go back?

All values are RELATIVE to the switch's top (0.00mm), and they are built on the assumption that you're using 4mm travel switches.
(might wanna check the HE switches chart out)

Click the value to set it. Turn left/right to respectively increase/decrease, each notch you feel is 0.05mm.
The limit for all values is 3.95mm, and the minimum is 0.00mm (you'll have to turn the knob twice at 0.05mm to reach it, it's a "special" value.)
You can always click again to exit the visualiser and see what value you're at in numbers.

Normal Rapid Trigger

[Trigger] and [Release]

Every distance before [Release] is considered a "top deadzone", in that everything that happens there is effectively ignored. Everything.

For example,

If my [Release] is 1.00mm then 0.00mm -> 0.99mm is my "top deadzone".

If I try to set my [RT Area] in this "top deadzone" it's ignored as well. (For example [RT Top] 0.10mm and [RT End] 0.90mm with both [RT Trigger] and [RT Release] at 0.05mm, and nothing still happens.)

[Trigger] and [Release] constitutes an [Actuation Point], like in normal switches.

[Trigger] should always be bigger than [Release].

When the switch goes through [Trigger], the keypad registers a click and puts it into an "held down" state.
You may then press down as much as you like, until one of those things happens:

  1. You release back to whatever [Release] was set to, as that's the absolute release point for whatever's going on.
  2. You're in the [RT Area] and release back to whatever [RT Release] was set to.
    With this, it's safe to consider that [Release] and [Trigger] are like absolute on/off switches for the entire keypad's operation.

The distance between both of them denotes how big your [Actuation Point] is, and it should ideally be at least 0.10mm.
You can have it as small as 0.05mm, but that tends to cause accidental and unwanted presses due to sensor chatter.

HOWEVER, there's a funny quirk.

If your [Actuation Point] is high up and is 0.10mm or smaller, it can cause random key presses at the top. see video
To fix this, extend the distance to 0.15mm minimum (perhaps even more if it still happens) instead of 0.10mm. see video

For example:

I want a 0.20mm long [Actuation Point] at 0.30mm

What I would like to do is:

Set my [Trigger] to 0.30mm so that the click registers exactly where I want it to be.
and set my [Release] to 0.10mm so that it also takes me exactly 0.20mm to release the key.

[RT Top] and [RT End]

Both of these constitute the area in which Rapid Trigger is effective, which shall be referred to as [RT Area]

[RT Top] defines the top of [RT Area].
If you wish to use Rapid Trigger all the time, just set it to equal to your [Trigger].
Any other value is for advanced usecases (such as only wanting to use rapid trigger for half of the switch, etc...)
Continuous Rapid Trigger and Disable Rapid Trigger also makes special use of this.

[RT End] defines the bottom of [RT Area].
For most people, the only time you'll ever want to touch this is:

  1. Your fingers are too shaky when holding down sliders, in which case you'll want to reduce it so that you won't accidentally trigger [RT Release]. This creates an "end deadzone" for your shake.
  2. Kinda like above, if you're experiencing sudden key release in general when bottoming out, reducing it will often help in most cases.
  3. Disable Rapid Trigger

Or if you're some freak who has their own ideas about how their gameplay should be, I dunno.

[RT Trigger] and [RT Release]

Those two variables take effect only in the [RT Area]. They govern operational sensitivity.

[RT Trigger] controls how far you have to press down for the key to register a click, and transfer into a "held down" state in [RT Area].

[RT Release] controls how far you have to release the key from its "held down" state for it unpress in [RT Area].

As with all other variables, change them according to your OWN preferences and comfort.

The general recommendation is to not use anything lower than 0.20mm for both of them. Unwanted inputs may occur otherwise.

Continuous Rapid Trigger

This "mode" is activated when you set your [RT Top] to 0.00mm, and [Trigger] EQUAL to your [RT End]. (for example, 3.95mm [Trigger] and 3.95mm [RT End]) (This is also how older firmware versions work.)

In this mode, the keypad basically works like Normal Rapid Trigger without an [Actuation Point].

[Release] becomes the old 1.2 firmware's [Deadzone]. Anything in the [Deadzone] is completely ignored.

You can still use [RT End] and [Trigger] to set a "bottom deadzone". (for example, on 3.70mm for both the keypad will ignore 0.30mm at the bottom)
(if you're looking to copy your old settings then just set it to 3.95mm, as the old firmwares never really had a bottom deadzone)
(also, if you're looking to copy your old settings, you can just keep [Press] and [Release] the same as before)

For example:

My old firmware settings were 0.10mm [Deadzone], 0.20mm [Press] and 0.25mm [Release]

To replicate these on the new firmware, I first set my [Release] to 0.10mm, then [RT Trigger] to 0.20mm and [RT Release] to 0.25mm

Then I set my [RT Top] to 0.00mm, then [Trigger] and [RT End] to 3.95mm to convert the keypad to Continuous Rapid Trigger.

The end.


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Disable Rapid Trigger


go back?

How?
  1. Calibrate the switch PROPERLY. Press all the way down gently, until you feel the bottom out.
  2. Set [RT Top] and [RT End] both to 0.00mm (do it with [RT Top] first)
  3. Your [Actuation Point] is whatever you want in [Trigger], minus how long you want it to be resulting in [Actuation Length]
What

So I want a 3.2mm actuation point with a 0.10mm long [Actuation Length]
I do step 1, 2 and set my [Trigger] to 3.20mm and [Release] to 3.10mm (3.20 - 0.10 = 3.10)

NOTE: If you are looking to faithfully reproduce how it feels on MX Mechanical switches, they usually have an [Actuation Length] of around 0.40mm

The end.


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Placeholder


go back?


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Placeholder


go back?


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Placeholder


go back?


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Troubleshooting

β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Factory Reset


go back?

How?

Use Google Chrome/Chromium, Microsoft Edge or Opera for this!

Firefox and other browsers do not support WebHID which the site uses to communicate with the keypad.

πŸ€“ [FOR LINUX USERS] Some changes must be made to udev rules.

sudo wget -P /etc/udev/rules.d https://raw.githubusercontent.com/lerh050/o3c/main/98-saybot.rules and sudo udevadm control --reload-rules.
A reboot might also be necessary.

  1. Plug in your keypad. If necessary, plug it in while holding down the knob.
  2. Go to sayodevice.com and select your device when asked
    just like this.
  3. Go to the Settings tab and select the 3 boxes to Open, as shown below
    Open the gates!
  4. Go to the HID tab, select the option at the very bottom (that's the factory reset code), then click on the arrow to send it to the device.
    See you on the other side.
  5. Replug the device.

Still doesn't work?

You might need to perform a hardware factory reset. Click here!


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Hardware Factory Reset


go back?

For o3c++ users, there is a little permanent caveat. It's at the end of the guide.

If you're feeling bored and your o3c++ still works perfectly and you just want to dick around with this, then DON'T DO IT!!! The effect is NOT reversible!

  1. Download WCHISPStudio and install it.
    β€Ž
    β€Ž
    β€Ž
  2. Download the base firmware package (click me!).
    β€Ž
    β€Ž
    β€Ž
  3. Open WCHISPStudio and COPY those parameters EXACTLY.
    You can change the language with on the top bar
    β€Ž
    β€Ž
    β€Ž
  4. Remove the knob and keycaps off your unit, then screw off the top plate.
    (bro tip: use the plate itself as a screw holder)
    Then get the screen off and hang it on the encoder shaft. You can use something to push it up or just shake it out like below.
    β€Ž
    β€Ž
    β€Ž
  5. Get anything conductive (metal tweezer, paperclip, etc...) to short the 2 pins under the screen, then plug the unit into your PC while doing so.
    β€Ž
    β€Ž
    β€Ž
  6. If something like this pops up on WCHISPStudio, you're doing it right.
    β€Ž
    β€Ž
    β€Ž
  7. Now , then unplug the unit and repeat Step 5
    β€Ž
    β€Ž
    β€Ž
  8. Select the base firmware package, tick the box, and
    β€Ž
    β€Ž
    β€Ž
  9. Replug your unit and it should be working now, unless you use o3c++. If so, read below.

o3c++ users have extra stuff to do

Since the base firmware package in this guide was only built for o3c, o3c++ users have to do extra stuff when upgrading firmware (after doing the hardware recovery and for future updates).
The device will be seen as an o3c by the updater and thus be flashed with the incorrect o3c firmware, so to get around this they must:

  1. Delete the "app_o3c.bin" file in the "firmware" folder
  2. Rename "app_o3c_pp.bin" to "app_o3c.bin"
  3. That's it. You can run the bat file to upgrade like usual now.

Everything else works fine. The o3c++ that has been through this process will (surprisingly!) still be recognised correctly as an o3c++ on the site and software and all features will work just fine. (lmao what???)


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Display & Importing Media

β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

How media is imported


go back?

How?

Aligned to the top left corner, every single piece of media (GIFs are split into and processed frame by frame, then the file size for each frame is added together with no additional compression) goes through the following things:

  1. They are first downscaled by the software (very basic and ugly, only bilinar filtering)
  2. They're then converted to raw raster data. This could undo most image optimisations.
  3. Then they get put through the following algorithm:

ok

This often results in a lower file size, but in rare cases it could be higher as well. This is due to the "converting to raw raster data" process.

What

Optimise your resolution when importing! This has a MAJOR impact. For example, if your GIF has a lot of frames, is square and should only fit to one side then set it to a lower resolution, like so:

xd

Aspect ratios below 1:1 (say, 79:80) WILL break the selector!!! Try to work around that for now.

The processing is consistent and will result in around the same result (quality and file size after compression) all the time no matter how much you optimise your source material.

Despite this, you should still do the downscaling yourself with better algorithms (ImageMagick at ezgif). The software sucks ass at scaling (very basic, literally just bilinear filtering and nothing else).

Don't worry too much about source material quality because it'll almost always look like shit all the same in the end! Have fun.


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

How to import media


go back?

It is advisable to check out How media is imported first.

How?
  1. Get the software for your firmware. Could always check out the downloads section.
  2. Plug the keypad in and open the software.
  3. Click the Images tab, click the+ and a box should show up. Click Open Picture and select your media.

just like that

  1. An adjustment box should pop up (it won't if you don't have anymore space), you can play around like below then click OK to import.

Krater needs his sugar.

Aspect ratios below 1:1 (say, 79:80) WILL break the selector!!! Try to work around that for now.

  1. Click this box yep, this to write the changes to your keypad.
What

Due to how janky the editor is, it's recommended to artificially enlarge your canvas for better adjustments.
β€Ž
β€Ž
β€Ž
smol gets you this β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
large gets you this


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Extras

β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

HE switches chart


go back?

Max raws are grabbed on the latest o3c firmware version and north facing
(max raw can be different between the latest o3c and o3c++ firmware versions sometimes, and there's the South Facing Jank)

(Note: you can drag/scroll the chart around)

Pic Name Mechanism Start/BottomForce (gf) Tactile/BottomOut (mm) Max Raw (approx. range) Where to get OEM Notes
Linear60 by Wooting Lekker Linear60 Linear 40/60gf None/4mm ~800-1400 Wooting's Official Site Gateron
Linear45 by Wooting Lekker Linear45 Linear 30/45gf None/4mm ~800-1400 Wooting's Official Site Gateron
Omnipoint by Steelseries Steelseries Omnipoint Linear 30/45gf None/4mm ~800-1400 Disassemble Gateron Scratchy, very loose fit in the o3c, 0/10
KS-20 White by Gateron Gateron KS-20 White Linear 30/50gf None/4mm ~800-1400 MechKeyShop Gateron
KS-20 Orange by Gateron Gateron KS-20 Orange Linear 38/50gf None/4mm ~800-1400 MechKeyShop Gateron
Random pic lmao Yiqian Reds Linear 30/50gf None/4mm ~150-800 Please don't. Yiqian πŸ€

South Facing Jank


go back?

The LEDs on the o3c are mounted on top of the PCB, and protruding from it.
pic by me, traced by DragonLazer

This causes some rather serious complications on south facing, like this:

This forces at the switch at a weird angle resting on the LED, and thus reduces max raw, and makes the entire thing sound like shit because the switch is resting on the LED instead of hugging the PCB to make a warm, satisfying sound profile.

Most switches do not account for this, and sometimes the ones that do are still not enough.

Wooting doesn't have this issue because the LEDs on their products are mounted under the PCB, thus completely leaving the socket flat accomodating both orientations without any issues.
idk who took this


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Replacement Parts


go back?

Knob: The knob uses a generic "EC11 Rotary Encoder", just google it. And make sure you get the correct knob for your encoder's shaft (or the other way around).
You will need a soldering iron to remove it.

Screen: Generic 0.96mm spliced TFT LCD display, here's a link (there are cheaper offers out there, just google them)
You do not need any equipment to replace it, just lift the clamp to get the cable out. Then push the new cable into the slot nicely and pull the clamp down again.


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Downloads

Those are download links directly grabbed from official channels (discord server, site, etc...).
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Firmware & Software

Flash the firmware by double clicking the upgrade.bat file, always.


go back?


β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

Other Stuff


go back?

  • Top Plate Template PSD File
    You can use this to make your own covers for the top plate. Or make your own top plate out of other materials.

β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž

FAQ

go back?
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
β€Ž
Q: Clyde?
A: Here. That's the official Sayo Discord. You should know this already unless you didn't read the pamphlet or the link on it has already expired.
β€Ž
β€Ž
β€Ž
Q: Who runs this town?
A: No one.
β€Ž
β€Ž
β€Ž
Q: Who contributes?
A: See below.
β€Ž
β€Ž
β€Ž
Q: How do I contribute?
A: On GitHub. Just make an issue and someone will sort it out.


go back?

light/dark mode here (click it)

Edit Report
Pub: 28 Jul 2023 01:51 UTC
Edit: 03 Aug 2024 12:24 UTC
Views: 61636