Progress update from the Librem 5 hardware department

As you might have noted when we announced closing the development kit “last call” sale, new specifications have been made public. I want to explain what led to these specifications and why we made the choices we made and what the current timeline is for the devkits and Librem 5 phones.

We want to make a secure mobile communication device which can offer on-par experience similar to today’s smartphones, while making it as free and transparent to the extent we can given the reality of today. We take the notion of “free” or “libre” seriously, striving to comply with the Free Software Foundation (FSF) strict “Respects Your Freedom” (RYF) requirements. Having that endorsement is an important and critical goal for us. The RYF criteria rules out a substantial amount of hardware, making finding RYF complaint phone hardware a challenging endeavor. It would have been relatively trivial to produce a smartphone with non-free GPU drivers and a CPU with combined radios + CPU + GPU in a few months, but creating a regular smartphone is not our goal. We have much higher aspirations.

We chose to build a free and secure mobile communication device. One that respects peoples’ privacy and security. We chose to do it because the pursuit of building one will challenge us as a company and to provide a product to those who care deeply about software and hardware freedom. It is an endeavor that we are unwilling to compromise on with the firm belief that it is achievable.

Let’s talk about what the current state of things are.

The Road from an i.MX 6 to i.MX 8M platform

You may remember our previous post hinting at the reasoning for us to move from the i.MX 6 platform to the i.MX 8M platform. Today, we’ll be providing significant more details and an update on how this transition has been going since then.

Phone hardware is comprised of a SoC (System on a Chip) and peripheral hardware like modems that connect them to cellular networks. In early 2017, when we started our research for the right SoC, we quickly came to the conclusion that the NXP i.MX family—with the free Etnaviv drivers for the embedded Vivante GPU—would be the best choice. The fact that the NXP i.MX 6 did not require a proprietary firmware for normal phone use cases, combined with an advanced free “etnaviv” GPU driver available, was very attractive to us. The fact that the SoC has been on the market for quite some time also meant that the drivers were stable and solid.

By late summer 2017, we became aware that the newer “i.MX 8” generation of SoC was rumored to be released soon. At the time, we had already launched our crowdfunding campaign and there was no publicly available information on this newer generation SoC, so we had to continue with the plans already in place. The allure of having a newer generation SoC was enough that we reached out to NXP and various distributors to get more detailed information on these new SoCs. While continuing to work on other parts of the phone and working on our software, we kept communication lines open on the new SoC opportunity after nearly six months, then we were able to obtain early documentation but no availability dates.

In early 2018, we got word that the i.MX 8 family would finally be announced at “Embedded World” in Nürnberg, Germany! So after a small hackfest in Germany, Purism CEO Todd Weaver and I drove to Nürnberg and met with NXP and i.MX 8 partners. We were able to get a demonstration of actual i.MX8 hardware and associated firmware to see it running. Even the latest Etnaviv was already working well. We were excited about the opportunities of running a more recent hardware.

We were confident that the i.MX 8 was well suited for the Librem 5 and will be available in larger quantities early enough for our currently scheduled shipping date of January 2019. The decision to upgrade to a newer generation of the SoC (from the the same hardware family) brings the benefits of a modern 64-bit CPU, more GPUs on the silicon, lower power consumption and a host of other upgrades, while still allowing us to maintain our strict requirements to seek the FSF’s “RYF” endorsement. We believe that the risk trade-off is worth it given the modern upgrades the new SoC provides us. The SoC is of course not the only concern for the Librem 5.

Challenges of Making a Non-Android Mobile Phone

Making a non-Android mobile phone that will run an FSF-approved OS that supports all the features that we’ve all come to rely on (cellular, WiFi, Bluetooth, touchscreen input) has and continues to involve a lot of pathfinding, given that a RYF phone has never been attempted before and discovery involves solving issues as they come up.

The industry offers all the hardware to create a smartphone on a fast path, as the SoC vendors typically provide the modem (cellular and wifi) integrated directly on the SoC. Like a recipe in a cookbook—take an SoC, place it on a PCB, add RAM and flash chip on top of it (called a package on package—PoP), add antennas and finally power. The difficulty comes down to the firmware and the software that run these devices. The necessary firmware to operate the cellular modem, WiFi, BT etc. is provided by the chip maker, including the drivers for the GPU and more. The firmware and software included is proprietary with no source code with little to no alternatives.

