#RaspberryPiPico silicon teardown time!

Board as received optical + x-ray images
Inspecting package. X-ray shows bond wires easier after removing thermal slug
Thermal slug removed w/ HCl + H2O2
Decapped to show copper bond wires connecting die to package pins. Initially used only nitric acid which destroyed copper bond wires (last image). Fixed by switching to mixed nitric + sulfuric acid
Zoomable top metal die image: https://t.co/MXqDBvNgqG
@Raspberry_Pi marking it's turf
B0 => chip revision. On every layer? A chip I worked on did this and unfortunately when we fixed a bug on a *different* metal layer we didn't want to remake the masks with the text. Thus "B1" chips were mislabeled as B0!
M8 => eight metal layer chip. Higher metal layers are coarser to carry more power and reduce manufacturing costs. You can also see M7 and M6 marked
Copper bond wires were eaten by nitric acid leading little dimples where they used to be attached to the bond pads
Several unused power pads. Possibly breaks out internal core voltage for debug / test
Time lapse etching chip layers
This area wasn't 100% etched, leading to vibrant blue/purple from SiO2 thin film interference
1) 20x air vs 2) 60x oil objective: 60x has higher resolution but lower depth of field, making the image appear different. Ex: although the lower left splotch is large, it's only visible in the 60x image. I might take SEM images later for better resolution
Transistors arranged into standard cells form the majority of the digital logic. This includes both the CPU and the digital portion of most peripherals
A few different I/O showing logic, ESD protection, etc between the top metal and transistor layer. A number of different I/O IP blocks are used. Would be interesting to match them up to the datasheet for analog functionality like ADC, USB, etc
Memory, probably the boot ROM
SRAM is scattered throughout the die. By analyzing the memory sizes and comparing to the datasheet it might be possible to guess what some of these are for
CMP fill is added to unused areas to keep polishing more even when preparing for the next layer. As such, it looks like it was omitted on M8 (top metal) but is found on other layers
That's all for now. Hope you enjoyed and let me know if you want more information on something!

More from Tech

A brief analysis and comparison of the CSS for Twitter's PWA vs Twitter's legacy desktop website. The difference is dramatic and I'll touch on some reasons why.

Legacy site *downloads* ~630 KB CSS per theme and writing direction.

6,769 rules
9,252 selectors
16.7k declarations
3,370 unique declarations
44 media queries
36 unique colors
50 unique background colors
46 unique font sizes
39 unique z-indices

https://t.co/qyl4Bt1i5x


PWA *incrementally generates* ~30 KB CSS that handles all themes and writing directions.

735 rules
740 selectors
757 declarations
730 unique declarations
0 media queries
11 unique colors
32 unique background colors
15 unique font sizes
7 unique z-indices

https://t.co/w7oNG5KUkJ


The legacy site's CSS is what happens when hundreds of people directly write CSS over many years. Specificity wars, redundancy, a house of cards that can't be fixed. The result is extremely inefficient and error-prone styling that punishes users and developers.

The PWA's CSS is generated on-demand by a JS framework that manages styles and outputs "atomic CSS". The framework can enforce strict constraints and perform optimisations, which is why the CSS is so much smaller and safer. Style conflicts and unbounded CSS growth are avoided.

You May Also Like