Getting Start with Chia Farming

One of the latest interest in the crypto mining scene is Chia. It is easier to start, and many people are keen to get into it, hoping to get good early rewards. As I write this, we are already into the second week of May 2021, and Chia mainnet has been live for nearly 2 months. Unless you have a pretty powerful plotting set up, it’s really hard to catch up.

What is Chia Farming?

Chia Farming, pay attention, the term here is Farming. It’s not mining, unlike Bitcoin and Ethereum. Chia is based on Proof of Space and Time, rather than Proof of Work, which Bitcoin and Ethereum are based on. Proof of Work, simply put is having a good amount of compute power, mining blocks for the relevant networks. Hence it’s common to see GPU and ASICs being used in the PoW type mining, and they do consume a fair amount of electricity.

Chia Farming on the other hand, is designed to be “green”, eco friendly. It ought to take a lot less power to farm, and it does. Where it hurts more is burning through your SSDs. More on that to come later in this post. So how farming works is this, your computer system will have generated plot files, and the Harvester process will constantly listen in on the Chia blockchain for challenges. The harvester will then scan the local plot files to any hash that matches the challenge. If a successful proof is found, and the harvester is able to report in time, it earns a coin.

The above is a highly summarised version, if you’d like to know more, do read up the Chia FAQ section.

The rate of winning depends on how many plot files you own. The more plot files you have, the higher your chance. However, the winning chance is also relative to the overall size of the network, meaning all the plot files across the entire network. The network grows, and your plots don’t, your winning chance will keep declining.

The plot files have pre-defined sizes. The common and accepted ones now are known as the k32 plots, and are about 100GiB each. So, to store 10 of these files, you’ll need 1TiB of disk space. The more space you have, the more plots you can have, and your chance of winning is better.

Generating your first Chia Plot

So, how do you generate your first Chia plot. If you new to crypto mining, or not an advanced computer expert, I’d suggest just follow the installation guidelines for Windows or Mac.

First immediate tip here, avoid plotting on your primary SSD based OS drive. Repeated plotting (which you will likely do), will quickly wear your SSD, and can eventually affect your OS. Always try to plot on secondary SSD, dedicated ones will be good, and certainly not on those which you have precious data on.

What resources are needed to plot?

So, you’ve noticed I started describing with the end process, which is farming the plot files. That is the goal, to have as many plot files as you can afford to store.

The point now, is how to generate all those plot files, quickly. This we’ll talk about the plotting process.

Plotting involves 3 key elements of your computer, the CPU (processor), RAM (memory), and Storage (fast SSD). In order to to multiple plots in parallel and without compromising on speed, you want a good amount of all these 3.

A plotting process by default will need the following:-

  • CPU – 2 threads (default), this means you need at least 2 cores dedicated for each plotting process. You can increase this to 4 threads (and hence 4 cores), with marginal improvement. I find that it’s more worth while to dedicate the additional 2 cores to a second plot process instead.
  • RAM – 3390 MiB (default), this is the maximum RAM a plotting process will use. The highest useful value you can increase to is 6750 3400 MiB. (update: looks like the value has been adjusted here)
  • Storage – the location for your temp folder would be your fastest drive. Go with SSD if you want speed, otherwise a regular spinning disk will work too, just take more time. For k32 plots, you’ll need 300GiB + of usable space. During the whole plotting process, there will be significant amount of re-writes, amounting up to 1.5TiB. Which means for each plot generated, your SSD will go through 1.5TiB of writes. For a device with say, 150TBW, it means after 100 plots, your SSD becomes out of warranty. Hence, the warning about the SSD wear. How well it performs from this point on varies with manufacturers and model.

How I am plotting?

Let’s start with the SPECs of my computer.

  • CPU – Intel i9-10900K (10 cores / 20 threads)
  • Memory – 32GB
  • Storage – 1x PNY 1TB M.2 NVMe (C:), 1x PNY 500GB M.2 NVMe (D:), 1x PNY 2TB M.2 NVMe (E:), 1x 14TB HDD (F:)

With this, I will run 5 plots in parallel. Each plotting process with the following settings.

  • Threads – 2
  • Max Memory – 6750 (3 plots), 3390 MiB (2 plots) 3400MiB
  • Temp Folder – either in C:, D:, or E:
  • Final Folder – F:

