For a keycap more: SayoDevice OSU O3C


My trusty old G613 keyboard started showing signs of age, multiplying or omitting keystrokes. It’ still not a big issue, I don’t mind occasional extra “e” but it does annoy me when copy paste combination replaces the content in a way I can’t undo.

So I bought this nice little keyboardling. It’s got an encoder (a dial), small IPS screen and just three keys. Simple, isn’t it?

Don’t be fooled by the small size of it! If you turn it over, it will reveal some of its secrets:

Being a HID device, it naturally had to have some electronics, but this is more than that: it’s a little computer of its own: own CPU, own memory, own storage. As is expected from that type of devices, it has to be much more capable than your average keyboard to provide very flexible functionality. So, let’s review it.

Price

I’ve got this on Ali Express for 25€ and this is about the right price – not too cheap, but not as expensive as to make it comparable with full size keyboards. Apparently some people claimed that they found even better deals, but even my deal is pretty sweet – especially when I remember the versatility of this little gem.

Build

The build is astonishingly good, actually. It is assembled from metal and plastic parts, and feels sturdy. The best part of it are the silicone pads on the bottom that will not let the device slip; even though it is connected to the computer with a relatively stiff cable, it will stay where you put it. Those pads aren’t sticky and will not leave residue on the surface.

The encoder (dial) can be turned endlessly (because it is an encoder, so it doesn’t have a position where it starts or stops), and there’s a little notch on it that I feel is not very useful but it does provide some visual information.

Keys are Hall effect magnetic switches, pretty quiet and decently fast. They do not have the same feedback feeling as more traditional mechanic switches and the resistance to me feels a little weird.

Being a Hall effect switches, they can be calibrated. This is the main difference from the more traditional keyboard switches. Calibration is a straightforward procedure and it ensures that the key stays responsive in exactly the way you want it to be. Keys don’t have to be recalibrated frequently: it is advisable to calibrate before first use, after firmware upgrade or if environmental conditions change significantly.

The keys are illuminated and the illumination can be controlled with software.

Software

The powerhouse of this little device is the software used to program it. There’s no device driver to download and setting the keyboard up is likely to confuse an ordinary user: to program it, you have to navigate to the website(!) with your browser. If you used any modern MCU toy to play with, this will not be unfamiliar to you: the programming stage is done in a browser using software in the cloud, and with a click on the web page button the changes are sent to the device.

If you really have to use local application, you can download the webapp here.

The workflow is very simple: you have to open a tab and enter the URL provided by the manufacturer while having your device plugged into the computer. The cloud app will then connect to your device and present you with a rich programming environment:

As you can see, there are three main parts of the user interface: on the left are configurable settings, in the middle is the representation of the keyboard, and on the right are options available for a selected setting.

There are five presets available but you have to program the device to be able to switch between them – it doesn’t work out of the box. I’ll explain how in a minute(*).

The settings part of the interface has several functions:

  • Key Binding: here you can program individual keys to perform desired operation by simply selecting key combination on a virtual keyboard (supported are Windows/Linux/Mac) to be sent on key press;
  • Light: used to control LEDs on the device;
  • Advanced Key: this is an interesting part, as it allows the user to create dynamic actions based on some tricks never seen on classic keyboards, such as here depicted configuration for sending a key depending on how deep the user pushes the physical key:
  • Screen: here you can set up the wee display on the device to show any image you upload as an asset, text or interactive text such as predefined strokes counter;
  • Analog key: as Hall effect switches are in reality analog devices and can have more values than simple contact/no-contact, this screen will let you test them, calibrate them and play with sensitivity settings:

Assets are set of data uploaded to the device to be used for display or to be sent to the computer (in case of textual assets):

  • Texts: simple strings of characters, something you type in. Please note that by default they’re using Chinese GB18030 encoding, if you’re using Latin alphabet switch that to UTF16LE;
  • Passwords: here you can type in your passwords for easy access. Here I would strongly advise against that because storing and using passwords in such a way is very unwise thing to do – just leave this empty;
  • Color Tables: predefined colors for you to use;
  • Images: a simple editor to trim and upload your custom images;
  • Scripts: a real rocket engine of such devices, this allows creation of versatile and relatively complex scripts that can automate many things with just one keystroke: copy/paste/edit strings, emulate mouse, change its own settings… the capabilities here are quite diverse and some of that might be too daunting to people who are not used to programming.

Backup and restore are simple tasks to save settings locally and load them later on, quite useful when you’re playing with different possibilities.

Device options is where you can set up various system-level options, but more importantly this is the place where you can find out if your firmware is up-to-date and update it if it isn’t (avoid nightly builds as they might be unstable):

The procedure is very simple, unless you unplug your device prematurely. So, please, don’t unplug your device: the firmware upgrade first have to switch to bootloader before the update can be initiated – you will be asked to connect your device twice. Do not unplug the device or you might brick it. Once the firmware update is underway the screen should look like this:

Only after this process is finished you can unplug your device.

I’m quite impressed with scripting capabilities of this little gadget. Authors have gone far beyond what is expected from a simple keyboardling to let your imagination go wild with many customizable options and actions. Heck, they even have some pseudo-assembler code available for hardcore keyboard hackers:

Of course, none of those advanced abilities are required for the basic functionality of this keyboardling: sending user-defined keystrokes. This can be done in a very straightforward way.

Last, but not least: as with so many Chinese products, documentation is lacking. It’s a pity, for such nice little device should see some well-written documentation in English.

I’ve found a useful piece of documentation in Chinese that looks useful for all but most advanced setups. At the time this article has been written it seems like a work in progress and lacking in some translation as well as in covering advanced features.

Should you buy it?

I’ve bought this little gem to fulfill rather trivial tasks: copy, paste, screenshot. Having volume controls is nice, as is having that wee display. For the money I would say it is a very handy device even if I never use it for anything more complicated than that. If you’re planning to use it for much more thorough automation, I’d say that it is absolutely worth the money. Three keys and an encoder will provide for six different functions, and if you use advanced options such as sensing the depth of a keystroke, it can define up to fifteen different functions. Not bad for such a small and cheap device. Not bad at all.

(note: author is not affiliated with the company making the product and the device was purchased before writing a review)

(*) Switching between presets is easy, but it requires you to sacrifice one of the functions on the keyboard to assign it for preset change:

This is done in Key Binding settings, and the Key mode should be set to “Switch Fn Layer”, following with the desired preset; my setup is rather simple, on “fn 0” pushing the encoder would switch the keyboard to “fn 1”, and there I have set up the same action to switch back to “fn 0”, so that I can have the keyboard do the same on Windows and Mac machine; setting up correct Mac/Win keyboard combo requires just a push on the encoder. For more accessibility you can daisy chain the action to cycle through fn 0 – fn 4 profiles, but beware as there’s no indication of the preset in use.

(update: I’ve resolved this inconvenience by using different LED color schemes for profiles, works like a charm)

Views: 103

Comments, rants and vents


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.