Sparkfun Microcontrollers For Educators
Since the beginning of the year I have been attending the planning meetings for what is to become a makerspace on the OU campus. With OU Libraries being involved in the development of the Innovation Hub I was able to convince Collections Development, the department I work for, to partially fund my trip to Colorado to attend the week-long class. I am equal parts lucky and grateful to have been supported by the Libraries. I am doing my best right now to grow into a position that involves both creating OER and supporting a university makerspace.
@OKCody_) July 6, 2015
Despite the typo, my first day at Sparkfun was fantastic. We began by discussing what exactly the Maker movement is and its role in education. Most of us in the class had already drank the Maker Kool-aide and were in agreement that making in the classroom is good way to introduce STE(A)M topics to students of various ages and interests. After this priming discussion we began to tinker with Scratch. We toured the building and were visited by some folks from TeachEngineering.org. Anyone familiar with Sparkfun's website has surely noticed their light-hearted nature. The building tour certainly was consistent with this. Fun electronic projects were scattered throughout the building. Offices were extremely personalized. Employees shared inside jokes. There was beer-on-tap in the break room. -what a fun place.
@OKCody_) July 7, 2015
Tuesday we played with squishy circuits. The night before Brian cooked up some conductive and non-conductive play-dough. It was our job to explore this play-dough to find ways to apply it to lessons. We used the multimeter in our kits to measure and become familiar with the resistance of the play-dough. Using it to connect LEDs to a battery it was possible to light the LEDs. It was my partner's idea to attempt to make a strain gauge for use in his Physics class. To do this we began by making cubes of both conductive and non-conductive types of play-dough. We hypothesized that by measuring the change in resistance as we deformed the cubes we might notice a relationship between the resistance of the play-dough and strain. In order for the multimeter we were using to make good contact with the cube we used a penny on either side to increase the surface area in contact with the play-dough. Doing this we measured a negative resistance and concluded that we had accidentally made a galvanic cell. That is, our pennies and play-dough were creating a voltage. We had made a .6v battery! From then on we focused on trying to increase the voltage of our galvanic cell. Knowing that it would take about 1.5v to light an LED we made that our goal and began combining cells but were never able to combine them to create any more than .6v of potential.
@OKCody_) July 7, 2015
From squishy circuits we moved on to text-based programming with Processing. It had been years since I had done anything using Processing. It was nice to be reacquainted. I implemented my personal 'Hello World' sketch, the Monte Carlo pi calculation. After this we were tasked with drawing a picture using only rectangles. After playing with Processing, we opened up our Sparkfun Inventor's Kits for the first time and began blinking LEDs, using the analogRead function, and mixing colors using RGB LEDs. Engrossed in exploring our kits on our own, the class half-heartedly listened to Brian demonstrate Fritzing and explain fundamental electrical science topics such as Ohm's Law and diode voltage drops for the remainder of the afternoon.
Wednesday opened with Makey Makey. Because Makey Makey is such a plug-and-play device, there was actually only a little bit of discussion about it before we were set loose to explore the board on our own. Makey Makey is a general purpose human interface device that senses when a closed circuit is present between one of the button pads on the board and the ground rail also on the board. When it senses a closed circuit it outputs the very same signal a keyboard or mouse would when used accordingly. That is to say, you can "press" specific keyboard buttons by completing the circuit between respective pads on the Makey Makey. Familiar with Scratch, my partner and I set out to make a reaction time testing circuit using our Makey Makey board and Scratch. Our Scratch sketch shows a green background when the test is initialized but when the background color changes to red the person being tested sould close the circuit using parts of their body to measure their reaction time. Their reaction time is then shown on the screen. Try our sketch below by using the spacebar as the reaction timer trigger. We used some of the conductive play-dough that we still had laying around to function as buttons for our Makey Makey. I smashed a glob of conductive play-dough on my left wrist using a pipe-cleaner and used my right and to quickly touch another glob of conductive play-dough sitting on the table. Both globs were connected to the Makey Makey board using alligator clips. I enjoyed walking around the classroom during this time to have a look at all the things the rest of the class had made. Just before we ran out of time to experiment, my partner and I devised a way of using a Makey Makey and Scratch to measure the motion of a pendulum. We theorized that by using conductive thread, a conductive pendulum mass, and a conductive wall ( covered with foil maybe ) for a pendulum to bounce off of at the apex of its swing, we could in a similar way to our reaction timer, quantify the motion of a pendulum. I would still like to try this.
@OKCody_) July 9, 2015
Also on Wednesday we were visited by Angela Sheehan who is also a Sparkfun Educational Outreach Coordinator, but who specializes in wearable electronics. Angela used giant instructional analogs of the parts we were to sew together to demonstrate to the entire class at once how to build our firefly badge. -very clever, things they were. For someone who knows how to sew, I'm sure that assembling the firefly badge would have been no problem, but for me it was a challenge. Electrically, it only consisted of one LED, a coin-cell battery clip, and a switch. Structurally it was made of felt and a printed fabric cover that hides the tangled mess of conductive thread that I immediately made. For years I have been intrigued by the wearable electronics of Becky Stern and now Angela Sheehan and am glad to have had the opportunity to build one myself. I'll be less intimidated to build these circuits in the future.
Thursday we dove even deeper into the Inventor's Kit exploring the Redboard and ATTiny85s. We were largely allowed to investigate the Redboard on our own having already been introduced to the Arduino platform via the Digital Sandbox and Makey Makey. Most of the instruction on Thursday was centered around the ATTiny, how to program it, and how to build circuits around the ATTiny IC. I had never used an IC programmer before and had quite honestly been intimidated by the thought of using one. After learning the limitations of an ATTiny, programming it and then using it in a circuit is very straight forward. The ATTiny includes an internal clock crystal and therefore does not require an external crystal oscillator. This means that all that is required to use a programmed ATTiny in a circuit is a 5v source. Our Inventor's Kits included a barrel jack, a wall wart power supply, and a 5v regulator. There was some confusion in the class about the 5v voltage regulators because the instructions we were given were written for a very specific 5v regulator model; however, some kits (including mine) were supplied with a 3.3v regulator which would not have been a problem had the 3.3v and 5v regulators used the same pin-out. Because they did not, many people's circuits did not work at all until Brian gracefully swapped the unexpected 3.3v regulators with 5v regulators. -not knocking Brian or his class, but noting this for myself: this instructor error was a great teachable moment. As a EE student I am quite familiar with component datasheets, pin-out diagrams, and troubleshooting circuits, yet I applied none of these skills during this part of the class. -I don't know why. "Follow the leader" I guess. At any rate this mistake created a great opportunity to introduce the class to the exact nature of electronics. -might consider making "mistakes" similar to this if I ever lead a similar workshop. Guiding the class through the types of problems they should expect without letting them know that they have been intentionally induced could make for powerful teaching opportunities.
Throughout the day Thursday, the class worked on brainstorming what they were going to build for the hack-a-thon that was to take place that evening. We had been told on Wednesday that there would be a theme for the hack-a-thon. Our projects needed to be creative, and should have an educational component to them and that special consideration would be given to teams that used traditional objects in non-traditional ways. Jonah Duckles and I teamed up earlier in the week and had begun working on ideas for the hack-a-thon. Our early ideas included the robot chassis in our kits, but we ultimately decided not to use them, but when we were still considering using the robot chassis I suggested that the robots communicate with each other using pulses of light. This sparked an idea and we began working on a model fiber optic network. We decided to use glue sticks from the craft table as our fiber optic cables. They worked pretty well. We also knew that to truly replicate a fiber optic network we would need to build signal repeaters that would relay the signal as it propagates along its path. ATTinies proved to be a perfect fit for building the repeaters as they are fairly simple devices. Each repeater would need to sense an incoming pulse of light and output an identical pulse so on and so forth down the line. Our kits included only one photo resistor each so we ended up placing a Sparkfun order for local pick up ( a dangerous thing to have access to ) for a handful of photoresitors. I began working on designing the repeater circuits while Jonah worked on the code to run on each ATTiny. We wanted the code on each repeater to be exactly the same as programming 8 ICs was going to be trouble enough without each running different code. As I began testing the repeater circuit I realized that each was going to need to be adjusted based on ambient light. Our first thought was to use a potentiometer to adjust the sensitivity of the circuit but then realized that each repeater would need to be adjusted independently and likely repeatedly as ambient conditions changed. This led us to change the code running on the repeater instead of the circuit itself. The code we implemented performed analogReads and averaged those readings to get a baseline reading of the ambient light near that repeater. When the baseline value was exceeded by a threshold the repeater would be triggered. The code works in the same way to determine when the signal has gone off. We chained seven repeaters together with hotglue sticks and Jonah pulled together some code that would convert text to morse code. This code ran on a full-sized Arduino and would flash an LED in morse code accordingly. This was the input to our network. We chose "Call me Ishmael." as the message to be transmitted through the network. We had originally planned on decoding the morse code and having it display on an LCD screen, but were not able to make this happen in the allotted time.
There were a lot of neat things made during the hack-a-thon. I got a lot of interesting ideas from other people. Besides that it was nice to share a room with twenty other people who were intensely involved in making something that was interesting to them. -fun times.
Oh and Brian also took us up to the roof! I went along to see the solar panel array on top of the building that I am told practically offsets Sparkfun's electric bill. An amazing thing for a place where manufacturing happens. Anyway, I went to see the solar panels, but stayed to stare at the mountains. There is a gorgeous view of the mountains from the Sparkfun rooftop that I did not want to walk away from.
Brian reserved Friday for advanced topics and building the robot chassis that came in our kits. The robot was easy enough to assemble and with the provided example sketches was easy enough to program. I only had the chance to scratch the surface of possibilities that this robot platform provides and look forward to using it in future robot applications. People started to leave fairly early on Friday as all the material had been covered, but before anyone left we went outside and took a group photo.
The class ended a few weeks ago and I have since had some time to reflect on what I learned from the workshop. The only topics of the class that I was already familiar with was Arduino and Scratch programming. Everything else was new to me. I read about much of what we covered every day, but had never set aside the time to participate in any of the activities that this class forced me to try. Things that I had written off as begin juvenile before proved themselves extremely fun and very interesting to me. It is my understanding that there is at least one university sponsored makerspace in the works right now at OU. I believe this workshop introduced me to best practices for conducting makerspace workshops that I hope to put to use soon in one of the university makerspaces. Jonah is more involved in those projects than I am, but since our trip to Sparkfun we have already briefly discussed workshop ideas to drum up some interest among university students, faculty, and staff.
Header image, Sparkfun logo, used under the terms of a Creative Commons Attribution License.