Houston, we have some Unicorn Girls!

The Unicorn Girls robotics team from Vogt Elementary at their St. Louis Expo

Over the past few years, I have coached both First Lego League and First Lego League Jr. teams at Vogt Elementary. The older FLL team has always been called the Viper Bots. The younger team has changed its name over time: First they were the Sci Girls, then the LadyBots. This year they became the Unicorn Girls.

Well, we ended up having so many interested 1st-3rd grade girls that we had to add a second Jr. FLL team: the Unimermaids. It was quite an experience coaching these two teams, along with co-coaches Yoli and Heather Roberts, and our middle school helper, Ludi.

Continue reading “Houston, we have some Unicorn Girls!”

Viper Bots’ last hurrah?

This was my fourth season coaching an FLL team. This year all three Renaud girls were on the team: it was Jadzia’s fourth and final year, Ludi’s second, and Josie’s first.

The Viper Bots are a school-based team, so we begin when school begins in August at Vogt Elementary. After that, it’s a race to build and program our robot, research a project, and write a presentation by November. It is pretty exhausting.

Continue reading “Viper Bots’ last hurrah?”

Building a dot-matrix EV3 Lego printer

One of my early attempts to build a Lego printer. The print head here is driven by a rack and pinion. Later versions used a technic tread and sprocket.

In June and July, I borrowed the girls’ robotics team Lego pieces and EV3 brain in order to build my own dot-matrix printer.

At various FIRST events, I have seen a kid or two who built a printer. I’ve also seen some on YouTube. As a fan of retrocomputing and Legos, I thought it would be a lot of fun to make my own printer.

The basic idea is simple and requires three motors. One feeds the paper forward or backward. One slides a print head back and forth horizontally across the page. The last one moves a marker or a pen up and down to draw a dot.

I made a lot of iterations of this printer, trying to solve various problems. It wasn’t perfect, and I was particularly limited by the number and kinds of pieces I had available. But it DID work! I was able to print out some portraits that were recognizable, as well as a Print Shop-style banner.

Lego printer for Fathers Day from Josh Renaud on Vimeo.

This is a simple dot-matrix portrait of my dad made using an early version of my Lego printer. The right side gets distorted, but the left and center are pretty good.

The main challenges (for me, anyway), were how to move the marker up and down, and how to code the printer so that it had good resolution. Early on, I attached the motors directly to the shafts, then measured how far to move things using tacho counts. But that led to very sloppy, inconsistent results. After a while, I realized I needed to use a technique called “gearing up”: The motor turns a small gear, which then drives a much larger gear. This decreases speed, requiring me to use many more tacho units to move the print head the same amount. This might sound bad, but in fact it greatly reduces inconsistency. I used “gearing up” to improve both the paper feeder, and the horizontal print head movement.

I wrote the code for the printer in Python, and controlled the EV3 using the ev3dev linux system. Later versions of the code were capable of reading in a PNG file and converting it to a low-res black and white image to print.

At the end of the summer, I created a 3D model of the printer using Lego Digital Designer. Download the viper-printer.lxf file and try it yourself in either LDD or Stud.io. The model isn’t perfect (There are two blank slots in the tread where I couldn’t get things to connect, for example), but is a nearly exact replica.

Inexplicably, I failed to take photos of the final version of the printer. So, here instead are some renderings of the printer, made using Stud.io: