Lup Yuen Lee

Lup’s Presentation Slides for NuttX International Workshop 2023

Join me at NuttX International Workshop 2023! (29-30 Sep 2023)

Apache NuttX RTOS for PINE64 PinePhone

Presentation Video (33 mins)

PDF Slides

PDF Transcript

Google Slides

Smartphones are incredibly complex gadgets. What if we could learn the internals of smartphones… By booting Apache NuttX RTOS on our phone?

Over the past year, we have ported NuttX to PINE64 PinePhone as an Educational Experiment. Today we can run NuttX Touchscreen Apps on PinePhone, based on Allwinner A64 SoC with Arm64 CPUs.

NuttX on PinePhone will soon support Phone Calls and Text Messages on the 4G LTE Network. We hope NuttX will become a valuable tool for teaching the inner workings of modern smartphones.

PinePhone Touchscreen on NuttX: Handling MIPI DSI, Display Engine and I2C Touch Input

Presentation Video (39 mins)

PDF Slides

PDF Transcript

Google Slides

This presentation explains how we built the NuttX Drivers to support Touchscreen Apps on PINE64 PinePhone:

  1. MIPI DSI on Allwinner A64 SoC
  2. Allwinner Display Engine
  3. Goodix I2C Touch Panel
  4. Integration with LVGL Graphics Library

To derisk the development, we prototyped the NuttX Drivers in the Zig Programming Language, before rewriting to C.

LVGL in WebAssembly: Building NuttX Touchscreen Apps with Zig and testing them in the Web Browser

Presentation Video (28 mins)

PDF Slides

PDF Transcript

Google Slides

What if we could prototype and test Touchscreen Apps in the Web Browser, before running on a real device?

In this presentation we explain how we compiled the LVGL Graphics Library to WebAssembly with Zig Compiler. We created a NuttX App in the Zig Programming Language that runs in the Web Browser, calling the LVGL Library in WebAssembly.

We hope that this will someday enable NuttX Apps to be created and tested easily in the Web Browser.


Lup’s Presentation Slides for (ApacheCon) Community Over Code - ASF Conference Asia 2023

Video Presentation

Presentation Slides

PDF Slides with Transcript

What’s inside a Smartphone? Exploring the internals with Apache NuttX Real-Time Operating System

Smartphones are incredibly complex gadgets. What if we could learn the internals of smartphones… By booting Apache NuttX RTOS (Real-Time Operating System) on our phone?

Over the past year, we have written a series of 24 articles explaining the inner workings of PINE64 PinePhone, and how we implemented the smartphone features with Apache NuttX RTOS.

The articles cover the essential (and esoteric) topics on smartphone technology: MIPI DSI LCD Display, I2C Touch Panel, USB Controller, LTE Modem, Accelerometer / Gyroscope, Arm64 Interrupts and many more.

We are also experimenting with newer, easier ways to create Smartphone Apps, with LVGL Graphics Library, Zig Programming Language, WebAssembly Simulation and Arm64 Emulation.

More about Apache NuttX RTOS for PinePhone

Articles on Apache NuttX RTOS for PinePhone

Apache NuttX RTOS for Star64 64-bit RISC-V SBC (StarFive JH7110)


Lup’s Presentation Slides for NuttX Online Workshop 2022

Join me at NuttX Online Workshop 2022! (24-25 Sep 2022)

Below are the Presentation Slides for…

Visual Programming with Zig and NuttX Sensors

Video Presentation

Presentation Slides

PDF Slides with Transcript

What if we could drag-and-drop NuttX Sensors to create IoT Apps? In this presentation we’ll explore Blockly, the web-based toolkit for Visual Programming, and how we might customise Blockly to create NuttX Sensor Apps.

We’ll also discuss the Zig Programming Language, and why Blockly will generate NuttX Sensor Apps as Zig programs.

References:

NuttX on a RISC-V IoT Gadget: PineDio Stack BL604

Video Presentation

Presentation Slides

PDF Slides with Transcript

Pine64’s PineDio Stack BL604 is a RISC-V board that’s packed with IoT features: Touchscreen, LoRa, WiFi, BLE, GPS and more. In this presentation we’ll talk about the porting of NuttX to PineDio Stack, how we simplified the developer onboarding, and our plans to support LoRaWAN and LVGL Apps in Zig.

References:

Simpler, safer LVGL Touchscreen Apps with Zig and NuttX

Video Presentation

Presentation Slides

PDF Slides with Transcript

Is there a simpler and safer way to code Touchscreen Apps with the LVGL Graphics Library? In this presentation we’ll talk about migrating a NuttX LVGL App from C to Zig, and the benefits that it brings.

References: