Bring Your Child To Work Day 2014

We had an awesome Bring Your Child To Work Day this year. I headed up three different programming activities in the same room with the help of friends from the HP Arduino and Python Groups. We had well over 200 children attend.

Program Your Parent was a paper and pencil exercise for younger children to get a faulty robot (the parent) to retrieve a sample of "candium" from a bucket. The robot could only move forward or turn right, and had to maneuver around a shield.  The activity teaches how literal computers are at following instructions, and how complex tasks can be achieved with sequences of simple commands.

I also had programmable Arduino microcontrollers and my FunShield. The first activity is to get an LED to blink. Then you see how fast you can get it to blink and still see it. This leads to interesting discussion about how the eye works and how fast computers actually are. Participants still interest at that point could continue and learn how to blink a series of LEDs using For loops or play sounds, detect light, or measure temperature. Arduinos are a great way to interface a computer with the physical world.

Finally, we had Raspberry Pi computers running MineCraft. Instead of just playing the game, kids used Python programming to interact with the world. There was a hide and seek game and a maze. They could create a code to place their name or initials using blocks. The idea was to introduce how algorithms can be used to perform repetitive task such as designing a building and then being able to place multiple copies anywhere in world.

Kids got to take home their worksheets which had links to online programming activities like where they could continue to learn JavaScript and Python. I also pitched the library's Teen Makers program, which unfortunately is on hiatus for the summer. The activities were not too much different from last year. The big improvement was recruiting volunteers to help at teach of the stations. I've already got some ideas for improvements next year, but first I need to get a paper rocket activity setup for the site picnic in August!

Eugene Mini-Maker Faire 2014

I got invited to bring Dawson Station back to the Eugene Maker Faire. It is one thing to talk your way in to an invitation to an event like this. It is another to get invited back. Not only that, I got asked to give a talk! Well, I may have talked my way into that last part this year.

There were a number of new exhibitors this year. The only one I remember from last year was Fertilab Thinkubator who had the awesome chromatography and spectroscopy projects.

I think a lot of people think making is only about electronics and science, but I think it is much more fundamental than that. I was glad to see groups like the Eugene Weaver's Guild invited to the Maker Faire. They had a spinning wheel, a loom, and some hands on weaving projects for the visitors to try.

I think my favorite exhibit this year, given my recent disassembly activities with the Cub Scouts and Teen Makers, was Next Step Recycling. They brought a number of electronic devices and let the visitors take them apart. I wish I had more time to help them use Arduino to bring the components back to life.

My talk was in the planetarium in front of about thirty people. I gave a rambling account from my first time at trying to build a computer (disaster) up to my recent class on how to build a computer (success). I tried to express that "making" and "sharing" are fundamental human characteristics that have always existed, and that current technology is allowing us to share ideas and projects with more and more people. I closed with some pictures of my decidedly low-tech chicken coop and challenged the audience to find a project they were interested in and make it.

Exhibiting (and speaking) at these events is a lot of work. The Makers exhibit for free. The visitors pay to get in. It is an interesting dynamic that I'm still trying to grasp. At any rate, it does give me a chance to share, learn, and connect, so I feel it is worth it. I've been feeling a bit over-committed lately, but definitely think this event was well worth it. It might, however, be Dawson Station's only public appearance this year.  It is time to follow my own advice and find a new project to learn, make, and share.

How to Make an Egg

Step 1. Get some chickens.

Step 2. Build a Coop.

OK. That is a bit out of order,  but that is how we did it. Building a coop is a bit daunting. There are a lot of designs out there, and a lot of really cute looking coops. It is overwhelming, to say the least. Luckily, my wife spotted a coop that looked perfect for the rainy Pacific NW, and there were detailed plans available. When I am overwhelmed, I will gladly pay for some well documented, well thought-out plans.

Of course, that doesn't mean you have to follow the plans. My first deviation was to switch the siding to vertical. I don't know why, but I think it looks better, and it matches our house. Unfortunately, that meant I had to transpose all cut layouts in the plan.

Deviation number two was the roof. The original design had an angled support piece that messed up feng shui, like I know what that means, so I adapted the plans from the larger coop plan they sell (and we bought). This coop is intended as an intern solution and practice run for building the full size one that the adult birds will need. 

The other changes are less obvious, but more original. I'd been following a forum post where they were talking about using a horse stall freshener like kitty litter in the roost. I thought it would be nice to have a removable tray to facilitate cleaning. Turns out an inexpensive washing machine drip tray was close to the inner dimension of the planned roost, and only required adding a few inches here and removing a few there.

Somewhere else, I had read about water nipples. The standard feeders have two problems. The first is that the birds like to roost on the top of them. The second is that they like to poop when they roost. That leads to lots of water changes. Most people put water nipples on the bottom of five gallon buckets and then hang them, but with a small coop, there wasn't the space or access to do that. Enter PVC. I integrated 2" PCV piping so that it could be easily filled. I used the remaining PCV to make a feeder attached to the door. Now food and water move with the coop and don't take up any floor space.

And then there is the paint job. Hope the hens like it. We want them to be happy. After all, the rest of the egg making is up to them!

Where Are They Now?

I've sold about twenty kits now. They've been going to some interesting places. I was trying to figure out a way to keep track of them all (graphically), and here is what I've got:

MakersBox Kits in the Wild:

I'm getting a lot more overseas orders than I expected. An interesting "hot-spot" is the Netherlands, which must be a United State's equivalent of the Bay Area. A Maker's Nerdvana. It would be cool to visit some day.

