RIP Arduino
Calvin’s Arduino GIGA R1 WiFi died. Last night, I burned my finger when I briefly touched the memory chip on the board—it was extremely hot. As best I can tell, that means the board is fried, even though it’s still working (for now). How this happened is a mystery. I could have accidentally shorted something, miswired it, or it might simply be defective. In any case, it’s toast.
This gives me an opportunity to change gears in the design. I was beginning to regret going with the GIGA for a couple of reasons. First, it’s expensive (~$70) and has far more capability than I need. I primarily chose it so I could use the GIGA Display Shield, and I liked the dual-core architecture. But as I’ve gotten further into the project, the display has become less compelling. It works, but it’s slow and doesn’t provide the experience I expected. I’ve also moved on to a much more robust remote monitoring system (Calvin Explorator), which makes the display significantly less useful.
So I’m ditching the Arduino and its display and switching to a Teensy 4.1. It’s cheaper, smaller, more than capable, and has all the features I need.
One downside is that I’ll need to add Teensy support to grot, and I’m a little concerned that teensy_loader_cli won’t work on macOS 26 (Homebrew says it will, but you never know—the official docs are quite old). But one way or another, I’ll get it working.
The other downside is that the Teensy uses a single-core architecture. I liked having basic/safety functions isolated on their own core, separate from less stable systems. But without the display, the M7 core was essentially just a pass-through to the Jetson. Two cores don’t really serve a useful purpose anymore. There are also techniques to minimize the impact of non-critical code on the critical loop.
This means I have to rewrite the entire event queue system. It’s not a huge issue — just more work to be done.