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 […]

Save the planet! Program in C, avoid Python, Perl

interpreted languages poor efficiency

As a former software engineer who’s mostly worked with C programming, and to a lesser extent assembler, I know in my heart that those are the two most efficient programming languages since they are so close to the hardware. But to remove any doubts, a team of Portuguese university researchers attempted to quantify the energy efficiency of different programming languages (and of their compiler/interpreter) in a paper entitled Energy Efficiency across Programming Languages published in 2017, where they looked at the runtime, memory usage, and energy consumption of twenty-seven well-known programming languages. C is the uncontested winner here being the most efficient, while Python, which I’ll now call the polluters’ programming language :), is right at the bottom of the scale together with Perl. The study goes through the methodology and various benchmarks, but let’s pick the binary-trees results to illustrate the point starting with compiled code. To the surprise […]

Cortex-M55 based Arm Virtual Hardware is now available in AWS Cloud

Arm Virtual Hardware Components

The Arm DevSummit 2021 is taking place on October 19-21, and the first announcements from Arm are related to IoT with “Arm Total Solutions for IoT delivering a full-stack solution to significantly accelerate IoT product development and improve product ROI”, “Project Centauri” aiming to achieve for an extensive Arm Cortex-M software ecosystem in the way that Project Cassini does for the Cortex-A ecosystem, starting with support for PSA Certified and Open-CMSIS-CDI cloud-to-device specification, and Arm Virtual Hardware based on Corstone-300 IoT platform with a Cortex-M55 MCU core and an Ethos-U55 microNPU accessible from Amazon Web Services. The first two are quite abstract right now, and more information may become available in the future, but the Arm Virtual Hardware is available now from AWS as a public beta, with 100 hours of free AWS EC2 CPU credits for the first 1,000 qualified users. The virtual hardware does not emulate only the […]

Android 12 source code pushed to AOSP

Android 12 source code AOSP

Google has now pushed Android 12 source code to AOSP (Android Open Source Project), after introducing Android 12 new features and the developer preview in February, and the first Android 12 Beta in May. The latest version of the mobile operating system should become available on recent Google Pixel phones in the next few weeks, followed by phones from Samsung, OnePlus, Oppo, Realme, Tecno, Vivo, and Xiaomi. You can download the code with the following command :

Eventually, there should be an Android 12 tag in the manifest similar to android-12.0.0.0_r1. But that still means developers can start retrieving the source code to adapt the operating system to their needs, for example, to implement support for single board computers or TV boxes that do not use Android TV OS. The release notes for the source code list of the changes made to Android 12 OS including: Support for Android […]

Exit mobile version
EmbeddedTS embedded systems design