Monthly Archives: June 2020

Ring Fit Adventure – Perfect for Working Out at Home

The Nintento Switch has been a real game changer (pun intended) in the console world. For the first time, a console grade device can also turn portable with complete ease. I’ve been a Nintendo fan since the first Famicom days, and have had the luck to have had the opportunity to play on every other console Nintento released since.

Since the Wii, Nintendo started to release fitness titles. The Wii Fit was quite fun to play, despite the cumbersome but necessary balance board. Game fitness has taken another step up with the brilliant versatility of the Nintendo Switch. Ring Fit Adventure is like no other fitness games I’ve ever played.

My unit delivered by

The game was released in Oct 2019. Initially I did not pay much attention to it. It was during the Chinese COVID-19 lockdown in Feb/Mar 2020 that a report caught my attention. Apparently there was someone who spent a lot of time playing it during the lockdown and lost a good amount of weight. Gaming and weight loss is a good combo for me!

I started looking around to order the game, and the prices have shot through the roof. I read that the demand from China was tremendous and that drove up the price globally. It was also out of stock in many places.

Luckily, in early April, just when Singapore started with our version of the lockdown Circuit Breaker, had a surprise listing of the RingFit Adventure, and at a reasonable MSRP price of S$129. (Thank you Amazon for being fair!!) It was something I had to order immediately, few hours later, it was all sold out!! As a comparison, other local retailers had the price at over S$300, with the highest at S$500. was really efficient, and I received the game the next day. In the package, expect to see the game itself, a really well made Ring-Con, and a leg strap. The Ring-Con is where you would attached the right controller, and the leg strap will hold the left controller and strapped to your left thigh. I’ve been playing for over 60 days now and these still look new.

The game play is a very well thought out. The story mode is pretty much like a turn based RPG. There’s the boss, Dragaux which you’ll have to battle multiple times at the end stage of some worlds. Each world has a unique map and consists of common stages, there are the PvE stages where you’ll be running and battling mobs, some environment will have special water and air terrains. The real workout is the run, and also the battle scenes. The battle is where it resembles turn based RPG, where you and the mobs will take turn to attack. To attack, you get to choose from a self defined list of skills. It would be a specific type of workout that you have to perform, ranging from upper body, lower body, abs, and balance. To progress well through the game, you’ll want to use a range of different skills. This is a really nice touch to get the play a rather balanced workout. The past two years I’ve been visiting the gym in my condo, but I was too focused on the treadmill and elliptical machines. This is a really good change.

Apart from PvE stages, there are also Game Gyms, these give a nice break to allow some other fun activities. There is a good variety of games that work out the arms, legs and abs. No RPG is complete without levelling your character, upgrading armour (tops, shorts and shoes), and potions (smoothies). Fortunately these are not at the level of complexity found in full blown RPG like Breath of the Wild. There is also a skill tree that you will spend skill points on, to add health (heart), attack points, defence points, new skills and other perks.

60+ days in, I’ve been playing this for at least 30mins everyday. My character level is now over 170, and I’ve lost track of which world I’m in now. As expected by any seasoned gamer, each world has increased difficulty and fun factor! Even the game gyms get more challenging. Earlier stages just need you to reach a minimum points to clear the stage, but the current level I’m at adds new twists, like to only collect silver coins and completely avoid the gold coins.

Wrapping Up…

Fitness wise, I definitely feel to be in much better shape. I had really poor stamina for running, but now I can clear a running stage without much difficulty. The game checks in regularly with you on how you feel about the difficulty level, and you can adjust to increase or reduce. So it can keep up with individual progress. Weight wise, there is some noticeable reduction, but definitely not significant like it was publicised by other. Weight loss is not simply about exercise but also intake. I’m just glad that I’m not putting on weight during this long running stay home movement.

I really recommend this game for everyone. For those gamers who lack the access or motivations to hit the gym, this is an excellent alternative. The Ring-Con is simple but yet really effective to give a decent workout.

I think I’m not even half way through the game yet as there are still many empty slots in my inventory list. I’m trying to avoid reading any reviews or walkthroughs, so no spoilers please.

Integrating Ambi Climate aircon control with Homey

In a previous post, I shared my experience integrating different Home Automation systems together. I received a feedback that there is now an Ambi Climate plugin for the Homey. I’ve now made the switch from integrating Ambi Climate with Google Home to integrating with Homey. Here is what I have learnt.

I took a cautious approach to make the switch, rather than a mass switch of all my 5 Ambi Climate devices, I start with one, the Ambi Climate device for my Study Room.

