3 months ago

Eben Upton on engineering a Raspberry Pi 4

What did it take to make Raspberry Pi 4? We ask Eben Upton - Raspberry Pi co-founder and CEO of Raspberry Pi Trading Ltd. Discover what it took to build a Raspberry Pi with upgraded video capabilities, up to four times the RAM, full gigabit Ethernet and USB 3.0.

Eben Upton 

I guess there’s a question, which is ‘why now, why not in a year’s time?’ Which is the sort of time line we previously indicated,” says Eben Upton, co-founder of the Raspberry Pi Foundation, on the timing of Raspberry Pi 4’s release. “Broadcom has been working on silicon for it for a little while, and the silicon came good earlier than I was expecting.

Building the BCM2711

“This has been a more complicated development than previous ones because previous ones have been on the same process node and we’ve basically just been – ‘just’ been – bolting larger ARM cores onto an existing chip,” says Eben of the work that has gone into the new system-on-chip (SoC).

“This one’s on a new process node, so this one’s on 28 nm. Obviously, it’s got all these new features, so we’ve kind of moved it from being a 1080p-class chip to being a 4K-class chip. New process node, new memory technology, new multimedia IP [intellectual property], lots and lots of change. It’s a full-chip project.”

“This is the B0 step of the silicon. BCM2835, which was new on 40 nm, was equivalently radical at the time. The version we shipped there is 2835C2, so we’d had an A0, a B0, a C0, a C1, and a C2 to get to a shippable product. This one got shippable by B0, and that’s taken a year out of the conservative schedule that we’d been communicating to people.”

Raspberry Pi 4 Engineering Desk with Banana

A Raspberry Pi engineer’s desk, where hardware is tested thoroughly and bananas are eaten

Raspberry Pi 4: The pocket-sized PC

“It’s a PC replacement. I mean, we’ve always talked about Raspberry Pi as being a PC, and that’s become steadily more credible, I think, over the generations,” says Eben. “I think this one takes it over the line where a lot of users will sit down in front of it and not really perceive a difference.

“You talk about the things that take you into PC land? PCs drive two displays. You know, you’re not really a real PC if you don’t drive two displays, right? If you think about the person you’re speaking to on the phone in the bank, they’ll have two monitors: one to put your account details on, and one to put the product that they’re selling you on. We think this should break through very nicely into the thin client market and we’re working with Citrix to make sure that their stack works on it on launch day.

Raspberry Pi Engineering Desk

The Raspberry Pi 4 being developed

A challenging design

“Obviously the ports have moved around, and that’s really a routing thing,” Eben explains. “The board is within a millimetre of not working, and there wasn’t enough routing resource to bring the Ethernet signalling down to the bottom-right of the board.

“Probably the biggest challenge is the DRAM. If you look how close that SoC and that DRAM are to each other, you’ve got a 32-bit DRAM interface in that tiny little space, with some length-matching between the signals and the signals properly isolated from each other. If you were to desolder the USB-C connector, you’ll see James [Adams, director of hardware] has signed the board. So, the Easter egg is under the USB-C connector; it’s James’s signature, because I think he feels it’s the nicest piece of work he’s ever done, and it was very close to not being doable.

“The original prototypes, the A0 prototypes, are actually about five millimetres longer. They’re five millimetres bigger in X than the historical board, but he was able to squeeze it back down. My contribution was largely to go to his desk and say ‘is the board back at the right size yet?’ every day for about six months. I should have signed the board as well – I deserve half-credit!”

Raspberry Pi 4 boards being tested

Raspberry Pi 4 boards being tested and having software written and updated for them

See also: