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!

A client uses an Augmented Alternative Communication board that speaks.

Tactile Communication Board Speaks The Truth

Sometimes, simple things can make a world of difference. Take for example a non-verbal person who can’t necessarily control a touch screen in order to tell someone else what they need or want or think.

The switches of the AAC board, plus the smaller version. This is where Augmentative and Alternative Communication (AAC) devices come in. Recently tasked with building such a device, [Thornhill!] came up with a great design that houses 160 different phrases in a fairly small package and runs on CircuitPython.

Basically, the client presses the appropriate snap-dome button button and the corresponding phrase is spoken through the speaker. The 10×16 grid of buttons is covered with a membrane that both feels nice and gives a bit of protection from spills.

The buttons can achieve high actuation forces and have a crisp tactile response, which means they’re probably gonna go a long way to keep the user from getting frustrated.

This handy AAC board is built on the Adafruit RP2040 Prop-Maker Feather and two keypad matrices. If this weren’t useful enough as it is, [Thornhill!] also built an even smaller version with 16 buttons for the client to wear around their neck.

Did you know? AAC boards aren’t just for humans.

A single-key macro pad with a screen built into the button.

2024 Tiny Games Contest: Are You A Good Judge Of Time?

What can you do with a one-button keyboard? Quite a bit, actually, especially if that key has a little screen on it. That’s the idea behind [Maker M0]’s MagicClick macro pad, which is an updated version of a highly useful project we have featured in the past. Well, now there’s a tiny game to go with it.

Animation showing the TimePerception game in action.Think you’re pretty good at measuring the passage of time? This game will likely prove you wrong. Press and hold the button and the timer begins with some pre-determined interval, such as four seconds. Once you think those four seconds have passed, release the button and find out how far off you were.

While the first version of this keyboard used the CH582F RISC-V microcontroller, the second and this third version use an ESP32-S3 on a custom, tightly packed PCB. That TFT display measures 0.85″, and the battery is an 3.7 V 802025 Li-Po. [Maker M0] has also redesigned this to make it easier to print, and plans to support circular screens in the near future.

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Tasty Snacks Board

A pocket cyberdeck-looking thing with a screen and a thumb keyboard.
Image by [MakerM0] via Hackaday.IO
[MakerM0]’s LangCard is an entry into our 2024 Business Card Challenge that just so happens to fit the Keebin’ bill as well.

You might label this a pocket cyberdeck, and that’s just fine with me. The idea here is to have a full-keyboard development board for learning programming languages like CircuitPython, MicroPython, C++, and so on, wherever [MakerM0] happens to be at a given moment.

Open up the LangCard and you’ll find an RP2040 and a slim LiPo battery. I’m not sure what display that is, but there are probably a few that would work just fine were you to make one of these fun learning devices for yourself.

Continue reading “Keebin’ With Kristina: The One With The Tasty Snacks Board”

An ebike motor with the controller cover removed. A number of wires and connectors take up most of the space in the cavity.

Open Brain Surgery For EBikes And EScooters

Personal Electric Vehicles (PEVs) all contain the same basic set of parts: a motor, a battery, a motor controller, some sensors, and a display to parse the information. This simplicity allowed [casainho] to develop a custom controller setup for their own PEVs.

Built around the venerable VESC motor controller, [casainho]’s addition is the EBike/EScooter board that interfaces the existing motor of a device to the controller. Their ESP32-powered CircuitPython solution takes the sensor output of a given bike or scooter (throttle, cadence, or torque) and translates it into the inputs the controller uses to set the motor power.

They’ve also designed an ESP32-based display to interface the rest of the system to the user while riding. Since it also runs CircuitPython, it’s easy to reconfigure the functions of the three button device to display whatever you’d like as well as change various drive modes of your system. I know I’d love to see my own ebikes have a different mode for riding on road versus on shared paths since not getting run over by cars and not harassing pedestrians aren’t going to have the same power profile.

If you want to find more ways to join the PEV revolution, check out this wild omni-wheeled bike or this solar car built from two separate e-bikes. If that doesn’t suit your fancy, how about an off-label use for an e-bike battery to power your laptop off grid?

The Past, Present, And Future Of CircuitPython

Modern microcontrollers like the RP2040 and ESP32 are truly a marvels of engineering. For literal pocket change you can get a chip that’s got a multi-core processor running at hundreds of megahertz, plenty of RAM, and more often than not, some form of wireless connectivity. Their capabilities have been nothing short of revolutionary for the DIY crowd — on any given day, you can see projects on these pages which simply wouldn’t have been possible back when the 8-bit Arduino was all most folks had access to.

Limor Fried

Thanks to the increased performance of these MCUs, hackers and makers now even have a choice as to which programming language they want to use. While C is still the language of choice for processor-intensive tasks, for many applications, Python is now a viable option on a wide range of hardware.

This provides a far less intimidating experience for newcomers, not just because the language is more forgiving, but because it does away with the traditional compile-flash-pray workflow. Of course, that doesn’t mean the more experienced MCU wranglers aren’t invited to the party; they might just have to broaden their horizons a bit.

To learn more about this interesting paradigm shift, we invited the fine folks at Adafruit to the Hack Chat so the community could get a chance to ask questions about CircuitPython, their in-house Python variant which today runs on more than 400 devices.

Continue reading “The Past, Present, And Future Of CircuitPython”

An E-Ink Progress Bar For Your Unborn Child

Having a child is a major milestone in a person’s life, and there’s a long list of things to get done before that little bundle of joy kicks and screams its way into the world. What better way to make sure you’ve still got time to paint the nursery and assemble the crib than to have an automated loading screen that shows just how far along the organic 3D printing process is?

This fetal development tracker was put together by [mokas] using Adafruit’s ESP32-S2 powered MagTag. As the name implies, the all-in-one electronic ink development board is designed so that it can be adhered to a metallic surface with integrated magnets. The idea is that you can pop a battery in the low-power device, stick it on your refrigerator, and have a regularly updated display of…well, whatever you want. Continue reading “An E-Ink Progress Bar For Your Unborn Child”