Hands-on IoT advisor and educator. Passionate about helping everyone create IoT products that make a difference to the man and woman on the street. 'Top Writer In Internet of Things' at medium.com

Skills

Internet of Things (IoT)

Master
  • NB-IoT
  • Sigfox
  • LoRa
  • AWS IoT
  • Google Cloud IoT
  • Azure IoT
  • thethings.io
  • Ubidots
  • Embedded Rust
  • Embedded C
  • Arduino
  • STM32
  • Blue Pill
  • ESP8266
  • nRF24L01

Cloud Computing

Master
  • AWS
  • Google Cloud
  • Azure
  • S3
  • SageMaker
  • RDS
  • DynamoDB
  • Lambda
  • API Gateway
  • Cloud Functions
  • AppEngine
  • TensorFlow
  • BigQuery
  • Node.js
  • Go

Mobile Application Development

Master
  • iOS
  • Android
  • Swift
  • React Native
  • Xcode
  • Responsive Mobile Web
  • Bootstrap

Work Experience (5)

Adjunct Lecturer
Temasek Polytechnic
April 2015 - February 2019
(SG) Singapore http://www.tp.edu.sg

Responsible for teaching and mentoring the next generation of professionals in IoT technologies. He taught the following courses:

  • IoT Application Development: He prepared and presented lessons and labs for training working adults with IoT programming skills, based on AWS IoT, Sigfox, Ubidots and Arduino. He created the training platform with various AWS services: AWS IoT, Lambda, API Gateway, S3, DynamoDB, SNS, Elasticsearch, Kibana. His students included IT professionals from Agility, IBM, SAP, Ericsson, Canon and ITE.

  • IoT Project: He supervised the students in creating innovative IoT products (based on AWS IoT and Sigfox) that solve real-world problems like dementia patient tracking, elderly home monitoring, food safety, campus security, AED management, realtime asset tracking.

  • Operating Systems: He conducted tutorials and labs for the Operating Systems core subject, which is a graduation requirement for all fulltime students. He covered a broad range of operating systems including Android, iOS, Linux and Windows.

Chief Technology Officer
UnaBiz
August 2016 - April 2018
(SG) Singapore https://unabiz.com

As former CTO of UnaBiz, he was responsible for creating new tools and systems to help people get onboard with Sigfox the quickest way possible.

  • UnaLocation - Enhanced Sigfox Geolocation: Estimates your latitude/longitude geolocation from Sigfox signal strength. Computed based on past GPS coordinates and Sigfox signal strength collected by the UnaTumbler tracking device. Machine Learning based on Google TensorFlow, Google BigQuery, AWS SageMaker

  • UnaRadar - Sigfox Network Finder: Mobile web tool for showing the locations of nearby Sigfox basestations and their signal strengths with respect to your Sigfox device.

  • UnaMap - Sigfox Coverage Map: Web-based coverage map, computed based on past GPS coordinates and Sigfox signal strength collected by the UnaTumbler tracking device.

  • UnaShield - Sigfox Shield for Arduino: Arduino library that powers the communication between UnaShield and Sigfox - https://github.com/UnaBiz/unabiz-arduino

  • UnaBell - Smart Button on Sigfox: Cloud server that powers the smart button

  • sigfox-gcloud - Open Source Sigfox Server for Google Cloud: https://github.com/UnaBiz/sigfox-gcloud

  • sigfox-aws - Open Source Sigfox Server for Amazon Web Services: https://github.com/UnaBiz/sigfox-aws

Principal Consultant
Konica Minolta Business Innovation Centre
November 2014 - September 2016
(SG) Singapore https://bic.konicaminolta.asia

He heads the software development/engineering team that architects, develops and executes proof-of-concept (POC) projects for incubating new businesses for Konica Minolta. He was also consulted for technical due diligence in investment projects and acquisitions. Projects executed include:

  • Straight-Through Food & Beverage (F&B) Ordering System: Deployed in Singapore and Australia, he created the system that allows mobile users to place food orders through a mobile app and submit directly to the Point Of Sales System and the Kitchen Display System. The Kitchen Display System automatically calls the user when the order is ready for collection. Loyalty points and digital receipts are automatically populated in the app, through direct integration with the Lavu Point Of Sales system. Tools and platforms used: AWS (Lambda, S3, SQS, API Gateway, Mobile Analytics), Google BigQuery, Firebase, Parse, Magento 2, Loggly, Sumo Logic, Jenkins, Raygun, Slack, Azure, MongoDB, Node.js, Android, iOS (Swift), C#, Windows Presentation Foundation.

  • Bluetooth Beacon Analytics: Profiling mobile users accurately using Bluetooth Beacon analytics and targeting them with highly-relevant promotions. Tested in large exhibitions and shopping malls. Based on Google BigQuery, Google Cloud Datalab, MongoDB, Node.js, Android, iOS.

  • Other projects include Health/Wellness, Android Set-Top Boxes, Hospitality

