PikaScript – A lightweight Python implementation that runs on STM32 and other low-end MCUs

PikaScript Python STM32 MCU

PikaScript is an ultra-lightweight Python engine that can run on microcontrollers with as little as 4KB of RAM and 32KB of Flash, while the more popular MicroPython requires at least 256kB of code space and 16kB of RAM. PikaScript was initially developed to run on STM32G030C8 and STM32F103C8 MCUs, meaning, for example, it works on the BluePill board, but it has also been ported to other platforms like WCH CH582 RISC-V MCU, WinnerMicro W806 C-Sky microcontroller, as well as other like Raspberry Pi RP2040, ESP32-C3, etc… but those are not quite as well supported with some features missing. PikaScript also permits the binding C function to a Python module through Pika Pre-compiler. PikaScript can run bare metal on the microcontroller, but also supports real-time operating systems such as RT-Thread and VSF (Versaloon Software Framework), as well as Linux. Just like MicroPython, it’s using a subset of Python 3, but I’d […]

Turing Smart Screen – A low-cost 3.5-inch USB Type-C information display

Turing Smart Display

“Turing Smart Screen” is a low-cost 3.5-inch USB-C display that connects to systems with a USB port, and works with Windows, Linux (including Raspberry Pi), MacOS, and other operating systems that support Python3. But contrary to my initial assumptions, it does not exactly act as a second monitor, and instead, it is an information display, originally designed to show resource utilization, e.g. CPU and memory usage, in Windows, and controlled through commands send to the USB port. Turing Smart Screen specifications: 3.5-inch IPS display with 480×320 resolution, portrait and landscape support MCU – WCH CH552T 8-bit E8051 core MCU for USB devices Host interface – USB Type-C interface Auto start on power on Dimensions Product: 85 x 55 x 8 mm Display area: 74 x 49 mm The manufacturer says it works with Windows only using its own software, and not AIDA64. The Windows software features functions to change the […]

reServer Jetson-50-1-H4 is an AI Edge server powered by NVIDIA Jetson AGX Orin 64GB

Jetson AGX Orin 64GB AI inference server

reServer Jetson-50-1-H4 is an AI inference edge server powered by Jetson AGX Orin 64GB with up to 275 TOPS of AI performance, and based on the same form factor as Seeed Studio’s reServer 2-bay multimedia NAS introduced last year with an Intel Core Tiger Lake single board computer. The 12-core Arm server comes with 32GB LPDDR5, a 256GB NVMe SSD pre-loaded with the Jetpack SDK and the open-source Triton Inference server, two SATA bays for 2.5-inch and 3.5-inch drives, up to 10 Gbps Ethernet, dual 8K video output via HDMI and DisplayPort, USB 3.2 ports, and more. reServer Jetson-50-1-H4 (preliminary) specifications: SoM – Jetson AGX Orin module with CPU – 12-core Arm Cortex-A78AE v8.2 64-bit processor with 3MB L2 + 6MB L3 cache GPU / AI accelerators NVIDIA Ampere architecture with 2048 NVIDIA CUDA cores and 64 Tensor Cores @ 1.3 GHz DL Accelerator – 2x NVDLA v2.0 Vision Accelerator […]

More Allwinner F1C200s ARM9 boards: MangoPi R3 and CherryPi-F1C200S

CherryPi-F1C200s board

I wrote about the Widora TINY200 board based on Allwinner F1C200s ARM9 processor with 64MB built-in RAM, up to 512MB NAND flash, LCD and camera interfaces in April 2020. I was just informed more similar Allwinner F1C200s boards had recently shown up with Widora MangoPi R3 that’s basically the same as TINY200, and CherryPi-F1C200S with similar dimensions and features, but a different ports arrangement. Let’s have a look at both. MangoPi R3 MangoPi R3 specifications are the same as the ones for Tiny200 board, but they selected the 128MB NAND flash storage option, and changed the USB-TTL chip: SoC – Allwinner F1C200s ARM926EJS processor @ 420 MHz (overclockable to 700 MHz) with 64MB DDR RAM Storage – 128MB NAND flash and MicroSD card slot Display I/F – 40-pin RGB565 display interface and 6-wire touch interface Camera I/F – 24-pin DVP camera interface compatible with OV2640, GC0328, etc. Audio – Onboard […]

Wappsto:bit GO – An ESP32 board with plenty of sensors, Micro:bit compatibility (Crowdfunding)

Wappsto:bit GO

Wappsto:bit GO is an ESP32 board compatible with BBC Micro:bit accessories thanks to a compatible edge connector, but adding WiFi to Bluetooth LE, and offering some extras compared to Elecrow Mbits ESP32-based BBC Micro:bit clone. The new board is notably equipped with a wider range of sensors including a light sensor, a magnetometer, and sound sensor beside the temperature sensor and accelerometer present in the original board, and it also exposes GPIO through a more traditional 2.54-pitch header to facilitate the integration of a wider variety of add-on boards. Wappsto:bit GO specifications: Wireless modules ESP32-WROOM-32E module with ESP32 dual-core microcontroller, 4MB flash, 2.4 GHz WiFi and Bluetooth LE connectivity, built-in PCB antenna Raytac MDBT50Q-512K Bluetooth 5.2 module based on nRF52833 with 512KB Flash MCU – NXP Kinetis KL2 Arm Cortex-M0+ microcontroller (MKL27Z256VFM4 ) with 256KB Flash (for USB port handling) Display – 25 LED matrix Sensors Temperature sensor, Light sensor […]

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

LEGO Technic meets Raspberry Pi with the Build HAT

Raspberry Pi Build HAT with LEGO Technic

A new official Raspberry Pi expansion board is introduced today. The Built HAT provides four connectors for LEGO Technic motors and sensors from the SPIKE Portfolio, as well as an 8V DC jack to power both the Raspberry Pi and LEGO motors, sensors, LED matrix, and more. Designed in collaboration with LEGO Education, the Build HAT features the Raspberry Pi RP2040 dual-core ARM Cortex M0+ MCU for I/O control, and will enable more complex models benefiting from more powerful Broadcom BCM2xxx processors, as well as a Python library for easy programming. Build HAT key features and specifications: MCU – Raspberry Pi RP2040 microcontroller for low-level control of LEGO Technic devices 4x LPF2 connectors for LEGO Technic motors and sensors included in the SPIKE Portfolio 40-pin GPIO header for connection to Raspberry Pi 4 Model B, 3B+, 3B, 3A+, or Pi Zero family (Raspberry Pi 400 not supported) Misc – 2x […]

ANAVI Gardening uHAT adds soil and other sensors to Raspberry Pi (Crowdfunding)

ANAVI Gardening uHAT

We’ve been covering and reviewing ANAVI open-source hardware boards for several years now, either standalone boards based on ESP8266, or add-on boards for Raspberry Pi. The  ANAVI Gardening uHAT is the latest board from Leon Anavi. It is a micro HAT designed for Raspberry Pi Zero to Raspberry Pi 4 SBCs that offers interfaces for soil sensors and other environmental sensors allowing measurements of soil moisture, atmospheric pressure and humidity, temperature with a waterproof sensor, and light intensity for gardening applications. ANAVI Gardening uHAT key features and specifications: Compatibility – Any Raspberry Pi board with a 40-pin GPIO header Storage – EEPROM for uHAT compliance 2x 3-pin headers for capacitive soil moisture sensors connected to Microchip MCP3002 ADC chip 3-pin One-wire terminal block for a waterproof temperature sensor 2x 4-pin I²C headers for additional sensors 10-header with GPIO pins for controlling irrigation systems and peripherals Misc – 2x user LEDs,  […]