Join me at NuttX International Workshop 2024! (13-14 Jun 2024)
YouTube Presentation Video (30 mins)
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.
YouTube Presentation Video (36 mins)
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
YouTube Presentation Video (32 mins)
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.
Join me at NuttX International Workshop 2023! (29-30 Sep 2023)
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.
This presentation explains how we built the NuttX Drivers to support Touchscreen Apps on PINE64 PinePhone:
To derisk the development, we prototyped the NuttX Drivers in the Zig Programming Language, before rewriting to C.
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.
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)
Join me at NuttX Online Workshop 2022! (24-25 Sep 2022)
Below are the Presentation Slides for…
“Visual Programming with Zig and NuttX Sensors”
“NuttX on a RISC-V IoT Gadget: PineDio Stack BL604”
“Simpler, safer LVGL Touchscreen Apps with Zig and NuttX”
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:
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:
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: