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!
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.
The 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 quite possibly 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 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 ConstructingKids.com. Ralph Hempel designed the original Banner Print3r bot and building instructions are also at the Lego.com 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 ConstructingKids.com. 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 constructingkids.com. I would suggest doing that instead of using the building instructions at the Lego.com 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 links contain the programs you will need for this portion of the build.
It is probably easiest to download the whole program. To do that, click the download icon as highlighted in the next image.
You can try using the programmer app 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 programming environment itself.
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.
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.
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.
Some of our flying marker assembly videos!
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.
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. 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.
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.
Pictures of our alphabet
Video of the Banner Print3r bot printing our customized alphabet
Just for fun, we had the Print3r bot print us a little ad for our website!
This was a particularly difficult 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!