Project ZeroPhone: the ambitious DIY Raspberry Pi phone

Q: Do you think down the line, you might go for a higher-resolution screen?

AP: Like touchscreen? Looking at the situation with screens that you could connect to the Raspberry Pi, the thing is this is one of most reasonable solutions as the interfaces that Raspberry Pi provides do not give that much leeway to work with. For example, there is an SPI interface, but the refresh rate is not going to be good and there’s not going to be hardware acceleration. There’s HDMI, but screens that use HDMI usually consume plenty of power. That would also complicate the hardware design, because HDMI lines require a lot of attention because of the requirements of the PCB layout.

There’s also DSI interface: it’s the interface to go [with] if you want to make a portable device with a large screen, but it’s neither accessible on the Pi Zero which I’m using, [nor] is it documented. They’ve not documented that interface and do not provide an API to connect your own screens. I have one interface that I can reasonably use for a mobile and that’s SPI, but the refresh rate is not that good for large screens. You can have SPI screens that are well built, but you’re basically limited to Adafruit or Sparkfun or some Waveshare product, but I didn’t want to specifically limit it to that selection as it’s not that accessible to me. They really don’t have much interest here.

Q: You’re saying distribution is limited?

AP: Yes, exactly. Also, this small screen is an interesting limitation. It’s an interesting mental exercise thinking about how to fit everything into such a small screen; make the interface usable and use physical buttons to a large extent [...]. It works and it’s still cheap and it’s also a simple way.

With access to a Pick&Place machine at his local hackerspace, Picugins will be able to automatically pre-solder some parts of the kit

With access to a Pick&Place machine at his local hackerspace, Picugins will be able to automatically pre-solder some parts of the kit

Q: In one of your posts somebody was looking at coming up with a different way to work with the UI? You’ve got people wanting to help collaborate?

AP: Yes, absolutely, people helped. There was a small road block from my side because I couldn’t send out hardware to contributors for quite some time, due to hardware problems I was solving. But now I’m sending out hardware that people can work with. For example, I’ve sent hardware to one guy who is interested in making Wayland run and he’s done some software demos of this small screen, e.g., this 128 x 64 pixels viewport working with openGL.

Q: That’s exciting – how is the chassis design going?

AP: I’ve sent out hardware to case designer volunteers. I’d really like to outsource. I’m mostly feeling overwhelmed because there’s so much to do, so people have been really interested in making a case [for the phone]. So I’ve sent out three phones and I’m going to send out three more. I’ll continue sending them out to those people that want to help. I don’t really have that much experience in 3D modelling. That’s why there’s not a case yet, as I can’t make it myself. I’d need to spend even more time learning how to do it myself.

Q: How is the crowdfunding project progressing?

AP: It’s not quite ready yet. I have the most important part, the financials, to be prepared. And there’s also the fact I want to make a stable hardware revision, which will be the next revision, so that I can account for the bill of materials changes that might be necessary, and make sure they don’t impact the manufacturing in any significant way. That’s been a blocker for the last five months. It’s been getting ridiculous even for me, but I want to make sure everything is going to be okay as even though I have people who can give me advice, I really want to make this project succeed and not stumble upon something unforeseen.

So I’m making sure that the crowdfunder is as good as possible. I know for example that this revision needs some more self-assembly instructions and I need to get more feedback and check the financials so there’s no chance of me running out of budget during the manufacturing. So, yes, it’s mostly about me being nervous.

There are two people that I know of that are already trying to assemble the current revision, but there are also six people that want to assemble the next revision. I’ve already bought parts for them, now I’m working on the PCB design. So, self-assembly is a real priority. After all, it’s something nobody really offers, but it’s completely possible to achieve.

Q: Have you managed to get the ZeroPhone to support 3G?

AP: It basically needs the 2G modem replaced with the 3G and it’s possible, but I’m constrained by the dimensions of the 2G modem that I’m using, so I’m trying to design around those dimensions.

Two weeks ago, when I was finishing the 3G upgrade board, I ran into limitations, so I’m thinking about a way around them by either increasing the vertical dimensions of the phone or basically having a part that sticks out a little. I’m waiting for a solution to come to me while I have PCBs to make for the next revision. But it’s definitely one of the priorities for the crowdfunding.

There’s a survey for those who want to get a ZeroPhone or are interested in the project, so I’ve been collecting replies and I think 3G is the most requested feature. So I have to have 3G to offer for the crowdfunder or it will be a serious disadvantage.

Q: You also have add-ons for the ZeroPhone. Can you tell us about those?

AP: I’m using some of the interfaces that the Raspberry Pi provides, but there are a lot of interfaces that are free as well. I’ve connected those interfaces to expansion ports on the sides of the ZeroPhone and I thought why not have some boards that would simplify tasks like programming and working with flash chips? Then I understood, for example, I could design a board that has a circuit for a laptop BIOS chip and use ZeroPhone to reprogram the BIOS off a laptop in order to, for example, deactivate Intel Management Engine (which truly worrying vulnerabilities were recently discovered in) or something like that.

I can desolder the BIOS chip from my laptop; I can plug it into a ZeroPhone add-on board and use available BIOS chip programming tools in order to read the BIOS contents, modify them using, for example, Me Cleaner, a utility from Purism. I can modify the BIOS image and flash it back into the laptop and I’m going to have a management-disabled laptop.

This has been one of my side projects and I’ve come to understand that ZeroPhone is also quite a powerful hardware hacking platform and those expansion ports will make it even better at it, and it’s something I can do to make hardware hacking more user-friendly.

Q: What do you think of Purism’s Librem phone?

AP: I find it extraordinarily important, and I believe this project, if successful, is going to be a breaking point in history of open source phones. How I see it is that we’re voting for our ideals with our money, and if we succeed, it’s going to make other companies listen to us and understand what we care about – even if a tiny bit.

Furthermore, ZeroPhone, postmarketOS and Purism Librem are going to have a big overlap in software, reducing effort duplication and therefore increasing quality – and I’m sure there has been sufficient evidence that software quality can make or break any open source project. I believe we can make a lot of changes in this field.

Purism is making really modern hardware and they do need a lot of money to accomplish that. PostmarketOS is taking old phones and giving them a new life with Linux, and I’m taking these accessible single-board computers and making them into phones and hardware hacking kits.

To learn more about the ZeroPhone project and possibly get involved, head to the main project page and its Github repository.

(This interview was first published in issue 184 of Linux User & Developer).

Chris Thornett

Chris Thornett is the Technology Content Manager at onebite, editor, writer and freelance tech journalist covering Linux and open source. Former editor of Linux User and Developer magazine.