I know I said not to plot on C:, so I’m monitoring carefully how much I’m burning through, and stopping when I’m 50% there. This is my personal risk I’m taking, and if I’m to recommend, don’t plot on your C:. My D: and E: are fully reserved for plotting, with no data on it.

All my plots are stored on my F:. The plots do not need to be stored on SSD, speed doesn’t matter that much here, just a lot of space. Eventually I’ll need to add more HDD.

I have 3 plots running on parallel on my E:, the overall performance does take a 10% hit, but it does allow me to maximise the number if plots I can generate a day.

How to plot fast?

I didn’t build my computer specifically for plotting, hence the mixed bag of components. If I am to build one now specifically for plotting, here is what I will do.

Decide how many plots you want to do in parallel, then you can calculate how much CPU, RAM and SSD you need. So, let’s say like mine, I’m doing 5 in parallel, and let’s use that as an example

CPU – As each plot process needs 2 cores, I’ll find something with 10 cores. Buy the fastest and with the most cores you can accord. I generally don’t count on hyperthreads. That’s how I arrived with my i9-10900K.

RAM – my system already had 32GB of RAM, and I stuck with that. However, If I want to maximise plotting speed, I will need at least 3400 x 5 = 17,000MiB. This is easily satisfied with 32GB of RAM, which I will go with either 2x 16GB or 4x 8GB DIMMs. Never go with an odd number of DIMMs.

Storage – have 3 SSD devices. Each with at least 1TiB of space. These are just for temp spaces. Add on 1 more SSD for your OS if you like. For final storage, as many large HDD as you can afford.

Wrapping up…

The other critical component you’ll need to pay attention to, of course, is the motherboard. You’ll need one that can fit all these together. I am using the MSI Meg Z490 Ace.

There’s a lot more to farming, but this should hopefully give you a good start. If you like what you read here, or have any comments, please let me know.

How to get started with crypto investments in Singapore?

Crypto has without a doubt become a hot topic since end of 2020. All thanks to the surge in Bitcoin making several all time highs (ATH) since then.

Many are drawn into crypto in the hope to make some good money. For me, I got drawn in a little earlier, during the 2020 COVID-19 circuit breaker. (That’s the Singapore term for what was similar to a lock down.)

There are two main avenues to make some money with Cryptocurrency. Either to participate in the network as a “miner”, or investor buying and selling coins on the exchange. I am both, and in this post, I share more about investing, and how to get started.

Disclaimer, I’m certainly no financial advisor and I share based on my personal knowledge and experience. You shall be responsible for your own actions. Crypto prices can move rapidly in either direction and certainly not for the faint hearted.

Alright, let’s get to it.

Step 1 – if you don’t yet have it, install the Google Authenticator. It provides 2FA protection to a number of accounts you will be setting up next.

Quick links for you below if you need to get them installed first.
Google Authenticator on Apple App Store
Google Authenticator on Google Play

Step 2 – set up a few accounts with crypto exchanges. All these accounts are free, so don’t worry about having to pay any fees. All account opening process involves some validation of your identity, it will take some time. So please do not wait till the moment you need to make transactions to start the account, you will likely miss the opportunity. Hope you appreciate what I share here and you will open your accounts with my referral.

Coinhako – this is a Singapore based crypto exchange. You want to open an account here as it allows the cheapest and quickest option to move money in and out of crypto via bank transfers. Credit cards are also accepted for immediate purchase, but there is a small credit card fee that will be charged. Very handy for those critical moments where you need to enter but the cash balance in your account isn’t sufficient. There are some coins you can buy here, but not all coins. For that you need to open up accounts in other exchanges which I’ll cover below. Please use my referral link below to open your Coinhako account.
If asked for Referral Code, please use 132524_3863569

Coinbase promo

Coinbase – this is another crypto exchange with Singapore presence. It went IPO in April 2021 and that sparked a rally in the crypto market. Coinbase is a larger exchange than Coinhako and offers more selection of coins. The best thing with Coinbase in Singapore is that you can set up automatic recurring purchases. For example one nice strategy is to dollar cost average your position with certain coins and say do a weekly buy of a fixed dollar amount. This is a good long term strategy and you can set and forget. Purchases are done with credit cards only. The challenge though is you need to earn your purchase limit Coinbase. The highest is SGD 750 purchase limit per week. So it may not be a great option if you want to put in SGD 1000 in one transaction.
Sign up with Coinbase with

