My brother in law showed me a cool board game with a very strange name: Hneftafl. The game is an old Viking game and I really liked playing it. The rules are short and easy to explain, so it can even be played by kids. I designed my own version of the game for laser cutting and created a rules one-pager that explains how to play the game.

Vikings_Hneftafl_OnlyBoardThe graphics are based on old Viking symbols and I used a Celtic knot as the border of the game board. I found a very nice HTML5 Celtic knot generator that allowed me to get the right border thickness for my board.

The game is played with 3 types of pieces: a king with a team of 12 protectors and a team of 24 opponents. In the versions of the game that I found online, the two opposing teams are just two Viking tribes in different colors. I thought it would be nicer to have 24 knights take out the 12 Vikings and their king. So I designed simple but nice looking playing pieces. For the historians among you, I am aware that Viking helmets did not have horns, but I just find horned Vikings cooler.


2016-01-02 01_17_43-Jewelry box – CartonusThe next thing I designed was a hinged box to hold the pieces and a lid that serves as the game board. When I was scavenging for hinges and box closing mechanisms, I found a website that had a very nice design. The hinge is something that I had seen on multiple other designs already, but the closing mechanism is very cool. It consists of a cutout in the lid and a stick-out part of the side that is slightly larger than the cutout in the lid. The stick-out part has vertical cutting lines, that make it somewhat flexible and allow it to be clamped into the cutout of the lid. For now I just guessed the tolerances for my design and I will evaluate my choices when I manage to laser cut it..

To make sure all my designs were correct, I exported the vector drawings to pdf, imported them in Rhinoceros and virtually assembled the box. I had to start over 3 times because I got some detail wrong on the hinge design, so the virtual assembly was very useful. Now that my designs were assembled in 3D, I made some beautiful renders with the pieces in the starting position. These are my nicest Rhino renders yet.


The designs were created for 3mm MDF. You can download the designs below or on Thingiverse:

Have fun making and playing the game!


2015-12-23 13_51_50-crosspattern.svg - Inkscape

Something that always amazes FabLab visitors, is flexible wood. By laser cutting special patterns in the wood, it is possible to make the wood flex without breaking. Aaron Porterfield has created an instructable with different patterns to create flexible wood. The flexibility of the wood is dependent on the thickness of the wood, the shape of the pattern and the size of the pattern. If you want to read more about the physics, click here.

Today, I made some flexible Christmas ornaments for the Christmas tree. We will need some general geometry and of course the flexibility patterns. I will cut the ornaments in 3mm MDF. If you want to create flexibility patterns for other materials or another material thickness, you will need to experiment with the pattern dimensions.

Here are some pictures of the final result, with proof of flexibility:


All of the source files can be downloaded by following the links below. You can also download them on my Thingiverse page.


The pattern

A pattern consists of a base geometry that is repeated horizontally and vertically. We will create the base geometry in Inkscape and use the translate functionality to repeat it. I will explain this for the line pattern, but the same method can be applied to create any pattern.

The goal

The goal is to create this interlaced line pattern. The lines are 20mm wide, the horizontal distance between two lines is 3mm, the vertical distance between 2 lines is 2,5mm.

2015-12-23 14_17_10-linepattern.svg - Inkscape

Drawing a horizontal line

Draw a horizontal line using the Draw Bezier Curve tool 2015-12-23 14_01_22-New document 1 - Inkscape. By holding ctrl when drawing ensures that you can only draw horizontal, vertical or diagonal lines. When you have clicked twice to make a horizontal line, Inkscape allows you to keep on drawing. To end your line, press enter. You should end up with something like this:

2015-12-23 14_04_25-New document 1 - Inkscape




Setting the line length

To set the line length, use the Select tool 2015-12-23 14_08_13-New document 1 - Inkscape to select your line. If you are in transform modus, you should see transform arrows around your line (see picture below). In the top toolbar, you can then set the width of your line, by selecting the correct units (mm) and changing the number next to W to 20. The height of the line is dependent on the stroke of the line and at this point we don’t care about that.

2015-12-23 14_08_56-New document 1 - Inkscape

2015-12-23 14_09_24-New document 1 - Inkscape

Basic shape

To create the interlaced pattern, we will need to duplicate and translate the line to its interlaced position. Because the line length is 20mm and the horizontal inter-line distance is 3mm, we need a horizontal translation of 11,5mm and a vertical translation of 2,5mm.

Press ctrl-D to duplicate your line on top of the old line. In the Menu bar, choose Object>Transform to open the Transform panel in the right sidebar. Select your line and enter 11,5mm as horizontal and -2,5mmm as vertical translation.

2015-12-23 15_02_41-New document 1 - Inkscape

This should be the result, two interlaced lines, ready for the pattern!

2015-12-23 15_03_09-New document 1 - Inkscape

Creating the pattern

First we will repeat the pattern horizontally. Select the two lines and set the horizontal distance to 23mm. Press ctrl-d to duplicate the two lines, then apply the transformation. Repeat this multiple times to get the desired width of the pattern.2015-12-23 15_08_50-New document 1 - Inkscape

The result will look like this:2015-12-23 15_11_30-New document 1 - Inkscape

Now we need to repeat the pattern vertically. Select all the lines and set the vertical distance to -2,5mm. Press ctrl-d to duplicate the two lines, then apply the transformation. Repeat this multiple times to get the desired height of the pattern.2015-12-23 15_13_29-

The result will look like this:

2015-12-23 15_14_12-New document 1 - Inkscape


Before I start posting about what I created, I thought it would be nice to make a short overview of software tools that I use for creating stuff.

inkscapeMy favorite 2D software tool is Inkscape. It is a vector drawing program and completely free (unlike Adobe Illustrator). To me it is the go-to program for everything that I need to lasercut. It automatically contours bitmap images, can do boolean operations on shapes, imports a lot of formats and exports to almost any file format.

sketchupFor most of my 3D design, I use Google Sketchup. I really love the simplicity of the 3D drawing, which is completely different from any other CAD program I’ve used. I can sketch things like houses or furniture very quickly to get an idea of how an interior will look like. But also basic parts can be created for 3D printing with a proper STL export plugin.

OpenSCAD-logoSome 3D models are better to create as parametric designs. OpenSCAD is a program for creating 2D and 3D shapes in a kind of programming language. For a software developer like me, it makes sense to use this tool. But I can imagine that this program has a very steep learning curve for the ‘normal’ people.

cura-logoTo 3D print your designs, you will need to slice your 3D objects (STL file) into layers and calculate the machine code for the 3D printer (gcode). Cura is such a free slicer, which is created by the same guys of the Ultimaker. I love this software for its simplicity and it gives me very good 3D prints.


I use several programming languages, but my go-to language for making stuff will always be Python. This language is open source and comes pre-installed on OSX. The language has a peculiar syntax that will scare any Java or C++ programmer at first. But once you embrace the simplicity of this language and its millions of free external libraries, you see how powerful Python really is. Python works for a simple 10-line script up to an application with a full GUI with 3D interaction possibilities.

I believe that these 5 programs should be installed on the computer of every real maker. If you don’t agree, let me know in the comments ;-).