Site icon The Geek Homestead

Lego Mindstorms: Banner Print3r Bot

This is a repost of our Lego Mindstorms: Banner Print3r Bot build. I wanted to make it more clear and added a few more tips and pictures. I hope it helps out anyone building this right now!

Note: Google Drive had a security update that made our old program links for the alphabet program on page 4 obsolete and inaccessible. I’ve fixed this and they should be viewable again.

I’ve separated this post into pages to help speed up page loading. To continue with the rest of the post, just click on the page numbers at the bottom of the page after the pictures of the related posts.

As an Amazon Associate, I earn from qualifying purchases.


Since the Lego Mindcub3r took so long to build and get working, the kids played with it for more than a few days. It wasn’t until last week that we decided it was time to take the Mindcub3r apart and build a new bot to play with. Josh gave us a few options, and I decided we would try the Banner Print3r bot.

What is The Banner Printer?

The LEGO Mindstorms Banner Print3r bot can draw or write on a cash register/calculator paper roll using a standard Sharpie marker. If you have a washable marker though that works as well as and is the same size as a Sharpie, I’d recommend using that.  We didn’t have any cash register paper rolls and I didn’t feel like taking all the kids to Staples, so I ordered a 12-pack off Amazon. At first, I thought I had bought too much paper, but it ended up being a good thing. We are already using our second cash register paper roll!

Since this is a monster post (1500 words!), I am going to place the rest of it under a read more.

This robot was even more challenging than the Lego Mindcuber robot. It wasn’t the build itself that was difficult, but the programming that was the challenging part. Matthias was able to build the bot in about an hour. Troubleshooting the actual workings of the robot took about a day. Programming took us about two days since we decided to program each letter of the alphabet instead of programming only certain letters.

Where to download The LEGO Mindstorms Banner Printer building instructions and the program:

There isn’t as much info as you would expect about this bot on the Internet. The best place we found for the program itself was at  Ralph Hempel designed the original Banner Print3r bot and building instructions are also at the website (the downloadable program doesn’t seem to be at the Lego website though). We used the building instructions from the Lego website and then downloaded the program from You will need to download two of the files from the Google Drive that is linked at Constructing Kids: LEGO EV3.ev3p and PlotStep.ev3p. The Lego EV3 file will tell your bot to print out “LEGO EV3.” This is a good file to use just to see if your Print3r bot is working correctly. The PlotStep file is what is used to “build” letters.

EDIT: I did not know that you could download the program AND build instructions right from the google drive link at I would suggest doing that instead of using the building instructions at the website. At the time that we built this robot, I did not totally understand the Lego Mindstorms programming environment. See this post for more info.

The following link contains the programs you will need for this portion of the build.

Download the Lego Mindstorms Programming Environment

The following pictures show where on the downloads page you will go depending on the software you need: Tablet, Mac, or PC.

To download the programmer app to a tablet.
To download the programming software to a Mac
To download the programming software to a PC
The Lego Mindstorms programming environment on a laptop

Download Ralph Hempel’s building instructions and program

It is probably easiest to download the whole program. To do that, click the download icon as highlighted in the next image.

You can use the LEGO Mindstorms programmer app on a tablet as well, but it was easier for us to use a laptop.

When you open the BANNERPRINT3R.ev3 program, the build instructions will be accessible within the LEGO Mindstorms programming environment itself.

Once you finish with the build portion and you want to get to the programming portion, just click the icon as circled in the above image, and the build instructions will be hidden.

I would suggest reading through all the comment boxes before doing anything else! They were a huge help to us later on when we decided to program the alphabet ourselves. Later in this post, I will post a link to the complete alphabet that we built.

How to insert the paper roll

One issue we had was just inserting the paper roll! We kind of had to figure this out for ourselves, so I took a few pictures to show exactly how to do that. I will explain the pictures the best I can.

Take the assembly off that holds the Sharpie marker. It’s easier to insert the paper without it in place. Also, make sure that the paper roll isn’t on the axle too tightly and is able to unroll freely.

If you need to take a closer look at the pictures, you can now click on them and see each by themselves in a new tab. For example, if you wanted to zoom in on a particular area.

I thought that I had bought paper rolls that were too wide, but after looking at some pictures online, I realized that the paper was supposed to go under (not through!) the gray double H piece that is supposed to be on this side. I had already rebuilt this side black girders though to work as a paper guide so we just kept it as is.
Here is the paper inserted between the two black girder pieces shown in the first picture. If you are using the gray piece though like the instructions say, then the paper will go under the entire gray piece and up the other side of the it.
Here is where we messed up the first and second and third time. I didn’t realize that the black rod shown above was supposed to be holding the paper against the wheels. Oops. Anyway, you’ll want to slide the paper under that rod.
Push the black rod back into its spot.
Now we are looking at the bot from the top. Go under the black girder after removing the red girder piece next to it. You want the paper to go over those two middle red pieces. They function as a table for the paper.
Slide the paper under the red Lego piece shown.
Put back the red piece that was beside the black piece. This is what your bot should like from the top now.
Now we have a second black rod to mess with! So take one side out of place just like you did with the other black rod. Slide the paper under it.
Put the black rod back in place.
This is what your bot will look like from the finished printing side.
And now here is how the bot should look with the paper roll inserted and the marker assembly attached.
View of the robot from the printer roll side.