Binance – is one of the largest Crypto exchange in the world. The services offered goes beyond simple buy and sell of crypto. Limit trades, interest bearing fixed deposits, Coin Staking are a few examples of the added services you can experience. They even have good tutorials to explain about crypto and the functions within the platform. Purchases for us in Singapore tend to be a two step process. (Unless it is a popular coin.) First step is to buy an intermediary coin like BUSD or USDT with credit card, then do a coin swap to the desired coin you want. Sometimes credit card transactions may need a few attempts to go through. So it may be a good idea to keep some BUSD or USDT on hand for that moment of opportunity. (BUSD and USDT are stablecoins, which have a fixed value where 1 coin is worth 1 USD.) There are two sites for Binance, and The one I’m writing about here is Other way to fund the Binance account is with bank transfers via SWIFT.
Sign up with Binance with My referral link specifically offers you some rebate.

3 Exchanges should be a good start. At this point, you should have some idea why the different exchanges. There are a few more, but let’s leave them for another day. For myself these three serve all I need.

Step 3 – consider joining Celcius Network. Yup, another account to open. I think this is a must for anyone who plans to hold on (HODL in crypto lingo) to their coins. Celcius Network is made possible by the person who pioneered VOIP, Alex Mashinsky. Have a look at his profile and you can sense the genius level here. The idea behind this company is essentially to encourage HODLing. They incentivise you by giving interest on the coins you park with Celcius Network. I am going very long term with my coins, and rather than just have them laying around the digital wallet in the exchange, I’d rather have them earning more for me. Celcius gives different rates fo each type of coin, e.g. ETH today is 5.05% p.a., and is paid every Monday. You can choose the reward to be in the same base coin, or CEL which is Celcius’s own token. You can pick either and switch back and forth. Personally pick CEL to diversify my positions and also it has the potential to increase in value. If you are following, you’ll probably be thinking now, so how does Celcius, as a business, make money to survive. Simple, they offer loans. Loans at very low interest rates, and you’ll use your coins as collateral.

So, HODL with me, and join Celsius Network using my referral code 1167086ba5 when signing up and earn $40 in BTC with your first transfer of $400 or more! #UnbankYourself #HuatAh

Step 4 (optional) – purchase a hardware wallet. This is for those who want to HODL, but not leave it on any exchange on the Internet. Some follow the mantra “Not your keys, not your coin“. What that means is that for each location that is storing your coins, it is protected by a private key. So, if you have opened up the 4 accounts as I suggested, you would have 4 different wallets, one with each exchange. Every wallet will have it’s own private keys, which are held on to by the exchange. You do not have access to it. In earlier days, you’ve heard about exchanges being hacked, one of the goals of hackers will be to steal those keys. The “scary” part about crypto is that anyone with access to your private key essentially have access to all coins in that wallet. So, if you don’t trust your exchange to safe keep your keys better than yourself, you can invest in a hardware wallet. I personally own a Ledger device, and I find that it is very well designed and implemented. I do feel safe with it. Bear in mind though, if it’s in your Ledger, it’s not going to be earning you any interest. It’s one or the other.

Ending off…

Thank you for reading this far, and I hope you have got yourself set up for some Crypto trading. One thing I haven’t mentioned yet is how to transfer coins between wallets. That’s important, especially you want to move coins to Celcius. Though you can buy coins directly on Celcius as well, it hasn’t worked for me. What I typically do is buy on one of the exchanges, and then do transfer. Be aware though, Coinhako is not able to send and receive all the coins on the platform.

I wish you good luck with your Crypto adventures, together we HODL!

The rise of Helium

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.

  • Red Panda Mining’s video on Helium – here
  • VoskCoin’s video on Helium – here

