# micropython

Published articles for micropython.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Adafruit's New CircuitPython 'Turbo' Brings Native Code To Tiny Boards

DevFeed: [Adafruit's New CircuitPython 'Turbo' Brings Native Code To Tiny Boards](<https://devfeed.tech/articles/adafruit-s-new-circuitpython-turbo-brings-native-code-to-tiny-boards-41538.md>)

Original publisher: [Read original article](<https://news.slashdot.org/story/26/09/15/0149250/adafruits-new-circuitpython-turbo-brings-native-code-to-tiny-boards>)

Author: EditorDavid

Published: 2026-09-17T02:34:00Z

Content type: news

Language: en

Sources: [Slashdot](<https://devfeed.tech/sources/slashdot.md>)

Topics: [CircuitPython](<https://devfeed.tech/topics/circuitpython.md>), [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>), [Python](<https://devfeed.tech/topics/python.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [circuitpython](<https://devfeed.tech/tags/circuitpython.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [examples](<https://devfeed.tech/tags/examples.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [open-hardware](<https://devfeed.tech/tags/open-hardware.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [optimized](<https://devfeed.tech/tags/optimized.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

Adafruit has published CircuitPython Turbo, a workflow that compiles selected Python functions into native machine code for compatible microcontroller boards while leaving the rest of an application in Python. In a documented Mandelbrot benchmark, the compiled computation ran 19.71 times faster than bytecode, though the result applies to the measured computation rather than the whole application.

### Source excerpt

Targeting students and beginners, Adafruit released "CircuitPython" in 2017 (as a derivative of the MicroPython microcontroller-optimized programming language). Now Adafruit managing director Phillip Torrone (also long-time Slashdot reader ptorrone) brings this update: Adafruit has published CircuitPython Turbo, a workflow that compiles selected Python functions into native machine code on a computer, then loads them onto compatible microcontroller boards. It builds on MicroPython's Native and Viper emitters. In a documented Metro RP2040 fixed-point Mandelbrot test, Viper cut computation time from 8.335 seconds to 0.423 seconds, a 19.71x speedup over bytecode. The rest of the application stays in Python. The guide includes benchmarks, source code and hardware demos. The speedup is for the measured computation, not the whole application. "Turbo support is now included in the latest official CircuitPython builds for RP2040 and RP2350 boards..." explains Torrone's announcement at Adafruit.com. "The new Turbo in CircuitPython helps when the board spends time calculating: making neopixel effects, drawing fractals, processing audio, filtering sensor readings, or preparing lots of pixels. Those projects can get smoother animation, quicker responses, or room to do more things at once." With Turbo, it's easier, better, and now even faster to make LED light up costumes that also reacts to sound at the same time, a sensor dashboard with animated graphics, or a tiny game doing physics while drawing the screen. Turbo speeds up the busy Python parts. It won't make a slow sensor or display connection faster... Your computer turns selected functions into instructions the chip can run directly. Python still handles the rest. We have measured speedups, real display captures, and examples you can pull apart to see what happened. None of this arrived alone. CircuitPython, MicroPython, PyMCU, compiler tools, open hardware, and people sharing their work gave us pieces to connect. The Bao

## XIAO SAMD21 Plus and RP2040 Plus USB-C boards get additional GPIO pins, integrated Li-ion battery management

DevFeed: [XIAO SAMD21 Plus and RP2040 Plus USB-C boards get additional GPIO pins, integrated Li-ion battery management](<https://devfeed.tech/articles/xiao-samd21-plus-and-rp2040-plus-usb-c-boards-get-additional-gpio-pins-integrated-li-ion-battery-management-14032.md>)

Original publisher: [Read original article](<https://www.cnx-software.com/2026/09/07/xiao-samd21-plus-and-rp2040-plus-usb-c-boards-get-additional-gpio-pins-integrated-li-ion-battery-management/>)

Author: Jean-Luc Aufranc (CNXSoft)

Published: 2026-09-07T01:07:22Z

Content type: news

Language: en

Sources: [CNX Software - Embedded Systems News](<https://devfeed.tech/sources/cnx-software-embedded-systems-news.md>)

Topics: [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [USB](<https://devfeed.tech/topics/usb.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [atmel-samd](<https://devfeed.tech/tags/atmel-samd.md>), [battery](<https://devfeed.tech/tags/battery.md>), [boot](<https://devfeed.tech/tags/boot.md>), [circuitpython](<https://devfeed.tech/tags/circuitpython.md>), [development-board](<https://devfeed.tech/tags/development-board.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [gpio](<https://devfeed.tech/tags/gpio.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [i2c](<https://devfeed.tech/tags/i2c.md>), [led](<https://devfeed.tech/tags/led.md>), [mcu](<https://devfeed.tech/tags/mcu.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [rust](<https://devfeed.tech/tags/rust.md>), [seeed-studio](<https://devfeed.tech/tags/seeed-studio.md>), [software](<https://devfeed.tech/tags/software.md>), [usb](<https://devfeed.tech/tags/usb.md>), [zephyr](<https://devfeed.tech/tags/zephyr.md>), [zephyr-os](<https://devfeed.tech/tags/zephyr-os.md>)

### AI overview

Seeed Studio has expanded its XIAO Plus Series with the XIAO SAMD21 Plus and XIAO RP2040 Plus USB-C boards. The boards retain the existing form factor while adding GPIO pins and integrated Li-ion battery management, and support several embedded development platforms.

### Source excerpt

Seeed Studio has expanded its XIAO Plus Series introduced in 2025, with the XIAO SAMD21 Plus and XIAO RP2040 Plus USB-C boards adding several GPIOs and integrated Li-ion battery management to the XIAO (SAMD21) and XIAO RP2040, launched in 2020 and 2021, respectively, while keeping the same form factor. XIAO SAMD21 Plus Specifications: MCU - Microchip SAMD21G18 Arm Cortex-M0+ microcontroller at up to 48MHz with 256KB Flash,32KB SRAM USB - 1x USB Type-C port for power and programming Expansion I/Os 2x 7-pin "legacy" headers with 11x analog inputs, 11x digital I/Os, 1x DAC, SPI, UART, and I2C Castellated holes and pads with 16x digital I/Os, I2C,and I2S 3.3V I/O voltage (not 5V tolerant) Misc Reset and Boot buttons RGB LED Charge LED Power Supply 5V via USB-C port Pads for battery On-board PMIC Dimensions - 23.5x17.5 mm Temperature Range - -40°C ~ 85°C The upgraded variant of the XIAO SAMD21 [...] The post XIAO SAMD21 Plus and RP2040 Plus USB-C boards get additional GPIO pins, integrated Li-ion battery management appeared first on CNX Software - Embedded Systems News.

## Petoi Quaddle - A mini robot dog for physical AI experimentation (Crowdfunding)

DevFeed: [Petoi Quaddle - A mini robot dog for physical AI experimentation (Crowdfunding)](<https://devfeed.tech/articles/petoi-quaddle-a-mini-robot-dog-for-physical-ai-experimentation-crowdfunding-14027.md>)

Original publisher: [Read original article](<https://www.cnx-software.com/2026/09/04/petoi-quaddle-a-mini-robot-dog-for-physical-ai-experimentation/>)

Author: Jean-Luc Aufranc (CNXSoft)

Published: 2026-09-04T08:03:49Z

Content type: news

Language: en

Sources: [CNX Software - Embedded Systems News](<https://devfeed.tech/sources/cnx-software-embedded-systems-news.md>)

Topics: [Robotics](<https://devfeed.tech/topics/robotics.md>), [Physical AI](<https://devfeed.tech/topics/physical-ai.md>), [ESP32-S3](<https://devfeed.tech/topics/esp32-s3.md>), [Arduino](<https://devfeed.tech/topics/arduino.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [3d-printing](<https://devfeed.tech/tags/3d-printing.md>), [arduino](<https://devfeed.tech/tags/arduino.md>), [broadcom-bcmxxxx](<https://devfeed.tech/tags/broadcom-bcmxxxx.md>), [c-c-plus-plus](<https://devfeed.tech/tags/c-c-plus-plus.md>), [crowdfunding](<https://devfeed.tech/tags/crowdfunding.md>), [edge-ai](<https://devfeed.tech/tags/edge-ai.md>), [education](<https://devfeed.tech/tags/education.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [esp32-s3](<https://devfeed.tech/tags/esp32-s3.md>), [esphome](<https://devfeed.tech/tags/esphome.md>), [espressif](<https://devfeed.tech/tags/espressif.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [physical-ai](<https://devfeed.tech/tags/physical-ai.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [robot-dog](<https://devfeed.tech/tags/robot-dog.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [ros](<https://devfeed.tech/tags/ros.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [smart-home](<https://devfeed.tech/tags/smart-home.md>), [smart-speaker](<https://devfeed.tech/tags/smart-speaker.md>), [stem](<https://devfeed.tech/tags/stem.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The Petoi Quaddle is a mini robot dog designed for learning robotics, coding, physical AI, and 3D printing. It uses an ESP32-S3 motion core, optional AI hardware, OpenCat firmware, and multiple programming environments. Petoi launched it on Kickstarter with three models and planned December 2026 shipping.

### Source excerpt

If you are not into ducks, but still would like to play around with physical AI, the Petoi Quaddle is a mini robot dog equipped with 4 servos controlling its legs and is designed to help people learn robotics, coding, AI, and 3D printing. The robot is powered by an ESP32-S3 motion core for servo control and wireless connectivity, and an optional ESP32-S3 AI core to enable voice commands and Smart Home control. The robot can walk, strafe, spin, talk back, and react to the user's touch. Three models are available depending on the user's requirements: Builder, Buddy, and Scout. A Raspberry Pi Zero can also be mounted on the top in place of the ESP32-S3-based AI core. Petoi Quaddle runs OpenCat open-source firmware (Arduino) already used in the earlier Petoi Bittle robot dog, first introduced in 2020. The robot can be programmed in a visual programming IDE with drag-and-drop [...] The post Petoi Quaddle - A mini robot dog for physical AI experimentation (Crowdfunding) appeared first on CNX Software - Embedded Systems News.

## 10,501 Radios in Seven Days: What a $69 Badge Heard at Summer Camp

DevFeed: [10,501 Radios in Seven Days: What a $69 Badge Heard at Summer Camp](<https://devfeed.tech/articles/10-501-radios-in-seven-days-what-a-69-badge-heard-at-summer-camp-27480.md>)

Original publisher: [Read original article](<https://jerrygamblin.com/2026/08/10/10501-radios-in-seven-days-what-a-69-badge-heard-at-summer-camp/>)

Author: jgamblin

Published: 2026-08-10T13:07:44Z

Content type: article

Language: en

Sources: [Jerry Gamblin](<https://devfeed.tech/sources/jerry-gamblin.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Networks](<https://devfeed.tech/topics/networks.md>)

Tags: [black-hat](<https://devfeed.tech/tags/black-hat.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [bsides](<https://devfeed.tech/tags/bsides.md>), [capture](<https://devfeed.tech/tags/capture.md>), [claude](<https://devfeed.tech/tags/claude.md>), [devices](<https://devfeed.tech/tags/devices.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [networks](<https://devfeed.tech/tags/networks.md>), [open](<https://devfeed.tech/tags/open.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

A seven-day passive listening project using a Pimoroni Tufty 2350 examined WiFi and Bluetooth activity at BSides, Black Hat, and DEF CON. The article reports 4,653 access points and 5,848 Bluetooth devices, including 673 open networks and a beacon flooder that advertised 77 fake networks. It also explains why rotating addresses can inflate device counts and documents important limitations, including 2.4 GHz-only WiFi coverage.

### Source excerpt

Seven days of passive listening at BSides, Black Hat and DEF CON: 673 open networks, one beacon flooder, and what it takes to count devices honestly. I have wanted to build one of these for a long time. A little screen on my bag that tells me what the air around me is actually made ... Read more

## Open Sauce and GPS time were my summer AI Antiseptics

DevFeed: [Open Sauce and GPS time were my summer AI Antiseptics](<https://devfeed.tech/articles/open-sauce-and-gps-time-were-my-summer-ai-antiseptics-10472.md>)

Original publisher: [Read original article](<https://www.jeffgeerling.com/blog/2026/open-sauce-gps-time-badge/>)

Author: jeff@jeffgeerling.com (Jeff Geerling)

Published: 2026-07-22T14:00:00Z

Content type: opinion

Language: en

Sources: [Jeff Geerling](<https://devfeed.tech/sources/jeff-geerling.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Data visualization](<https://devfeed.tech/topics/data-visualization.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [badge](<https://devfeed.tech/tags/badge.md>), [claude](<https://devfeed.tech/tags/claude.md>), [coding](<https://devfeed.tech/tags/coding.md>), [data-visualization](<https://devfeed.tech/tags/data-visualization.md>), [electronics](<https://devfeed.tech/tags/electronics.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [gps](<https://devfeed.tech/tags/gps.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [open-sauce](<https://devfeed.tech/tags/open-sauce.md>), [projects](<https://devfeed.tech/tags/projects.md>), [time](<https://devfeed.tech/tags/time.md>), [videos](<https://devfeed.tech/tags/videos.md>), [visualization](<https://devfeed.tech/tags/visualization.md>)

### AI overview

The author describes using Claude to build a 2,141-line MicroPython Badgeware app for a Pimoroni Tufty 2350 and Adafruit PA1010D GPS module. The GPS Time Badge uses GPS data to discipline the badge's internal real-time clock, although timing accuracy was limited by the hardware and BadgeOS architecture. The author also logged GPS satellite and fix-quality data and used Claude to create an interactive visualization, highlighting data visualization as a practical use of AI tools.

### Source excerpt

In the midst of our AI slop revolution, traveling to the West coast for Open Sauce this past weekend was the perfect antiseptic for rising costs, summer heat, and online divisiveness. It's ironic, then, that I used Claude to vibe code my Tufty GPS Time Badge. Partly due to time constraints, and partly because I wanted to see if I could complete a personal project end-to-end, without editing a line of code, I throw my requirements at Claude and ultimately came up with this 2141-line MicroPython app for Pimoroni's Badgeware ecosystem.

## Inkplate: Open-Source ESP32 E-Paper Development Boards

DevFeed: [Inkplate: Open-Source ESP32 E-Paper Development Boards](<https://devfeed.tech/articles/inkplate-open-source-esp32-e-paper-development-boards-13772.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/05/inkplate-esp32-epaper-development-boards/>)

Author: John Lee

Published: 2026-05-30T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP32](<https://devfeed.tech/topics/esp32.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Arduino](<https://devfeed.tech/topics/arduino.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [blog](<https://devfeed.tech/tags/blog.md>), [build](<https://devfeed.tech/tags/build.md>), [community-contribution](<https://devfeed.tech/tags/community-contribution.md>), [development-board](<https://devfeed.tech/tags/development-board.md>), [e-paper](<https://devfeed.tech/tags/e-paper.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [low-power](<https://devfeed.tech/tags/low-power.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [projects](<https://devfeed.tech/tags/projects.md>)

### AI overview

This article introduces Inkplate, a family of open-source e-paper development boards built around the ESP32. It describes the shared hardware, Arduino and MicroPython support, and the Inkplate 6MOTION's dual-processor design and fast partial refresh for interactive projects.

### Source excerpt

Inkplate is a family of all-in-one, open-source e-paper development boards built around the ESP32. This article introduces the Inkplate lineup, covers the hardware, the Arduino and MicroPython libraries, and the kinds of projects you can build, explaining why ESP32 makes e-paper development accessible for everyone.

## How we turned the Replay keynote surprise into an open-source embedded playground

DevFeed: [How we turned the Replay keynote surprise into an open-source embedded playground](<https://devfeed.tech/articles/how-we-turned-the-replay-keynote-surprise-into-an-open-source-embedded-playground-35873.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-we-turned-replay-keynote-surprise-open-source-embedded-playground>)

Author: Shy Ruparel

Published: 2026-05-26T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [ESP32-S3](<https://devfeed.tech/topics/esp32-s3.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>), [kicad](<https://devfeed.tech/topics/kicad.md>)

Tags: [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp32-s3](<https://devfeed.tech/tags/esp32-s3.md>), [kicad](<https://devfeed.tech/tags/kicad.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [open-hardware](<https://devfeed.tech/tags/open-hardware.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>)

### AI overview

Temporal describes how it designed and distributed 2,000 hackable ESP32-S3 badges at Replay and then released the badge's firmware, hardware designs, fabrication files, documentation, tools, examples, and community app infrastructure as an open-source ecosystem.

### Source excerpt

We handed out 2,000 tiny hackable computers at Replay. Now the whole ecosystem is open source. Here's the story of how we built and shipped them.

## Genesis IoT Discovery Lab - A Plug-and-Play Classroom Built on ESP32-S3

DevFeed: [Genesis IoT Discovery Lab - A Plug-and-Play Classroom Built on ESP32-S3](<https://devfeed.tech/articles/genesis-iot-discovery-lab-a-plug-and-play-classroom-built-on-esp32-s3-13706.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/06/modular-esp32s3-prototyping-platform-genesis/>)

Author: John Lee

Published: 2025-06-27T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP32-S3](<https://devfeed.tech/topics/esp32-s3.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Arduino](<https://devfeed.tech/topics/arduino.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>), [CircuitPython](<https://devfeed.tech/topics/circuitpython.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Crowd Supply](<https://devfeed.tech/topics/crowd-supply.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [arduino](<https://devfeed.tech/tags/arduino.md>), [blog](<https://devfeed.tech/tags/blog.md>), [circuitpython](<https://devfeed.tech/tags/circuitpython.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [crowd-supply](<https://devfeed.tech/tags/crowd-supply.md>), [education](<https://devfeed.tech/tags/education.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32-s3](<https://devfeed.tech/tags/esp32-s3.md>), [genesis](<https://devfeed.tech/tags/genesis.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [iot](<https://devfeed.tech/tags/iot.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [modular](<https://devfeed.tech/tags/modular.md>), [modular-hardware](<https://devfeed.tech/tags/modular-hardware.md>), [open-hardware](<https://devfeed.tech/tags/open-hardware.md>), [prototyping](<https://devfeed.tech/tags/prototyping.md>)

### AI overview

Genesis IoT Discovery Lab is a modular, open-hardware prototyping kit built around the ESP32-S3-WROOM-1-N8R2. It uses standardized AX22 ports and snap-in modules for hands-on learning, classroom projects, and portable experimentation.

### Source excerpt

Genesis turns the ESP32-S3 into a modular playground with snap-in AX22 modules for prototyping, teaching, and creative hardware experimentation.

## Playing audio files in a Pi Pico without a DAC

DevFeed: [Playing audio files in a Pi Pico without a DAC](<https://devfeed.tech/articles/playing-audio-files-in-a-pi-pico-without-a-dac-20634.md>)

Original publisher: [Read original article](<http://antirez.com/news/143>)

Published: 2024-03-06T10:52:34Z

Content type: tutorial

Language: en

Sources: [Antirez](<https://devfeed.tech/sources/antirez.md>)

Topics: [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [MicroPython](<https://devfeed.tech/topics/micropython.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [audio](<https://devfeed.tech/tags/audio.md>), [devices](<https://devfeed.tech/tags/devices.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [mcu](<https://devfeed.tech/tags/mcu.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [pwm](<https://devfeed.tech/tags/pwm.md>)

### AI overview

A tutorial explores playing audio files on a Raspberry Pi Pico without a DAC. It introduces PWM-generated sound, notes the limitations of square waves, and moves toward generating more complex waveforms for WAV playback.

### Source excerpt

The Raspberry Pico is suddenly becoming my preferred chip for embedded development. It is well made, durable hardware, with a ton of features that appear designed with smartness and passion (the state machines driving the GPIOs are a killer feature!). Its main weakness, the lack of connectivity, is now resolved by the W variant. The data sheet is excellent and documents every aspect of the chip. Moreover, it is well supported by MicroPython (which I'm using a lot), and the C SDK environment is decent, even if full of useless complexities like today fashion demands: a cmake build system that in turn generates a Makefile, files to define this and that (used libraries, debug outputs, ...), and in general a huge overkill for the goal of compiling tiny programs for tiny devices. No, it's worse than that: all this complexity to generate programs for a FIXED hardware with a fixed set of features (if not for the W / non-W variant). Enough with the rant about how much today software sucks, but it must be remembered. One of the cool things one wants to do with an MCU like that, is generating some sound. The most obvious way to do this is using the built-in PWM feature of the chip. The GPIOs can be configured to just alterante between zero and one at the desired frequency, like that: from machine import Pin, PWM pwm = PWM(Pin(1)) pwm.freq(400) pwm.duty_u16(1000) Assuming you connected a piezo to GND and pin 1 of your Pico, you will hear a square wave sound at 400hz of frequency. Now, there are little sounds as terrible to hear as square waves. Maybe we can do better. I'll skip all the intermediate steps here, like producing a sin wave, and directly jump to playing a wav file. Once you see how to do that, you can easily generate your own other waves (sin, noise, envelops for such waveforms and so forth). Now you are likely asking yourself: how can I generate the complex wave forms to play a wav file, if the Pico can only switch the pin high or low? A proper non square waveform is

## MicroPython-Ctl - a TypeScript library for talking to MicroPython devices

DevFeed: [MicroPython-Ctl - a TypeScript library for talking to MicroPython devices](<https://devfeed.tech/articles/micropython-ctl-a-typescript-library-for-talking-to-micropython-devices-31855.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2021/01/micropython-ctl-a-typescript-library-for-talking-to-micropython-devices/>)

Author: Chris Hager

Published: 2021-01-29T00:00:00Z

Content type: release

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [MicroPython](<https://devfeed.tech/topics/micropython.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Electron](<https://devfeed.tech/topics/electron.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [async](<https://devfeed.tech/topics/async.md>), [React Native](<https://devfeed.tech/topics/react-native.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [cli](<https://devfeed.tech/tags/cli.md>), [devices](<https://devfeed.tech/tags/devices.md>), [electron](<https://devfeed.tech/tags/electron.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [files](<https://devfeed.tech/tags/files.md>), [micropython](<https://devfeed.tech/tags/micropython.md>), [network](<https://devfeed.tech/tags/network.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>)

### AI overview

The article introduces MicroPython-Ctl, a TypeScript library for interacting with MicroPython devices such as ESP32/8266 boards, Raspberry Pi Pico, Pyboard, and WiPy. It supports serial or network connections, script execution, output retrieval, file and directory manipulation, terminal interaction, and experimental local mounting.

### Source excerpt

I'm happy to introduce MicroPython-Ctl: a TypeScript library for talking to MicroPython devices (such as ESP32/8266, Raspberry Pi Pico, Pyboard, WiPy, and many more). Use micropython-ctl to quickly build apps that interact with MicroPython devices: Websites / webapps, Node.js programs, Electron applications, Visual Studio Code extensions, Mobile apps (eg. with React Native) and more. Connect to devices over serial or network interface Run Python scripts, receive the output Manipulate files and directories Terminal (REPL) interaction mctl command-line utility Mount MicroPython devices locally (with FUSE, experimental) Typed and fully async (you can use await with any command).