Easily Program RP2040 Boards With Your Android Device

You could write your microcontroller code on your desktop PC, or you could do it on your laptop on the go. Or, if you want to get really portable about things, you could write your embedded code on your phone. Enter DroidScript.

Basically, DroidScript is a JavaScript and Python IDE for Android phones and tablets. Simple enough. You can use it to write apps for your phone or tablet. But its party piece? You can now also use it to program for embedded devices—namely, a range of those based on the RP2040 microcontroller. For example, the Adafruit QT-Py RP2040, the Pimoroni TinyFX, or the Pimoroni Yukon. They run MicroPython and CircuitPython, and you can program them from DroidScript. Easy.

A decade ago, this would have been a royal pain in the butt. But today? It’s easy, because the smartphones and devboards both use USB-C connectors. All you need is a regular USB-C cable and you can hook straight up to the board and burn your code.

You can get the app on the Google Play Store if you’re so inclined. We’ve seen some other neat smartphone programming projects over the years, too. Meanwhile, if you’ve found any other nifty ways to get your code on to a dev board, don’t hesitate to let us know!

Tiny Drones Do Distributed Mapping

Sending teams of tiny drones to explore areas and structures is a staple in sci-fi and research, but the weight and size of sensors and the required processing power have long been a limiting factor. In the video below, a research team from [ETH Zurich] breaks through these limits, demonstrating indoor mapping with a swarm of tiny drones without dependence on any external systems.

The drone is the modular Crazyflie platform, which uses stackable PCBs (decks) to expand capabilities. The team added a Flow deck for altitude control and motion tracking, and a Loco positioning deck with a UWB module determining relative distances between drones. On top of this, the team added two custom decks. The first mounts four VL53L5CX 8×8 pixel TOF sensors for omnidirectional LIDAR scanning. The final deck does handles all the required processing with a GAP9 System-on-Chip, which features 10 RISC-V cores running on just 200 mW of power.

Of course the special sauce of this project lies in the software. The team developed a lightweight collaborative Simultaneous Localization And Mapping (SLAM) algorithm which can be distributed across all the drones in the swarm. It combines LIDAR scan data and the estimated position of the drone during the scan, and then overlays the data for the scans for each location across different drones, compensating for errors in the odometry data. The team also implemented inter-drone collision avoidance, packet collision avoidance and optimizing drones’ paths. The code is supposed to be available on GitHub, but the link was broken at the time of writing.

The Crazyflie platform has been around for more than a decade now, and we’ve seen it used in several research projects, especially related to autonomous navigation. Continue reading “Tiny Drones Do Distributed Mapping”