It is Apr 2021 as I write this, and like many other folks, I got interested with Crypto in 2020. Needless to say, it was during the COVID-19 pandemic.
A couple of days ago, two of the crypto Youtubers (Red Panda Mining & VoskCoin) whom I follow shared about mining with Helium. It is of a very interesting concept, using Proof of Coverage (PoC) method to earn mining rewards. Link to both videos are below. VoskCoin shared his setup of two Helium miners making a total of US$50 a day. That’s really good, with relatively low barrier of entry, and good rate of return. Of course, the earnings will vary.
Unlike Bitcoin and Etherum mining (which use Proof of Work) and are heavy with power consumptions, mining Helium (helium.com) is far less demanding in terms of hardware and electricity.
I quickly jumped on and ordered my first Helium HotSpot produced by Nebra. It is one of two models which have support for Asian frequencies. Specifically for Singapore, you want the AS923 model. Due to the large demand, delivery is currently estimated to be at June 2021. Please use my referral link here and above if you are keen to order a Nebra Hotspot.
So, how does Helium work? I haven’t had a thorough read yet, but this is my quick summary of it. Start by watching the short video by Helium.
So we are essentially participating in The People’s Network by deploying hotspots. Though the miner is a HotSpot, it is not providing WIFI service like your home network. It provides LoRaWAN wireless service, so it’s not a replacement for your home wifi. What I plan to do is to simply find a spot near the window of my apartment, set it up and leave it to mine HNT coins. Very much fire and forget.
For better earnings, you would want other hotspots to be near your area. So the hotspots can validate for each other. Hence, spread the word, get your neighbours interested, and start The People’s Network up in Singapore.
I’m looking forward to starting with HNT mining. Will write another post as I receive my unit in a few months.
Disclaimer: I’m sharing information to the best of my knowledge, and it’s not intended to be investment advise. Do your own research and be responsible for your own actions. As with all investments, only use money you can afford to lose. Hope for the best but always prepared for the worst. Good luck, have fun!!
This interest of mine developed as I’ve been using flightaware.com since around 2011. I discovered that it has a piece of software which we can run at home, and with the right pieces of hardware, will be helping to scan for planes and send the data to the main site.
The idea is that planes broadcast their details, location, etc. over ADS-B. These are not encrypted and anyone with a 1090MHz receiver can pick up those signals. That’s pretty much what we will build. A Raspberry Pi running Piaware, and using a SDR dongle to receive the 1090MHz signals.
Raspberry Pi – minimally a Raspberry Pi 2. Newer is better. I started with the first generation Pi B+ and the CPU is too old to deliver good performance.
Boot media for your RPi – likely a MicroSD (a.k.a. transflash) card. At least 8GB will be good.
A SDR USB dongle – SDR is Software Defined Radio, which is a device that is able to tune to a huge range of frequencies. I am using the Nooelec Nano3 purchased from Amazon.sg. The package came with antennas.
[Optional] A band pass filter – This is to clean up the received signal to the range of frequencies we want. Though outside of the USA we pretty much only need 1090MHz, this filter I am using, made specifically for Flightaware includes 978MHz. It is another signal used by planes in the US. I can see that with the filter Piaware is able to pick up more messages.
Raspberry Pi Enclosure – the one I bought is no longer available on Amazon, but it looks similar to this.
3.5″ LCD screen – the one I bought is no longer available on Amazon, but it looks similar to this. This has a great purpose from Piaware 4.0. The recommended screen by Piaware is the Waveshare 3.5″.
MicroSD Card – I’m a long term Sandisk supporter, and have a 32GB card in my Raspberry Pi 3.
Power – using a good power adapter for the Raspberry Pi is important. I’ve learnt the hard way, and am now only sticking to the original adapter from Raspberry Pi. The others I’ve used can’t sustain the voltage at higher power draw. One exception is a higher rated multi port Anker charger which I use for my phone charging station. That is an overkill for one Pi though.
978MHz & 1090MHz Band Pass Filter – I do find that my set up is receiving more messages after adding the filter. It is optional for sure.
Software Installation Process
I won’t go into the details to assemble the components together. I will write about the software aspect. When I did this, it was still Piaware 3.x and there are a few steps to go through. You’ll want to connect your keyboard, mouse and HDMI monitor to the Raspberry Pi for the set up. When you are done, you should not need these any more, and the device can
First up is to get hold of the Raspberry Pi Imager from raspberrypi.org. Use the latest Raspberry Pi 32bits OS. Instructions from the official website is pretty good to get you past this point. If you have an existing Pi, make sure you are at least on Buster release.
Boot up your Raspberry Pi – configure the following
password for the user pi (if you want to change a username, go ahead)
enable ssh – use raspi-config
configure networking – use raspi-config as well for wifi settings
Get the SDR working with Raspberry Pi
These are the steps I followed from Nooelec website.
Check that your SDR is detected by Raspberry Pi OS
Check that the default dvb drivers have been loaded by Raspberry Pi OS. As long as some lines are returned, drivers are loaded
pi$ lsmod | grep dvb
Blacklist the SDR dongle so that Raspberry Pi OS does not load the default drivers.
Login again when it has come up, and check once mode to make sure the default DVB drivers are not loaded, the follow command must not yield any output.
pi$ lsmod | grep dvb
Next we install the required drivers for Nooelec Nano 3
pi$ sudo apt-get install rtl-sdr
if there’s a continue [Y/n] prompt, choose Y to proceed.
When the installation is completed, we can do a quick test
watch the output for about 5s-10s and then press CTRL-C to quit
You want to make sure your SDR dongle is detected and there are no lost samples
The drivers for the Nano3 are ready, and we can stop at this part of the Nooelec instructions, as we do not need the Gqrx software for Piaware.
The following steps are taken from the PiAware manual installation page. I the initial paragraph may mention about dump1090, it is not a pre-requisite at this stage. If you follow the instructions, it will also lead to installing the software.
At this point, the assumption is that the Raspberry Pi is connected to the network and has access to the Internet. Additionally, the SDR dongle is already set up in the earlier steps above.
Download a copy of the PiAware installation package, refer to the official page for any updated versions. Run the below in the home directory of the pi user.
Download updates and dependencies for Raspberry Pi OS
pi$ sudo apt-get update
pi$ sudo apt-get install piaware
Now, piaware is installed, and we will make a couple of config changes to allow auto updates of piaware. If you like to have manual control, then skip this step.
pi$ sudo piaware-config allow-auto-updates yes
pi$ sudo piaware-config allow-manual-updates yes
Next is to install dump1090 and dump978, each of these can take a little more time
pi$ sudo apt-get install dump1090-fa
pi$ sudo apt-get install dump978-fa
All installation has completed, we’ll need a reboot
pi$ sudo reboot
Register the FlightFeeder to your FlightAware account
If you’ve been following the steps since the start of this post, at this point, you should have a fully functional FlightFeeder. If the thought hasn’t crossed your mind yet, let me jog it now. How do you associate the new FlightFeeder with your FlightAware account.
First and foremost, if you haven’t created an account on FlightAware.com you have to do it now. It should be a typical sign up process which I hope you are familiar with.
It is a seemingly smart process. I think the key is that the computer you are using to hit the URL is on the same network as your Raspberry Pi. My guess is that the FlightAware website is able to recognise that both the RPi and your computer are sharing the same public IP address, and there is currently an unclaimed instance. It will just associate that instance with your account.
You are pretty much done. There are some settings you can play around with on your ADS-B Feeder Statistics page. The settings I touched were, and in sequence:-
Precision on Coverage Map
This was a fun experience and got me to be more familiar with my Raspberry Pi. While doing this, the PiAware 4.0 release came out and it includes a built in support for the 3.5″ LCD screen. This is great as I have this screen for a couple of years now, but never had a good use for it.
I hope you find this useful. I’ve added in some details that were not clear with the original instructions. I’ve repeated these steps a few times now while I built and rebuilt my FlightFeeders, I hope it is clear enough for anyone else who wishes to give this a try.
In a future post, I’ll share my experience rebuilding to PiAware to 4.0.
I’ve recently just received my unit of the Baseus Super Energy Car Jump Starter. I ordered it from Shopee.sg and it was shipped from China. As it is essentially a power bank, it had to take the sea route, and it took a little over 3 weeks to arrive.
So what is this device, and why it got me interested?
For anyone who owns a car, every 18 months or so, the 12V battery will eventually fail. It tends to happen at the worst time, well there’s never a good time. When that happens, the car will not start and we’ll have to bring in the mechanic. That’s one of the reasons I maintain an AA Singapore membership. I can call for the mechanic at no further charge, and they can diagnose, confirm the battery is faulty and replace on the spot. Now, the new battery will be for a fee.
In my most recent experience, after a 2 weeks+ vacation, I returned home to a depleted battery. Thankfully, it was just depleted and not a failed battery. A jumpstart from the good AAS mechanic did the trick. While the service was good, I had to wait for over an hour.
To better react to such events, here comes the Baseus Super Energy Car Jump Starter. I essentially have a portable jumpstart kit in the car. Anytime there’s a need, I can use it. It is essentially a super charged power bank. It is not a replacement of the 12V car battery, but just to deliver some power to start a car. Once the car is started, you disconnect the unit.
In the box, we have the power bank that is larger than an iPhone 11 Pro Max. A special power adapter with crocodile clips is what connects between the power bank and the car battery. I like the care taken to make sure the black and red cables are of different lengths, to avoid accidental short circuit. A micro-usb cable is provided to charge the unit.
So, what is so special about this that regular power banks can’t do? It has additional circuitry and special battery that can deliver very high current. This device is rated to deliver a Start-up Current of 400A, and Peak current of 800A. As comparison, a high speed charger for your smart phone delivers up to 3A, hence a regular power bank will not work.
A typical family car should be good with 400A of current to start the engine. It is fine if your car needs less. Current is delivered based on need. So, if the source can deliver more, that is fine. In fact, you do not want the situation where your device is draining more than what the source can deliver. The worst case scenario is your source overheats and melts/burns.
One thing to be aware of about this device, is that it takes a long time to charge. I tried searching, and something on Amazon wrote 4 hours for a full charge. It was more like around 18hrs for me. A friend of mine also confirmed that he had to leave it overnight to charge, and it’s only ready the next afternoon.
Maintenance wise, the manufacturer does recommend to charge up the battery at least every 5 months, to keep it at optimum health. I will be following that. Last thing you want is this battery back to be out of juice and you need that jump start.
While I haven’t tested jump starting my car, the device does look solid. I own several Baseus products, my first being another power bank that I bought to support my Nintendo Switch on the go. I have developed good confidence in Baseus products, and do trust that it will deliver the punch when I need. When the day comes to use it, I’ll update the post to share the experience.
It is July 2020, the year of the COVID-19 pandemic. Jokes in the IT sector is that the novel coronavirus is the leading agent for digital transformation and not the CxOs. The pandemic has spurred the world to change the way many things operate, especially desk bound job roles. Now, it is also transforming how I work from home.
Many of us who can simply work at a desk, with a computer that has internet access can essentially work from home. This is all thanks to the development of high speed Internet access for homes, and the maturity of many other technologies lie VPN, VDI, Remote Device Management softwares, Windows, MacOS and many more. One of the very highly utilised tools is the remote collaboration & conferencing solutions. This led to the rise of Zoom, and the likes.
Zoom was adopted by Nutanix before the pandemic, and became the de facto by the time we went into a global WFH mode. Although we still have access to other tools like Webex, but that’s another discussion altogether.
Let’s get back on topic, using your phone as a webcam. No, this is not simply to join a Zoom call on your smart phone and use the camera there, but to tether your smart phone to your laptop, and use the camera on the phone. Either as a replacement to the built in cam on the laptop, or as an additional camera.
Prior to this mass movement to work from home, turning on webcams in a web conference call was a rare practice. Once a while, someone will switch it on, and half that time it could be by accident. Now that we hardly see each other face to face in the office, it’s become common practice to enable the camera by default.
Web Conference Etiquette
All these while, I’ve been using the built in camera in my MacBook Pro, and I’m starting to see areas of improvement. It’s primary about the camera angle. I have extended my home office set up to have multi cameras, and more often than not, I am not looking at my laptop’s screen. From the perspective of the other parties I’m on a call with, I appear to be looking else where. I became even more aware about this as I come across posts about web conferencing etiquettes.
As I prefer to look at my larger screens, the solution to improving the experience is to leverage an external webcam. There are may choices in the market nowadays, and a popular cam like the Logitech Brio can go way beyond S$300. Till the day I need to do live streams at 4K resolutions, I’m fine to try something cheaper.
The hunt for budget 1080P web cams
Searching through the usual online portals like Amazon, Lazada, Shopee and Taobao, and picking up reviews over YouTube, I came across 1080p cams with large variance of prices. Logitech ones still command over S$160 a unit, and unknown brands can be like S$25. S$25 would have seem too cheap for a product give a good experience, and let alone any Mac OS support. Not taking risk there. The middle ground would be those that have been covered by YouTube reviews and they generally show samples of the image quality. I eventually narrowed the selection down to the JellyComb 1080P Webcam, or the Nanshiba 1080P Webcam. Granted, both are not by well known webcam manufacturers, but at least from YouTube reviews, they are good enough, and within the comfort of my budget.
S$10 EpocCam gives another life to my aged iPhone 5S
Just as I was about to place an order, I discovered on more way. Using my existing smartphones as the webcam. There are a couple of solutions out there, and one worked sufficiently well with my iPhone 5S and Mac OS X. That is the EpocCam by Kinoni. There are free (Ad driver) versions of the app to try. If you like it, you can then buy the Pro version from the app store. It is S$10.98 on the Singapore Apple app store. I really appreciate that these are no in-app purchases, and they fully support sharing the paid app via Family Sharing. The Google Play store also has a similar versions of free and paid apps. The Pro not only removes the in app Ads but also unlocks more functionality, like allowing higher resolutions than 640×480, and the use of the phone’s mic.
Setting up EpocCam with Zoom
To get it going is pretty straight forward, and with a caveat. Install the app on the smart phone, and the driver on the computer. When the app on the phone launches, it will automatically detect the computer and start streaming the camera feed to the computer. To use the feed in Zoom, we simply need to set the camera in zoom to EpocCam.
Here’s the first gotcha on Mac OS X, the security in the OS blocks the use of virtual cams. (I suspect maybe because they are unsigned). The Kinoni website has the workaround documented in their FAQ, under the Troubleshooting section. It’s a simple 2-3 steps process. I’ll repeat it here, in case that changes in the future.
Install Xcode command line tools via Terminal.app by typing: xcode-select –install
Remove application’s code signature with Terminal.app, for Zoom type: sudo codesign –remove-signature /Applications/zoom.us.app/
Quit and relaunch the app with signature removed, it will now detect EpocCam
After restarting Zoom, you should start to see EpocCam as an available Camera source. I’ll touch on the other OBS Virtual Camera in a bit.
The other feature I like with the EpocCam Pro is that it also allows the phone to be used as a microphone. This is extremely handy on my 2014 Mac Mini that doesn’t have a MIC port. I must admit that it works quite well too.
EpocCam is great but not perfect
I’ll say first that I really like what the S$10 solution is giving me. Like everything else, there are room for improvements. I hope Kinoni can address this eventually.
The app does not rotate at all, and only works in landscape mode. It will also not flip around if the phone rotates 180°. If you like landscape or need to flip the phone (like I do), you will need another intermediate software, OBS, and the add on OBS Virtual Cam. That is why there is the additional camera in my camera list above. The diagram below shows the components I have installed to get the final result. With OBS there are also other cool things that can be done, it’s a post for another day.
This is probably not something EpocCam can improve on, but be aware. The phone can run pretty hot if using the main camera. As comparison, when I run a banking app, the phone gets really hot too. With the front facing camera, no heating issue. I ran it for 3 hours plus while writing this blog and the temperature remained comfortable. My guess is that it’s probably due to the aged processor of the iPhone 5S being driven hard by iOS 12.
My set up
Here is a combination on how I set up the software, just simple points to guide you along. I’m also very new to OB, if you have suggestions to improve on it, please do share.
Installation of the apps are pretty straightforward, I assume you should be able to do that on your own.
EpocCam on iPhone – set the resolution to 1280×720 & switch to front camera
EpocCam Driver – nothing else needed, at most a reboot
OBS – Don’t need to configure any streaming options;
Settings – set the Video base canvas and output resolutions to 1280×720
Sources – Add a Video Capture Device, choose EpocCam, with 1280×720 preset, no need for buffering. Name the source meaningfully, especially if you use more than one. Move the source to fit where you want on the canvas. Simplest is just to line them up, as they are the same size.
If the video image is not at the right way up, select your source and use Transform to rotate/flip as necessary.
Zoom – follow the steps on Kinoni FAQ to allow the use to Virtual Cams on macOS
Once all these are up, you are ready to use the set up. Remember, what will be seen by the Zoom participants are what you assemble together in OBS Studio. So to get it all from Phone cam to Zoom, we need to complete these steps, in no particular order.
Start EpocCam HD on the phone
Start OBS Studio and make sure you can see the camera feed
Within OBS Studio select Tools > Start Virtual Camera
If we miss this step, you’ll see a nice filler instead
Start Zoom meeting, choose OBS Virtual Camera as camera source
That’s all to it for a quick start. Have fun and enjoy experimenting around.
I’m going to try a double cam feed on my upcoming Zoom calls. It will be interesting to find the right angle and OBS layout.
Other features I will look at exploring are having various scenes, and to switch between them. One use case I have is when having long calls, like workshops that I run, I can switch the scene to show “break time”, instead of just an empty seat.
OBS is a very popular software used by many streamers and there are so much more things we can potentially do with it. One potential integration I can imagine now is with the Elgato Stream Deck. That’s another rabbit hole for another day.
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
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.
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.
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.
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!
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.
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.
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 Lazada.sg.
First Day Experience
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.
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 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!
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.
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.
I recently (Apr 2020) bought the Samson Satellite to record voice overs for the technology videos I’m creating for work. It was during the 2020 COVID-19 Circuit Breaker in Singapore, thankfully CityMusic online shop was still operating and they processed the online order promptly. The courier took a few days to deliver the mic, as it was expected due to overheads during the Circuit Breaker period. Product was received in good condition, thumbs up for the online shop!
The mic has a sturdy build. Feels solid with the all metal body, and has a good weight. The mic is not self powered, and draws power from the device it is connected with. I tested it with my iPhone 11 Pro Max, with the native Voice Recorder and Camera apps. Recording was clear and sounded excellent. The iPhone was able to use the Satellite as both for input and output. To listen, plug your headphones to the monitor jack on the Satellite.
Next, I tested on my MacBook Pro. As the included cable is USB-A to micro USB, I had to use an USB-A to USB-C convertor. Similar to the iPhone, the MacBook detected the Satellite for both input and output device, and it works just the same. Of course, being on OSX, I have the choice to pick different input and output devices. I tested the Mic recording with iMovie and Quicktime. Both worked really well. iMovie is the primary reason why I bought the Satellite. iMovie does not natively work with AirPods as an input source.
Here is a quick test recording that I did using my iPhone that’s connected to the Samson Satellite with the included microUSB to lightning cable.
I’m totally happy with the Samson Satellite, and I expect to be using it with all my recordings.
For the next post to my Home Automation Series, I’ll share about what I’ve done with automating the Main and Yard doors for my apartment.
The initial requirement was simply to have a keyless way to unlock the door, and just so happen that there are further integrations possible, I took it a step further. Here are the details.
My initial use case was to be able to unlock the door without keys, but yet secure. After some research I arrived at the Samsung Digital Locks. Specifically I bought the two SHP-DP728.
This lock supports the following methods to unlock the door
works fine for most grown ups, doesn’t work well with children
a rather smart implementation that it will randomly force you to key in prefix numbers first before the actual pin. This is so that there is even “oil prints” distributed around the keypad
the unit came with 2 credit card size, 2 mini card size, and 2 key tags; straightforward tap and unlock
App via bluetooth
needs to register the phone first via the app, then use the app to unlock. It doesn’t go by proximity, meaning it will not unlock just because your phone is near.
I was told that once the Z-Wave module is installed, bluetooth does not work; however it didn’t seem so.
To use bluetooth function with this lock, I needed to install the sHome app on my iPhone and setup was quite straightforward. The use of the app wasn’t so good though, I’ll have another post to share more details about it.
The short of it is I am able to unlock the door from the app, but that’s all.
Automation via Z-Wave (needs add-on module, **ask for EU/I chip**)
connects to my Homey, and the possibility becomes unlimited
as Homey is primary built for EU market, the Z-Wave module needs to be of the EU band as well
For my installation by Hanman, I requested for the EU/I module, as I’ve been told it provide fine grain details to the lock operations, e.g. the Z-Wave trigger can be distinguished on how the lock is unlocked, with a fingerprint, card, opened from inside etc.
The module is installed after the lock is installed, and a firmware update was necessary for the module. Both of my modules were supposed to be updated before they brought to my place, but one didn’t work and had to be re-flashed once more on site.
Manual Key (override)
in case everything else fails, or when battery runs out, this is the override to unlock the door
Another important aspect for me with this lock is the way you would open the door. The lock need to push/pull according to the same direction the door opens and closes. Hanman site describes this really well, here. Bottom line is, you’ll want a natural feel to the direction of opening the door.
Installation by Hanman was professional and nicely done, the installer came with the right tools to accurately drill the necessary holes in the door and door frame to fit the unit. He then showed me how to do the necessary setup, and that’s about it. The rest was for me to figure out.
I’m generally quite pleased with this lock and would recommended it. I do want to remind you to check out that it is a unit that is compatible with your door, in terms of fitting, as well as the direction of opening.
Taking it further – Here comes the real automation bit
The automation I’ve done is basically two main use case A. When a door is unlocked, Homey will announce it. This is particularly useful when we are not constantly watching the door. B. When me or my wife gets home, the door will unlock automatically. This is rather complex to setup, and I’ll need another blog post for that. It incorporates a motion sensor, Google Wifi, IFTTT and of course, Homey.
Pairing of the Digital lock with Homey was straightforward, just like pairing any other Z-Wave devices. Bring the Homey near the lock and start pairing. To know if it’s successful, and if the module in the lock is truly EU/I, there’s a bit to do.
Basically, the acid test to determine if the chip is EU/I, is that if you set a flow as below When… “Unlocked from back” And… Then… “Speech > Say Hello“
The key part is “Unlocked from back” as a non EU/I chip will not be able to distinguish that action. So, a successful test is when you open the door from the inside, Homey will say “Hello”
That’s it for the first use case, you are free to create more flows to have Homey say different things based on how the door was unlocked. 🙂
I recently move into a new apartment, and I took the opportunity to dive into some Home Automation. This post shares some of the things I’ve done, and will write more around the details.
The overall solution, I adopted the approach my friend, Vicardo, shared with me, that devices can be controlled by Voice, Smartphone App, and Manual. Voice and app will be the primary methods, and as a fallback, there must be a way to manually trigger the action, e.g. switch off the lights, roll up the blinds.
(Full post on my complete bill of materials to come soon…)
Let’s start with some of the uses cases I have, and then I’ll mention the components involved in each use case. It’s important to note that the core controller I’ve chosen is the Homey.
I have all my living room, dining room and master bedroom lights automated. This allows me to control the lights as groups, e.g. when leaving the apartment, I can power off the lights with a single control. Or I can define a scene for movie time and it will power off all lights except and keep a selected few on.
I discovered the Ambi Climate in late 2018, and found it to be really effective to nicely control the room temperature. The most important part for me is that I no longer wake up in the morning to an overly cold room which I dread to crawl out from under the blanket. Now I always wake up to a nice comfortable temperature.