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 […]
Launching Embedded Systems Jobs Board and Company Database
CNX Software writes news, reviews and tutorials about embedded systems, open source, or other topics useful to makers and companies, so we thought it might be useful to get a place where embedded systems companies can be listed and publish related jobs. For that reason, we’ve now designed and launched an embedded systems jobs board in order to help companies find employees or freelancers that can help them achieve their goals. Even if companies have no open positions right now, they are invited to add themselves to the list of companies as they may also be contacted by prospective customers if they wish too. Please, only relevant companies, as we reserve the right to delete entry’s for your spouse’s hair salon or bakery ;). Once a company is registered they can post jobs in one of five categories: Hardware, Software, Support & Documentation, Manufacturing, and Sales & Marketing. Let me […]
KB-IDE Open Source IDE Supports ESP-IDF, Arduino, and Visual Programming for ESP32 Boards
We’ve previously written about MakerAsia when covering their KBX Extension case for Kidbright ESP32 educational board. The company has now launched a new product, but it’s not an hardware platform, and instead KB-IDE is an open IDE (Integrated Development Environment) ESP32 boards. The IDE is suitable whatever your level from kids getting started with supports visual programming, to Arduino programming, and even the official Espressif ESP-IDF framework for more experienced makers. The IDE comes with with a Board Manager, a Plugins System and works with any Arduino Library out of the box. Made with Vue.js framework, KB-IDE is open source with the code available on Github. You can install a binary release, or build it from source for Windows, Linux, or Mac OS. Since it’s open source, it’s also expandable so makers can customize it, for instance by adding new architectures (AVR and ARM are already planned), new boards, creating […]