Introduction: DE4 FPGA Tablet

The DE4 Tablet is a portable tablet computer designed by the Computer Laboratory at the University of Cambridge.

It uses a Terasic DE4 FPGA board with an Altera Stratix IV FPGA.  It has a full set of peripherals on the DE4, as well as a battery, touchscreen and HDMI output - you can give presentations from your own FPGA design!  As well as designing the tablet we designed the CPU and most of the peripherals that go on the FPGA.

This is the mechanical design - what you put on the FPGA is up to you! We hope to open source more of the components we use in our FPGA designs in future.

To build the Tablet you will need:

A DE4 FPGA board
Terasic Multi-touch LCD module
HDMI Transmitter Daughter Card (optional)
Energizer XP8000 battery (optional, ours came from CPC) 
PicoPSU-80 voltage converter
Use of a laser cutter and some 1, 2, 3 and 4mm acrylic for laser cutting pieces 
A collection of M3 screws and pillars - see the full parts list in github

There are two versions - one with battery and HDMI output and the other
without.  These instructions assume you're building the battery version -
the non-battery version is simpler and you can just omit steps relating to
the HDMI and battery.

These instructions and design files are freely modifiable under the 2-clause BSD licence.
Computer Architecture Group, University of Cambridge Computer Laboratory

Step 1:

First, grab a copy of the github project:
git clone
or browse to

You'll find some files beginning 1mm, 2mm, 3mm, 4mm - these are the designs
you need to laser cut.  We used several types of acrylic:
1mm clear (for the battery cover)
2mm clear (for the PCIe protector)
3mm blue (for the baseplate)
4mm clear (for top plate, bezel and supports)

If you don't have as many types of plastic lying around you can vary the
thicknesses and colours - you might have to adjust some of the support
pillar lengths to fit.

Step 2:

Start with the blue baseplate.
Attach 5x 5mm M3 M-F pillars using M3x6 screws, to match up with the inner
holes on the DE4

Step 3:

In the corners, attach 4x 5mm M3 M-F pillars in the same way, but using
4x 12mm M3 M-F pillars on the other side.

Step 4:

Remove the back acrylic plate from the display, leaving the bare PCB
attached with the original 6x M3 pillars.  Place this underneath the

Step 5:

Align the screen pillars with the baseplate and screw in with 6x M3 6mm
nylon screws.  Nylon screws are used here to avoid shorting out on the DE4
if the plastic flexes

Step 6:

Make up or buy a 40 way IDC cable that's 12cm long.  Don't make it longer
than this (it picks up interference from the display), and you don't need to
use an 80 way IDE cable as the screen is supplied with.  Make slits between
conductors to make the ribbon more flexible.

Step 7:

Fit one end of the ribbon to the display through the hole in the

Step 8:

Slot on the DE4.  A small amount of adjustment of pillars may be

Now is a good time to fit SODIMMs to your DE4 (if you are using them) or setting any DIP switches as necessary.

Step 9:

Take the PCIe protector (2mm acrylic L-shaped piece).  Place two washers on the pillars then slot the protector over the holes to cover the PCIe connector.

Step 10:

Screw on M3 F-F pillars of different lengths:
B 13mm/14mm
A 9mm/11mm
G and G2 30mm (x5)
J 13mm
C 11mm/12

All the pillars are labelled in the stackup diagram.

If you can't buy these pillars, you can buy the nearest size and add
unthreaded spacers to extend them.  The exact pillar length may depend on
the tolerances of your acrylic (which can vary widely) so you may need to
adjust them slightly.

Step 11:

Take the HDMI TX board and its base plate (4mm acrylic)
Make sure the base plate is earthed so it holds no static charge, then screw
the base to the HDMI board with 2x 8mm M3 screws and M3 nuts

Step 12:

Attach the HSMC extender (supplied with the DE4) to the HSMC socket on the DE4 nearest the
ethernet ports.  You may need to adjust the pillar height supporting it -
the idea is that it's very close but not touching the pillars, so that the
connector is bearing most of the weight.  Slip in a 1 or 2mm spacer in here
if necessary to support it.

Step 13:

Fit the HDMI board to the extender.  You may have to adjust the height
of pillars B and C to fit.  Ideally it should be spaced so that the bolt
heads on the underside of the HDMI board almost but not quite touch the top
of the ethernet sockets.

Step 14:

Take a PicoPSU and disconnect all the optional cables.  Take the
mounting plate and thread the power input cable through the larger of the
square holes.  Cable tie the PicoPSU in place - the lock on the tie must be
on the opposite side of the mounting plate from the PSU.

Step 15:

Attach the DE4 power adaptor cable to the PicoPSU.  May take a little
adjustment of the pins to make it fit (the PicoPSU connector tends to curve
a little).  Cut off the end of the cable tie.

Step 16:

Take the lid and the battery cover.  Attach the battery cover to the lid
with 5x M3 30mm screws and nuts and washers on the reverse.  Also use 3x M3
8mm screws with nuts and washers on the lower three holes.

Step 17:

Fit the battery into the slot in the lid, cover it with the battery
support, and screw on with nyloc screws (careful not to tighten too much).
There are dimples on the bottom of the battery which align with holes in
the battery support.

Step 18:

Screw the PSU support into the lid using 4x M3 25mm screws and nyloc
nuts (again, don't overtighten).  It doesn't sit parallel to the lid, so
don't worry if it isn't flat.

Step 19:

Cut off the input socket to the PicoPSU and replace with a 1.3mm DC
power plug and a switch interrupting the positive rail.

Step 20:

Remove all nuts and washers from the switch.  There are two side pieces
a middle piece and a top piece that hold the switch in place - you may find
that another pair of side pieces is more convenient than the top piece.
The square top piece holds everything together, and are screwed on with 4x
M3 20mm screws and nuts.

Step 21:

Plug in the ATX power cable into the DE4.

Step 22:

Place the lid on top of the DE4, making sure all cables are arranged and
don't snag on the fan.

Step 23:

Lightly attach the lid at the battery end with 4x M3 12mm screws

Step 24:

Now add unthreaded spacers to the four screws around the HDMI board so it's
supported correctly.  As this depends on the tolerance of the acrylic, you
may have to adjust it slightly.  Here's what I used:
A: 1mm + 2mm + 7mm
J: 1mm + 7mm
C: 2mm + 8mm
B: 2mm + 8mm (this requires thin-walled spacers - omit if you don't have
Screw these stacks together with M3 25mm screws.
Tighten all the lid screws and make sure it sits flat.

Step 25:

Fit the MTL-LCD adaptor and plug in the screen ribbon cable.

Step 26:

Fit the bezel around the display and screw on with 4x M3 8mm screws

Step 27:

You're done!

Now all you have to do is design what to put on the FPGA...