![]() |
Image thumbnails on this page and the full-size images they link to are licensed under a Creative Commons License (Attribution-ShareAlike; Ask me about other licensing terms). |
Building Block Unit (BBU) — folding instructions
These are folding instructions for the Building Block Unit (BBU) family of units designed by Michał Kosmulski.
This unit was originally designed as an attempt to reproduce business card cubes with origami made from regular square paper. I quickly found out that the extra paper a square sheet makes available can be used to make decorated faces instead of the plain squares that can be produced with the business card unit. This way a single unit became a whole family of related units which can be combined together in many different ways. Some patterns are just abstract decorations while others can be used to simulate architectural elements such as roofs, windows and doors. This, together with the process of building complex shapes by stacking simple cubes or cuboids together like in the children’s toy, lead to the name Building Block Unit.
There are several peculiarities to modules in the BBU family.
First is their sheer number: more than one hundred at the moment of first publication on my website. I’m certain there are hundreds more waiting to be designed. Some models of buildings may even call for one-off units which will be needed only for a single model. With so many different pieces, and several different ways of connecting them, these units are very versatile. The possibility of finding more and more units to add to the family makes this module similar to the Sonobe Unit, known for its countless variations invented by different people.
Another peculiarity is my use of crease patterns (CP) instead of step-by-step instructions. Crease patterns are often used for complex single-sheet models but I haven’t seen them used for modular origami so far. Their use was a necessity: with over 100 shapes and counting, I was unable to prepare step-by-step instructions for all of them in reasonable time. When I started preparing models with different units, I discovered to my surprise that crease patterns were actually very convenient to use and took much less time to read than multi-step instructions. Of course, I had just designed these modules so I only crease patterns as a reminder. I would be happy to hear from you if other folders find them convenient as well.
CPs also allowed me to focus more on what the end result should be instead of the folding sequence, which led me to changing the way I folded each unit: I became able to avoid creating helper creases which often appear as a side effect of early folding steps but are visible in the finished work later on. This cleaner look would not have been possible if I had concentrated on the steps needed to fold a unit instead of on the shape I was intending to create. By viewing some of the models up close you can tell if they were folded before or after I learned that the same unit could be folded in different ways, with or without helper creases.
Direct inspiration for this family of units (actually, the first two tiles, A1 and A2), was the business card cube unit. After folding A2 for the first time, I realized I had already seen it before: it is the same as one half of Tomoke Fuse’s Square Flat Unit. I was inspired to think about assemblies of small cubes by Ardonik’s Haűy-construction of truncated cube made from above mentioned Tomoko Fuse’s unit. Tomoko Fuse’s unit inspired me then to try out an alternative way of connecting BBU units which made it possible to leave cube land and to create models such as the rhombicuboctahedron, the honeycomb and many others which incorporate flat patches made of two units locked together and joined to others with internal connector units. I also have to mention Jackon Cube which uses a different connection method than BBU but again the unit is pretty much the same as the A2 tile.
The first batch of BBU units was designed between December 2014 and March 2015 and published in March 2015 by Michał Kosmulski. I expect more designs to be published over time. Of course you are free (and encouraged) to use it for folding your models and to use it as an inspiration when inventing your own modules.
The pictures and diagrams below are available under a Creative Commons license.
Sample usage
Images of individual units can be found in a separate table below.
Tips and hints for folding
Folding with crease patterns
Instructions for most tiles of BBU family are in the form of crease patterns (CPs). This medium is often used for complex origami models made from a single sheet of paper but I have not seen them used for modular origami so far. Crease patters take some time getting used to but they make it possible to explain advanced folds in little space and after a while they become quite convenient to read. You can find lots of useful information about crease patterns on the web, in particular on the pages below:
- Robert J. Lang’s page on crease patterns
- Crease patterns at origami resource center
- How to fold Box Pleated CPs by Gerwin Sturm
Crease patterns which you can find below were made by folding the units and then tracing the significant folds with a pen. Helper lines can often be seen as untraced creases. They may be helpful in finding out how to construct particular folds, but for most beautiful effect, consult the secton “Avoiding unneccessary creases” below. Some diagrams contain extra tips for constructing non-obvious creases.
Unique tile numbers and tile families
There are lots of different Building Block Units. Most models consist of an inner core which gives them bulk and external tiles which are used to decorate the model. In order to introduce some order to the dozens of different tiles, I assigned each tile an unambigous identification code (there are too many to use descriptive names conveniently). Each code consists of a letter which is the tile’s family (e.g. family B is “stripes”) and a running number within the family. The division of tiles into families is there in order to make finding tiles needed for a particular kind of model easier. However, the division is only rough and based on the external look of the tiles. As a result, tiles whose folding sequence differs by just a single crease may end up in different families.
Variants and modifications
Since there are so many different tiles, some of them differ only a little. Actually, they form a continuum where each tile can be modified slightly and then some and it is hard to put a sharp boundary to where variations of one tile type end and a new design begins. In general, I consider tiles which have “the same set of creases” but possibly moved relative to each other, to be variants of the same tile. For example in tile E1 (cross), the cross can be made broader or narrower by making creases at different points along the side of the paper. Some modules are chiral (not the same as their mirror image) and I consider both the left and right version to be variants of the same unit. When a crease or two are added to a model without changing its appearance much, I consider this a modification. An example would be folding a unit along its diagonal for assembly such as in the spiked icosahedron model or bending A4 connector modules as needed for a particular model. I usually indicate variants in model descriptions and modifications only if they are not obviuos. Some tiles which I consider different and have assigned separate codes could be considered modifications of a single design (e.g. Q14 and Q15) but I included separate diagrams for them in order to highlight the construction methods for their particular proportions. Again, there are no sharp boundaries.
Pretty much any flat tesselation can be transformed into a BBU tile by folding down the edges to make flaps. In most cases this would require paper larger than the one used for inner cubes.
Two-colored units
Most units only display one side of the paper, but a few, for example D2, D4, D17, D18 and E10, are two-colored when folded from two-sided paper.
Arbitrary crease positions
A number of units allow for making creases at an arbitrary position. In the crease patterns such arbitrary coordinates are marked with the letters x, y, z and so on. The same arbitrary distance is marked with the same letter.
Arbitrary folds often determine the relative sizes of flaps. For most external tiles, it is good to make flaps of roughly equal size. In the case of internal tiles (usually A1), it may be beneficial to make flaps with significantly different sizes. This makes less likely situations where two neighboring flaps just barely overlap. Such flaps may cause the paper to curl and be hard to flatten out. It is much better when flaps that meet on one face are either both siginficantly smaller than half the unit length (no overlap at all) or both siginificantly larger (big overlap).
In some models, the arbitrary crease is a design decision which determines e.g. how wide a stripe is going to be.
Connecting units and different connection methods
Cubic connection method
The body of most models consists of cubes folded just as they would be with the business card cube module.
![]() |
![]() |
![]() |
![]() |
![]() |
1. Start by making a single vertex, consisting of three units. Each unit’ flaps will embrace two other units in the finished assembly of six. Note that the assembly will be very fragile until you connect all six units. |
2. All six units connected. Depending on flaps’ size, they may overlap on some faces while there will be free space between flaps on other faces. |
3. Attach an external tile with the help of internal units’ flaps. You may slightly open the internal cube while adding external tiles. You can also roll the flaps a little in order to squeeze them into their pockets. |
4. External tile fully attached. |
5. All external tiles attached. External tiles improve not only the look but also the stability of the model. |
Extended cubic connection methods
Flat connectors (A5 units, sometimes with additional creases) can be used to attach cubes to each other along any edge, as can be seen in the “abstract composition T” model. Tile D1 and its variants can be used to connect cubes diagonally at the corners, and slits such as B2 can be used to attach cubes at almost arbitrary positions along other cubes’ edges.
Flat / Sonobe connection method
Flat (or curved) surfaces can be made from “superunits”, assemblies consisting of two tiles connected to each other via their flaps and a connector A5 piece inserted between them. This creates a Sonobe-like structure: parts of the connector unit can be inserted between units from another superunit. This is similar to how Tomoke Fuse’s Square Flat Units are connected but with a larger connector.
Hook connection method
For models which require extra strength, flat sections can be made from A2 tiles with the flaps of A1 tiles inserted into the internal creases of A2 units. Units must be folded with x = ½ (that is, with symmetric instead of arbitrarily placed folds) in order for this to work well. Since paper thickness is not zero, usually a tiny bit of extra space must be left between the folded edges for the other unit to fit into.
Attaching external tiles to the inner core
Many models have an internal core made of cubes folded from A1 units which is then covered in external tiles which make the model more stable and improve its look. These external tiles are attached in a matter similar to the one used when folding business card cubes: flaps of the external tile are inserted below the flaps of modules building the inner core.
Most models have two flaps which leaves little choice. Others have four flaps which allows either folding two of them below and using only the other two for attachment or putting an extra A2 tile below which makes then attaching with all four flaps possible. Some units have small flaps and all four are needed to hold the unit well in place. Since the direction of flaps in the internal cubes alternates between even and odd rows by 90 degrees, external tiles with two flaps tend to be rotated by 90° every other row. In some tiles (e.g. D6), there are only two flaps, but they can be made either in one direction or in the perpendicular direction so it is possible to have all external tiles pointing one way without the need of putting additional A2 tiles for rotation below.
There are tiles which can not be easily rotated and creating a tile which looks the same on the outside but has flaps located in the perpendicular direction requires a completely different crease pattern than the original. Many stripe patterns in the B family have this property.
Some tiles can’t be attached directly to the inner cubes and require another tile to be used as a base (for example the swan roof Q19 requires tile Q18 as a base).
Squares and rectangles
Building Block Units are by default made for folding cubes and square faces but with minor modifications they can be used to make rectangular faces and rectangular cuboids. Not all tiles can be transformed this way but many of the plain and striped patterns (A and B families) can.
For a rectangular cuboid with dimensions a × b × c, units with face sizes a × b, a × c and b × c (two of each) have to be prepared. This is easiest accomplished by making the first unit with selected sizes and then using that unit as a template to copy the desired length onto the other units. It is easiest to construct rectangular units corresponding to the square unit A2. An example is shown below.



