Crowbits Master Kit Review – Part 1: A first look at the ESP32 based education kit

Crowbits Master Kit Review

Crowbits STEM education kits comprised of magnetic modules launched on Kickstarter a couple of weeks ago. There are five kits increasing in difficulty with the Hello Kit just requiring the student to connect modules to get started, i.e. no programming required, to the Crowbits Master Kit based on a battery-powered ESP32 module suitable to create your own phone, portable game console, radar tower, etc… Elecrow sent me the latter for evaluation, and in the first part of the review, I’ll unbox the kit, see how modules mechanically fit together, and have a quick look at the user manual, before trying one or two projects from the manual in the second part. This is the second STEAM product from Elecrow that I review, as I reviewed CrowPi2 Raspberry Pi 4 laptop last year. Let’s open the package. We have a total of six modules with two joysticks, an ESP32 module with […]

Use Scheme functional programming language with LambdaChip Alonzo STM32 board

LambdaChip Alonzo STM32 Scheme functional programming

Most MCU-based embedded systems come with firmware programmed with assembler, C, and/or C++.  But as referenced in a paper published in 2000 entitled ” Point of view: Lisp as an alternative to Java“, functional programming languages like Lisp or Scheme may lead to shorter development times compared to C/C++ or Java. That’s with this idea in mind that LambdaChip was created. It is a lightweight, open-source virtual machine designed to run on embedded systems with limited resources, for instance, an 80MHz microcontroller with 50KB RAM, and programmable with Scheme multi-paradigm programming language, a dialect of Lisp widely used for functional programming research and teaching. The company behind the project, also called LambdaChip, has just created its own hardware with LambdaChip Alonzo, an STM32 Cortex-M4 development board with 512KB flash, 128KB RAM, and that also comes with Bluetooth LE connectivity. LambdaChip Alonzo board specifications: MCU – STMicro STM32F411CEU6 Arm Cortex-M4 MCU […]

Arduino IDE 2.0 beta released with live debugger, revamped user interface

Arduino IDE 2.0

Arduino programming language and the Arduino IDE are the most popular software development tools for the makers market, but it lacks some of the features found in professional tools like autocompletion and the ability to add breakpoints via a debugger, and that’s why the company announced its work on the Arduino Pro IDE in 2019. Work is now nearing completion with the release of the beta version of the Arduino IDE 2.0 based on the Eclipse Theia framework. The user interface has been revamped with easy access to the newly added debugger, as well as the boards manager and libraries manager on the left side of the interface, the possibility to type the name of the board, and autocompletion of variables and functions from your code and installed libraries. Pressing F12 while on a function name will bring you directly to the corresponding code in another tab, or alternatively, you […]

Raspberry Pi Pico Gets supports for Rust, RT-Thread OS and FreeRTOS

Raspberry Pi Pico Rust RT-Thread FreeRTOS

In January end, we saw the launch of Raspberry Pi Pico equipped with an RP2040 dual-core Cortex-M0+ microcontroller working up to 133 MHz with official support for MicroPython and C. In this feature, we will be discussing the Raspberry Pi Pico’s flexible software support compatible with RP2040 MCU, apart from the MicroPython, C/C++, and upcoming Arduino IDE software support. We will specifically be focusing on Rust, RT-Thread OS, and FreeRTOS support for Raspberry Pi Pico. Rust Code Running on Raspberry Pi Pico Rust language is considered fast, reliable, and secure when it comes to IoT gateways. It also opens up the option for writing extremely low-level code, such as operating system kernels or microcontroller applications.  Porting Rust with RP2040 for working with Raspberry Pi Pico was seen in Jonathan Pallant’s Twitter Feed. The RP2040 comes with an external QSPI flash. The internal mask-ROM reads the programs from the external flash […]

A closer look at Raspberry Pi RP2040 Programmable IOs (PIO)

Pico PIO State Machine

The popularity of Raspberry Pico board powered by RP2040 microcontroller has made every reader wanting to know more about the board and chip. So today we will be talking about RP2040’s Programmable IOs, a feature that makes it different from most other microcontroller boards. The two PIO blocks or let’s call it the hardware interfaces in the RP2040 have four state machines each. These two PIO blocks can simultaneously execute programs to manipulate GPIOs and transfer raw data.  Now, what do these state machines do? Well, the PIO state machines execute the programs fetched from various sources. Sometimes the programs are taken from the PIO library (UART, SPI, or I2C) or user software. Why Programmable I/O? All the boards usually come with hardware support for digital communications protocols such as I2C, SPI, and UART. However, if you plan to use more of these interfaces than what is available on the […]

BBC Dr Who HiFive Inventor Coding Kit review – Tynker visual programing and MicroPython

HiFive Inventor review

The BBC Doctor Who HiFive Inventor Coding Kit was announced at the end of November 2020 with the goal of teaching IoT to young kids. But one day,  I noticed the postman left a package on the ground right next to my house’s gate for some reason. I had no idea what it could be until I read it was from SiFive on the package. So here I am about to review BBC Doctor Who HiFive Inventor Coding Kit! The package actually included two small packages with one being an “expansion board”… HiFive Inventor Coding Kit Unboxing We’ve already written about the specs in the announcement post, but here they are again for those who forgot it’s based on SiFive FE310 RISC-V microcontroller and ESP32 for WiFi and Bluetooth. Let’s open the thinner “expansion board” package first. It’s actually the HiFive Inventor board – aka the mainboard – that comes […]

How to develop Gstreamer-based video conferencing apps for RDK & Linux set-top boxes

gstreamer zoom video conference

CNXSoft: This is a guest post by Promwad that explains the basic steps to develop a video conferencing app with Gstreamer on TV boxes running Linux. The COVID-19 pandemic has become a catalyst for new online services. For example, Zoom became so successful that it overtook IBM in terms of capitalization this month. The software engineers at Promwad were inspired by this success and decided to go even further: what about implementing video conferencing on Smart TV and STBs? Then the users of such an application will have an opportunity to communicate not only at work but also to enjoy remote meetings with friends, cheer for a soccer team, watch a movie together, or do sports with a coach. For some reason, most digital TV operators do not have such a service, although, from an engineering point of view, all these features can be implemented on set-top boxes based on […]

SwiftIO Arm Cortex-M7 MCU Board Targets Apple Swift Programming Language

SwiftIO Board

Swift programming language has been developed by Apple for iOS, iPadOS, macOS, watchOS, tvOS, and Linux. The programming language works with Apple’s Cocoa and Cocoa Touch frameworks, as well as existing Objective-C code written for Apple products. MadMachine has now created an Arm Cortex-M7 development board, named SwiftIO, specifically designed for Swift programming language through MadMachine IDE and SwiftIO framework. SwiftIO hardware specifications: SoC – NXP i.MX RT1052 Arm Cortex-M7 Crossover Processor @ 600MHz System Memory – 32 MB SRAM Storage – MicroSD card slot supporting standard and high capacity SD cards USB – 1x Micro USB connector for power, 1x Micro USB connector for serial communication Expansion – 2x 46 GPIO headers with 12x 12-bit analog to digital (ADC) converters, 4x UART, 2x CAN, 2x IIC, 2x SPI, 14x PWM Misc – On-board RGB LED, download and reset buttons Power Supply – 5V via Micro USB port Dimensions – […]

UP 7000 x86 SBC