Pattern: Bargello mini-quilt

Bargello mini-quilt, newly finished

Bargello mini-quilt, newly finished

It’s finished! Which means it’s time to share my pattern and design process with all of you. I don’t know how many people will be interested in one or both of these, but I intend on the one hand to share the instructions for making the same quilt, with measurements and all, and on the other to share the code that I wrote as a design tool to design many related quilts, in case the overlap of people who like quilting and speak Matlab is larger than just me. Actually I’ve tried to make the code pretty friendly, and I’m pretty confident that somebody that has done a bit of coding but no Matlab could use it, but I don’t want to try to be your programming 101 tutor today.

I am pretty darn happy with how this turned out, although I am less than perfectly pleased with the quality of my freehand quilting. I did everything for this project on the machine, which means a) it went super fast, b) the machine is officially broken in, and c) I was less comfortable with the method, so my freehand curves were worse than if I’d done it by hand. Photos:

Instructions for the identical (except color choices) quilt:

You will need:

  • A half jelly roll, or 20 strips of different, coordinating fabrics, each 2.5″ by 44″; mine was 2 strips each of 10 different colors
  • Backing fabric, 42″ by 38″
  • Batting, “craft” size or crib cut down to size, 41″ by 37″ (I used 36″ craft-size and stretched it a bit)


  1. Order your strips however you want—gradients tend to look nice—and number them 1-20. Color 1 will be in both bottom corners or your quilt, and color 20 in both top corners. In my quilt, colors 1 and 20 are the two lightest ones.
  2. Sew all your strips together along their length, with a quarter-inch seam allowance, lining up the edges on one end and letting the other end be jagged according to the different lengths of the strips. Press all seams open and flat. Strip 1 should be sewn to strip 2, 2 to 3, 3 to 4, etc., and finally strip 20 should be sewn to strip 1, making the whole bunch into a tube. It’s a good idea to backstitch occasionally to reinforce the seams, but it’s kinda a lost cause anyway, and you need to unpick some of the seams, so don’t stress about it.
  3. Cutting as straight and even as you can, cut the tube crosswise into strips, each of which will have a chunk of each fabric, according to the chart below. Unpick the indicated seam, opening the tubes into flat strips.
  4. Lining up all seams as best you can, sew strip A to B, B to C, etc until the quilt top is assembled, again with a quarter-inch seam allowance. Press all seams open. Note: I actually recommend starting at the center and working outwards—the center strips are the narrowest, so they are most susceptible to coming apart at the seams, which attaching to neighboring strips helps prevent.
  5. Leaving an inch of the backing overhanging on each end, sew the two long sides of the quilt top to the backing with a quarter-inch allowance, right-side to right-side. Press seams open or against the backing.
  6. Turn the quilt right side out and insert the batting.
  7. Turn the short ends of the backing over onto the front, making a 1/2″ edging, and top-stitch all the way around.
  8. Quilt: I chose every third color, and followed it across the quilt, curving as best I could to follow the curve implied by the pattern.


  • A: cut 3.5″ wide; unpick between fabrics 1&20
  • B: cut 3″ wide; unpick between fabrics 1&2
  • C: cut 2.75″ wide; unpick between 2&3
  • D: cut 3.25″ wide, unpick 3&4
  • E: cut 4″ wide, unpick 4&5
  • F: cut 2″ wide, unpick 3&4
  • G: cut 1.75″ wide, unpick 2&3
  • H: cut 1.25″ wide, unpick 1&2
  • I: cut 1″ wide, unpick 1&20
  • J: cut 1.25″ wide, unpick 19&20
  • K: cut 1.75″ wide, unpick 18&19
  • L: cut 2″ wide, unpick 17&18
  • M: cut 4″ wide, unpick 16&17
  • N: cut 3.25″ wide, unpick 17&18
  • O: cut 2.75″ wide, unpick 18&19
  • P: cut 3″ wide, unpick 19&20
  • Q: cut 3.5″ wide, unpick 1&20

Note: the final piece is only a little longer than a square yard, so definitely a lap quilt or display piece, not a bed quilt.

Code and some notes on use:

This code was written in Octave, the free clone of Matlab; it should also work in Matlab if you have access to it. Octave is, as mentioned, free; if you are a windows user you will probably need cygwin or similar to run it. To run, open Octave (or Matlab), cd to the folder containing the file, and run “bargello”; wait a minute or so and you should get a figure and some output to the terminal. The list “lscuts” that gets output is the cutting widths, which you can substitute in order into the chart above. Where to unpick the seams you will have to work out from the figure. The number “totalwidth” is the total width of fabric you will need; the program throws an error if you try to exceed the fabric width it thinks you have (which is set in the first few lines of code).

Code: dropbox link; make sure that you save the file as “bargello.m”.


Program output for my quilt

Presumably if you are interested in the code, you want to do more than just reproduce the same quilt; unfortunately you will need to do a bit of spelunking into the code to do so because I haven’t got a nice interface built. I’ve done my best to comment, though, and it should be fairly straightforward. The main places you want to modify are the lines that define “switchpts” and “ls”, about in the middle of the file. Fiddle around with the numbers here until you have a design worth building in fabric.

I’ve included a couple of designs that I was playing with today; what’s currently in the code is the S-shaped quilt I made (albeit mirrored because I was not paying attention when unpicking my seams), and there are two other designs that are simply commented out: a design with a single central peak and a design with wavy diagonals:

The code is general enough to make larger or smaller quilts: the first block of definitions tells the code how much fabric, and of how many colors, you have. The third chunk (the second chunk is devoted to choosing colors) is also related to the size; it tells the code how many vertical bars to use in the pattern. The fourth chunk starts to define the shape of the pattern, telling the code where to put high points and low points in the pattern, and the fifth sets the strip widths. The remainder is the work-horse part of the code, but you shouldn’t need to mess with it unless you are doing something really complicated.

I have to admit I’m really curious if anyone will even touch the code (or, for that matter, put in all the work to make a quilt designed by an internet stranger) so I’d love to hear from you if you find any of this useful.

9 thoughts on “Pattern: Bargello mini-quilt

  1. Tabitha Rosenbalm

    Is there a way to still get the code? I tried the dropbox link but it seems to be broken. I realize its been a while since the post went up but hope that at least the page is still monitored or the associated emails get forwarded to you. I like the idea of playing with a program in matlab to test bargello design ideas.


  2. Maria

    Thank you so much for these instructions! I’ve been tempted to try this technique, but didn’t want to do a bed-size quilt. You explained things very well and I was able to give it a go.


  3. Katherine Miller

    Thanks for the in-depth tutorial. I was looking for a quilt bargello pattern that would only use one jelly roll with 40 strips. I really appreciate the info about the program and code. I am definitely going to use it.


  4. Pingback: Journal: 15 October 2014 | seesawyer

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s