Chief Technology Officer
SingTel L!feLabs
June 2009 - November 2014
(SG) Singapore https://singtel.com

Reports directly to CEO Group Digital L!fe, Mr Allen Lew. Responsible for scanning of innovative ICT technologies worldwide and executing proof-of-concept (POC) projects for the SingTel Group. He was also consulted for technical due diligence in SingTel Innov8 investment projects and SingTel Group Strategy acquisitions. Projects executed include:

  • (1) Internet of Things (IoT); (2) Indoor Positioning; (3) Smart Retail; (4) Social Recommendation based on Facebook profiling; (5) Speech Recognition for Singapore English; (6) Image Recognition for Retail; (7) Motion Gesture User Experience; (8) Augmented Reality; (9) Cloud Gaming; (10) Virtual Reality; (11) Video Streaming and Distribution; (12) Home Automation

Principal Consultant
NCS Pte Ltd
September 1994 - September 2012
(SG) Singapore https://www.ncs.com.sg

Lead Enterprise Architect for Microsoft .NET technologies in Singapore's largest system integrator

  • (1) IRAS Inland Revenue Integrated System; (2) Singapore Health Services Outpatient Administrative System; (3) Digital library systems for National Library Board, Singapore Polytechnic, Temasek Polytechnic, Singapore Airlines Engineering, SASCO; (4) Web portals for IDA MyeCitizen Portal, MINDEF NS Portal, MediaCorp MOBTV Portal; (5) YW8, Singapore’s first mobile payment system by NETS, DBS, SingTel, M1, StarHub

Education (2)

Master of Science,
Computer Science
University of Illinois at Urbana-Champaign
1991 - 1992
(US) USA

Research Assistant for CHOICES Object-Oriented Operating System

Bachelor of Science,
Computer Science
University of Toronto - University College
1988 - 1990
(CA) Canada

Publications

17 October 2020

How we build PineTime Watch Faces with Rust and LVGL... And publish them on crates.io

16 October 2020

How PineTime syncs the time over Bluetooth LE with Mynewt and NimBLE... And how we create Watch Faces with LVGL

13 September 2020

Converting Embedded C to Rust is not that hard... Here's how we convert a PineTime Watch Face with LVGL from C to Rust on RIOT

11 September 2020

Tired of pointer problems on Embedded C? It’s time to switch over to a safer, simpler way of coding: Embedded Rust. We’ll look at Rust hosted on RIOT and how it’s used to create LVGL watch apps for PineTime Smart Watch.

19 August 2020

How we build and preview PineTime Watch Faces with only a web browser... No computer needed!

27 July 2020

Learn to build PineTime Smart Watch Firmware in the Cloud... No computer needed!

25 July 2020

Learn about Wayland and Ubuntu Touch on PinePhone... And how we build PinePhone Apps with LVGL

27 June 2020

How we manage state with the Bloc Library in the Flutter Companion App (Android and iOS) for PineTime Smart Watch

19 June 2020

Getting started with PineTime Smart Watch

18 June 2020

Creating desktop apps on Linux doesn't have to be hard... Let's build GTK+ 3 apps in Go with the gotk3 library!

17 June 2020

How we build the Flutter Companion App (Android and iOS) for PineTime Smart Watch by converting Go to Dart

4 June 2020

Bluetooth Low Energy apps are ridiculously easy to code with Flutter and Dart, let me show you how!

2 June 2020

Making wasp-os truly awesome with full multitasking, interoperable firmware updates and a common companion app

20 May 2020

Observe step-by-step the Wireless Firmware Update running on PineTime Smart Watch (nRF52) with MCUBoot Bootloader, NimBLE Bluetooth LE Stack and Apache Mynewt

18 May 2020

Wireless Firmware Updates done right on PineTime Smart Watch... With the open source MCUBoot Bootloader from Apache Mynewt and Zephyr

15 May 2020

Configure Mynewt OS to enable access to SPI Flash Memory on PineTime Smart Watch

11 May 2020

Flash any firmware to PineTime from our mobile phone... Without opening the watch!

5 March 2020

Running Retro Games with Rust is not that hard on PineTime Smart Watch. Here's how I ported a CHIP-8 Game Emulator to PineTime

Visual Rust for PineTime Smart Watch in Visual Studio Marketplace
5 March 2020

Create and edit Embedded Rust programs visually by dragging and dropping blocks

4 February 2020

Have humans become so greedy for profit… That we have forgotten how to teach one another and advance our species?

