Lup Yuen Lee

Lup’s Presentation Slides for NuttX International Workshop 2024

Join me at NuttX International Workshop 2024! (13-14 Jun 2024)

TinyEMU RISC-V Emulator for Apache NuttX RTOS

YouTube Presentation Video (30 mins)

MP4 Presentation Video

PDF Slides

PDF Transcript

Google Slides

What if we could boot and test Apache NuttX RTOS inside a Web Browser? This presentation explains how we created a NuttX Emulator in WebAssembly, based on TinyEMU RISC-V Emulator.

TinyEMU uses VirtIO for Console Input and Output. We’ll talk about the VirtIO Drivers and OpenAMP Library in NuttX, and how we integrated them with TinyEMU.

We explain how created the Emulator for Ox64 SBC, based on TinyEMU Emulator. And how we run it for Daily Automated Testing of NuttX for Ox64.

Adventures of Ox64 BL808 RISC-V SBC with Apache NuttX RTOS

YouTube Presentation Video (36 mins)

MP4 Presentation Video

PDF Slides

PDF Transcript

Google Slides

We ported Apache NuttX RTOS to PINE64’s Ox64 BL808 64-bit Single-Board Computer. And we created an Emulator for Ox64 SBC that runs in the Web Browser, thanks to TinyEMU RISC-V Emulator. Today we run Daily Automated Testing of NuttX on the Ox64 Emulator.

In this presentation we explain how we used the Ox64 Emulator in our experiments with WebAssembly and NuttX: (1) Testing the TCC RISC-V Compiler in WebAssembly (2) Porting the QuickJS JavaScript Engine to NuttX (3) Creating a Drag-n-Drop App Builder for NuttX

Analysis of Real-Time Logs for Apache NuttX RTOS with PureScript

YouTube Presentation Video (32 mins)

MP4 Presentation Video

PDF Slides

PDF Transcript

Google Slides

Today we can get Real-Time NuttX Logs from our RISC-V Devices: Ox64 SBC (Web Serial API) and Ox64 Emulator (Term.js). What if we could analyse the RISC-V Logs in Real-Time? And show the results in the Web Browser?

Let’s do it with PureScript, the Functional Language that compiles to JavaScript. We’ll also support Online Scripting of PureScript for Log Parsing.

Can we enhance the NuttX Developer Experience with Functional Programming Tools like PureScript? Or newer hardware like PINE64 Ox64 SBC and Sophgo SG2000 / Milk-V Duo S? Let’s chat about this.


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: