The new AirTags 2 just arrived!
Time to take them apart 🧵
The new AirTags 2 just arrived!
Time to take them apart 🧵
My first issue: I couldn't get the battery cover removed! Instead I used an x-acto knife to just cut out the entire battery assembly 😵💫
Impatient? Me? Never!
Now, the question we've all been wondering: Which microcontroller did they use this time?
It's the NRF52840 - a chip very similar to the one in the first AirTag - and that, at least in earlier revisions, is vulnerable to the same fault-injection attack!
Time to dive in!
Now interestingly this chip variant - CKABD0 - does not appear in the official datasheet.
Package variant: CK (WLCSP)
Function variant: AB - not listed in the datasheet
Hardware revision: D
Production device identifier: 0
Likely that this version has enhanced AP protection 😭
For those playing along at home: Preliminary flash pin-out!
13 - SPI Flash CLK
16 - SPI Flash DI / MOSI
18 - SPI Flash DO / MISO
19 - SPI Flash VCC
20 - SPI Flash CS
9d3e36fc632d77f24c810cb89892dd1959dfb05b output.bin
(Created from multiple dumps, something is messing with the signal)
@maehw @stacksmashing might just be that they prefer to have an immutable internal bootloader, to make bricking the device during OTA updates much harder, so that they don't need to do fit their firmware in 512 kB if they want to be able to fall back to a working revision after a failed update.
Or, plain, the firmware was too large to fit that 1 MB. (it does seem unlikely given the functionality, but maybe they're reserving space so you can play Beethoven's ninth as alert sound?)