so, i mentioned in my initial sprig-related post that I would soon be reviewing the sprig hardware. I got it not too much later and immediately forgot that I was supposed to do that, so here it is now.
The sprig came in this nice little clear-plastic box, which included all of the pieces, an allen wrench, as well as some sprig stickers and a usbc->micro usb dongle. I got the black solder-mask version, which looks very nice. There were a few extra screws and nuts, which is good because especially the nuts are very tiny and easy to drop. While I didn't need it, the dongle is a nice touch, as consumer micro-usb devices become less and less common. There was no evidence of damage during shipping or anything, and it was evident that they had really put thought into packaging it.
Since this is a kit presumably for a less specialist audience, there's no soldering required. I expected this, but I would have enjoyed soldering everything together, if that had been an option. The included pi pico is the version with pre-soldered headers and the new debug port, which I suppose is okay because I don't have any debug bridges anyway. The pico is socketed into the back of the sprig PCB, which uses up almost all of the pins for sprig-related tasks. However, the remaining pins as well as 3v3 and ground are broken out on the back of the board, which is a nice touch. The buttons just snap into holes in the pcb, and they fit well and make good connection, or so it seems. If I was going to be using this a lot, I might want to solder them, though. They are just normal clicky push buttons, totally fine for this application but very loud. The screen is the adafruit 1.8" tft (which has been updated since the sprig shipped, so it's the older version). It has a microSD slot on it as well, which I may make use of in the future. To protect the back of the pcb and I guess prevent you from stabbing yourself on the button legs, the sprig includes some laser-cut acrylic pieces to screw onto the back. They also add some much-needed thickness to the board, making it marginally more comfortable to hold. However, the screws that you use to attach the acrylic pieces will probably poke your fingers.
actually using it
so, the sprig web editor only supports chrome for downloading onto the sprig, and i'm not about to compile and install chromium on my computer. so i figured that maybe the kaluma cli tool would work for this? and it sort of does? you have
to make several manual modifications to the code to get it to run, which is fine, but inconvenient. (kaluma debugging over usb a real one though.) I assume the web flasher automatically removes things like the
bitmap as well as adds needed
imports, or maybe it just does some other magic. I wasn't about to read the source of the site to figure out what it was doing. Anyway, I did get games to run on it, and yep it can definitely be used for that.
my future plans for this thing
i've just recently acquired a homebrewable switch. if you aren't familiar with switch homebrew, every time you (cold) boot the machine, you must send in a payload over usb to the switch to start homebrew. This is typically done using an application on your pc, but the pi pico (as well as other common arm microcontrollers such as samd21) can be used as a 'modchip' of sorts to load the payload without having to have a computer, instead just needing to connect the console to the microcontroller. I'm planning to use the sprig as a switch payload sender, using the buttons and display so you can select from multiple payloads. The microsd will also come in handy here, so that you can store more payloads than what will fit on the flash of the pico. This is currently only in the ideation phase, but I think it would be incredibly cool and is definitely possible.
The sprig is cool, and for the target audience it hits it out of the park. As maybe not the target audience, I still think it's a success, if a bit annoying to use without the web flasher. I'm definitely interested in hacking with this thing, but am unlikely to actually use it for its intended purpose very much. I'll keep you updated on whether I actually make this thing into a payload loader or not.