Installing Atari ST Emulation in RetroPie Using a Pi Zero 2W, 3, 4 or 400
17th January 2022Fix the Emuparadise Download Links Using Tampermonkey Javascript Code
11th February 2022Don’t Scrap Your Old Laptop. Upcycle It! Use 1 – Coding Development System
I was clearing out one of my drawers the other day and came across an old laptop.
This is an Asus EeePC 900 from around 2010 when a lot of these very small netbook computers were coming onto the market. Even when I bought this it wasn’t a very powerful machine. It’s built around the Intel Celeron-M 353 processor running at 900Mhz. I’ve installed the maimum 2 GB of RAM and it’s using the orginal very slow 16 GB SSD hard drive. Mine came pre-installed with Windows XP and it was just about capable of running simple office tasks, which is really what it was bought for.
I’m sure if most of us look around in our cupboards we’ll find similar old machines lying around gathering dust. These obviously won’t run more modern versions of Windows or Linux but it does seem a shame to simply scrap them, especially since they’re in such a nice, neat package.
So what can you do with a very low powered laptop?
In this tutorial I’ll be setting the laptop up as a development system for coding the Raspberry Pi Pico in MicroPython and as an Arduino IDE based development system for coding in C++. This can turn it into a very useful tool allowing you to have a dedicated machine for your project area or if your kids want to have a go at making projects without tying up your main development system.
So lets rebuild this laptop with some new software.
Choosing an Operating System
The first job is to get the EeePC up and running with an up to date operating system. Windows is completely out of the question. Even if we go back to Windows 98 or even 95 we might get OK performance but most of our software will just not work. So some version of Linux is going to be the best bet.
Full desktop Linux will probably need newer and better hardware. I’ve only got 2GB of RAM, the maximum this machine can handle, so most will probably fail to install.
But there is a very active community developing Linux distros tailored to lower powered machines. With the rise in single board computers such as the Raspberry Pi, lite versions of Linux are essential. Indeed I had installed a version of Raspberry Pi OS on this EeePC a couple of years ago which gave me a Linux based laptop I could just pull out when I needed one.
So the Raspberry Pi Desktop is an option. But even this is starting to need better performing hardware to give a useable experience. So we can look at a number of other Linux distros to relly bring the hardware requirements down.
There are a wide range to choose from, but I settled on Lubuntu as it’s one of the more mature versions and takes the minimum requirement right down to an Intel Pentium II or Celeron processor with only 128MB of RAM and 2GB of hard disk space, well inside the spec of the EeePC.
Downloading and Installing Lubuntu
The main Lubuntu download is for the 64 bit version. My EeePC runs the Atom 270 so it’s only a 32 bit architecture. So do make sure you check your own hardware specs to make sure you download the right version.
Once that’s downloaded you need to burn the image to an SD card or USB stick. Both the Raspberry Pi Imager App and Belena Etcher make this process very simple.
Once you’ve got the disk image ready you need to work out how to get your laptop to boot from USB. If you power on the machine you can usually press one of the function keys to get into the BIOS setup screen. Here you can change the boot order to boot from USB first, or if you’ve got an EeePC like me you can just press the escape key while booting to bring up a boot drive menu.
Either way power down the laptop, plug in the boot disk and boot from USB.
Setting up Lubuntu is very straight forward. The only hard bit is getting the disk drives set up, but simply delete all the existing partitions and then tell Lubuntu to use the entire disk. After that work through the region settings, connect to your WiFi or Ethernet network and then let it run it’s course. You’ll eventually be asked about a GRUB bootloader, so let Lubuntu add this in for you.
Once the operating system is installed you should be able to boot up and log in to your new PC. Mine immediately prompted me update the software so I let that run through as well.
All of this setup probably took about an hour to complete due to the slowness of the EeePC, but you can mostly leave the install running and just pop back now and again to check if it needs any input from you.
Installing the Development Systems
So now it’s time to get some software onto the machine.
Thonny for Python and MicroPython on the Raspberry Pi Pico
Thonny is a basic Python and MicroPython development system promoted by the Raspberry Pi Foundation. It’s very easy to use and is very good at working with the Raspberry Pi Pico.
I found that the standard install using the package manager in Lubuntu wanted to download an older version, so I simply followed the instructions on the Thonny website to download and manually install the latest version.
This involved using a bash command so I first of all needed to install bash.
sudo apt install bash
And then I could run the Thonny download and install command
bash <(wget -O - https://thonny.org/installer-for-linux)
This command will download the files, install the software and put shortcuts on your desktop and in the Programming menu on the start menu.
Arduino IDE for C++ on the Arduino and Others
To work with the Arduino platform in C++ we’ll need the Arduino IDE. Installing in Linux requires you to download, extract and run the install script. The Arduino people have made a very easy to follow tutorial on how to do this so please have a look there.
https://www.arduino.cc/en/Guide/Linux
As we’ve now got a full Linux desktop we can do all of this without having to go into the console. Just use your file manager app to find the downloaded file, open it, drag the Arduino folder to some where sensible, open it and right click the install.sh file so you can run it in the terminal.
You’ll now have the Arduino IDE to play with.
Giving Your Account Access To The USB Ports
Before we can properly use the development system we need to make one change to your account settings. At the moment you’ve not got permission to use the USB ports for communication which we’ll need for programming our Pico and Arduino boards.
Open up a terminal window and use the command
sudo usermod -a -G dialout <username>
replacing <username> with your Lubuntu account name. This is the first part of the text on your console command line. This will add you to the dialout group which owns the USB ports.
Using the Development System
From here you’ve got everything in place to work with our microcontroller projects. These development systems don’t put much pressure on the processor or RAM so they work as well as on any other computer. Just use them as you normally would.
What Else Will Run?
Now that you’ve got a full Linux laptop for developing projects you might want to use it for some other tasks. To be honest you’ll probably find this isn’t going to be pleasant.
Browsing the web is OK as long as you avoid any sites that try to run any sort of application code. YouTube works at a snail’s pace – I’ve not even bothered to see if the videos actually work as it takes so long to load the start page.
Simple office apps will be OK, but again you’ll most likely go to your main PC.
So for me this setup is ideal as a small, dedicated, project development system. It can sit in my project area and be my one dedicated Linux machine if I ever need it.
What Next?
So that’s one use for an old laptop.
The next use would be to skip back past the Windows era and build a true MS DOS machine so we can play all the old retro PC games. Keep an eye open for this in an upcoming tutorial.