How to use a ToF laser ranging sensor with Arduino and Wisblock

RAK12014 ToF module Wisblock

Laser ranging has many applications in production and life, such as ranging, positioning, obstacle avoidance, and so on. Time-of-Flight (ToF) ranging, as a type of laser ranging technology, is often used for real-time object detection in robots, autonomous vehicles, and traffic management because of its accuracy, fast response, and low power consumption. The face detection function of mobile phones also uses this technology. This article will introduce the WisBlock RAK12014 ToF laser ranging sensor module, and use the WisBlock development board to demonstrate how the module works. What is a ToF laser ranging sensor module? A ToF laser ranging sensor module uses laser pulses to measure the distance between itself and a target object. The WisBlock RAK12014 ToF laser ranging sensor module is based on STMicro VL53L0X, the smallest ToF ranging sensor in the world. The WisBlock RAK12014 provides accurate distance measurement and can measure distances up to 2 meters. […]

PikaScript – A lightweight Python implementation that runs on STM32 and other low-end MCUs

PikaScript Python STM32 MCU

PikaScript is an ultra-lightweight Python engine that can run on microcontrollers with as little as 4KB of RAM and 32KB of Flash, while the more popular MicroPython requires at least 256kB of code space and 16kB of RAM. PikaScript was initially developed to run on STM32G030C8 and STM32F103C8 MCUs, meaning, for example, it works on the BluePill board, but it has also been ported to other platforms like WCH CH582 RISC-V MCU, WinnerMicro W806 C-Sky microcontroller, as well as other like Raspberry Pi RP2040, ESP32-C3, etc… but those are not quite as well supported with some features missing. PikaScript also permits the binding C function to a Python module through Pika Pre-compiler. PikaScript can run bare metal on the microcontroller, but also supports real-time operating systems such as RT-Thread and VSF (Versaloon Software Framework), as well as Linux. Just like MicroPython, it’s using a subset of Python 3, but I’d […]

Embedded World 2022 – June 21-23 – Virtual Schedule

Embedded World 2022

Embedded World 2020 was a lonely affair with many companies canceling attendance due to COVID-19, and Embedded World 2021 took place online only. But Embedded World is back to Nuremberg, Germany in 2022 albeit with the event moved from the traditional month of February to June 21-23. Embedded systems companies and those that service them will showcase their latest solution at their respective booths, and there will be a conference with talks and classes during the three-day event. The programme is up, so I made my own little Embedded World 2022 virtual schedule as there may be a few things to learn, even though I won’t be attending. Tuesday, June 21, 2022 10:00 – 13:00 – Rust, a Safe Language for Low-level Programming Rust is a relatively new language in the area of systems and low-level programming. Its main goals are performance, correctness, safety, and productivity. While still ~70% of […]

Getting started with Maker Nano RP2040 using CircuitPython: Blinky, RGB LED, and Piezo Buzzer

Maker Nano RP2040 circuitpython guide

CNXSoft: This getting started guide was initially posted in Thai language by Suthinee Kerdkaew, and I’ve just translated her work into English with some minor edits. As discussed in an earlier article, Maker Nano RP2040 is a board following the Arduino Nano form factor, but with a more powerful Raspberry Pi RP2040 microcontroller. The board also comes with plenty of LEDs, as well as two RGB LEDs, and a piezo buzzer for audio output. Mr. Jean-Luc Aufranc has just given me a Maker Nano RP2040 board received from Cytron for review. I’ve never used a board before, so it’s my first experience, and in this article, I’ll try to program Maker Nano RP2040 with CircuitPython with three demos: a blinky sample, changing the color of the RGB LEDs, and playing a melody through the piezo buzzer. Let’s see if I can do it. Let’s get started. I first downloaded the […]

Android 13 developer preview released with privacy, security, and productivity improvements

Android 13 themes icons

Android 12 was only released in October 2021 and Google has already released the first developer preview of Android 13 with better privacy and security, efforts to improve developer productivity, and more work on better support for larger screens like tablets or Chromebooks building on the work done on Android 12L. Android 13 privacy and security features Google announces two new features related to privacy and security: Photo picker and APIs – Android 13 adds a system photo picker to share both local and cloud-based photos securely. Apps can use the photo picker APIs to access shared photos and videos without needing permission to view all media files on the device. So if an app just needs to access photos or videos, there’s no need to request full storage access. The photo picker will also be brought to through Google Play system updates on devices running Android 11 and higher, […]

Speeding up open-source GPU driver development with unit tests, drm-shim, and code reuse

Open source GPU driver Linux

Getting an Arm platform that works with mainline Linux may take several years as the work is often done by third parties, and the silicon vendor has its own Linux tree. That means in many cases, the software is ready when the platform is obsolete or soon will be. It would be nice to start software development before the hardware is ready. It may seem like a crazy idea, but that’s what the team at Collabora has done to add support for Arm “Valhall” GPUs (Mali-G57, Mali-G78) to the Panfrost open-source GPU driver. The result is that it only took the team a few days to successfully pass tests using data structures prepared by their Mesa driver and shaders compiled by their Valhall compiler after receiving the actual hardware thanks to the work done in the last six months. So how did they achieve this feat exactly? We have to […]

DirectFB2 project brings back DirectFB graphics library for Linux embedded systems

DirectFB2

DirectFB2 is a new open-source project that brings back DirectFB, a graphics library optimized for Linux-based embedded systems that was popular several years ago for 2D user interfaces but has since mostly faded away. DirectFB2 attempts to preserve the original DirectFB backend while adding new features such as modern 3D APIs like Vulkan and OpenGL ES. I personally used it in 2008-2009 while working with Sigma Designs media processors that relied on the DirectFB library to render the user interfaces for IPTV boxes, karaoke machines, and so on. I remember this forced me to switch from a MicroWindows + Framebuffer solution, but the DirectFB API was easy enough to use and allowed us to develop a nicer user interface. I found out about the new project while checking out the FOSDEM 2022 schedule and a talk entitled “Back to DirectFB! The revival of DirectFB with DirectFB2” which will be presented […]

Toit open-source language claims to be 30x faster than MicroPython on ESP32

Toit language

Developed by a team of former Google employees, Toit is a complete IoT platform with remote management, firmware updates for fleets of devices with features similar to the one offered by solutions such as balena, Microsoft Azure, or Particle edge-to-cloud platform. Toit currently works on ESP32 microcontrollers using lightweight containers, and after seeing existing high-level languages MicroPython and Javascript were not fast enough on low-end microcontrollers platforms, the team at Toit started to develop the Toit language in 2018, and has just made it open-source with the release of the compiler, virtual machine, and standard libraries on Github under an LGPL-2.1 license. One of the main reasons to switch from MicroPython to the Toit language is if your application is limited by performance or you operate ESP32 from a battery, as Toit claims up to 30x faster performance with Toit on ESP32: We went into crunch mode and some months […]