WCH RISC-V microcontrollers can now be programmed with the Arduino IDE

WCH RISC-V Arduino

WCH has launched some interesting RISC-V microcontrollers in the last year or so, including the “10 cents” CH32V003 RISC-V microcontroller with 2KB SRAM and 16KB flash or the CH32V307with more resources (up to 64KB SRAM and 256KB flash) and additional peripherals. So far they were programmable in C language using MounRiver IDE or an open-source toolchain, but WCH has now announced Arduino support for many of those RISC-V microcontrollers which should enable more people to get involved. The core library for CH32duino works with OpenOCD through WCH-LINKE hardware to download the firmware and debug WCH chips and a riscv-none-embed-gcc toolchain that supports custom RISC-V instructions (half-word and byte compression instruction extensions and hardware stack push/pop functions) found in WCH RISC-V microcontroller. The following evaluation kits are currently supported with ADC, DAC, USART, GPIO, EXTI, SysTick, I2C, and SPI peripherals: CH32V003F4P EVT board CH32V203G8U EVT board CH32X035G8U EVT board CH32V103R8T6_BLACK EVT […]

Tillitis Tkey is an open-source RISC-V security key in a USB-C case

Tkey security key with an open lid

Tillitis’ TKey is a small, simple security key in a USB-C form factor, and described as a “new type of flexible USB security token” that is inspired by DICE (Device Identifier Composition Engine) and measured boot powered by a simple 32-bit RISC-V core, the PicoRV32, in a Lattice iCE40 UP5K FPGA. While we have covered hardware security modules in the past, this is the first security key we have seen that is based on an FPGA running a RISC-V core. The security token lacks persistent, onboard storage, unlike alternatives such as Yubikey Neo. Apps need to be loaded onto the key every time it is connected to a host device. It uses measured boot to generate a unique identifier for each application and is more secure than the alternatives since private keys are not stored on the device. Also, the hardware and software for the TKey are completely open-source for […]

M5Stack releases local server implementations of UIFlow visual programming Web IDE

Visual programming local Web IDE

Visual programming is now a very popular method to teach programming to kids and M5Stack relies on UIFlow for their ESP32-based IoT development kit. Like most other companies, M5Stack provides either a Web IDE accessible from their server or a desktop program available for Windows, MacOS, or Linux, but the company has now released a local server implementation that allows users to run a Web IDE instance in their local network. The local server is available for Windows 11 x64, MacOS, Ubuntu 22.04, and Linux Arm (e.g. Raspberry Pi), so I downloaded the Ubuntu version to give it a try on my laptop. Somehow the Ubuntu release is full of Windows DLLs, but let’s ignore that for now, and the README.txt tells us to install one dependency and run the program as follows:

A window pops up letting us start or stop the server. It can be accessed with […]

Makeblock mBot Neo robot review with Smart World Add-on Pack

makeblock mBot Neo and Smart World

MakeBlock mBot Neo, also known as mBot2, is an educational robot that builds upon the previous generation mBot1 robot, and the company has sent us a review sample, following our earlier review of the Ultimate 2.0 10-in-1 educational robot kit, along with the Smart World Add-on Pack. The mBot Neo features a new ESP32-based CyberPi control board with WiFi connectivity for IoT and AI support. The robot is also equipped with a 2nd generation Ultrasonic sensor with improved object detection accuracy and status indicator, a built-in 4-ch RGB line sensor that can detect colors, as well as a new drive motor that comes with an encoder for more precise motion control. The mBot Neo robot kit is expandable with metal parts from other Makeblock models, mBuild modules and various electronic modules can be added making it also possible to build custom robots with third-party structural parts. The mBot Neo robot […]

ESP32 Arduino Core 3.0.0 adds support for ESP32-C6 and ESP32-H2

ESP32-C6 ESP32-H2 ESP32 Arduino Core 3.0.0

Espressif Systems has now released an alpha version of ESP32 Arduino Core 3.0.0 enabling the new ESP32-C6 and ESP32-H2 targets to be programmed with the Arduino IDE, and including a number of new features made possible by the ESP-IDF 5.1 SDK. Announced in 2021, the ESP32-C6 WiFi 6, Bluetooth 5 LE, and 802.15.4 wireless MCU became available in modules and devkits at the beginning of this year, but so far they could only be programmed with the latest version (5.1) of the ESP-IDF framework, and so was the new ESP32-H2 Bluetooth 5.2 and 802.15.4 (Zigbee/Thread) MCU. But fans of Arduino programming can now rejoice as an alpha version of ESP32 Arduino Core 3.0.0 brings support for the new microcontroller, and a stable release is planned for December 2023. But as you can probably imagine ESP32 Arduino Core 3.0.0 will also bring lots of other changes since the ESP32 Arduino Core […]

SwiftIO Circuit Playground relies on Apple Swift programming for IoT projects (Crowdfunding)

SwiftIO Circuit Playground

A few years ago, Mad Machine introduced the SwiftIO board powered by an NXP i.MX RT1052 Arm Cortex-M7 crossover processor and programmable with Apple Swift programming language. The company has now launched a smaller version of the board named the SwiftIO Micro along with the SwiftIO Circuit Playground baseboard with plenty of modules to play with the SwiftIO Micro’s GPIO, and that reminds me of the Arduino Sensor Kit Base but with even more modules. SwiftIO Micro specifications: SoC – NXP i.MX RT1052 Arm Cortex-M7 crossover processor @ 600MHz System Memory – 32 MB SRAM Storage – 16MB flash, microSD card slot USB – 1x USB-C connector for power and programming Expansion – 3x 20-pin headers with up to 44 GPIOs, analog inputs, PWM, UART, SPI, I2C, I2S, CAN Bus, etc… See the pinout diagram below for details Misc – RGB LED, download and reset buttons Power Supply – 5V […]

Modular Mojo claims to be over 36,000 times faster than Python for AI workloads

Modular Mojo vs Python matmul

Modular Mojo is a new programming language designed for AI developers that is said to combine the usability of Python with the performance of C with over 36,000 times the performance of Python on a matrix multiplication workload. Modular Mojo programming language was not in the initial plan of the company but came about when the company’s founders – who focused on building a platform to unify the world’s ML/AI infrastructure – realized that programming across the entire stack was too complicated and also ended up writing a lot of MLIR (Multi-Level Intermediate Representation) by hand. The “over 36,000 times speedup” claim comes with the matmul.py script performing a 128×128 matrix multiplication in Python with a throughput of 0.00215 GFLOP/s and another script doing 512×512 vectorized + parallelized matrix multiplication in Mojo at 79.636 GFLOP/s. The claim looks dubious and that’s odd they used different matrix sizes, but some are […]

PicoMQTT – An MQTT Client/Broker library for ESP8266 and ESP32

PicoMQTT ESP8266 MQTT Broker

PicoMQTT is a lightweight MQTT library for Arduino/PlatformIO optimized for ESP8266 and ESP32. It not only supports the MQTT Client mode like most existing solutions but also the MQTT Broker mode which transforms an ESP8266 or ESP32 board into an MQTT gateway replacing a Raspberry Pi board or an IoT gateway typically used for this task.

The library follows MQTT 3.1.1 specification, supports the publishing and consuming of arbitrary-sized messages, can deliver thousands of messages per second, and supports easy integration with the ArduinoJson library to publish and consume JSON messages.

UP 7000 x86 SBC