Categories
Uncategorized

macOS Finder and USB Flashing Format (UF2)

Sad Mac

It took me a while to figure this one out. I’m running macOS Sequoia on two different Macs and I would occasionally get Finder lockups. I feel like in with previous versions of macOS I could quit the Finder and restart it in the terminal and things would (mostly) go back to normal. This was not working, and quitting the Finder meant it would never relaunch and I’d be forced to reboot. My Mac Studio at work reboots in under a minute and I can relaunch all my applications fairly easily, but my home (2019) iMac takes a long time to boot back up, so it’s super annoying.

There’s one common thing between these two Macs, and it’s the USB Flashing Format (UF2).

At work I program micro:bit boards. When you plug one into your Mac it shows up in the Finder so you can copy a .UF2 file to it to load new code. At home I program Raspberry Pi Pico boards, which also mount in the Finder on first use, or when holding down the BOOTSEL button when plugging it in.

Matt Godden suggested resetting the Mac’s USB Bus but the solution that seems to be working is to unplug the microcontroller. Yes, unplug it.

It happened again today so I figured I should write this post to remind me, and maybe inform others. Today it happened right as I tried to copy a .UF2 file to a Pico board. I got the “pinwheel of death” so I walked away and when I came back minutes later it was still spinning until I unplugged the board. I am pretty sure I’ve seen it happen with a micro:bit even when I was not trying to copy new code to the board.

So this may happen when copying a file to the board or just even when the board is connected via USB.

So if you are using a Mac to copy a UF2 file to a microcontroller and the Finder locks up try to just unplug the board to see if it fixes is.

Update 2025-05-07

After a few more days of testing I’ve realized that it’s not just an issue with the Finder locking up. There is also an issue with the Finder slowing down. I left a micro:bit plugged in via USB and went about my work and the Finder still worked but suddenly had issues opening folders and displaying files. I took a screenshot and it never showed up on the desktop… until I unplugged the micro:bit! So we’re dealing with an issue that may lock up the Finder but may also slow down the Finder. Sigh…

Update 2025-07-08

To replicate this issue you need to use your Mac. If you just leave a board connected and walk away it seems fine when you return, but the process of actively using your computer, switching applications, creating files, using the Finder, seem to help reveal the slowdown and lockup. I’ll try to get a better sense of things the more it happens.

Update 025-07-30

Still having this issue on macOS 15.4. If I leave a micro:bit connected via USB and try to save files they will not show up in the Finder until the micro:bit is disconnected. This magically fixes things and files suddenly appear. It’s maddening.

Categories
Uncategorized

Reaction Game with micro:bit

I built a simple game for Brown Dog Gadgets which will test your reaction time. The basic concept is this: A series of LEDs will light up in sequence, and when the fourth LED is lit you need to press the button. If you time it right you’ll get a point! When you get 25 points you’ll win the game! But wait! Each time you press the button successfully the game will speed up… and if you press the button at the wrong time you’re score will go down.

It’s a fun and easy build for the classroom or at home, and once again we’ve got a micro:bit controlling things. (Though it would be very easy to port this to an Arduino or another microcontroller.) We’re building on LEGO because that’s how the Crazy Circuits system works. We sometimes joke that these are PCBs or “Plastic Circuit Boards”.

After creating the Reaction Game (7 Segment Version) we came up with two variations, one that uses the build-in LED matrix on the micro:bit instead of our 7 Segment Display (the Reaction Game (LED Version)) and then we got even more minimal and built a paper circuit version with even less parts, the Reaction Game (Paper Version).

As always, we’re publishing these resources for those who purchase our kits, and also for everyone else. You are free to take the ideas and run with them, make your own thing, and while credit is always nice, supporting Brown Dog Gadgets by purchasing things helps us to continue offering these resources. I mean, in the last year I’ve published over 100 guides and templates for freeeeeee….. We appreciate your support!

Categories
Uncategorized

Bit Board & micro:bit Powered Step Sequencer

The first guide I published for Brown Dog Gadgets was a step sequencer using their Arduino-compatible Robotics Board back in April 2020. You may also remember my WMSE sculpture that was a step sequencer, and I never did a write-up on it, but I also built a step sequencer for an interactive museum exhibit years ago, which was kid-tough and focused on sequencing as a form of programming.

Anyway, since it was nearly a year from the first Crazy Circuits step sequencer I think I should revisit it as a micro:bit project. So here’s a guide to building a Bit Board & micro:bit Powered Step Sequencer.

The code was written using Microsoft MakeCode for micro:bit, a block-based programming environment, which also supports Javascript and Python in text modes. It’s been interesting working in a block-based programming system, and I’ve gotten used to it in the past six months. I do really like the fact that you can toggle between block view and text view.

I’ve got a lot more micro:bit projects I’ve worked on in recent months, which you can check out in the Brown Dog Gadgets Project Database.

Categories
Uncategorized

micro:bit Powered Xylophone

A recent fun project over at Brown Dog Gadgets is this automated xylophone controlled with a micro:bit… Check out the build guide.

Full instructions including code and some helpful tips on choosing a (toy) xylophone that will work for this project. (There’s maths and angles involved.) We’re basically controlling two servos to move a mallet left and right and then down (and back up) to strike a bar.

You can control it by playing it like a keyboard, just press the buttons, or you can program and store songs for automated playback later.

The (toy) xylophone isn’t really tuned very well, so we may be working on a larger project that uses a larger instrument. Also of note is the fact that the micro:bit out of the box can only handle three servos (without extra hardware) so we might switch to another board for the next iteration.

As usual, and since we’re using LEGO compatible servos, there are LEGO bits involved, which made building things quick and easy. (And don’t worry if you don’t have the needed LEGO parts on-hand, we’ve listed the parts we used and linked to where you can get them for cheap.)

Here are a few slightly out of tune songs…

[ Twitter Content Removed ]

[ Twitter Content Removed ]

Categories
Uncategorized

Capacitive Touch on the micro:bit

Note: This post describes a hack to use capacitive touch on the micro:bit V1.5 but shortly after doing this, the micro:bit V2 came out, featuring real capacitive touch.

Out of the box the micro:bit has three touch pins which relies on a person touching not only the pin they want to trigger, but also to touch ground. Typically a person holds or touches something connected to ground, and then with their other hand touches one of the touch pins. This is how the Makey Makey works as well. It’s like capacitive touch (or capacitive sensing) but it’s not exactly. [It’s resistive touch.]

With a bit of experimentation we found that you can do capacitive touch on the micro:bit (sort of) so we wrote up a guide how to do it for the Brown Dog Gadgets Project Database called Capacitive Touch.

Two things to note about this one, first we are using the pins for analog input and while there are three more pins that do analog input on the micro:bit we found their performance to be a bit more unreliable than pins 0, 1, and 2. Of course since this is really just a hack, don’t let that stop you from using them. Second, there is no calibration done on the pins. For one of our Invention Board projects using capacitive touch we do a calibration at start so the pins know what is touched and what is not touched, as it can often change depending on the environment. The code we present does no calibration, but we’ll probably add that in the future.

As usual we’re using Maker Tape along with a LEGO baseplate and a Bit Board. (If you want a Bit Board to go with your micro:bit, we’ve got a Kickstarter campaign running now.) Capacitive touch is a lot of fun, and I’ve used it for many projects over the years. And yes, you can certainly incorporate other objects or surfaces besides Maker Tape.

[ Twitter Content Removed ]