<description><![CDATA[Life Without GitHub: What's it like? Today we talk about Forgejo Git Forge, and whether Apache NuttX RTOS could possibly switch from GitHub to our own Git Forge.]]></description>
<description><![CDATA[Suppose we hit a Runtime Bug in Apache NuttX RTOS. We think that the Breaking Commit (causing the bug) is somewhere inside these hundreds of NuttX Commits. But which one? In this article: We run Git Bisect to discover the Breaking Commit.]]></description>
<description><![CDATA[We're out for a 50 km overnight hike. Our Build Farm for Apache NuttX RTOS runs non-stop all day, all night. Continuously compiling over 1,000 NuttX Targets. Can we be 100% sure that NuttX is OK? Without getting spammed by alert emails all night? In this article: We talk about Mastodon as a fun new way to broadcast NuttX Alerts in real time.]]></description>
<description><![CDATA[Every Day: Apache NuttX RTOS on QEMU RISC-V Emulator fails our Continuous Integration Test. The Bug Stops Here! In this article, we study the internals of a NuttX CI Test (Continuous Integration) as we fix the bug.]]></description>
<description><![CDATA[When something breaks the Daily Build for Apache NuttX RTOS: Our NuttX Maintainers will scramble to identify the Breaking Commit. Not any more! Now we can go back in time and Rewind The Build.]]></description>
<description><![CDATA[Folks on macOS: Compiling Apache NuttX RTOS used to be so tiresome. Not any more! In this article, we explain how to build anything on macOS, by patching the NuttX CI Script. Which also becomes our macOS Build Farm.]]></description>
<description><![CDATA[Last article we spoke about the (Twice) Daily Builds for Apache NuttX RTOS. Today we talk about Monitoring the Daily Builds (also the NuttX Build Farm) with our new NuttX Dashboard.]]></description>
<description><![CDATA[Within Two Weeks: We squashed our GitHub Actions spending from $4,900 (weekly) down to $890. Previously: Our developers waited 2.5 Hours for a Pull Request to be checked. Now we wait at most 1.5 Hours! This article explains everything we did in the (Semi-Chaotic) Two Weeks for Apache NuttX RTOS.]]></description>
<description><![CDATA[Refurbished Ubuntu PCs have become quite affordable. Let's turn them into a (Low-Cost) Build Farm for Apache NuttX RTOS, thanks to the Docker Image provided by NuttX.]]></description>
<description><![CDATA[We’re experimenting with an LLM Bot (Large Language Model) that will review Pull Requests for Apache NuttX RTOS. This article explains how we created the Bot in One Week... By sheer accident!]]></description>
<description><![CDATA[This article explains how Apache NuttX RTOS is running Continuous Integration with GitHub Actions. Every NuttX Pull Request will trigger 1,594 NuttX Builds!]]></description>
<description><![CDATA[My student Rushabh Gala has just completed his project for Google Summer of Code, on creating Safer Rust Apps for Apache NuttX RTOS. In this article we walk through Rushabh’s contributions, and understand how we’re evolving Rust Apps for NuttX.]]></description>
<description><![CDATA[Earlier this year we made a RISC-V Emulator for Ox64 BL808 SBC, thanks to our customised TinyEMU RISC-V Emulator. (Not the small flightless bird) Now that NuttX supports Sophgo SG2000 SoC: Let's create a similar emulator for Pine64 Oz64 SBC and Milk-V Duo S!]]></description>
<description><![CDATA[Last week we upstreamed Milk-V Duo S SBC to Apache NuttX RTOS. (Based on Sophgo SG2000 RISC-V SoC) But NuttX Mainline changes every day. Will Milk-V Duo S suffer “Software Bit Rot”? And fail to boot NuttX someday? Let’s do Daily Automated Testing for NuttX on a Milk-V Duo S SBC, controlled by an IKEA Smart Power Plug with Home Assistant API.]]></description>
<description><![CDATA[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.]]></description>
<pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
</item>
<item>
<title>(Video) TinyEMU RISC-V Emulator for Apache NuttX RTOS</title>
<link>https://youtu.be/JlEo3lfi0CU</link>
<description><![CDATA[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.]]></description>
<guid>https://youtu.be/JlEo3lfi0CU</guid>
<pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
</item>
<item>
<title>(Slides) Adventures of Ox64 BL808 RISC-V SBC with Apache NuttX RTOS</title>
<description><![CDATA[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]]></description>
<pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
</item>
<item>
<title>(Video) Adventures of Ox64 BL808 RISC-V SBC with Apache NuttX RTOS</title>
<link>https://youtu.be/Eoy-X4ouuLI</link>
<description><![CDATA[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]]></description>
<guid>https://youtu.be/Eoy-X4ouuLI</guid>
<pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
</item>
<item>
<title>(Slides) Analysis of Real-Time Logs for Apache NuttX RTOS with PureScript</title>
<description><![CDATA[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.]]></description>
<pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
</item>
<item>
<title>(Video) Analysis of Real-Time Logs for Apache NuttX RTOS with PureScript</title>
<link>https://youtu.be/d09SNQye2tc</link>
<description><![CDATA[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.]]></description>
<guid>https://youtu.be/d09SNQye2tc</guid>
<pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
<description><![CDATA[Soon we'll see many new 64-bit RISC-V SBCs based on the Sophgo SG2000 RISC-V SoC. Will they work with Apache NuttX RTOS? Let's find out!]]></description>
<description><![CDATA[Our Rust App compiles for Software Floating-Point, but Apache NuttX RTOS expects Hardware Floating-Point... Let's fix this with a Rust Custom Target for QEMU RISC-V]]></description>
<description><![CDATA[Troubleshooting Crash Dumps for Apache NuttX RTOS will become a little less painful... Thanks to our new NuttX Log Parser! This is how we created with PureScript, a Real-Time Parser and Explainer for RISC-V Exceptions and Stack Dumps.]]></description>
<description><![CDATA[Remember Makecode? BBC micro:bit and its Drag-n-Drop App Builder? Let's give MakeCode a wholesome wholesale makeover... With Blockly, QuickJS JavaScript Engine, Apache NuttX RTOS and Ox64 BL808 64-bit RISC-V SBC]]></description>
<description><![CDATA[Can we run QuickJS JavaScript Engine on Apache NuttX RTOS? And Blink the LED on Ox64 BL808 RISC-V SBC... In 4 lines of JavaScript? Let’s do it!]]></description>
<description><![CDATA[We solve a hefty headache in our port of TCC Compiler to WebAssembly: Missing C Header Files... Thanks to the ROM FS Filesystem and the ROM FS Driver from Apache NuttX RTOS]]></description>
<description><![CDATA[Today we're running Apache NuttX RTOS inside a Web Browser. What if we could compile and test NuttX Apps in the Web Browser? Let's explore with TCC 64-bit RISC-V Compiler, compiled to WebAssembly with Zig Compiler.]]></description>
<description><![CDATA[Every day we're auto-building Apache NuttX RTOS for Ox64 BL808 SBC... Can we test NuttX on Ox64 Emulator automatically after building? Let's find out!]]></description>
<description><![CDATA[Let's create a barebones Ox64 BL808 Emulator that runs in the Web Browser... By tweaking TinyEMU RISC-V Emulator and booting Apache NuttX RTOS without any modification]]></description>
<description><![CDATA[Here's how we boot and run Apache NuttX RTOS in the Web Browser... Thanks to TinyEMU RISC-V Emulator, VirtIO Virtual Devices and OpenAMP Library]]></description>
<description><![CDATA[Let's blink an LED on Pine64 Ox64 BL808 64-bit RISC-V Single-Board Computer... With Nim Programming Language and Apache NuttX Real-Time Operating System]]></description>
<description><![CDATA[Bare Metal Experiments with Apache NuttX RTOS (Real-Time Operating System) on the affordable Pine64 Ox64 BL808 64-bit RISC-V SBC]]></description>
<description><![CDATA[Weak Ordering in the Ox64 BL808 Memory Management Unit (T-Head C906)... Causes problems with UART Interrupts and the Platform-Level Interrupt Controller]]></description>
<description><![CDATA[We dive into the Platform-Level Interrupt Controller (PLIC) for the tiny adorable Pine64 Ox64 BL808 64-bit Single-Board Computer... Using Apache NuttX Real-Time Operating System to explain the inner workings of PLIC]]></description>
<description><![CDATA[(1) What's inside an Application for Apache NuttX RTOS (2) How it calls the NuttX Kernel (3) How NuttX Apps are bundled into the Initial RAM Disk for Pine64 Ox64 BL808 RISC-V SBC]]></description>
<description><![CDATA[Let's boot Apache NuttX RTOS on Pine64 Ox64 64-bit RISC-V SBC... And figure out how the Sv39 Memory Management Unit works]]></description>
<description><![CDATA[Let's boot Apache NuttX RTOS on the Star64 JH7110 RISC-V SBC (VisionFive5 too)... And experiment with the OpenSBI Supervisor Binary Interface]]></description>
<description><![CDATA[Here's how we fixed TFTP Timeouts in the Star64 JH7110 U-Boot Bootloader... By sending every TFTP Data Packet twice]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[Let's power up the DC8200 Display Controller inside Star64 JH7110 RISC-V Single-Board Computer... By running simple commands in the U-Boot Bootloader]]></description>
<description><![CDATA[Let's take a walk inside the Display Controller for Pine64's Star64 JH7110 RISC-V SBC... And find out how we'll create the Display Driver for Apache NuttX RTOS]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<guid>https://youtu.be/Wnrq9BlNP9o</guid>
<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
<description><![CDATA[Here's how we boot a Real-Time Operating System (Apache NuttX) on the Star64 JH7110 64-bit RISC-V Single-Board Computer]]></description>
<description><![CDATA[Pine64's Star64 JH7110 RISC-V SBC is now supported in Apache NuttX RTOS Mainline! Let's review how we created the first release of NuttX for Star64]]></description>
<description><![CDATA[Apache NuttX RTOS on Pine64's Star64 JH7110 RISC-V SBC has a problem with Serial I/O Interrupts and the RISC-V Platform-Level Interrupt Controller (PLIC)... Let's fix this!]]></description>
<description><![CDATA[Apache NuttX RTOS crashes on Pine64's Star64 JH7110 RISC-V SBC because there's no Semihosting. But no worries! We modified NuttX to boot with an Initial RAM Disk instead (initrd).]]></description>
<description><![CDATA[We're porting Apache NuttX RTOS to Pine64's Star64 JH7110 RISC-V SBC... And we see interesting issues with RISC-V Privilege Levels and 16550 UART Registers]]></description>
<description><![CDATA[Let's boot Apache NuttX RTOS (or Linux) over the Network with U-Boot Bootloader and TFTP... On Pine64's Star64 JH7110 RISC-V Single-Board Computer]]></description>
<description><![CDATA[(Partially) Booting Apache NuttX Real-Time Operating System on Pine64's Star64 64-bit RISC-V Single-Board Computer, based on StarFive JH7110 SoC]]></description>
<description><![CDATA[Watch what happens when we boot Yocto and Armbian Linux on Pine64's Star64 64-bit RISC-V Single-Board Computer, based on StarFive JH7110 SoC]]></description>
<description><![CDATA[Let's boot Apache NuttX Real-Time Operating System on a 64-bit RISC-V Device (QEMU Emulator) and explore the Boot Code inside NuttX]]></description>
<description><![CDATA[2023 has been an awesome year for Apache NuttX RTOS on Pine64 PinePhone! Let's review the features that we've implemented... And what we'll do next]]></description>
<description><![CDATA[How we created the LVGL Feature Phone UI for Pine64 PinePhone on Apache NuttX RTOS... By tweaking and testing in a Web Browser!]]></description>
<description><![CDATA[When we tilt our Smartphone from Portrait to Landscape... How does it know that we're tilting our phone? Watch what happens when we snoop the MPU-6050 Accelerometer Data from PinePhone with Apache NuttX RTOS]]></description>
<description><![CDATA[Making Phone Calls and Sending SMS Text Messages with PinePhone's Quectel EG25-G 4G LTE Modem... How we'll do it with Apache NuttX RTOS]]></description>
<description><![CDATA[All about the Quectel EG25-G 4G LTE Modem inside Pine64 PinePhone... And how we'll control it with Apache NuttX RTOS]]></description>
<description><![CDATA[Here's how Apache NuttX RTOS boots on Pine64 PinePhone... Visualised as a Call Graph with Unicorn Emulator and Rust]]></description>
<description><![CDATA[To make PinePhone testing easier... Can we emulate Arm64 PinePhone with Unicorn Emulator? Let's find out! We'll call the Unicorn Emulator in Rust]]></description>
<description><![CDATA[ChatGPT (the AI chatbot) will gladly answer questions about Apache NuttX RTOS! But the answers aren't always correct. Let's turn this into a learning opportunity, and understand why ChatGPT's answers are incorrect]]></description>
<description><![CDATA[All about the Capacitive Touch Panel inside Pine64 PinePhone... And how we created the PinePhone Touch Panel Driver for Apache NuttX RTOS]]></description>
<description><![CDATA[How NuttX Apps call the NuttX Framebuffer Interface to render graphics... And what's inside the Framebuffer Driver for Pine64 PinePhone]]></description>
<description><![CDATA[Apache NuttX RTOS now boots with a Test Pattern on Pine64 PinePhone! Let's find out what's inside our new NuttX Driver for PinePhone's LCD Panel.]]></description>
<description><![CDATA[Apache NuttX Kernel now supports Allwinner A64 Display Engine on Pine64 PinePhone! Here's how we call it to render graphics on PinePhone's LCD Display]]></description>
<description><![CDATA[Apache NuttX Kernel has a driver for MIPI Display Serial Interface... Here's how it will be called for rendering PinePhone's LCD Display]]></description>
<description><![CDATA[How we render graphics directly to PinePhone's Display Hardware... With the Zig Programming Language and Apache NuttX RTOS]]></description>
<description><![CDATA[How does Pine64 PinePhone render graphics on its LCD Display? Let's find out about the Allwinner A64 SoC's Display Engine (DE) and Timing Controller (TCON0).]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[Our PinePhone Operating System will be awfully quiet if we don't implement UART Input and Output... Here's how we implemented the UART Driver for Apache NuttX RTOS]]></description>
<description><![CDATA[How Pine64 PinePhone handles Arm64 Interrupts with the Generic Interrupt Controller... And how we implemented PinePhone Interrupt Handling in Apache NuttX RTOS]]></description>
<description><![CDATA[Apache NuttX RTOS now runs on 64-bit Arm Cortex-A53 with Multi-Core Symmetric Multi-Processing... Will it run on PinePhone? Let's find out!]]></description>
<description><![CDATA[How we create a Zig program visually with Blockly, the drag-n-drop way... And how we might use it to build Sensor IoT Apps for Apache NuttX RTOS]]></description>
<description><![CDATA[Using Zig to read Sensor Data on Apache NuttX RTOS... With Bosch BME280 Temperature / Humidity / Air Pressure Sensor]]></description>
<description><![CDATA[Can we use Zig to build an LVGL Touchscreen App for Apache NuttX RTOS? Also wrap the LVGL API in Zig to build simpler, safer LVGL Apps? Let's find out!]]></description>
<description><![CDATA[Pine64 is about to launch the PineDio Stack BL604 RISC-V Board with LoRa and Touch Screen... Here's how we automatically flash and test every new release of Apache NuttX RTOS for PineDio Stack]]></description>
<description><![CDATA[PineDio Stack BL604 RISC-V Board has an interesting problem on Apache NuttX RTOS... Too many GPIOs! Let's fix this with a GPIO Expander]]></description>
<description><![CDATA[How we created the Apache NuttX RTOS Driver for Hynitron CST816S I2C Touch Panel... For PineDio Stack BL604 RISC-V Board]]></description>
<description><![CDATA[Apache NuttX OS talks I2C with Bosch BME280 Sensor on BL602 RISC-V SoC... Thanks to the BME280 Driver ported from Zephyr OS]]></description>
<description><![CDATA[How we expose the UART Port on IKEA VINDRIKTNING Air Quality Sensor... And read the PM 2.5 data with PineDio Stack BL604 RISC-V Board]]></description>
<description><![CDATA[Porting the LoRa Driver for Semtech SX1262 from Linux to Apache NuttX OS... And testing it on PineDio Stack BL604 RISC-V Board]]></description>
<description><![CDATA[How we monitor our IoT Sensor Devices connected to The Things Network... With Prometheus Time Series Database and Grafana Dashboards]]></description>
<description><![CDATA[How we read the Internal Temperature Sensor on the BL602 and BL604 RISC-V SoCs... And transmit to The Things Network]]></description>
<description><![CDATA[What happens inside the WiFi Driver on RISC-V BL602... And how we found the incomplete source code for the driver]]></description>
<description><![CDATA[How we simulate the BL602 RISC-V SoC with uLisp in WebAssembly... And preview Blockly uLisp Apps in the Web Browser]]></description>
<description><![CDATA[Porting the uLisp Interpreter to PineCone BL602 RISC-V Board... And writing graphical programs with Blockly (Scratch)]]></description>
<description><![CDATA[How we set up our own LoRaWAN Network with RAKwireless RAK7248 WisGate Developer D4H Gateway... And test it with RAKwireless WisBlock in Arduino]]></description>
<description><![CDATA[How we render an image with PineCone BL602 RISC-V Board ... On Grove Triple Colour E-Ink Display with UART Interface]]></description>
<description><![CDATA[How we render text and graphics on PineCone BL602 RISC-V Board ... With ST7789 SPI Display and LVGL Graphics Library]]></description>
<description><![CDATA[What happens when we flash RISC-V firmware to PineCone BL602 Board... And what's inside the BL602 Boot Image, Partition Table, Device Tree and EFuse Configuration]]></description>
<description><![CDATA[What's inside the PineCone BL602 Evaluation Board... And how we're using it to contribute to the RISC-V Open Source Ecosystem]]></description>
<description><![CDATA[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]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[How we manage state with the Bloc Library in the Flutter Companion App (Android and iOS) for PineTime Smart Watch]]></description>
<description><![CDATA[Observe step-by-step the Wireless Firmware Update running on PineTime Smart Watch (nRF52) with MCUBoot Bootloader, NimBLE Bluetooth LE Stack and Apache Mynewt]]></description>
<description><![CDATA[Wireless Firmware Updates done right on PineTime Smart Watch... With the open source MCUBoot Bootloader from Apache Mynewt and Zephyr]]></description>
<description><![CDATA[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]]></description>
<description><![CDATA[Have humans become so greedy for profit… That we have forgotten how to teach one another and advance our species?]]></description>
<description><![CDATA[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!]]></description>
<description><![CDATA[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?]]></description>
<description><![CDATA[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]]></description>
<description><![CDATA[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]]></description>
<description><![CDATA[Hardly anyone writes embedded programs in Rust for microcontrollers (like STM32 Blue Pill), we all use C. But we really should switch to Rust!]]></description>
<description><![CDATA[Let’s build an IoT sensor with a real microcontroller — STM32 Blue Pill — and a real NB-IoT module — Quectel BC95-G!]]></description>
<description><![CDATA[Declarative and Procedural Macros (plus bindgen and tips for Visual Studio Code) to protect Embedded Rust coders from stumbling into embedded traps]]></description>
<description><![CDATA[It’s time to drop our legacy programming practices and adopt smarter, safer ways to exploit these microcontrollers… starting with Apache Mynewt and Rust.]]></description>
<description><![CDATA[AWS IoT Rules Engine and Kinesis Firehose were designed to stream live sensor data into Redshift for storage and analysis]]></description>
<description><![CDATA[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!]]></description>
<description><![CDATA[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”]]></description>
<description><![CDATA[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]]></description>
<description><![CDATA[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!]]></description>
<description><![CDATA[Wouldn’t it be cool if you could plant your BBC micro:bit anywhere in the city (powered by batteries) to collect sensor data… And watch live updates of the sensor data from your home, school, workplace, … Even on the go?]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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]]></description>
<description><![CDATA[Since FPGAs are already mainstream, could we use them to create IoT devices that are more power-efficient than current devices based on microcontrollers?]]></description>
<description><![CDATA[Here’s the story of the first gadget that I have ever created, with help from the brilliant minds at Seeed in Shenzhen]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>
<description><![CDATA[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.]]></description>