Cellular (baseband) modem

The cellular modem is arguably the most complex part of a mobile phone. The modem is the component that has to implement all the familiar protocols you would associate with a phone (like 2G, 3G, 4G and the upcoming 5G). It does so by running its own proprietary black box operating system. The cellular modem is also covered by thousands of patents held by hundreds of patent owners. Now imagine this… This cellular modem sits right on the same RAM bus as the SoC! Non-free software not only has access to the data flowing to and from the SoC, but also has the ability to modify it. Because this modem operating system is a propreitary black box, we have no idea what this component does or what kind of vulnerabilities it has.

Coming back to the design of the Librem 5 phone, we clearly do not believe this is an ideal situation. The cellular modem should be isolated from the SoC by not accessing the RAM bus. The situation is further complicated by the fact that during our research into cellular modems, we realized that there are only a handful of silicon vendors in the world that make these chipsets and nearly all of them integrate their model with the SoC on the same bus. In addition, you historically need to acquire a license to run the proprietary firmware to power the modem on SoCs.

This left us with only one choice: to use ready-made modem “modules” and our own layout that isolates the modem from the SoC. There are a number of these modem modules available in different form factors with various available options in speed, bands, etc. By going the module route we can both provide supplier choice in modems that meet our strict standards, and also allow modem isolation from the RAM and host CPU.

To isolate the cellular modem from the SoC, we will be placing the modem on the (remarkably fast) USB bus and have the phone interact with the cellular modem through USB instead of on the main RAM bus. This will separate the cellular modem on its own bus without seeing any other data.

WiFi/Bluetooth modem

For WiFi and Bluetooth radios we are currently working closely with Redpine Signal. Redpine Signal will supply us with a low power WiFi/Bluetooth solution using SDIO as the data interface. We went with Redpine Signal as their chipset does not require a firmware download at runtime like other vendors; having a downloadable firmware would violate the Free Software Foundation’s RYF requirements. In the end, we believe we have a great solution for WiFi and Bluetooth that will integrate well and at low power in the Librem phone. This is highlighting the fact that Purism, as a social purpose corporation, will push our strict agenda of software and user freedoms upstream into the supply chain.

EE, ID, and MD (Electronics Engineering, Industrial Design, and Mechanical Design)

To find the right vendors to build our hardware components, a while ago Todd and I went to Shenzhen, China. Shenzhen is where two-thirds of the current worldwide production of smartphones happens, where over a billion devices per year are produced. That’s where the optimized supply chain logistics have been developed over the past few decades, and that’s where the physical electronics engineering expertise is these days. We selected this area because this is where we are going to find the expertise in building the Librem 5 with the hardware components we have selected.

Selecting fabrication partners for our custom design has been an exciting exercise due to all the possibilities that could be reality. Since the beginning of April of this year, we have been evaluating hardware fabrication companies and factories that would be willing to work with us. Aligned with our original planning and timeline we began working with an electronics design house and soon after we located our mechanical design and hardware fabrication.

Status of the Development Kits

We will begin shipping the devkits in October barring any unforeseen issues. We are quite conscious that the hundreds of active developers all are eager to see these development kits and we are eager to send them out and get you developing on the Librem 5 PureOS platform. We have been pushing hard on our supply chain to give us results as quickly as possible. The new devkits will have the newer i.MX 8M based SoC. The current status is that we have completed the design and working towards power up test. We are pleased that the devkits will be assembled and manufactured in the United States, specifically in the San Diego California area, while the final phone production is expected to be in China.

With the new SoC, devkits will have more up-to-date hardware, faster, more powerful GPUs (from dual core to quad core), 64 bits and overall lower power consumption and heat. This will increase the attractiveness of the phone for those who are doing comparison shopping with other phones.

The developer documentation for the dev kits are fairly close to being ready and we expect that those who receive the dev kits will be ready to start writing applications relatively quickly.