The overall process was simple, and here are the steps I took.

  • Install the Ambi Climate plugin to Homey
  • In Homey App, choose to add new device > Ambi Climate > Pick desired device
  • Go to Google Home > add > Set up Device > Have something already setup > select Homey > Check for new Devices
  • The new unit should show up after the refresh

The above are the two icons seen in Google Home for the same Ambi Climate device. The one on the left is picked up via Homey, and the one on the right is via direct integration between Ambi Climate and Google Home.

User Experience with the Ambi Climate Plugin for Homey

A/C Switched Off
A/C Switched On

From within the Homey App, I get a typical tile with a nice Ambi Climate icon. Also, I like the inclusion at the top right corner of the tile, the target temperature Ambi Climate had set for the A/C. The two different shades of the icon represents the device being powered on or off. Tapping the tile, like most devices, will toggle the power action to switch On/Off the A/C.

A long press and release will bring you into the device details page. There are five sections, from left to right, Temperature, Power, Cooling Mode, Humidity, Homey device activity log. Be aware though, this plugin was developed with the assumption that Ambi Climate is to be operated only in the Comfort Mode. I would agree, as that is the real value of the Ambi Climate AI. For fine grain control of Ambi Climate, use the native app. If you have some ideas, feel free to provide feedback to the developer for the plugin.

  • Temperature – this page reports the current measured temperature, and the temperature target set on the A/C. Everything here is read only, the dial is just for illustration. You can move it, but nothing will happen. The potential confusion on this page is that even if the A/C is switched off, the message can still read “Cooling down towards”. I would probably prefer it to just say “A/C is switched off” instead.
  • Power – this page does allow you to power on/off the A/C
  • Cooling Mode – Reports if the A/C is set to Automatic, Heat, Cool or Off. Again, this is read only, and changes made here are not applied.
  • Humidity – reports on the measured humidity.
  • Device activity log – shows running history on when the A/C was switched on/off.

At this point, you may ask, if we can only power on/off the A/C, what is the value of using Ambi Climate plugin with Homey. The power is with automation you can potentially do with it.

Below are screenshots from my attempt to create a simple flow, for illustration purposes. This flow will send push notifications to my phone with the current measured temperature.

Of course this is just an example, I don’t really have interest to be notified each time the temperature changes. One practical use perhaps, is to combine with other devices. For example, a trigger could be that the temperature has reached above a threshold, and the action is to close the curtains and switch on the A/C.

How about voice control with Google Home?

Although I have disconnected Ambi Climate with Google Home, there is now an indirect connection between the two via Homey. The good news is that Google Home still recognises these devices as aircon units, so I can continue to use the same generic voice commands “Hey Google, switch on the aircon”, and they still work just fine. Though I haven’t tested it, I don’t think the Ambi Climate specific voice commands will work anymore. Not really an issue for me, since I hardly use them.

Wrapping Up…

I am happy with integrating Ambi Climate with Homey. It gives me access to different automation controls which I could not do via Google Home. I think the plugin is a great start, and I’ll be sure to provide feedback to the developer as ideas come to mind as I use the app more.

Voice Commands and Importance of Naming Rooms with Home Automation Systems

A year ago, in May 2019, I started a simple journey to implement some automation for my new apartment. For some overview, you can read from this post. In my set up, I have connected up devices from different systems. The three main systems I have are:-

  • Homey – the smart controller that integrates with my lights, blinds, doors, TV and Sound System.
  • Google Home – where Google Assistant is the primary voice control.
  • Mi Home – that I use with over 10 remote controlled AC power plugs, and a couple of bedside lamps.
  • Ambi Climate – I have 5 units of Ambi Climate v2 to control the air con units in each of the rooms.

The challenge was trying to integrate these 4 systems together. While I prefer Homey to be at the core of everything, where every device I want to be automated can be done by Homey, it is not the case. For example, there was no integration between Homey, Mi Home and Ambi Climate. [Update 13 June 2020: Switching Ambi Climate to Homey] On the other hand Google Home can integrate with everything. However it does not recognise all types of devices I have. For example, when I first set up in 2019, Google Home did not recognise the blinds. Hence I could not use voice control to perform any actions with the blinds.

Back to the point about integration between these systems. There are times where controlling groups of devices by room are useful, e.g. switching off everything in the bedroom. You can simply issue a voice command to “switch off the room”. Since it is Google Home that receives the command, it needs to know what devices are in that room. Since my lights do not have direct integration with Google Home, it then depends on the groupings presented by Homey and Mi Home.

Overview of the automation setup and the integrations

