A while back I decided that it would be good to have a Linux machine dedicated to my various electronics, robotics and other maker-y projects. I have an Ubuntu VM on my iMac, which is all well and good. But being able to physically plug stuff into the machine is handy.
I trawled the web for small form factor PCs, as I don’t have a lot of desk space to dedicate to this. At the same time, I was watching a lot of YouTube channels covering stuff like single board computers (SBCs). And that’s when I became aware of DF Robot’s LattePanda Alpha.
Yes, you could buy a small PC for less money. But that PC wouldn’t have GPIOs. The LattePanda Alpha has lots of I/O options for stuff like video that I probably won’t use, but it’s good to know it’s there. And it even has an onboard microcontroller – effectively an Arduino Leonardo – wired directly to one of its serial ports and with the GPIOs broken out. Nice.
(As a quick aside, a lot of people have moaned that this is a relatively underpowered microcontroller. “They should have used a <insert favourite microcontroller here>,” they whine. This is missing the point. The Leonardo functions well in the role of a human interface device (HID), which I suspect is its main purpose here. It also adds a microcontroller cheaply. The Alpha isn’t about the microcontroller per se – it’s really just another I/O device.)
It has plenty of grunt for a non-games player like me. It has an i7 Core m3 processor, if that means anything to you, being run at … uh, a number of GigaHertz …
Look, as someone who used to review PCs for a living, I know that this spec stuff means a lot to some people. But it means little to me. I haven’t run benchmarks for a couple of decades and never will again. Will it run Python scripts, Eclipse, the Arduino IDE and YouTube videos without me noticing any issues? Yes. So there – job done.
The Alpha gives me everything I need – a PC in a small form factor that is eminently hackable. The 864 model I bought runs its OS from a 64GB eMMC (there’s an SD card slot if you insist on doing things that way) and has 8GB of RAM. I plugged in a 500GB NVMe drive into the M.2 m-key slot as the main hard drive. There’s another M.2 e-key slot for other add-ons but I can’t yet think of anything I want right now.
The Alphas come shipped with Windows 10 installed, although I opted for the slightly cheaper version where Windows isn’t activated. That’s because I knew the first thing I would do is get rid of Windows (-=shudder=-) and install Ubuntu 18.04, which is what I did. I put the Ubuntu ISO on a USB flashdrive, set the Alpha’s BIOS to use USB as the first boot option and everything just went smoothly, with networking (wired and wireless) coming up fine. I haven’t tried anything Bluetooth-y yet because, weirdly, I never seem to find any use for Bluetooth.
Sharing files with my Macs (desktop and laptop) is done via a home cloud setup using NextCloud on a Pine64. Installing the NextCloud client on Ubuntu was a doddle.
Next I plugged a 16×2 LCD display (with the Adafruit I2C backpack) into the I2C GPIOs of the Alpha’s microcontroller. I installed the Arduino IDE, which immediately saw the right serial port through which to talk to the Leonardo. And now I have a secondary display for showing handy messages. The Arduino remains running so long as power is applied to the board, even if the main PC is shut down.
As far as I know, there’s no official case for the Alpha yet. I may build mine into a project enclosure or maybe put it on the back of a small LCD panel. For now, though, I’ve provided it some measure of protection by sandwiching it, with stand-offs, between two roughly-hewn rectangles of acrylic. There’s just enough room to get Dupont headed cables into the GPIO sockets and provide good airflow for the fan while preventing me from dropping stuff right on to the circuit board.
And I have to say, as a desktop machine it’s giving me everything I need. So, on with the hacking…