GiftFilter: Raspberry Pi and Firmware Development
November 30, 2021 1:22 PM   Subscribe

Six years ago, you did my son righteous for Christmas with electronics gifts, and now he's absolutely loving his life as a (Rust) software and sometime firmware developer. He's convinced his company to use Raspberry Pi for some projects. What can I get him to help with firmware development? I got him a Saleae Logic 8 already. Is that the right thing? What excellent weird tool will delight him -- and astound him that his ol' Ma ever knew to get it? Because that's how you win Christmas.
posted by pH Indicating Socks to Computers & Internet (14 answers total) 12 users marked this as a favorite
The logic analyzer (and the specific one you picked) is a solid choice.

Maybe a Bus Pirate? That's a very flexible and not-too-expensive tool. I use mine all the time.
posted by sourcequench at 1:37 PM on November 30, 2021 [1 favorite]

+1 for a Bus Pirate

For a really cheap but useful and fun thing, you can turn a Raspberry Pi Pico into an SWD debugger, which is much cheaper than commercial debug probes, and it’s a fun project to get up and running.

A logic analyser is essential if you’re doing purely digital stuff, but an oscilloscope can help diagnose even gnarlier problems arising from the fact that 0s and 1s are a fiction at the electrical level. PicoScope make some excellent and useful scopes for all budgets.
posted by parm at 1:54 PM on November 30, 2021 [1 favorite]

adafruit has a bunch of gift guides, many recently updated for this holiday season. (Disclaimer: I work with Adafruit.) Here are a few that could be relevant...

I have a Saleae and it's super useful for certain tasks (in fact, it's saved my bacon on a couple of recent projects by helping me see what was wrong with the signals between different chips in my project). Depending on the types of embedded platforms your son is using, a JTAG/SWD debugger is also a super useful tool, but it does depend on the specific microcontrollers he's using.

I still haven't caught the machine learning bug, but lots of people have, and these kits & products are up that alley.

CircuitPython is mostly what I work on, but if your son is firmly in the Rust camp then it may not be as relevant. CircuitPython is very similar to Python on PC/Mac/Linux computers, but runs on a bunch of boards with unique features like built in displays, sensors, etc. Most of these boards can also work with Arduino and C/C++ environments, I don't know the state of rust support for them though.

Last, these all work with Adafruit's new-ish wippersnapper for "no code IoT" projects but can also be programmed in other environments like Python and C/C++. Again, because it's outside my experience, I don't know about using Rust on them.
posted by the antecedent of that pronoun at 1:54 PM on November 30, 2021 [2 favorites]

I used to be a huge Saleae fan but in the last year or two I've grown to love my Analog Discovery 2 a lot more. There's analog scoping and digital protocol analysis like the Saleae, but you can also generate signals, bitstreams, waveforms, voltages...which can be WAY more useful at times.
posted by JoeZydeco at 2:41 PM on November 30, 2021

If he needs a hardware test bench it's hard to do better right now than the Analog Discovery 2 or its companion-device the ADALM2000. They are close to functionally identical (and represent some weird schism between Digilent and Analog Devices) and each is basically a fully-functional workbench in a tiny box. Two channel oscilloscope with excellent bandwidth; 2-channel arbitrary waveform generator; variable bipolar power supply; 16-channel digital I/O. Both feature a programmable UI that lets you build composite instruments and they both come with pre-built instruments like an impedance analyzer.