Unlike Bitcoin and Etherum mining (which use Proof of Work) and are heavy with power consumptions, mining Helium ( 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.

There is also a Discord server setup for SG Helium enthusiasts, the link is

Of course, Helium has it’s own official discord

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!!

How to set up your own FlightAware Ground Station

This interest of mine developed as I’ve been using 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.

List of components required

Here are the things you’ll need, I’ll share my config. You can refer to the Piaware official post for other details.

  • 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 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.

My specific build (Raspberry Pi 3)

  • Raspberry Pi 3 Model B+ – I have this Pi for many years, and in terms of performance it looks to be more than enough for Piaware. I built a second FlightFeeder with a Raspberry Pi 4 Model B 8GB that I purchased from Cytron.
  • 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.
  • SDR – Nooelec Nano 3 that I ordered from
  • 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 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
      • pi$ lsusb
    • 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.
      • pi$ sudo echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/blacklist_dvb.conf
    • Reboot the Raspberry Pi
      • pi$ sudo reboot
    • 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
      • pi$ rtl_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.

Installing 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.
    • pi$ wget
    • pi$ sudo dpkg -i piaware-repository_4.0_all.deb
  • 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 you have to do it now. It should be a typical sign up process which I hope you are familiar with.

Once your account is ready, hit up the URL Once you get there, you’ll see a page with the below.

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:-

  • Site Name
  • Receiver Location
  • Precision on Coverage Map
  • Outage Emails
  • Nearest Airport
  • Height

Wrapping up…

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.

Unboxing the Baseus Super Energy Car Jump Starter

I’ve recently just received my unit of the Baseus Super Energy Car Jump Starter. I ordered it from 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.

Wrapping up…

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.

Switching Netflix subscription to be Billed via M1

I’ve been on Netflix even before it arrived in Singapore and have been paying in USD. With the USD-SGD exchange rate going up in recent years, the resulting amount I’m paying for the standard plan ends up being the same price for Premium in Singapore. Not a hard decision to put in some time to switch that over.

I discovered that I can sign up for the subscription via M1, my home Internet service provider. So I thought, why not just consolidate the bills. For those who have credit card perks with M1, there’s potential to also gain from this process. Though I’m not sure, I had cancelled my M1 Citibank VISA card years ago.

The process to swing subscription over to M1 though, is a little less friendly than expected, but still not too bad.

First, I have to cancel the current subscription. As there is no refund, I have to wait till the current paid period ends. Remember, you have to wait till Netflix says your account is no longer active. Don’t worry, you won’t lose your play history. Netflix had a message says that it will maintain for 10 months. So, as long as I active my account within 10 months, my play history will still be there.

Don’t bother trying to start the M1 side of the process too soon. That registration with Netflix won’t work, until the account becomes inactive. If you try before then, nothing actually goes through.

So, just wait. Just so happen that my subscription ends on the 10th of the month, and I cancelled just a day before, coincidentally.

Wait until Netflix says your account is no longer active. If you can still watch a show, not yet.

Then, kick off the process from M1. Strangely, the website didn’t have the option, I could instead, kick it off from the M1 app on my iPhone.

Once you have initiated the process, M1 will send you an email within about 5 minutes. In there, there is the URL that will take you back to the M1 website, you’ll have to login with your M1 account, and then that’s where you’ll choose the subscription plan. Next, you’ll be re-directed to Netflix to either create a new account, or login with an existing. I did the latter.

If this works, you’ll be brought to the Netflix registration process. I had to re-confirm my mobile number, and that’s about it.

If you tried too soon, before the account is inactive. You’ll end up just logging into Netflix as normal. If you have already cancelled the subscription and waiting for it to expire, you’ll just get a nag/reminder to resume subscription. The other thing is that the specialised URL sent from M1 via email, is only valid for 24hrs. Hence, the other reason why don’t bother starting too soon.

When all is done, in the Account page within Netflix, you will see the billing method has changed.

That’s about it. Hopefully there’s no surprises after this. For now, I’m going to check out some 4K content.

Use Your Phone as a Webcam for Zoom on Computer

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.

Physical Set Up of the iPhone 5S on a holder with a Gorilla Tripod

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 Jelly Comb 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.

Phone to Computer connects over WIFI or USB (for iOS only)

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.

  1. Install Xcode command line tools via by typing: xcode-select –install
  2. Remove application’s code signature with, for Zoom type: sudo codesign –remove-signature /Applications/
  3. Quit and relaunch the app with signature removed, it will now detect EpocCam
Camera Selection in Zoom with the Virtual Cams
EpocCam Microphone works well

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.
The cam feed path from Phone to Zoom
  • 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.

Software Configurations and Operations

Installation of the apps are pretty straightforward, I assume you should be able to do that on your own.

  1. EpocCam on iPhone – set the resolution to 1280×720 & switch to front camera
  2. EpocCam Driver – nothing else needed, at most a reboot
  3. 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.
  4. 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.

OBS Virtual Cam filler
  • 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.

Wrapping Up

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.

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.