2 February 2020

VSCode debugging configuration for RIOT

24 January 2020

Coding in Embedded C is like building a skyscraper without scaffolding

23 January 2020

Using only a Raspberry Pi, we can debug the firmware on PineTime Smart Watch: Step into the flashed program line by line, set a breakpoint to pause execution at a line, inspect variables at runtime, … Just like the Embedded Pros!

18 January 2020

Instead of sending SWD data over GPIO one bit at a time, what if we could blast out the data over Raspberry Pi’s SPI interface?

8 January 2020

Programming a PineTime is not that hard… All you need is a Raspberry Pi, some wires and a little creativity!

29 December 2019

Simple tweaks like Batched Updates and Non-Blocking SPI can have a huge impact on rendering performance

14 December 2019

Code Watch Apps in Rust the Declarative Way

4 December 2019

5 years ago I decided to fix every link in the IoT Chain so that we can create really useful and affordable IoT gadgets, the Lean and Agile Way

23 November 2019

Porting Mynewt OS to GD32 VF103 on RISC-V was a nightmare

22 November 2019

Programming the Hynitron CST816S Capacitive Touch Controller

15 November 2019

PineTime is the spiritual successor to BBC micro:bit

30 October 2019

Many GD32 VF103 RISC-V developer boards are coming real soon... And Mynewt OS would be perfect for them

15 October 2019

Set up an nRF52 mesh network, step by step, without any coding

3 October 2019

nRF52 works with popular open-source tools on Windows and macOS like VSCode, OpenOCD, Rust and ST-Link

22 September 2019

Let’s build a simple gadget that determines its current location based on received GPS signals… And transmits the location to a server via NB-IoT

4 September 2019

Peek into the LiteOS + Application source code that was bundled with the NB-IoT Developer Kit

30 August 2019

Learn to optimise the power consumption of the NB-IoT Sensor Application in the previous tutorial

17 August 2019

Create and edit Embedded Rust programs for STM32 Blue Pill and Apache Mynewt… By dragging and dropping blocks!

17 August 2019

Watch what happens behind the scenes when you create a Visual Embedded Rust program

4 August 2019

Hardly anyone writes embedded programs in Rust for microcontrollers (like STM32 Blue Pill), we all use C. But we really should switch to Rust!

25 July 2019

Let’s build an IoT sensor with a real microcontroller — STM32 Blue Pill — and a real NB-IoT module — Quectel BC95-G!

15 July 2019

How to use a Quectel evaluation board to send a CoAP message to the CoAP server hosted at thethings.io

11 July 2019

Simpler embedded coding, the visual way

7 July 2019

Declarative and Procedural Macros (plus bindgen and tips for Visual Studio Code) to protect Embedded Rust coders from stumbling into embedded traps

9 June 2019

It’s time to drop our legacy programming practices and adopt smarter, safer ways to exploit these microcontrollers… starting with Apache Mynewt and Rust.

27 May 2019

Let's build a Sensor Network running on two Blue Pills with nRF24L01 and ESP8266

21 May 2019

Friendlier for newbies, supports ESP8266 WiFi and nRF24L01

20 April 2019

And WiFi Geolocation with ESP8266

26 March 2019

Apache Mynewt is a free, open-source realtime operating system for microcontrollers

10 March 2019

AWS IoT Rules Engine and Kinesis Firehose were designed to stream live sensor data into Redshift for storage and analysis

8 March 2019

With AWS Glue it’s now possible to keep our Redshift data warehouses in sync with JSON-based data stores… So we may exploit the full potential of business analytics and machine learning in AWS!

6 March 2019

With Lambda Layers it’s really easy to connect our Node.js Lambda Function to Redshift or PostgreSQL

25 February 2019

How do we upgrade the Bootloader when it’s always running in the background, waiting for flashing requests? This article explains a special technique I used to upgrade the MakeCode Bootloader over WebUSB… I call it “Baseloading”

16 February 2019

Explore the innards of the MakeCode Bootloader that I have ported to Blue Pill

7 February 2019

Computing sensor values in IoT devices can be prone to bugs… And Unit Testing can help to stop the bugs before they pollute the entire IoT chain

30 January 2019

Filling in tiny math functions with nano-float

24 January 2019

Learn the tips and tools to prevent Blue Pill Bloat

18 December 2018

STM32 Blue Pill is a remarkable microcontroller for US$ 2. I proved it by running the USB Storage, USB Serial, USB DFU (Direct Firmware Upgrade) and WebUSB interfaces all on the same Blue Pill concurrently, without any additional hardware!

9 December 2018

This work-in-progress document describes an incomplete implementation of STM32 Blue Pill visual programming

