A few weeks ago we published an update about the forthcoming of our Librem 5 development kits when we ran into some issues which caused delays. Today we’re bringing you another update on the hardware fabrication process, as well as some pictures and a video. At the same time as the last update got posted, I was on my way to California, where we are fabricating our development kit and base boards (we are bringing everything to life there, and shipping from that same facility).
The story of fabricating the entire devkit hardware from the ground-up included crossing paths with a couple of storms:
- Hurricane Florence caused some shipping delays for component parts, and one of our packages also got lost in Memphis—maybe it enjoyed the music and drinks a bit too much? We don’t know because we never heard back from it again. So we had to procure additional parts.
- The typhoon in south east China caused a week of factory shutdowns, which included our PCB design prototypes!
- Almost right after that was a Chinese holiday, the Golden Week, which is in practice a two week holiday. Luckily we could expedite the PCBs at a fab in Los Angeles and courier ship to us!
All in all, we had a setback of about three weeks before we were able to make the first prototypes of the boards.
So once the PCBs finally arrived, on the same day we set up all the machines and worked until 5 a.m. to make the first 10 “golden sample” prototypes of the development base boards:
If you compare the produced boards with the 3D renders from KiCad (yes, the design of the base board is done in KiCad, and we will be releasing it under a free license once we are finished), you can see the beautiful similarity of the actual outcome. Here we have from left to right: the back side 3D render, the freshly made real board’s back side; the 3D rendered front and real board’s front:
Since then, our team has been furiously and restlessly working on “bringing up” the board, i.e. getting software up and running at least “as far as to be able to test all the peripherals” so that we can verify the base board design before we order the final 300+ boards for series production.
Since we base all our work on current mainline Linux kernel 4.18+, this work also involves quite a lot of forward porting of drivers, bug fixing and walking uncharted territory since the i.MX 8M is still very new. So far we have been able to verify the following (which also gives you an impression of the complexity of this task):
Validated Hardware Subsystems
- Charge Controller
- Serial Downloader (loading u-boot via USB)
- eMMC boot (boot mode switch in the “up” position)
- SoM (pinout mostly validated, SoC, eMMC, and PMIC working)
- UART Debug
- Powering from 18650 battery
- Charge controller’s thermistor
- 10/100 Ethernet
- Audio Codec
- WWAN module, SIM card & antenna
- WWAN hardware kill switch
- GNSS (UART interface & antenna)
- USB Hub & SD controller
- RedPine WiFi/BT M.2 module on SDIO
- Haptic motor
- push buttons (power button, reset button, volume up, & volume down)
- User LED
- Power indicator LEDs
- headphones detect (HP_DET)
- Display’s LED backlight
- SPI NOR Flash
- Earpiece speaker
- External microphone
- Headphone speakers
- Smart card reader & smart card slot
Partially Validated Hardware Subsystems
- IMU (accelerometer, gyro & magnetometer)
- Proximity / ambient light sensor
- WLAN/BT antennae
- On-board microphone
- Headset microphone
- hardware kill switches for WiFi / BT and microphone
Subsystems Left To Validate
- MIPI DSI LCD panel
- Touch controller
- Safely charging an 18650 battery
- USB-C role switching
- Microphone select IC
- Bluetooth (UART4)
- Camera (MIPI CSI)
- WWAN I2S interface
- Bluetooth I2S interface
The MIPI DSI display interface is of extremely important, and we can not order the final batch of PCBs before we know that the display (and touch controller) work perfectly. By doing the verification we also indeed discovered some problems, minor things that did not behave as expected and which we are now able to fix. Some other issues are simply mechanical issues that are hard to evaluate just from all the datasheets. And then other things happen, like parts not conforming to standards (like the M.2 WiFi/BT card, of which we got samples just a few days after doing the prototype order). For example, the M.2 card has some pretty thick components on the bottom layer and thus can not lay flush on the PCB (which had been an assumption we had when we designed the board), so we need to change the connector for the final boards.
This is how the fully equipped current devkit prototypes look like, WiFi/BT card is read in the lower right corner of the back side:
All parts for the final production of the dev kits are procured and still waiting in the magazines on the machines to be placed on the final boards. The kernel team is making amazing progress on mainline Linux 4.18+, we are in intense communication with other Linux i.MX 8M mainlining partners. The kernel, the GPU drivers and MESA will see quite some i.MX 8M patches from us—and yes, upstream first was and is our motto, everything we do is and will be pushed upstream!
After all this, I am reluctant to give a new timeline for shipping the dev kits… What we know is that our new PCB fabrication here in the USA will be 11 business days. We will make over 300 of these boards, which are pretty complex—we have over 160 different parts and more than 500 components in total per board. This takes some time, even with the amazing SMT machines placing tiny parts (such as 0201 SMD types). I wouldn’t be able to place these by hand!
From testing the prototypes, it will probably take another week (probably two) until we can give the green light for PCB fabrication to begin, then about two weeks for them to be fabricated, and another week for production, assembly, testing and shipping. As you can see, with all that, we will likely roll into December. With that said however, we are doing our very best to ship out all boards in the early part of December, so that all backers should get their new toys well before the end of the year (given the shipping carriers don’t cause delays).
Thank you for all the active community development and tremendous support! See our video below on how these boards are being put together. Oh and by the way, we have a little survey for you, check out our enterprise page if you’d like to help!