These things saved my (lab-based) college electronics class for the past year of remote teaching -- they're pretty excellent devices. I also have the anecdotal evidence of mailing 200 of them to novices to support the idea that they're basically indestructible. (There's also analytic evidence to support this -- they're very thoughtfully designed -- but there's nothing quite like a field test.)
posted by range at 2:42 PM on November 30, 2021 [1 favorite]

A tigard and maybe classes from Joe Fitz?
posted by iamabot at 2:42 PM on November 30, 2021

this tigard maybe? Interesting product, I hadn't heard of it before.
posted by the antecedent of that pronoun at 6:17 PM on November 30, 2021

I'm an electronics reseller in this field, and it's a thin holiday season for having cool stuff in stock.

A couple (or more: they're $4 US each) Raspberry Pi Picos might be fun to develop on. There's already a bit of a Rust community developing for embedded applications on the Pico. There's at least one mainstream realtime OS and several experimental ones. It's not the most powerful micro-controller board you can buy (that would probably be the Teensy® 4.1, which, yes, has Rust support), but it's cheap, flexible and most importantly, available. The US sister company of the one I work for in Canada has several thousand Picos in stock.
posted by scruss at 7:58 PM on November 30, 2021

If he's been at it enough to be doing professional embedded work, and unless you're fairly sure you know what he already has, there's a risk of missing the mark. (The Saleae is on target, though. It's a great piece of kit.)

Maybe something like a Software Defined Radio (SDR) kit? A Pi 3 has enough oomph to handle one for simple things, and they're fun to play around with. You can do crazy stuff with them, like tapping in to wireless thermometers to put your home grill on a dashboard or track airplanes.
posted by dws at 8:06 PM on November 30, 2021

I just bought myself a used Keithley 2231A-30-3 triple power supply, as a step up from a non-programmable dual PSU my wife gave me several years back. The Keithley has three isolated channels (two up to 30V/3A, one that's up to 5v/3a for logic), is programmable with SCPI (via usb-serial), and has a nicer front panel than the Rigol DS83x series. I've heard complaints that it's slightly noisier than the Rigol, but I'll take a Keithley front panel any day of the week and twice on Tuesday, which today happens to be. Depending on what type of work your kid is up to, a really nice current/voltage-limited power supply may be very helpful, or irrelevant (so it might be helpful to ask, obliquely).
posted by Alterscape at 8:33 PM on November 30, 2021

Response by poster: Thank you so much, you guys are awesome!

So I have the Saleae and I ordered the Bus Pirate, but now I'm wondering whether I shouldn't have gotten the Digilent Analog Discovery 2 and the Tigard. The marketing seems to imply that the Analog Discovery 2 does everything the Saleae can do and more. An oscilloscope, for example, seems like a thing my son might find useful. Is there anything the Saleae can do that the Analog Discovery 2 cannot? And the same questions for the Bus Pirate and the Tigard?
posted by pH Indicating Socks at 8:38 PM on November 30, 2021

I use a Saleae professionally and it works brilliantly. A lot of the value (almost all of it, really) for something like that is in the software tool chain and Saleae really nails it. I’ve never used the Analog Discovery and it has a nice spec sheet, but I can vouch for the quality of the Saleae analysis tools for doing Real Work.

Probably the most useful basic electronics tool is a good handheld multimeter. I have a Fluke 179, about $300 new. If your son doesn’t have something like that (or, worse, has a crappy one), it would be an excellent gift.

I also have a Siglent scope, signal generator, and power supply, all of which are Fine and reasonably priced. The Analog Discovery has a lot of features but it doesn’t have the operating range of “Real” bench equipment (a scope can typically accept signals up to several hundred volts, for instance), and it’s nice to have the actual displays and controls, so I would probably buy the real scope and power supply again. The signal generator probably doesn’t add much value over something like the Analog Discovery, though.
posted by doomsey at 9:08 PM on November 30, 2021 [1 favorite]

Would a FPGA-based computer be a good option? I'm only familiar within the context of the MiSTer but being able to code your own CPU must be pretty interesting to a firmware programmer, yeah? The DE-10-Nano that the MiSTer is based on has a reputation for being undercosted/ subsidized by Intel and if that's true you would get a good bang-for-buck with it.
posted by cape at 11:03 AM on December 1, 2021

Google makes 2 kits for Raspberry Pi Zero: a voice assistant kit, and a computerized vision kit.
just search for "google raspberry pi aiy" (iirc "AI yourself", a play on DIY).

There's a book on using Rust in embedded contexts (I think free, online).
posted by at at 2:44 PM on December 2, 2021

« Older Making a 2014 Samsung TV play nicely with a Sonos...   |   Have you covered a tub with another tub (installed... Newer »

You are not logged in, either login or create an account to post comments