ChickTech Strikes Again!

ChichTech events keep evolving, and this was the best one yet! One hundred highschool-age girls for two days at Portland State University in downtown Portland. It really had the flavor of a professional conference with badges, keynote speakers, swag bags, workshops, and breakout sessions. The event kicked off Saturday with a keynote from Michell Rowley, the founder of Code Scouts, who told the ladies not be afraid of making mistakes, and to enlist the help of their friends to learn new things.

Instead of having rotating groups, this time the ladies got to chose one workshop for the whole event. There were morning and afternoon session of two hours each meaning we got a total of eight hour to help fifteen girls learn, design, and build an embedded microcontroller fashion project. Other groups were working on robotics, building computers, and designing websites.

We used the LilyPad USB for the controller and had buttons and light sensors for the inputs and LEDs and a speaker for outputs. The components were soldered to small breakout boards made for us by OSH Park to make it easy to sew and get good electrical connection. The girls picked up soldering very quickly, even with the use of lead-free solder which has a higher melting point.

It was amazing how fast time flies when you are involved in an engaging project. By lunch, we had learned how to upload a program and make the on-board LED blink. After lunch they had a short project of creating a USB bracelet which came in handy to save code examples on. They returned to our workshop and by the end of the first day, they had basic designs laid out and tested with alligator clip.

As a canvas to work with, the girls got a tote bag. They could either incorporate the electronics in the design, or hide them on the underside of the flap. One girl brought a hand made felt hat to modify, and another brought a plushie heart. The girls were amazingly creative with their designs. 

On the second day, we actually started sewing. Working with conductive thread is a bit tricky, but they were quick studies. Soft-circuits is a relatively new endeavor, and there are no "hard and fast" rules. It seems like my technique is constantly evolving, and it is always fun when I learn something from the girls with more experience sewing.

For the final hour of the event there was a Tech Show where the girls got to show off their hard work to friends and family. It was exciting to see them explain to others what they had learned from the workshop.  Hopefully we gave them the skills and interest to keep working on the project at home, or start another project using the LilyPad!

I predict great things for these ladies, in any endeavor they choose to pursue!

Scratch your Arduino?

Why, yes you can. There are several projects I've played with that let you use the graphical Scratch-style programming to talk to your Arduino, which is excellent news for younger kids who are not ready for much typing or the "curly-bracket/semicolon" lifestyle just yet.

There are two different approaches to graphically programming an Arduino. The first is to run a sketch on the Arduino which talks to the Scratch program, passing commands and data over the serial port. The sketch is called Firmata, and requires the Arduino be attached to a computer running a server program to link Firmata with Scratch. Both Scratch for Arduino (S4A) and the newer Scratch to Arduino (S2A) use this approach. S2A seems a bit harder to set up initially, but works with the newer Scratch 2 Offline Editor.

The other approach is to translate the block structure into Arduino C-code for upload using the IDE. This might be a better option for older kids who are ready to make the transition from blocks because they can see the direct C-code equivalent. Both Blockly Arduino and ArduBlock projects take this approach, with ArduBlock actually integrating into the Arduino IDE making the transition from blocks to C-code at the press of a button. Blockly Arduino has the advantage of being web-based, so no installation is required, and the base project, Blockly, has some fun, non-Arduino, online programming tutorials.

I showed ArduBlock to one of the younger Teen Makers at the library program and he quickly programmed an LED to turn on or off at the push of a button. That may sound trivial on paper, but in practice, it is not. He had used Scratch before, and integrated some sophisticate techniques such as using flags to track state and a while loop to debounce the button.

Here is the equivalent C-code:

All of these tools make programming the Arduino a bit easier for younger programmers. They each have their strengths, but if you had to pick one, I'd go with ArduBlock because it is open source and integrates with the Arduino IDE. This makes it both easy to set up, and easy to use.

Coding Around the Clock

I got a chance to participate in an amazing event called CodeDay. Two dozen youth from around the Corvallis area descended on Hewlett Packard for programming party that would last a full twenty four hours.

Festivities started at noon. Ideas were pitched and teams formed. The goal was to complete an application or game within twenty four hours. The event was sponsored by StudentRND who sent a facilitator down from Seattle, but most of the planning was done by a local high school student who had participated in a previous event and wanted to help bring it to Corvallis.

In the evening, as projects progressed, there were seminars on programming frameworks like Construct and Meteor. Several of the groups completed their projects using Construct having no prior experience with it.

As the night wore on, the students took a break to get a "ghost" tour of the HP facility. They got to see the FAB facility and giant industrial web presses, both of which were eerily silent for the long weekend.  Security checked in on us periodically, but we pretty much had the place to ourselves.

It was amazing to see the kids keep up their energy and focus for such a long period. I haven't had to pull an all-nighter since my Navy days and by 6 a.m. I was flagging and took a short nap. The other chaperons snuck some shut-eye here and there, as did more than one of the students.

By nine in the morning, the coding was over. It was time to present. The judges spent some time talking with the teams, and then they each gave a presentation and demonstrated the game play.

The game ideas and implementations were amazing. A couple of them were quite playable and involved compelling story lines. One, programmed by a single student, dealt with protecting a planet using bio-remediation and had amazing graphics.

I sure wish I had had an opportunity like this when I was younger. The tools and systems available to upcoming programmers are amazing. I was proud that HP was able to sponsor the event and thought every minute was worth it.