Tutorial 11: ODROID-XU4 / XU4Q Lakka Gaming Console Build Part 1
-
Author: Brian A. Ree
Sections
0: Tools Needed
- A small screwdriver set that contains a few small phillips head screwdrivers.
- A clean static free work surface.
- Monitor or TV with HDMI support to test the device.
- USB Keyboard
1: Parts Needed
- ODROID-XU4 / ODROID-XU4Q x1: $49.00 / $49.00 (On Sale normally $59) link / link
- Case x1: $5.40 link
- 64GB Micro SD Card x2: $15.99 link
- HDMI Cable x1: $1.00 link
- Power Supply 5V/4A x1: $5.50 link
- GameSir Wired Controller x1: $17.00 link
2: Introduction and Tutorial Goals
Hello and welcome to our ODROID-XU4 Lakka gaming console build tutorial. This review will show you in detail how to build a
powerful Lakka based retro video game console from scratch. You will need some parts.
I've listed the ones I used above and placed a link next to each one. These are the actual items I've used in the
past and I find them to be reliable. SD cards do fail and sometimes with no warning but for the most part
I've had no problems with the parts listed.
This tutorial will cover the setup, and construction of the game console from a hardware and software point of view.
Now unlike the Monku Retro 1, 2 we won't be adding any special hardware buttons. The ODROID-XU4 comes with a hard reset button
built in, so that's already done for us. As for the custom control button I have not found a good location for it using the current case.
However, this device is much more powerful than the C1+ or even the C2 and it is also fairly more reliable so for now we'll not add one to the device.
We will also cover all the software setup including installing and configuring Lakka, retroarch, and certain emulators.
Most of the software configuration steps will be covered in part 2 of this tutorial.
Let's take a look at some of the features of the device we're working on, wow look at that emulator list!
XU4 Features:
- ODROID Goodness!
- Hardware Reset Button
- Support for Atari 2600, Atari 5200, Atari 7800, Atari Jaguar, Atari Lynx, ColecoVision, Commodore64, MSX-1, MSX-2, NES, GameBoy, GameBoy Color, Virtual Boy, SNES, N64, GameBoy Advance, WonderSwan Pocket/Color, NEO GEO Pocket/Color, Sega SG-1000, Sega Mark 3, Sega Master System, Sega Genesis, Sega GameGear, Sega Dreamcast, NEC Turbo Graphics 16, NEC Super Graphics, PSP, and PS1 emulators configured and ready to go.
- Lakka and Retroarch with XBM.
Take a look at the performance specs of this device when compared to some other common devices.
Ok let's get to it shall we!
3: The Hardware
First thing's first let's go over the tools and parts, lay them out, and get ready to build. We have an electronics screw driver set.
If you've built an ODROID-GO the same screw driver set should work fine here. Notice we have our device, an ODROID-XU4 is depicted below, this tutorial
applies equally to the ODROID-XU4 or the ODROID-XU4Q version of this device. The device runs just about every emulator you can think of and it runs
them wonderfully. We have our board, case, SD cards, and tools all ready to go.
Clear your workspace and grab the case, take it out of its plastic bag if need be, place it down in the center of the work space.
There are two main clips on the case, all in all it's easier to work with than the C1+ / C2 cases. The first main clip is on the left hand
side of the case bottom near the top. The second main clip is on the top side of the case bottom near the right. You can see slight rectangles near
these areas in the image below.
To clear the first main clip give the case a slight skew as shown below. Ever so slightly pushing the bottom to the left while pushing the top
to the right should do it.
Once it comes undone flip the case around so that the other main clip is in the position depicted below.
Apply a similar set of forces until the clip separates. It should comes apart easily once you get the right set of
subtle forces on it. Notice we're using a similar technique for the second main clip as we used for the first.
Once you have the case separated you'll find a surprise inside. A bag of tiny screws. If you have an ODROID-GO and you have a good amount
of left over screws I would recommend using them instead of the screws provided. Now this could have changed but at one time the default case screws
were a bit smaller than the ODROID-GO screws and I found the extra screws in the ODROID-GO kit to be easier to work with.
Let's layout the tools and parts we need to assemble the case with the XU4 board mounted inside. You won't have to worry about
SD card access, if you're used to the C1+ or C2 case, the SD card is easily accessible by default.
Carefully open the antistatic bag that the XU4 comes in. Make sure you don't have a static charge by discharging yourself against something large and metal.
Layout the case and the board, rest the board on top of the antistatic bag, we're going to place the board on the bottom half of the case
and place and tighten the 2 internal screws. The XU4 case is similar to the C1+ / C2 case in that there are two internal screws and 2 external screws.
Tip: Make sure the screws are tight but don't over tighten them, snug would be a good description of how much to tighten them.
Flip over the case and place and tighten the two external screws.
With the back of the case facing towards you take notice of a small white switch.
Flip the switch closer to the edge of the case for SD card use, flip the switch the other way, closer to the
center of the case, for eMMC use.
Bam! You're all done with the hardware construction.
Next up we'll be working on the base SD card and OS image.
4: The Software
For the next step we're going to locate a specific Lakka OS image.
Navigate your browser to lakka.tv. This is the place to go
to find versions of Lakka configured for different embedded systems. Click the Get Lakka
button on the landing page. You'll be brought to a disclaimer page, it's ok, it is just telling
you the software is under development - nothing more than that. Click the Get Lakka button
and then click on the Linux image in the subsequent page's OS choices.
You'll be brought to a screen that has a listing of Lakka images custom prepared for different
embedded systems. Find the ODROID section depicted below.
Click on the ODROID XU3/4 entry then click on the Download Lakka button presented on the next page.
The image file is around 300MB so it'll take a little while to download but not too long. In the mean time
get your SD cards ready and test them out on your SD card reader or SD card USB adapter. Once the image is done
downloading I'll show you how to write the image to your SD card. The filename at the time of this writing
for the target SD card image is Lakka-OdroidXU3.arm-2.2.2.img. Don't worry that it says XU3 and not XU4
the image will work fine on your device.
Next let's get ready to write the image to an SD card.
For OSX I use Balena Etcher.
On windows I use Win32 Disk Imager
and for Linux I use some CLI tools like dd.
On OSX install Balena Etcher from the link. Select the uncompressed OS image we just downloaded. Insert your micro SD card
into your Mac either using a converter of some kind, link to one listed above, or using a native SD card drive.
Make sure to select the proper target drive. You don't want to overwrite important data so make sure to double check the destination drive.
Once you're sure everything is set correctly then flash the OS image to the SD card, this will only take a few minutes. The SD card will be unmounted
and ready to remove at the end of the process.
On Windows install Win32 Disk Imager from the link.
Select the uncompressed OS image we jsut donwloaded. If you have trouble uncompressing the OS image with native Windows decompression
tools try using 7-Zip, it has come in handy for me in the past.
ALERT: Make sure to triple check your drive letter it is very easy in Windows, using this software, to select the wrong drive and ruin it.
So triple check and make sure you have the correct drive letter selected. Once that's done click the Write button to write the OS image
to the SD card. Wait a few minutes and let it complete. You'll want to unmount the SD card before removing it from the computer.
Note this picture depicts a different img file being written. Just ignore that.
On Linux use the following command to list the drives on the system.
sudo fdisk -l
Look for an entry like the following. Make sure you have identified the correct drive by ejecting the SD card and
checking that the entry is not longer available.
ALERT: Be careful and take the time to correctly identify the correct Linux device or you could end up
overwriting one of your drives.
Device Boot Start End Sectors Size Id Type
/dev/sda1 8192 30253055 30244864 14.4G c W95 FAT32 (LBA)
To restore an image to a drive using the terminal on a Ubuntu linux system
use the following command.
sudo dd of=/dev/sda1 if=~/Lakka-OdroidXU3.arm-2.2.2.img
Wait a few minutes for the process to finish and an output report to be printed to the terminal.
Now you have a Lakka ready SD card ready to use on your ODROID-XU4!
Let's get ready to configure Lakka and get our ROMs and Controller ready.
Before we do so we have to set things up some we can control the device remotely.
I like to use SSH to connect to my Lakka devices so that is the method I'll cover.
Keep in mind the default login for Lakka OS is as follows.
User: root
Password: root
I won't be covering how to sure up security on Lakka, keep in mind that it is not necessarily
configured with security in mind. It's a good idea to turn off SSH once you're done configuring
things and loading up ROMs. You'll have to turn on SSH by navigating to Settings -> Services
and turn on SSH.
First thing's first let's find out what IP address the XU4 Lakka device is running on.
I use a cable connection as opposed to a USB WiFi device for simplicity sake.
On the main menu category there is an entry called Information depicted below.
Select the Network Information entry and you'll be able to see the device's current IP
address if the network connection is working.
You can connect to the XU4 Lakka device via SSH on Max OSX and Linux, even from another ODROID device running
Ubuntu if you have one...hint...hint. You'll have to substitute the IP address of your XU4 Lakka device for the
one displayed in the following screen shots.
On windows you'll have to install putty, a free SSH client. You can find putty at this URL,
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html.
Select the version you need for your system, 32bit or 64bit, and install it.
That wraps up this part of the tutorial. Tune in to Part 2 for steps on how to configure retroarch, copy over your ROMs,
and setup a controller.