Coffee Space


Listen:

Chunk Boi Pro Part 1

Preview Image

Many years ago (2018) I wrote about building a sustainable laptop. In that article I outlined a viable way forwards with a basic set of features. Due to still not receiving my Build One 3D printer, I put the project on the back burner, promising myself that I would always get around to building it.

Recently my main laptop, a CyberPowerPC custom machine build on top of an MSI chassis has begun showing its severe age, and is in desire need of replacement. Among many issues, they keyboard no longer works, the camera sometimes works, a hard drive failed, the ethernet no longer works, the battery is almost dead, the GPU sometimes works, the WiFi is patchy, the bluetooth randomly dies and sometimes it is unable to resume from boot.

To put it mildly, this 6 year old (or so) machine has been through a lot - travelling around the world with me, performing PhD experiments, deep learning, gaming, torrenting, as well as many other things. It’s had an insanely tough life. Unfortunately though, it is now time to cut my losses on this machine and replace it.

Pine64

A while back I purchased a PineTab from Pine64 and it’s quite a nice device. After using it for a while, I found there is a lot left to be desired. It’s really not even close to being powerful enough to be used as a daily driver, it barely functions as a tablet. And this is with very optimized software running on it.

Unfortunately, for absolutely no apparent reason, the PineTab’s WiFi is now completely and utterly dead. Pine64 seem completely uninterested in even discovering what the root cause may be - this machine has not been dropped or abused. On top of that, the SD card slot is now jammed also for no apparent reason.

Pine64 sell the Pinebook Pro, a much more powerful laptop that multiple people have been using as a daily driver. There are several problems with this device:

  1. Availability – There is currently a massive chip shortage and it’s unclear when they will come back in stock. If you break something, despite it being open source, you will find it even harder to find the parts yourself.
  2. Upgradeability – Pine64 do not release a future road-map, and hence it is impossible to know whether the Pinebook Pro will continue to receive upgrade motherboards in the future. It’s open source, so technically you could do this yourself, but this is insanely hard to do. There’s next to know space in this thing to give the ‘Macbook feel’, so you’re essentially locked into whatever Pine64 may or may not release in the future.
  3. Maintainability – Again, Pine64 do not indicate how long they intend to support each device for and when spare parts will be available. Right now, there are zero spare parts available for their tablets and laptops. There is no reason to believe this situation will change either.
  4. Maturity – Whilst this laptop is one of the more mature devices that Pine64 offers, it is still far from perfect. For many, the chassis is broke, parts break for ‘no reason’ (also with no response from Pine64) and generally it is actually not suitable for daily driving.

Don’t get me wrong, Pine64 is a great Linux project, but it is far from read for daily adoption on pretty much all of their product lines. Ironically, the long-shot “throwaway” project is actually the most mature! JF002 has done an amazing job at bringing the Infinitime software to a great level of maturity.

I hope in the future I can use a Pine64 device as a daily driver, but I suspect we are currently 3 years away from this reality at least. Again, there is still great community value in this project and I will be keeping a close eye on their devices.

Second-hand Device

My previous laptop (to my currently dying device) is an old Dell laptop, which I purchased from eBay. I was really quite impressed with this device for the price, and when it blew up it was even still just about in warranty! Dell have excellent customer experience and I was very happy that they replaced so many parts in such a broken laptop.

That said, there’s no saying that a second-hand laptop will be in any better shape than the one I currently have. Who knows who owned it before? Perhaps they used it for Bitcoin mining and it is just days away from dying? These days I would prefer to know where a machine has been and what sort of life it has experienced so far, before receiving my cruelty.

Whilst I recommend most people get second-hand devices (especially during these times), this is not a viable option for me. It also only contributes to further e-waste, and eventually I will end up with yet another machine that is broken in some way and not having any ability to repair it.

Chromebook (Netbook)

Locally you won’t find one of these machines for less than $400 second-hand, upwards of $600 for a new machine. They are no more powerful than a Raspberry Pi (possibly less) and suffer most of the issues that a second-hand device does.

What’s worse is that many of these devices do not support Linux out of the box either, running some custom ARM hardware. These machines are far from ideal.

Other Considerations

Before getting into the next part, I wanted to mention that above list is not even close to exhaustive - they were just the options more seriously considered. I also considered several other options:

Options certainly exist out there, it’s just that nothing really exists out there for me.

Chunk Boi Pro

