Good news, everyone!
After some successful tests, it's time to move to the next step!
If you followed the twitter posts, you know that Nikolaus was constantly working on the CPU board, and we have been able to do quite a few tests.
But let's start at the beginning...
The CPU-Board with a slight failure
We received the bare PCBs two weeks ago and after some fights with populating the RAM properly, we finally got the kernek to boot.
However, it didn't reach the login screen, it hang while initializing the hardware components, so something was wrong.
After investigating a bit, Nikolaus found out that there was a layout mistake in the CPU board: Two traces had been swapped - the communication line (I2C bus) between the CPU and the Powermanagement controller.
Which means: the Powermanagement controller is running in some default mode (which is good enough to start and boot the kernel), but whenever Linux wanted to change some voltages (i.e. SD Card slot), it couldn't communicate with the controller and simply hang.
That's why we couldn't get into the login screen.
With some software workarounds Nikolaus managed to boot into Linux and was able to do some simple tests with the processor, for example showing the Heartbeat of the Linux system on an LED!
You can see that here:
https://www.youtube.com/embed/BzYv1Y7EHrQ?feature=oembed
(For those who don't know what the heartbeat is: It's basically some small timer built into a Linux system that triggers similar like a heartbeat and shows that the system is alive).
What looks like some simple thing (probably one of the most expensive blinkenlights generator out there) was actually a breakthrough - as it showed that - except for the power controller - RAM and CPU are running stable (over hours and hours).
The fix of the CPU-Board
But of course, we'd like to test the FULL hardware, so what should we do?
Unfortunately, swapping the traces with manual solderind won't work as the traces that need to be swapped are fully buried within the 10-layer PCB.
So we either need to produce new CPU boards (takes about 5 weeks) or create some small PCBs that go between the powermanagement controller and CPU PCB so we can fix the boards we already have.
We had hoped that those small inbetween PCBs could be produced cheaply within five days, but it turns out they'd cost about the same as new CPU boards and would take 3 weeks - so we wouldn't gain much here.
Still, without full tests, we couldn't know whether there are any other bugs in the CPU boards, and waiting 5 weeks for more CPU boards only to find out they have some more issues would be annoying.
Some more software workarounds
Nikolaus tried some more patches - and that actually made it easier for us to make a decision how to continue!
He was able to test a lot more of the Pyra hardware with these tests - so we now know the following:
Not yet tested: SDIO devices (WLAN/BT/Audio), as we need to work on the device tree for that (which is what Nikolaus plans to do next) and MIPI Video Stream (turning on the backlight works).
So yes, we got the CPU PCB plugged onto the main PCB working fine.
And all of that was running stable for hours, without any issues!
It shows that most likely, the swapped traces on the CPU PCB are the only issue we have with the CPU board, which is awesome news!
Quick power consumption test
With disabled power management and everything enabled except for the Wifi module, the rotator chip and the display (background lighting was on though) we had a power usage between 500mA and 900mA (so 2,5 - 4,5W), which is not too bad.
It's similar to what the Pandora had before all the power management functions were properly included.
With the battery of 30Wh, it would mean between 7 and 12 hours with all components enabled (even with LTE!).
Take that with a grain of salt though - these are just a few quick tests, but they are very promising.
The Plan!
Okay, with that, we now actually have a plan!
And the rest of the parts?
Oh yes, right. Keymat and case, haven't talked about those in a while now, have I?
Well, the mould for the keymat is already in production and will be finished within this month.
For those interested what the printing looks like, here you go:
As you can see, the power button is transparent. That is because there's an RGB LED below which can for example be used to show the battery status with a color, etc.
We should receive samples within this month as well.
The work on the case moulds has also begun now.
The only area I still want to do some changes is the lid with the LCD, so they started with the moulds for the base parts.
Until they are finished, I should have the changes for the lid finished and then they can work on these moulds as well.
Moulds take about 2 months, so we should have samples early November as well.
Stay tuned - we're getting there!
After some successful tests, it's time to move to the next step!
If you followed the twitter posts, you know that Nikolaus was constantly working on the CPU board, and we have been able to do quite a few tests.
But let's start at the beginning...
The CPU-Board with a slight failure
We received the bare PCBs two weeks ago and after some fights with populating the RAM properly, we finally got the kernek to boot.
However, it didn't reach the login screen, it hang while initializing the hardware components, so something was wrong.
After investigating a bit, Nikolaus found out that there was a layout mistake in the CPU board: Two traces had been swapped - the communication line (I2C bus) between the CPU and the Powermanagement controller.
Which means: the Powermanagement controller is running in some default mode (which is good enough to start and boot the kernel), but whenever Linux wanted to change some voltages (i.e. SD Card slot), it couldn't communicate with the controller and simply hang.
That's why we couldn't get into the login screen.
With some software workarounds Nikolaus managed to boot into Linux and was able to do some simple tests with the processor, for example showing the Heartbeat of the Linux system on an LED!
You can see that here:
https://www.youtube.com/embed/BzYv1Y7EHrQ?feature=oembed
(For those who don't know what the heartbeat is: It's basically some small timer built into a Linux system that triggers similar like a heartbeat and shows that the system is alive).
What looks like some simple thing (probably one of the most expensive blinkenlights generator out there) was actually a breakthrough - as it showed that - except for the power controller - RAM and CPU are running stable (over hours and hours).
The fix of the CPU-Board
But of course, we'd like to test the FULL hardware, so what should we do?
Unfortunately, swapping the traces with manual solderind won't work as the traces that need to be swapped are fully buried within the 10-layer PCB.
So we either need to produce new CPU boards (takes about 5 weeks) or create some small PCBs that go between the powermanagement controller and CPU PCB so we can fix the boards we already have.
We had hoped that those small inbetween PCBs could be produced cheaply within five days, but it turns out they'd cost about the same as new CPU boards and would take 3 weeks - so we wouldn't gain much here.
Still, without full tests, we couldn't know whether there are any other bugs in the CPU boards, and waiting 5 weeks for more CPU boards only to find out they have some more issues would be annoying.
Some more software workarounds
Nikolaus tried some more patches - and that actually made it easier for us to make a decision how to continue!
He was able to test a lot more of the Pyra hardware with these tests - so we now know the following:
- LEDs on the Mainboard work!
- USB works (a connected USB stick could be accessed)
- LTE Modem could be started and successfully found networks
- Keyboard, Nub and Touchpanel work fine!
Not yet tested: SDIO devices (WLAN/BT/Audio), as we need to work on the device tree for that (which is what Nikolaus plans to do next) and MIPI Video Stream (turning on the backlight works).
So yes, we got the CPU PCB plugged onto the main PCB working fine.
And all of that was running stable for hours, without any issues!
It shows that most likely, the swapped traces on the CPU PCB are the only issue we have with the CPU board, which is awesome news!
Quick power consumption test
With disabled power management and everything enabled except for the Wifi module, the rotator chip and the display (background lighting was on though) we had a power usage between 500mA and 900mA (so 2,5 - 4,5W), which is not too bad.
It's similar to what the Pandora had before all the power management functions were properly included.
With the battery of 30Wh, it would mean between 7 and 12 hours with all components enabled (even with LTE!).
Take that with a grain of salt though - these are just a few quick tests, but they are very promising.
The Plan!
Okay, with that, we now actually have a plan!
- Test the remaining hardware with the current CPU Board, make some minor fixes to the main PCBs if needed.
- Fix the layout and order some more fixed CPU and mainboards (probably 10, maybe a few more), which will be produced "like mass production" (means: they will be fully populated with the machine)
- While waiting for these boards, assemble a prototype which can finally be used to demo the system... and take care of the preorders.
- Those newly produced units will be assembled and delivered to some developers to work on the software (should probably happen early to mid October)
- Once these units had been tested for a few weeks by multiple developers... it's time to give the green light for the mass production!
And the rest of the parts?
Oh yes, right. Keymat and case, haven't talked about those in a while now, have I?
Well, the mould for the keymat is already in production and will be finished within this month.
For those interested what the printing looks like, here you go:
As you can see, the power button is transparent. That is because there's an RGB LED below which can for example be used to show the battery status with a color, etc.
We should receive samples within this month as well.
The work on the case moulds has also begun now.
The only area I still want to do some changes is the lid with the LCD, so they started with the moulds for the base parts.
Until they are finished, I should have the changes for the lid finished and then they can work on these moulds as well.
Moulds take about 2 months, so we should have samples early November as well.
Stay tuned - we're getting there!