Hi, I am

Yeo Chai Heng

 

I was born in and am living in Singapore,

an island city-state with beautiful skylines.

 

I am currently employed as a Presales Specialist @ SAP

 

I am also a Management of Technology student @ NUS

I build things with tools from the computing world:

I write on my blog:

How to setup MicroPython on your ESP32 development board to run Python applications

When my friend Youssef shared a link to MicroPython, I kept it at the back of my mind. Since I had found some time to sharpen my saw, I decided to take a look at it.

If I get familiar MicroPython, then I can perform machine learning magic with an AIOT board like Sipeed Maixduino Kit with greater ease.

Given that in mind, here are the steps that I took to setup MicroPython on my ESP32 development board to kickstart my learning.

In case you wish to setup MicroPython on your ESP32 development board to run Python applications, read on to find out more.

How to terminate screen terminal sessions cleanly on macOS

So how do you communicate with a serial device that is connected to your Mac?

In this situation, you can use the screen command on your Mac to do so.

After you terminate the serial session with Ctrl+A+D, you may find that the serial device is still being hogged by the screen command.

When you try to access the device again, you may encounter a Resource busy error message.

For example, after I detached my screen terminal from /dev/cu.SLAB_USBtoUART, I will get the following message if I try to connect to the same device again:

Cannot open line '/dev/cu.SLAB_USBtoUART' for R/W: Resource busy

Given these points, this post shows how we can terminate screen terminal sessions cleanly on macOS.

How to read RFID tags from SparkFun RFID USB Reader with Python 3

When you have an RFID starter kit from Sparkfun, you will be able to read RFID tags through serial.

Previously, we saw how to use an ESP32 board to read RFID tags from a SparkFun RFID USB Reader.

Given that, I was able to build a ESP32 prototype to scan tag ids from RFID cards.

In order for that ESP32 prototype to recognise what each of my tag card represents, I need to label the ids. Whenever my ESP32 prototype gets a tag id, it will query a tag catalogue to see what that tag id represent.

Since it is easier to label the tag cards from a computer, I built a Python 3 application to read the RFID tags from the SparkFun RFID reader.

So how we can read RFID tags from SparkFun RFID USB Reader with Python 3?

If you are looking for a way to read RFID tags from SparkFun RFID USB Reader with Python 3, then this post is for you.

How to control a servo motor with an ESP32 development board

When I try to reuse the Ardunio Sketch to control a servo motor with a ESP8266, I encountered the following error during compile time:

WARNING: library Servo claims to run on (avr, sam, samd, nrf52, stm32f4) architecture(s) and may be incompatible with your current board which runs on (esp32) architecture(s).

In file included from /Users/i309663/Documents/learning/Arduino-sketches/sketch_arduino_servo/sketch_arduino_servo.ino:1:0:

/Users/i309663/Arduino.1.8.7/Arduino.app/Contents/Java/libraries/Servo/src/Servo.h:73:2: error: #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor."

#error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor."

^

exit status 1

Error compiling for board ESP32 Dev Module.

Therefore, I had to find another way to control my SG90 servo motor with an ESP32 development board.

Given that, this post shows how to control a servo motor with an ESP32 development board.

ESP32 devkit-c v4 connected to sg90 servo motor

That's all for now...

If you wish to know more about me, you can visit these websites: