Four jumper wires with white heatshrink on them, labelled VCC, SCL, SDA and GND

The Connector Zoo: I2C Ecosystems

I2C is a wonderful interface. With four wires and only two GPIOs, you can connect a whole lot of sensors and devices – in parallel, at that! You will see I2C used basically everywhere, in every phone, laptop, desktop, and any device with more than a few ICs inside of it – and most microcontrollers have I2C support baked into their hardware. As a result, there’s a myriad of interesting and useful devices you can use I2C with. Occasionally, maker-facing companies create plug-and-play interfaces for the I2C device breakouts they produce, with standardized pinouts and connectors.

Following a standard pinout is way better than inventing your own, and your experience with inconsistent pin header pinouts on generic I2C modules from China will surely reflect that. Wouldn’t it be wonderful if you could just plug a single I2C-carrying connector into an MPU9050, MLX90614 or HMC5883L breakout you bought for a few dollars, as opposed to the usual hurdle of looking at the module’s silkscreen, soldering pin headers onto it and carefully arranging female headers onto the correct pins?

As with any standard, when it comes to I2C-on-a-connector conventions, you would correctly guess that there’s more than one, and they all have their pros and cons. There aren’t quite fifteen, but there’s definitely six-and-a-half! They’re mostly inter-compatible, and making use of them means that you can access some pretty powerful peripherals easily. Let’s start with the two ecosystems that only have minor differences, and that you’ll encounter the most! Continue reading “The Connector Zoo: I2C Ecosystems”

The microcontroller described in the article, on the PCB taken out of the kettle

Dumping Encrypted-At-Rest Firmware Of Xiaomi Smart Kettle

[aleaksah] got himself a Mi Smart Kettle Pro, a kettle with Bluetooth connectivity, and a smartphone app to go with it. Despite all the smarts, it couldn’t be turned on remotely. Energized with his vision of an ideal smart home where he can turn the kettle on in the morning right as he wakes up, he set out to right this injustice. (Russian, translated) First, he tore the kettle down, intending to dump the firmware, modify it, and flash it back. Sounds simple enough — where’s the catch?

This kettle is built around the QN9022 controller, from the fairly open QN902X family of chips. QN9022 requires an external SPI flash chip for code, as opposed to its siblings QN9020 and QN9021 which have internal flash akin to ESP8285. You’d think dumping the firmware would just be a matter of reading that flash, but the firmware is encrypted at rest, with a key unique to each MCU and stored internally. As microcontroller reads the flash chip contents, they’re decrypted transparently before being executed. So, some other way had to be found, involving the MCU itself as the only entity with access to the decryption key.

Continue reading “Dumping Encrypted-At-Rest Firmware Of Xiaomi Smart Kettle”

The module on a green PCB, connected to the Pixhawk controller, powering the servo rail

Anxieties Of Hardware Bringup During Parts Shortage

[Dirksavage88] tells us a story about developing a simple BEC in times of chip shortage. He needed a small 5V/3A regulator board for a servo rail on his drone, and decided to use one of the new integrated-inductor modules from Texas Instruments. Hardly requiring any external parts, such modules are exceptionally nice to use for all your power rail needs, albeit at a slightly increased cost – the downside is that, as the parts shortage hit, most of them have been out of stock. Originally priced at about $7 USD, the asking price for these specific modules, LMZM33603, has climbed as high as $800. Somehow, he obtained a few of these modules nevertheless, and went on designing a board.

It can be daunting to test your very first PCBs when the silicon you’re putting on it is effectively irreplaceable for your purposes. TI is known for their wacky footprints, and this module is no exception – the solder paste application took a bit of time, and seeing small solder balls around the module after reflow didn’t exactly reassure him. Thankfully, when he powered it all up, the module worked wonders, and took its rightfully earned spot in his drone’s servo turret. He says we can expect the next revision of his design in 2024, or whenever it is that the reported 100 week lead time is due. In case some of us could use them, Eagle files are available on GitHub!

Quite a few of us are lucky enough to have enough crucial parts for what we need, but most of us got a good few projects shelved until better times – take this WiFi-enabled wall charger project, for instance. Even bigger projects are suffering, from SmoothieBoard to Raspberry Pi. Just a year ago, we had our readers share their chip shortage stories.

Continue reading “Anxieties Of Hardware Bringup During Parts Shortage”