Performing over-the-air updates of devices in the field can be a tricky business. Reliability and recovery is of course key, but even getting the right bits to the right storage sectors can be a challenge. Recently I’ve been working on a project which called for the design of a new pathway to update some small microcontrollers which were decidedly inconvenient.
There are many pieces to a project like this; a bootloader to perform the actual updating, a robust communication protocol, recovery pathways, a file transfer mechanism, and more. What made these micros particularly inconvenient was that they weren’t network-connected themselves, but required a hop through another intermediate controller, which itself was also not connected to the network. Predictably, the otherwise simple “file transfer” step quickly ballooned out into a complex onion of tasks to complete before the rest of the project could continue. As they say, it’s micros all the way down.
Soldering irons are a personal tool. Some folks need them on the cool side, and some like it hot. Getting it right takes some practice and experience, but when you find a tip and temp that works, you stick with it. [Riccardo Pittini] landed somewhere in the middle with his open-source soldering station, Soldering RT1. When you start it up, it asks what temperature you want, and it heats up. Easy-peasy. When you are ready to get fancy, you can plug in a second iron, run off a car battery, record preset temperatures, limit your duty-cycle, and open a serial connection.
The controller has an Arduino bootloader on a 32u4 processor, so it looks like a ProMicro to your computer. The system works with the RT series of Weller tips, which have a comprehensive lineup. [Riccardo] also recreated SMD tweezers, and you can find everything at his Tindie store.
Soldering has a way of bringing out opinions from novices to masters. If we could interview our younger selves, we’d have a few nuggets of wisdom for those know-it-alls. If ergonomics are your priority, check out TS100 3D-printed cases, which is an excellent iron, in our opinion.
Back in 2018, [Gryo] built a remote control specifically for watching YouTube videos on his computer. It worked perfectly, but it didn’t quite fit the expectation one has for a modern media remote — it was a bit chunky, the buttons weren’t very responsive, and it didn’t feel as nice as the remotes that ship with consumer streaming devices. Looking to improve on things, he’s recently unveiled a far more svelte version of his scratch built media streaming remote includes a scrollwheel, color feedback, and a UI for customizing how it works.
It might not look the part, but technically [Gyro] categorizes his creation as a wireless keyboard since that’s what the operating system sees it as. This makes it easy to use with whatever media playback software or service might be running on the computer, as button presses on the remote are picked up as standard keyboard events. And the software easily sets which key each button on the remote will be associated with.
Inside the 3D printed case there’s a custom PCB that pulls together the ATmega328P, NRF24L01 radio, and TP4056 charger that tops off the 500 mAh Li-Po battery via USB-C. The receiver is also a custom creation, using a second NRF24L01 chip but swapping out the microcontroller for the ATmega32U4.
[Gyro] has done a fantastic job documenting this build in the write-up, and provides everything you need should you want to spin up your own copy. As much as we liked the unique approach used in the first version of the remote, we’ve got to admit this iteration is much more likely to end up sitting on our living room table.
Like many of us who fiddle with microcontrollers, [Mike] and [Brian] often found themselves using an ISP programmer and a USB-to-serial adapter. But when they started working on the latest generation of ATtiny chips, they found themselves in need of a Unified Program, and Debug Interface (UPDI) programmer as well. So they decided to wrap all three functions into one handy open hardware gadget.
They call their creation the AVR General Purpose Programmer, or AVRgpp for short. It runs on an ATmega328P with a Pro Mini bootloader, which means that the programmer itself is fully compatible with the Arduino IDE. USB-to-serial capability is provided by a CH330N, and a MC14053 digital switch IC is used to select between talking to the AVRgpp’s onboard MCU or the target device.
A 128 x 32 I2C OLED and two push buttons are used to select the device’s current mode, and there’s a physical switch to select between 5 V or 3.3 V power for the target. There’s also a ST662 12 V regulator, as UPDI targets occasionally need a high voltage pulse to switch into programming mode. Everything is packaged up in a pocket-sized laser cut enclosure that you can easily toss in your bag.
[Mike] and [Brian] say they are considering putting the AVRgpp into small scale production if there’s enough interest, so let them know if you’d like to get one without having to build it yourself.
The Knobo is a small macro keypad with 8 mechanical Cherry-style keys and a clickable rotary encoder knob as its main feature. Each key and knob gesture can be customized to any macro, and with five gestures possible with the knob, that gives you a total of thirteen inputs. On top of that, the build and presentation look so sleek and clean we’d swear this was a product straight off of Teenage Engineering’s money-printing machine.
The actions you can do with those inputs range from simple media controls with a volume knob all the way to shortcuts to make a Photoshop artist’s life easier. Right now you can only reprogram the Knobo’s Arduino-based firmware with an In-Circuit Serial Programmer to change what the inputs do, but [Gary] is currently working on configuration software so that users without any programming knowledge will be able to customize it too.
Historically gaming consoles are sold at little-to-no profit in order to entice customers with a low up-front price. The real profits roll in afterwards from sales of games and accessories. Seeking a slice of the latter, aftermarket accessory makers jump in with reverse-engineered compatible products at varying levels of “compatible”.
Officially, Nintendo declared the Switch USB-C compliant. But as we’ve recently covered, USB-C is a big and complicated beast. Determined to find the root of their issues, confused consumers banded together on the internet to gather anecdotal evidence and speculate. One theory is that Nintendo’s official dock deviated from official USB-C dimensions in pursuit of a specific tactile feel; namely reducing tolerance on proper USB-C pin alignment and compensating with an internal mechanism. With Nintendo playing fast and loose with the specs, it makes developing properly functioning aftermarket accessories all the more difficult.
But that’s not the only way a company can slip up with their aftermarket dock. A teardown revealed Nyko didn’t use a dedicated chip to manage USB power delivery, choosing instead to implement it in software running on ATmega8. We can speculate on why (parts cost? time to market?) but more importantly we can read the actual voltage on its output pins which are too high. Every use becomes a risky game of “will this Switch tolerate above-spec voltage today?” We expect that as USB-C becomes more common, it would soon be cheapest and easiest to use a dedicated chip, eliminating the work of an independent implementation and risk of doing it wrong.
These are fairly typical early teething problems for a new complex technology on their road to ubiquity. Early USB keyboard and mice didn’t always work, and certain combination of early PCI-Express cards and motherboards caused damage. Hopefully USB-C problems — and memories of them — will fade in time as well.
[Robson] had been using the same multimeter since he was 15. It wasn’t a typical multimeter, either. He had programmed it to also play the Google Chrome jumping dinosaur game, and also used it as a badge at various conferences. But with all that abuse, the ribbon cable broke and he set about on other projects. Like this transistor tester that was just asking to have Tetris programmed onto its tiny screen.
The transistor tester is a GM328A made for various transistor testing applications, but is also an LCR meter. [Robson]’s old meter didn’t even test for capacitance but he was able to get many years of use out of that one, so this device should serve him even better. Once it was delivered he set about adding more features, namely Tetris. It’s based on an ATmega chip, which quite easy to work with (it’s the same chip as you’ll find in the Arduino Uno but [Robson’s] gone the Makefile route instead of spinning up that IDE). Not only did he add more features, but he also found a mistake in the frequency counter circuitry that he fixed on his own through the course of the project.
If you’ve always thought that the lack of games on your multimeter was a total deal breaker, this project is worth a read. Even if you just have a random device lying around that happens to be based on an ATmega chip of some sort, this is a good primer of getting that device to do other things as well. This situation is a fairly common one to be in, too.