7 December 2018

I teach Sigfox to working professionals. Here are their questions…

29 November 2018

17 November 2018

如果您可以將您以電池供應電力的BBC micro:bit設置在城市裡的任何一個角落來收集感測資料 … 或者是隨時查看從家裡、學校、工作場所即時更新的感測資料 … 不是很酷嗎?

13 November 2018

使用 BBC micro:bit 連接 Sigfox 物聯網網路會是一個很好幫助孩子們理解感測器與感測網路如何運作的理想方式。micro:bit 是新式以電池提供電力的感測器裝置典範,具備充足的處理能力並支援大多數的感測器類型。在教育用途上,Sigfox 可能是今日用於城市規模測試的感測網路之中,最為便宜的方案。

5 November 2018

BBC micro:bit connected to the Sigfox IoT network is the perfect way to help kids understand how Sensors and Sensor Networks operate. The micro:bit is a good representation of a modern battery-powered sensor device, with ample processing power and support for most types of sensors. For education, Sigfox is likely the cheapest option today for experimenting with a city-wide sensor network.

17 October 2018

以 STM32 微處理器為核心的 STM32F103C8T6 Blue Pill 開發板連接 Sigfox 收發器模組來接取 Sigfox 物聯網網路可能會是設計一款低功率物聯網裝置的最佳組合。

28 September 2018

STM32 “Blue Pill” microcontroller connected to a transceiver module for the Sigfox IoT network might be the best combination for low-power IoT devices right now.

19 September 2018

This article that explains all that I have learnt about SPI ports, DMA and interrupts on the Blue Pill

5 September 2018

As we learn how to program the FPGA, we’ll soon realise that FPGA programming is really extraordinary, unlike any other kind of programming we have done before

27 August 2018

Upsizing from Arduino Uno to a 32-bit STM microcontroller doesn’t have to be hard

20 August 2018

Using the cocoOS task scheduler to run Sensor Tasks concurrently while waiting for the Network and UART Tasks

11 August 2018

Juggle multiple Arduino sensors, using an open source library for cooperative processing: cocoOS

31 July 2018

Since FPGAs are already mainstream, could we use them to create IoT devices that are more power-efficient than current devices based on microcontrollers?

10 July 2018

Let's learn Rust, a modern systems programming language that promotes safe, concurrent low-level coding

5 July 2018

Here’s the story of the first gadget that I have ever created, with help from the brilliant minds at Seeed in Shenzhen

18 June 2018

Better tools for building robust and reliable programs for microcontrollers

21 May 2018

Could Alibaba Cloud be the economical cloud for high volume IoT?

13 May 2018

How to implement a Finite State Machine on the Arduino Uno

1 May 2018

How to experiment with IoT today while minimising the security and performance risks, and keeping costs low

24 April 2018

Arduino, Low Power Networks, IoT Networks, IoT Analytics, ...

20 March 2018

Lup Yuen talks about two classes of IoT, ‘deep’ IoT and ‘wide’ IoT. Deep IoT devices require high bandwidth and power supply. UnaBiz looks at wide IoT, which refers to devices that are very light, battery-powered and operate on pervasive networks. They can work anytime, anywhere in Singapore and do not rely on WiFi or the cellular network.

14 October 2017

Building highly reliable, robust and scalable systems for processing Sigfox messages

5 July 2017

Co-created with Upton Lai, the brilliant guy who could make anything

IoT is a Bad Word in Medium
26 May 2017

IoT is about solving real problems (not imaginary ones) in a sustainable way

23 April 2015

Sigfox and Google Cloud Platform in Google Developer Group Singapore DevFest
20 October 2014

30 June 2010

This invention relates to a system for displaying video content streamed from a network in a full screen mode. The system receives receiving a network address based on a selection from a user. The system then transmits a request for content from the network address and subsequently receives the content associated with the network address. A search is performed on the content for data that provides displaying a video content in a full screen mode. Upon detecting the data, the process generates the data and displays video content in full screen mode.

27 June 2007

A system and method for providing mobile services, the system comprising: a mobile device executing a client application for generating a mobile service request; and a hub server for receiving and processing the mobile service request, wherein the mobile service request comprises location data of the mobile device, and the hub server pushes one or more mobile service offers to the mobile device based on the location data. The method comprises executing a client application for generating a mobile service request on a mobile device; receiving and processing the mobile service request at a hub server; and pushing one or more mobile service offers from the hub server to the mobile device based on location data, wherein the mobile service request comprises location data of the mobile device.

Languages

English

Native speaker

Mandarin

Native speaker

Cantonese

Fluent

Interests

How was this JSON Resume created?

https://github.com/lupyuen/lupyuen.github.io/blob/master/README.md