Here is the first crucial part, naming the rooms across the systems. In Google Home and Mi Home, you would create a Home with Rooms. In Homey, the construct is a Home with Zones. Rooms and Zones essentially mean the same thing here, and you want to create the Rooms/Zone consistently across all your systems. To avoid any risk of discrepancies, I recommend to name them exactly the same, even the spaces and cases must match. For example, Living Room, must be spelled exactly the same way, with the capital letter for every first letter and the space in between. No extra characters before and after. With this, when you connect the systems together, the devices grouped within each Room will fall nicely in place.

The next confusion comes, Ambi Climate. When setting up the device, there is a field to provide the Room Name. I found out the hard way, that this does not match a Room in Google Home. It actually translates to a Device Name instead. Initially I setup the Ambi Climate for the living room as Living Room. When I linked Ambi Climate to Google Home, it was straight forward. However, as I issued the voice command to “switch on the aircon“, Ambi Climate (at that time) did not know what device it was. I couldn’t issue the command using the Room name as well, because it would end up switching on/off everything else in the room. That’s when I realised, the Room Name in Ambi Climate, actually maps to Device Name.

The work around I did was to rename all the Ambi Climate devices. I just added “AC” to the back of each Room Name. For example Living Room would become Living Room AC. With that done, I could issue voice commands and call out Living Room AC. That worked really well.

Few months later, Google Home, had an update and gained room awareness. What that means is that I no longer have to call out specific device names in the voice command. Furthermore Google Home would recognise common devices like lights, fan, air con, and coupled with the room awareness, I can issue generic commands like “switch on the lights”, and the Google Home will only work on all the lights associated in the room the command was issued.

At this point, you may wonder, how would Google Home know which room I’ve issued the command from. It’s a simple answer, I have a Google Mini in every room, and a Google Home Hub Max in the Living room. Each device is also associated with the room it is located in. So in each room, I can issue the exact same generic voice command, but the action is localised within the room. Neat!

Wrapping up…

This goes back to the original point to name the Rooms and Zones identically. As there are cross system integrations, the devices within the same room are therefore automatically grouped together.

Think hard on how you want to name the rooms right at the start. As you can imagine, if you have different systems, and you want to rename a room, you will have to do it across all systems. Some may allow a simple rename, some may need you to create a new room and move devices across. While this is the easy part, if you rename a zone in Homey, it may not automatically get picked up by Google Home. Sometimes it just take some time to be refreshed, other times you may need to completely disconnect both system and re-link them again.

You would want to avoid renaming. Plan ahead and name them meaningfully right from the start.

Upgrading to the Keychron K1 V3 Mechanical Keyboard

the Keychron K1 V3 RGB

I’ve been working from home since returning from my last business trip to the USA in Feb 2020. It’s now the first week of June 2020, and I foresee continuing this WFH motion to continue for many more months. With that, I’ve decided to update my home office set up.

One of the first updates was the addition of the Samson Satellite USB microphone, which I’ve wrote a bit about here. Now, I’m updating my keyboard from an old Logitech K200, to the Keychron K1 that is pictured above. This post is typed out with the Keychron K1.

First, why the upgrade? The Logitech K200 had served me well for many years. However as I moved from Windows Vista (yup, the last PC I owned ran Windows Vista), to Mac, the keyboard didn’t really change. While I’ve figured out the few key mappings to use a Windows keyboard on Mac OS X, it has always been a bit of an annoyance. Especially when I switch from my work MacBook Pro, with a Mac Keyboard layout, to my Mac Mini with the Windows layout, it gets somewhat annoying. Hence the inner desire to change has been lingering for a while.

Looking for a keyboard nowadays is so much more than what it used to be. The last time that a keyboard caught my attention was the Microsoft Natural keyboard from 1998. There weren’t many mainstream developments that caught my attention. In recent years gaming mechanical keyboards had gain popularity and opened up a new segment. It took some research to understand what exactly are these keyboards and what makes them click (pun intended). Terms like Cherry MX came up frequently, and there are colours like red, brown, blue, yellow, etc. If you are also new to mechanical keyboards, here is what I’ve learnt.

Mechanical Keyboards

Traditional keyboards (before mechanical) are essentially membrane keyboards. If you have ever looked in one, you will see there is like a large sheet of rubber inside the keyboard and each key will press against a location that pushes the membrane in contact to a circuit board below. These keyboard typically give a dull feel to the keystroke.

Mechanical keyboards on the other hand have individual switches for each key. The membrane no longer exists. I believe the main drivers and advantage to move to such design was driven by gamers. Having individual switches allow faster keypress, touch feedback and more keys to be pressed simultaneously. Supposedly such keyboards can give gamers improved game play and hopefully an edge, especially with competitive gaming. Overall typing experience is also meant to be better, giving a good tactile feel. I do agree with this, the feel is more solid.