Avoiding unneccessary creases
For many models, there is an obvious way of folding which is quick but which leaves some helper creases visible. In almost all cases, it is possible to avoid these unneccessary creases in order to end up with a clean fold. Crease patterns help a lot since they only show significant creases. For a clean unit, try to fold only those lines which are shown in the crease pattern. Helper lines can often be hidden: instead of folding a line through the whole unit, make just a tiny crease near the paper’s edge. Edges often become the flaps which are hidden once the unit is attached to the model. I plan to expand this section some time in the future.
In the table below which shows all tiles, crease patterns were folded without much regard for avoiding helper creases. In contrast, complete tiles were folded as to avoid unneccessary creases.
Folding the Building Block Units
Folding the two basic tiles
For two basic tiles, A1 and A2, step by step instructions are povided here. For others, you will have to consult the table with crease patterns below. Comparing these step by step instructions with the corresponding crease patterns can be a good start into reading crease patterns.
When folding from thick paper, you may want to leave a tiny margin between the flaps (instead of folding the flaps to exactly touch each other) in order to accomodate for the paper’s thickness. This may come in handy once you start connecting the units.
Folding the internal tile A1
![]() |
![]() |
![]() |
![]() |
![]() |
1. Start with a square piece of paper. |
2. Fold in half. |
3. Valley fold the lower part at an arbitrary point somewhere near one fourth of the paper’ height. |
4. Valley fold the upper part so that the edge touches the edge folded in step 3. This ensures that the total length of flaps is equal to one half of the paper’s side and so is the body of the unit. |
5. Finished A1 unit seen from the side. |
Folding the plain external tile A2
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1. Start with a square piece of paper. |
2. Valley fold vertically at an arbitrary point (at roughly one fourth of the paper’s side). |
3. Valley fold at the other side so that the edge touches the edge folded in step 2. |
4. Valley fold the lower part at an arbitrary point somewhere near one fourth of the paper’ height. |
5. Valley fold the upper part so that the edge touches the edge folded in step 3. This ensures that the total length of flaps is equal to one half of the paper’s side and so is the body of the unit. |
6. Finished A2 unit seen from the side. |
Crease patterns and images of finished units
Family A: plain
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
A1 | internal tile | ![]() |
![]() |
![]() |
![]() |
Basic unit used for internal cubes which are not visible in the finished model. Very simple to fold. Step by step instructions available in Folding basic units. |
A2 | plain external tile | ![]() |
![]() |
![]() |
![]() |
Basic plain tile for use in the external shell. In contrast to A1 which has a pocket on one side and a solid edge on the other, in this tile both sides look the same (solid). Step by step instructions available in Folding basic units. |
A3 | plain external tile (4 flaps) | ![]() |
![]() |
![]() |
![]() |
|
A4 | simple connector | ![]() |
![]() |
![]() |
![]() |
|
A5 | closed edge connector | ![]() |
![]() |
![]() |
![]() |
Family B: stripes
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
B1 | stripe | ![]() |
![]() |
![]() |
![]() |
With two-sided paper, both stripes are the same color (compare B3). |
B2 | slit | ![]() |
![]() |
![]() |
![]() |
This unit can be used for attaching cubes to each other in a shifted pattern. |
![]() |
![]() |
![]() |
||||
B3 | two-colored stripe | ![]() |
![]() |
![]() |
![]() |
With two-sided paper, the two stripes are different colors (compare B1). Variant with different stripe proportions is shown below the “main” variant. |
![]() |
![]() |
![]() |
||||
B4 | narrow stripe | ![]() |
![]() |
![]() |
![]() |
|
B5 | stripe rotated 90° | ![]() |
![]() |
![]() |
![]() |
Crease pattern for a variant in which stripes divide the square in a 3:1 instead of 1:1 ratio is shown below the “main” crease pattern along with images of complete unit for this and one another variant. Many other tiles can be modified in a similar manner, changing proportions between their elements when individual creases are moved. |
![]() |
![]() |
![]() |
![]() |
|||
![]() |
![]() |
![]() |
||||
B6 | ![]() |
![]() |
![]() |
![]() |
Both colors are visible when tile is made from two-sided paper. | |
![]() |
![]() |
![]() |
||||
B7 | ![]() |
![]() |
![]() |
![]() |
||
B8 | wide central stripe | ![]() |
![]() |
![]() |
![]() |
Also available: step-by-step instructions |
B9 | narrow central stripe | ![]() |
![]() |
![]() |
![]() |
|
B10 | ![]() |
![]() |
![]() |
![]() |
||
B11 | ![]() |
![]() |
![]() |
![]() |
||
B12 | ![]() |
![]() |
![]() |
![]() |
||
B13 | side stripes | ![]() |
![]() |
![]() |
![]() |
With two-sided paper, side stripes and center are the same color (compare B14). |
B14 | two-colored side stripes | ![]() |
![]() |
![]() |
![]() |
With two-sided paper, side stripes and center are different colors (compare B13). |
B15 | ![]() |
![]() |
![]() |
![]() |
||
B16 | ![]() |
![]() |
![]() |
![]() |
Family C: diagonals
Family D: squares and other polygons
Family E: stars and crosses
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
E1 | cross | ![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
||||
E2 | diagonal cross | ![]() |
![]() |
![]() |
![]() |
|
E3 | ![]() |
![]() |
![]() |
![]() |
||
E4 | pinwheel | ![]() |
![]() |
![]() |
![]() |
|
E5 | rotated pinwheel | ![]() |
![]() |
![]() |
![]() |
This tile does not completely cover the units below it. |
E6 | sharp pinwheel | ![]() |
![]() |
![]() |
![]() |
|
E7 | big pinweel | ![]() |
![]() |
![]() |
![]() |
Uses D4 tile as base |
E8 | small pinwheel | ![]() |
![]() |
![]() |
![]() |
|
E9 | ![]() |
![]() |
![]() |
![]() |
||
E10 | ![]() |
![]() |
![]() |
![]() |
Both colors are visible when tile is made from two-sided paper. |
Family F: arrows
Family G: bumps and protrusions
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
G1 | fin | ![]() |
![]() |
![]() |
![]() |
|
G2 | double fins | ![]() |
![]() |
![]() |
![]() |
|
G3 | ![]() |
![]() |
![]() |
![]() |
||
G4 | ![]() |
![]() |
![]() |
![]() |
||
G5 | ![]() |
![]() |
![]() |
![]() |
||
G6 | ![]() |
![]() |
![]() |
![]() |
||
G7 | ![]() |
![]() |
![]() |
![]() |
||
G8 | square bump | ![]() |
![]() |
![]() |
![]() |
|
G9 | rectangular bump | ![]() |
![]() |
![]() |
![]() |
|
G10 | ![]() |
![]() |
![]() |
![]() |
Uses D10 tile as base. | |
G11 | ![]() |
![]() |
![]() |
![]() |
||
G12 | ![]() |
![]() |
![]() |
![]() |
||
G13 | ![]() |
![]() |
![]() |
![]() |
A useful modification is to first fold the four corners, thus forming the bottom and top flaps, and to fold the sides as a next step. The upper flap formed this way seems to be easier to fold in a straight clean crease than the original design. | |
G14 | ![]() |
![]() |
![]() |
![]() |
||
G15 | ![]() |
![]() |
![]() |
![]() |
||
G16 | ![]() |
![]() |
![]() |
![]() |
||
G17 | four fins | ![]() |
![]() |
![]() |
![]() |
|
G18 | ![]() |
![]() |
![]() |
![]() |
Family P: windows and doors
Family Q: roofs
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
Q1 | 45° slant with pocket | ![]() |
![]() |
![]() |
![]() |
This roof has a big pocket which can be used to connect other units, e.g. Q3 or Q20 |
Q2 | 45° slant | ![]() |
![]() |
![]() |
![]() |
|
Q3 | 45° gable | ![]() |
![]() |
![]() |
![]() |
|
Q4 | 90° roof top | ![]() |
![]() |
![]() |
![]() |
|
Q5 | 90° gable | ![]() |
![]() |
![]() |
![]() |
|
Q6 | ![]() |
![]() |
![]() |
![]() |
This unit can be inserted under adjacent Q5 tiles in order to cover the empty spaces between them. | |
Q7 | 60° roof top | ![]() |
![]() |
![]() |
![]() |
|
Q8 | ![]() |
![]() |
![]() |
![]() |
Needs diagonal slits (C1 or Q21) for proper attachment. | |
Q9 | roof with arbitrary slope | ![]() |
![]() |
![]() |
![]() |
|
Q10 | ![]() |
![]() |
![]() |
![]() |
||
Q11 | ![]() |
![]() |
![]() |
![]() |
||
Q12 | ![]() |
![]() |
![]() |
![]() |
||
Q13 | ![]() |
![]() |
![]() |
![]() |
||
Q14 | steep tower roof | ![]() |
![]() |
![]() |
![]() |
In order to match other units, this unit needs to be made from a sheet of paper which is at least 1/(2√2 - 2) ≈ 121% the size of paper used for the other units. |
Q15 | tower roof | ![]() |
![]() |
![]() |
![]() |
This seems to be the steepest four-sided roof that can be made from paper the same size as other units. |
Q16 | 90° roof top with gables | ![]() |
![]() |
![]() |
![]() |
|
Q17 | cut off 90° roof top with gable | ![]() |
![]() |
![]() |
![]() |
|
Q18 | base for swan roof | ![]() |
![]() |
![]() |
![]() |
Base for Q19. |
Q19 | swan roof | ![]() |
![]() |
![]() |
![]() |
Uses Q18 as base. |
Q20 | 45° slant corner | ![]() |
![]() |
![]() |
![]() |
This unit can be used for connecting two perpendicular runs of 45° slanted roofs made from units such as Q1 and Q2. |
Q21 | 45° attachment base | ![]() |
![]() |
![]() |
![]() |
Can be used to connect several Q20 units to each other, forming a pyramid. |
Family R: balconies
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
R1 | rooftop railing | ![]() |
![]() |
![]() |
![]() |
|
R2 | rooftop balcony | ![]() |
![]() |
![]() |
![]() |
|
R3 | rooftop balcony with tall railing | ![]() |
![]() |
![]() |
![]() |
|
R4 | balcony | ![]() |
![]() |
![]() |
![]() |
Family Z: miscellaneous
Code | Name | Finished look | Front | Back | Crease pattern | Description |
---|---|---|---|---|---|---|
Z1 | rocket | ![]() |
![]() |
![]() |
![]() |
|
Z2 | fish | ![]() |
![]() |
![]() |
![]() |