The past three to four months have been a period of great activity here at Purism with a lot of pathfinding work, negotiations, and dividing of labors amongst the various parties—A precise dance with many partners working in concert in an effort to get the right product. But like you, we can’t wait for the end result: a truly freedom-driven phone that we hope will disrupt the market today with groundbreaking concepts while still having all the modern features that phones on the market have today.

Pictured: parts of the devkit in our office in Germany. When you consider the design of the PCBs we made, the devkits comprise more than 700 components.

Status of the Librem 5 Phone Roadmap

Let’s move on to the schedule for the Librem 5. With the latest information at our disposal, we foresee a delay in production until April 2019. The reason is that there is a silicon bug on the SoC that causes extreme battery draining. If we were to put out the phone with this bug, the phone battery would drain out within an hour or so… That’s not the first impression we want to give!

The errata from NXP (the silicon vendor) for the currently shipping revision can be found here. More specifically, this document where the two issues that can affect power management and power consumption are identified as “e11174” and “e11171”.

We are working closely with the silicon vendor, NXP, to fix the issue.
Why April?  We want to be realistic with our projection based on a number of factors:

  1. If the problem gets fixed by December, that runs into the holiday season in Europe and America.
  2. February is the Chinese New Year and effectively the entire country is shut down for that month. Therefore, we can only restart the production ramp-up process in March, with first units to be produced in April.
  3. Internally, we have a lot of plans that need a hard date to plan off of, and so it is imperative that we hit close to our dates in order to meet commitments with the press, community (online and at various events), investors, and others.
  4. We want to give all of you a date that is realistic so that we can provide the best first experience as possible. We want you to be wow’d but we need a long tail to properly QA the product after the initial power on. So this is why we are saying that we are hoping to begin production in April (if we can manage earlier, that’s great, but we’d rather not over-promise).

You might wonder why the schedule for the devkits did not change significantly compared to the Librem 5 phone (that we release to the public). The devkits are meant to be plugged in and thus are not negatively affected by the silicon bug as the devkits are meant to be used while connected to a power outlet. The devkits will therefore be shipped with the SoC that has the silicon power bug, as this will not affect developers (since it is not like you would expect to carry a devkit in your pocket with days of standby time).

To whet your appetite, we have included below one of the early blueprints of the development kit (don’t use it as a reference!)—as well as some recent 3D renderings of it, for your viewing pleasure.

An early blueprint of the development kit
3D rendering of Librem 5 Devkit front and back

Beyond devkits, one of the things that I think all of you would be pleased with is that the phone will have a user-replaceable battery: unlike the vast majority of mobile phones we see on the market today, ours won’t have the battery soldered onto the mainboard and the case will not be glued beyond reapairability.

The phone design schematics are pretty much complete and we’ve been busy focusing on putting the device together. There are some missing pieces like the modem that needs to be incorporated, but other than that there currently are no show-stopping issues in regards to manufacturing the phone.

We’ve also been playing around with putting as little branding as possible on the phone.

The Journey Continues

Amazing amounts of diligent work have gone into creating the Librem 5, and we continue to learn new lessons and overcome challenges going forward. One of the hardest things that we had to deal with is establishing the phone hardware supply chain and navigating our way with a whole new set of suppliers around the world, making the right contacts to get what we want accomplished. We can’t underscore enough the challenge that building this supply chain has been. The other challenge is finding compatible hardware components that respects our ideology and FSF RYF endorsement goals when the whole supply chain has traditionally been built for cost effectiveness. Finding suppliers that avoid blobs in the operating system has proven to be, unsurprisingly, long and arduous.

We will continue to evolve as we understand better how this subset of the industry works. The success of our phone is critical, as it will provide us with the legitimacy and leverage we need to bend hardware suppliers to our way of thinking by showing them that we have the potential to be market leaders with ethical products that respect users.

For those who invested in us, and continue to be patient with us: you have our undying gratitude. For those who take a wait-and-see approach, we hope that you’ll come around and be part of the Purism family, whether through the phone project or with our other offerings. Thank you.


You might also like: “The Back to School sale is on!”