What’s with the Red, Brown and Blues?

If you search around, there is a very wide selection of mechanical keyboards out there. First, there are many different manufacturers, and each has several models, and typically each model will have different “colours”. Let’s touch on the colours, and their significance. The colours are referencing to the type of switch used by the keyboard. It’s an indication of the tactile feel of the switch, and not for aesthetics purpose. You can’t really see the colour unless you remove a keycap to look below. The most popular switch manufacturer is CHERRY, a German company that has been around since 1953. If you look around CHERRY’s website, you will find the characteristics of each colour, and an animation of the internal mechanisms of each switch type. Gives you an idea on how each switch differs.

Key characteristics for each colour are in the following areas:

  • Operating Force – indicates how “stiff” the feel is for each key. The higher the number the harder you have to press.
  • Pre-Travel – indicates how deep the key needs to be pressed for the keystroke to be registered. This varies, but it is typically this is around the halfway point of the Total Travel.
  • Total Travel – that’s the total distance each key can move downwards as you press. There’s always a bit more movement allowed beyond the “clicking” point.
  • Audible Click – whether that switch type generates a “click” sound as it is depressed.

There are other manufacturers for switches and from my brief look, they tend to follow the convention that CHERRY adopts, where the Red has the lightest Operating Force, with no audible click sound, and the Blue is the opposite with heavier Operating Force and has the audible click. There are several other colours, but I find that the red, brown, blue are the most common. I found the YouTube video (embedded below) by BeatTheVBush DIY to be really useful to help me decide (audio wise) which colour I’m comfortable with.

The other aspects of the keyboard

One of the top priority area to consider when picking the keyboard is the type of switch you’d like to have. The other common things to consider are:-

  • Keyboard Language – does it have layout you prefer, e.g. most common is the US101, but there are others that are geared towards different languages, like Chinese, Japanese, French, German, etc.
  • Keyboard Size – is it a full sized 104 keys with number pad, or one size down is the 87 keys, a.k.a. TKL (Ten Key Less), without the number pad, or even smaller, the 60%, that cuts out the column with home, end, pg up/down.
  • Keyboard OS – typically whether if it has the Windows or Mac layout.
  • Connectivity – is it USB wired, wireless with bluetooth or proprietary wireless. The older PS/2 and DIN connectors should be extremely rare nowadays.

Enter the Keychron K1

There are not many mechanical keyboards out there that have the Mac layout. As I was shopping on Lazada, the only one that came up was the Keychron keyboards. Doing some research, the Keychron do have some good reviews, especially for the K1. The others, K2, K4 and K6 look good as well, but they have a common complaint that they tend to be too thick. The K1 is designed to be thin, and it is indeed among the thinnest mechanical keyboards out there.

As I intend to use the keyboard with a KVM, it is essential that it must support a USB connectivity. The K1 meets this requirement as well. The added bluetooth support is nice to have. The K1 supports pairing up to 3 unique devices, they can be Mac, IOS, Windows or Android. I tested it with my iPhone 11 Pro and it worked nicely. The phone links up quickly once BT was enabled on the K1.

Price was also in the ball park I was prepared to spend. There were several other models my friends suggested, like the Ducky keyboards, but they are beyond my preferred price range.

I am also intrigued by the RGB option available with the K1. The control of the colour pattern is locally handled on the keyboard itself. There is a dedicated light key which will cycle through the patterns. Additionally, using the hotkey combo of fn+Left or fn+Right arrow keys will allow choice of colours for that chosen pattern, e.g. only red, blue, white, rainbow, etc.

The Keychron K1 looks to be really popular and as of this writing, V4 is about to be released in a few days. The one I have is the V3, ordered from Mecha.Store on

First Day Experience

Keychron K1 in the box with plastic wrappers removed

The K1 arrived a few days after the order was placed. Not bad during the COVID-19 period where there are significant logistics overheads.

The keyboard came out of the box with the Mac layout. 5 additional key caps are included to convert the keys to the Windows layout. A keycap puller is also included to aid the conversion process. USB-A to USB-C cable is also included and is reasonably thick. The included quick start guide and manual are pretty well written.

Sliding switches on the K1

The keyboard is pretty much plug and play, nothing less one would expect from a keyboard. There are two switches on the side, above the esc key to switch between Mac/iOS vs Windows/Android, and another with Cable/Off/Bluetooth settings. Functions are pretty much self explanatory.

The bluetooth labelling on 1, 2 & 3 keys

