It is an underlying fact that Arduino changed or better still evolved the makers, electronics, DIY, open-source, or whatever ecosystem you can think of. It brought the power of creation to the average users irrespective of your current skill set or experiences. Engineers, Scientists, hobbyists, Professors, Makers, and others and have used the ecosystem Arduino has created to build and teach new things. Aside from the fantastic hardware that made all these possible, one of the significant contributors to this easy to use growing community is the IDE. The Arduino IDE is very simplified for newbies to use. Although the Arduino Classic IDE is a pretty decent IDE for building Arduino based projects, it doesn’t offer much for large scale projects or has the tools advance developers needs. I migrated to using Atmel Studio because of what the Arduino IDE was lacking, and others have considered using other IDEs like […]
py-videocore6 Raspberry Pi 4 GPGPU Python Library Leverages VideoCore 6 GPU
Raspberry Pi 4 SBC was released at the end of June with a new Broadcom BCM2711B SoC that also includes VideoCore 6 (VC6) GPU for 2D and 3D graphics, and that could also be used for general-purpose GPU computing (GPGPU). In the past we’ve seen companies such as Idein leveraged VideoCore 4 GPGPU capabilities in Raspberry Pi 3 / Zero to accelerate image recognition, and they released a python library (py-videocore) for that purpose. The problem is that the VideoCore 6 GPU found in RPi 4 is quite different than the VideoCore 4 GPU in earlier versions of the Raspberry Pi Foundation board as forum member phiren explains: I’ve been looking though the open source drivers and here are some of my observations: vc6 is clearly derived from vc4, but it is significantly different. vc6 is only a slight extension over vc5 The QPU pipeline stays mostly the same, you […]
BASIC Compiler & Programming on Arduino Zero Boards (Crowdfunding)
Arduino boards are normally programmed using Arduino “programming language” that’s more like an API using C/C++ language. But when I started in high-school I remember learning Pascal and BASIC programming languages. Bruce Eisenhard also learned BASIC in the past, so he decided to port his company’s ARM BASIC compiler to Arduino Zero, and it should also work on other boards based on Microchip SAMD21G Arm Cortex-M0+ microcontroller. The compiler includes floating-point, strings, inline assembly, interrupts, pre-processor, and the BASIC firmware supports direct access to hardware registers so you can control digital and analog I/Os, ADCs, and other peripherals using BASIC programming language. A runtime monitor also facilitates debugging. The IDE used for development is called BASICtools that’s a free 30MB download which install programs and documentation. There are also libraries and examples from blinky to more complex code. It’s been possible to run interpreted BASIC on Arduino for a while, […]
PicoLibC is a Lightweight C library for Embedded Systems
Well-known developer, Keith Packard has recently announced the launch of “picolibc” through his blog. Picolibc is a C Library for embedded systems which is suitable for small micro-controllers, and this standard C library API’s allows to run even in low memory (RAM) devices. This is an upgraded version of “newlib-nano” with few interesting changes which includes replacement of “stdio” lib with ATMEL-specific printf code adopted from avrlibc. As part of this library, Keith also launched picocrt, which is responsible for initializing memory and invoking various constructors before calling its own C program, the main function. Features picolibc is a revised version of newlibc, without full-fledged stdio lib and uses lightweight stdio lib from avrlibc, which is more suitable to low memory embedded devices. Meson build-system eases the build process of picolibc source tree for various target platform and hardware. Updated the math test suite to use Glibc as a reference […]
Huawei Releases their Open Source Ark Compiler for HarmonyOS
Back in May, there were rumors Huawei was working on HongMeng OS as an alternative to Android mobile operating systems, as the OS was brought to light due to US sanctions against the company. The new operating system was later confirmed and will be called HarmonyOS outside of China. A few days ago I received a tip in Chinese with this link explaining Huawei had released the open-source Ark compiler for HarmonyOS aka OpenArkCompiler. The compiler works with Java apps and converts the source into AArch64 binaries. The illustration below implies it should also work with C, C++, JavaScript, and Kotlin programming languages. Three links were shared in the announcement: The official website – https://www.openarkcompiler.cn/home The code hosting website – https://code.opensource.huaweicloud.com/openarkcompiler/openarkcompiler/home A mirror for the code – https://gitee.com/harmonyos/OpenArkCompiler As a side note, I had never heard about Gitee, and the site is an alternative to Github in China, which may […]
TinyGo GO Compiler for Microcontrollers Now Works on Arduino Boards
Powerful, yet simple to use, TinyGo is making a significant mark in the open-hardware sector. This was well stated in the Arduino blog interview of Ron Evans, Technologist for Hire, as Arduino is now working with TinyGo on an ongoing basis. What is TinyGo? The whole purpose of TinyGo is to bring Go to the microcontroller and the latest web browsers, to have that powerful language able to function in tiny processor formats, such as the Arduino Uno and Arm-based processors such as the Cortex-M type processors and also the BBC Micro: bit, STM32 Bluepill, and some other MCU boards, from any web browser. How It Functions It does this through LLVM toolchain and that format allows TinyGo to compile Go programs to a fraction of their original size, then flash the reduced Go program directly onto the microcontroller. Web Browser Applications With WebAssembly TinyGo can be used with WebAssembly […]
Getting Started with Sipeed M1 based Maixduino Board & Grove AI HAT for Raspberry Pi
Last year we discovered Kendryte K210 processor with a RISC-V core and featuring AI accelerators for machine vision and machine hearing. Soon after, Sipeed M1 module was launched with the processor for aroud $10. Then this year we started to get more convenient development board featuring Sipeed M1 module such as Maixduino or Grove AI Hat. Seeed Studio sent me the last two boards for review. So I’ll start by showing the items I received, before showing how to get started with MicroPython and Arduino code. Note that I’ll be using Ubuntu 18.04, but development in Windows is also possible. Unboxing I received two packages with a Maixduino kit, and the other “Grove AI HAT for Edge Computing”. Grove AI HAT for Edge Computing Let’s start with the second. The board is a Raspberry Pi HAT with Sipeed M1 module, a 40-pin Raspberry Pi header, 6 grove connectors, as well […]
Google Fuchsia Operating System Gets its own Developer Website
Google has been developing Fuchsia open source operating system based on Zircon kernel for several years. It’s still unclear what’s the end goal. Will it replace Android or/and Chrome OS, ditching the Linux kernel for Zircon in the process? We don’t know, and Google claims its an experimental endeavor. Only the future will tell. We’ve had access to the source code since 2016, but Google has now launched a dedicated developer website for Fuchsia: fuchsia.dev This is year 2019, and Google being a Western company it should not be surprising the first part of the documentation is a Code of Conduct, but there’s also plenty of technical documentation with a glossary, getting started guide, building instructions, an overview of the OS, code samples, and instructions to contribute either by testing or submitting changes to Gerrit. Fuchsia is strictly a 64-bit operating system at this stage with support for Arm64 and […]