A few more pics just in case they are needed.

How to insert the marker

Now let’s move to the marker itself. After a few test runs with the Print3r bot, we realized that the marker was inserted too far into its assembly. I took two pics to show how it should not and should look from the side when in the marker assembly.

This is too far.
This is about where you want the marker tip to be.

Test Printing

After a lot of troubleshooting with the paper roll and figuring out how far the pen should be inserted, we were able to get the Print3r bot to print “LEGO EV3.”

The kids thought this was neat, but after a few times of printing out “LEGO EV3,” they wanted to be able to print more than that. So we came to the difficult part: building the remaining letters of the alphabet from mostly scratch. At this point, we decided to call our bot “SharpieBot.”

One other thing with the marker assembly, sometimes the motor wouldn’t be reset properly or the marker would catch on the edge of the paper, and the whole marker assembly would go flying off. Our fix for this was to make sure the arm and the assembly were positioned as in the following picture.

Make sure your marker assembly starts off in the right position.

Some of our flying marker assembly videos!

Designing Letters

The downloadable program for designing letters uses a coordinate system with an x and y-axis, with values from 0 to 100.

To show my oldest son how designing each letter would work, I wrote out a few diagrams for him. The x-axis is the letter width, with the value 50 being the most common. The y-axis is the letter height, with 100 being the maximum. The up-down arrow represents if the pen is on the paper or off the paper. x is false or pen on paper, and √ is true or pen off paper. Without that third variable you would just end up with scribble-scrabble on the paper instead of letters. To give him a place to start, we designed A, B, and C together. Each block on the page represents a line of a letter on the paper or a movement of the pen when off the paper. I went on to design the remaining letters on paper for him, but a few them didn’t work as written so he fiddled with the numbers until they made a recognizable form of that letter. Difficult letters: K (this one gave us a headache!), Q (how to get that little slash at the bottom), and Y. It was interesting to see how difficult it is to “teach” a robot to write when it comes to us so naturally (after learning in school of course!)

The robot has issues writing curved lines, so we tried to stick with as many block shapes as possible. Many of our letters ended up being a bit non-traditional in appearance.

In part of the this print, the marker was too far into the assembly.
Some of our first attempts to print.
Funny-looking “Y”

Above, you can see some of our troubleshooting attempts. In the first banner, the pen was inserted too far. The last LEGO EV3 on that banner is after we moved the pen up a bit. The second pic has some of our very first attempts at even running the Print3r bot. As you can see, we had a long way to go! The third pic has a very interesting-looking Y. This is after we tried programming a few more letters and before we decided to go for the whole alphabet.

My son Corran exported all the alphabet letters here into a google drive link. So if you don’t have time to program all the letters, you can use ours instead. They are definitely not perfect, but they are a place to start! You will still need to download the PlotStep.ev3p file that I mentioned above.

The following link will allow you to download the same program that I linked to above. The only difference is that it contains all the letters of the alphabet also. Each tab within the program contains a different letter or punctuation mark.

Download the Sharpie Bot’s alphabet

To download the entire program, click the icon as circled in the above image.

The current program in the above pic is for the letter R. To access the other letters, click the circled icon (on mouse over, the text “program list” will appear) and a list of them will appear. Click the letter or punctuation needed and the tab will change to the programming for that letter. My son would build words or sentences to print using the word builder tab and would copy and paste the appropriate blocks into it. Notice that there is a “space” tab for  programming a space into a sentence, so that your words do not all run together into one. There is also a PrinterFeed tab to use for when you are finished printing.

Our first successful print of a long message after Corran finished programming all the letters. “Hello, my name is SharpieBot. Go to for more information.”
The paper it took to get to that message above.

Printing customized messages

Pictures of our alphabet

Here is a Video of the LEGO Mindstorms Banner Print3r bot printing our customized alphabet:

Just for fun, we had the Print3r bot print us a little ad for our website!

Here is a video of the LEGO Mindstorms Printer bot printing a very long message:

This was a particularly difficult LEGO Mindstorms project for us, so if anyone else who tries this build out has any issues, please ask us if we can help! It is a fun project though!


P.S. I have edited and reposted this blog post to make it more clear. I hope this will be a help to anyone who is working on this project! Please feel free to ask questions! I will do my best to answer them!




Exit mobile version