The bluetooth function is also rather simple to use. Pressing the fn+Numeric key 1, 2 or 3, will switch the connection profile to one of the 3. To pair, simply press and hold the key combo for a few seconds, and the bluetooth light will being to flash slowly, indicating it is in pairing mode. The usual motion to search and pair available devices from your Computer/mobile device applies.

I tested the bluetooth connection with my iPhone and encountered an interesting bit where shift+3 gave me a £ instead of #. I realised it’s because of the keyboard type I had set up on the iPhone to English(UK). That got resolved as I swapped the keyboard with English(SG). I’m sure English(US) would resolve that as well, but as Singapore follows the UK spelling style, the autocorrect with the US dictionary isn’t as appropriate.

One of the feature updates with the K1 V4 is that caps lock key will have an added indicator for the 87-keys model. Fret not though for the earlier models, recent firmware for the K1 allows enabling the LED on the caps lock key to operate independently from the keyboard light pattern. Meaning, instead of participating in the flashy light show with the other keys, the LED for the caps lock key will only be used to indicate whether caps lock is enable or not. This can be toggled using the hot key combo fn+caps lock+P. Holding the combo for about 6 seconds will toggle the function. You’ll know it has taken effect when all the keys flash red, neat!

Firmware Update

An occupational hazard I have is to always look at updating to the latest (and stable) firmware. That’s was what I did for the K1 as well. It is nice that Keychron provides updates, and I took advantage of it. There are update utilities available for both Windows and Mac, which is the least I would expect for a device that is designed to work across both Operating Systems.

The process worked exactly as how it was instructed on the website. With the last step to perform a factory restore of the keyboard. I was expecting the bluetooth pairing with my phone to be gone, but to my surprise, that remained. What got reset were like the setting for the independent caps lock light.

There is an important thing to watch out for, that is warned on the website, is to ensure no other keyboards are connected to the same computer performing the firmware update. I decided to be extremely careful and disconnect my Trendnet KVM from my Mac Mini, and have the keyboard wired directly. Also, I removed the Logitech Unify adapter I use with the mouse, as that same adapter can also work with Logitech Keyboards. Meanwhile, I used my old wired mouse to during the firmware update process.

What I like about the K1

I ordered the K1 with blue switches. Do note that Keychron uses the Gateron switches. I don’t have any personal experience with other switches to offer a comparison, but I’m quite pleased with these blue switches. Having typed through this blog, I’m pleased with my choice.

The low profile nature of the keyboard also fits well with my preference. I’ve been working off my MacBook Pro for several years now and this allows a comfortable switch. I would guess the other models like the K2 could be too tiring for me.

The light show on the keyboard has many patterns to choose from. Although I don’t always look at the keyboard while typing, it just adds to a cool factor. The fact that I don’t need additional software on the computer to drive the LED is a bonus.

The print screen key works for both on OS X and iOS. On the Mac Mini, pressing the key is equivalent to a cmd+shift+4.

I really like that the Keychron team is continually innovating and improving the products based on feedback. Evidently from the new firmware which look to stem from customer feedback, and also the newer varieties of the K1.

Areas I feel can be improved

So far, the keyboard itself has been great and I have zero issues with it. What I feel that can be improved are the following areas.

Product labeling: since the K1 has had a few updates, it will be useful to also label that on the keyboard. E.g. at the bottom of the keyboard there is a print that says “K1 Bluetooth Mechanical Keyboard”; if it has a “V3” some where, it would have been perfect. Although I had ordered the V3, there was no easy way for me to determine that I have indeed received the V3. I had to do some detective work to search for images to compare. And with that, I could only tell that I definitely don’t have the V1 as the light key have moved since V2.

Firmware Checking: there doesn’t seem to be a way for me to check what is the running version of the firmware on the K1. Pretty much so I can easily tell if I should take the trouble to update my unit. The FW update tool is rather basic with just a “start” button. I had to read the FW releases and compare the features with what my K1 could do. At best my unit would have version 2.72. So it was worth attempting to update to the latest 3.7.

Website: the downloaded file for 3.7 firmware, interestingly unzipped with 3.6 in the file name. Doing a checksum comparison with the zip file for 3.6, they are actually identical. I’ve submitted a ticket for this. So meanwhile, I’ve seemingly have updated my unit to 3.6.

Wrapping up…

I’m pretty much very happy with the Keychron K1 V3. The feel is great, and I just switched to finish this post on my iPad paired with the K1. It’s working flawlessly over Bluetooth, with no apparent latency. The “clickiness” of the blue switch is to my liking. So far my family doesn’t find it disturbing at all. I enjoy the feel of the keys.

If you are looking out for a low profile mechanical keyboard. I certainly do recommend the Keychron K1. It is of reasonable value, and with V4 around the corner, the improvements are nice.