I have some experience in developing hardware from scratch, and have done some ambitious projects already, including a humanoid robot. I’m pretty confident that I have the skills required to actually build such a device. That said, I still discussed the design with a friend, who agreed that the project looked surprisingly viable. Awesome!

Parts

To make this build as easy as possible, where viable I will use off the shelf components. I have a budget of about $300 for version 1, and with that money ideally I need to get something that can be used daily.

Jetson Nano

The mainboard will be a Jetson Nano, due to the fact that I have one laying around and it’s a pretty capable board. It has the following specs:

  • GPU – 128-core Maxwell
  • CPU – Quad-core ARM A57 @ 1.43 GHz
  • Memory – 4 GB 64-bit LPDDR4 25.6 GB/s
  • Storage – microSD (not included)
  • Video Encode – 4K @ 30 | 4x 1080p @ 30 | 9x 720p @ 30 (H.264/H.265)
  • Video Decode – 4K @ 60 | 2x 4K @ 30 | 8x 1080p @ 30 | 18x 720p @ 30 (H.264/H.265)
  • Camera – 2x MIPI CSI-2 DPHY lanes
  • Connectivity – Gigabit Ethernet, M.2 Key E
  • Display – HDMI and display port
  • USB - 4x USB 3.0, USB 2.0 Micro-B
  • Others – GPIO, I2C, I2S, SPI, UART
  • Mechanical – 69 mm x 45 mm, 260-pin edge connector

The processor is reasonable, the RAM will allow a reasonable number of tabs (if managed correctly), the GPU is more than good enough to run the game I would like to play, video encoding and decoding is actually better than my current machine - as well as the neural network support, it has more USB 3.0 than my current machine and generally this is a really nice board. If I remember correctly all of this is also supported in just 5W!

HDMI display

The display I purchased for about $100 from Aliexpress. It is simply an ‘external monitor’ with a slim profile that can also been powered via USB power. Although it is just 10 inches or so, it displays 2k, making the resolution much better than something like the Pinebook Pro and making better use of the GPU power on the Jetson Nano. (Actually, the display should in theory be nicer than my current laptop!)

SK61 mechanical keyboard

The keyboard I purchased for about 480 from Aliexpress. I needed a new keyboard anyway, I have re-soldered this one already and it is most definitely reaching EOL. It’s been used for 3 years solid and was just a cheap Chinese solution. It has done well though and will see some more life as yet.

The new keyboard uses Gateron optical switches, and are hot-swappable. This most definitely fits within my upgrade and maintain requirement! The only issue with the keyboard is it’s size - but if you’re going to build a custom laptop, we don’t build something worse than we currently have!

Power bank

For power, I am using what can essentially be thought of as an older version of the powerbank found here. Inside is just some 18650 cells from a dead laptop I salvaged them from. This will not supply much power at all, but should be good enough for proving out the design. I intend to upgrade this at the nearest opportunity, but it would be good to find out how much power can be feasibly got from these old cells (compared with recharging my phone for example).

I also purchased some small support components that will make an appearance in later posts. These were just power switches and USB extension cables.

Design

The next step has been to throw some initial designs together in OpenSCAD. I need to make sure that the parts can fit within a reasonably sized chassis. By far the largest issue has been in fitting the mechanical keyboard into the design.

OpenSCAD opened laptop

As you can see, it’s going to be thicc, but will be nice and maintainable. The upper and lower plates will be steel, weighing about 0.8 kg, but will bring all the structure to the machine and act as the magnetic mounting points for all components.

The intention is to attach all parts to the chassis via magnets, meaning the laptop can be customized easily and quickly. This would mean that in theory the laptop could even be repaired or upgraded whilst out and about using any good electronics store!

OpenSCAD closed laptop

The yellow part is intended to be made of wood, via a CNC/router setup. Initial experiments will use 3D printing as not to waste wood resources and to get the structure correct. Inserts will then be 3D printed and attached to the chassis via magnets.

One thing that is going to make me laugh is seeing this thing go through a scanner at an airport - this laptop will be un-scannable (which is probably for the best, given how easily flash memory can be screwed by x-rays). The intention is to keep the weight of the machine below 3 kg as to remain portable in some sense.

Next Steps

I currently wait for the parts to arrive from China. In the meantime I need to source the steel plates and hinges, then begin 3D printing the prototype chassis structure, as well as mounts for the parts I currently have (such as the Jetson Nano).

In theory there should be a part 2 follow up all going well!