Article by: Jon Alex Allen
When I first heard about the MAGIC and Ting Arduino Bootcamp, I wasn’t quite sure what to expect. I knew almost nothing about Arduino; what it is, how it works, or what I could do with it. Nevertheless, it seemed like it could be a valuable experience and I was interested in learning more.
My experience working with hardware, like the Arduino, is very limited, as I prefer working with software. For me, it is simpler and nicer to have complete control over every letter and number in a project, and to have an “undo” button to fix every mistake I make – which isn’t the case with hardware. However, I am always trying to expand my horizons and learn about new things – technologies, skills, tools – even if doing so may not always be as simple or nice as continuing to do the same things I always have. The Arduino course seemed like a perfect opportunity to learn a new skill in an area of technology that I knew very little about.
Despite having no background in hardware, I knew it would be a great experience. I have been to several events organized by MAGIC in the past, including the most recent Capture the Flag cybersecurity competition and both Hackathon events. They have all been great experiences that have allowed me to step outside of my comfort zone and learn new skills, both in technology and in working with others to create within given constraints – all skills that are extremely valuable for anyone who will be entering the modern, technologically-driven workforce.
The camp lasted the week from June 16 to June 20, and was taught by experienced professionals with backgrounds in many different areas of technology. It was held in the Ting Makerspace, a space in Westminster where people can go to create whatever they want using a set of powerful tools, including a 3D printer and laser cutter.
I should briefly explain what it was that we were learning about during the camp. The Arduino is an electronics kit that allows users to interact with hardware components, such as LED lights, motors, sensors, and switches through programs written in a specialized version of C++. It can be powered with just a USB connection to a desktop computer or laptop, but can also be connected to a battery or other power supply. The Arduino has enough memory to store a program even while not connected to a machine, allowing for the creation of some truly amazing autonomous devices. Wires can be used to connect different components to ports in a circuit board, which processes the instructions provided in the programming language and carries them out.
It was fascinating to see how hardware and software work together to complete complex operations. Throughout the week, we built about a dozen different projects, each of which built upon the previous ones, but also taught new skills and techniques. The first day, we spent most of the roughly three and a half hours we were at the Makerspace on learning about LEDs, which are essentially small colored light bulbs that work because of a process called “electroluminescence”. These were a great place to start learning about how to build electronic circuits with the Arduino kit, as working with the LEDs required knowledge about building circuits with a power source (the Arduino circuit board), wires, resistors, and a breadboard – a circuit board that wires can be temporarily inserted into, instead of being permanently soldered together.
These are concepts that we spent a great deal of time covering during the bootcamp – the concepts that drive all electronics and allow for the creation of extraordinarily complex machines. We learned about how current flows through wires, how it is slowed by resistors and controlled by transistors and used to power the tiny magnets in motors that make them spin and to heat up the filament in light bulbs that makes them glow. The concepts we learned about were varied, covering everything from compiling code on a computer to creating a closed circuit from a power source to a ground.
Over the next four days, we learned about everything from switches to photoresistors to motors to buzzers – the students expanded on the material that we were taught, and were encouraged to explore beyond the basic concepts and to ask questions. The entire week had a relaxed and productive atmosphere. Since there were only a few students, it was a more interactive and individualized experience than a group with dozens of students may have. The material taught was organized to best fit the students – more time was devoted to the topics that we were struggling with the most, and the topics that we understood best were moved past more quickly. All the material was challenging and engaging, and was therefore very rewarding when we finally understood it.
For example, on day four, we learned about logic gates. These are the most basic circuits in a computer, and process individual “bits” of information at the most fundamental level. This is something that I have had trouble understanding for a while – that something so complex, like a modern computer or mobile device, can be created from many simple logic circuits. Sometimes it’s hard to believe that computers aren’t just magic. It’s not necessarily an intuitive concept, but learning about this concept at a more fundamental level was very helpful for me. We built several logic gates, such as an AND gate, OR gate, NAND gate, and NOR gate, using basic components like transistors and resistors, and were able to gain firsthand experience with how they worked. Making mistakes allowed us to learn from them, so we were encouraged to try different things until something broke – one of the main points of the course.
Aside from theory, we spent plenty of time learning and practicing skills, such as soldering. The best part of this was that none of these skills were taught to us just for the sake of teaching them to us, but they were connected to the projects we were working on and the concepts we were learning about. We learned to solder so that we could connect a miniature power source in our circuit to a larger power source, which was connected to a wall outlet, allowing us to power motors separately from the Arduino. The instructors explained in detail how it was important that the two circuits be separate, allowing us to gain insight into many of the basic concepts of electrical engineering. We took home everything we built during the camp.
As we learned more, we could create projects with a higher level of abstraction. On the first day, we plugged components into a circuit board exactly as shown, without understanding why certain parts were where they were; by the last, we could easily construct a complete circuit from just a diagram that displayed which components should be connected to which other components. This also allowed us to create more complex projects, combining what we had learned on one project with the skills from another project. Eventually, students could create projects entirely from scratch, now knowing what each component did and how it should be used with the others.
The camp taught us many technical skills that can be applied to a wide range of projects and concepts. However, the Arduino Bootcamp, as is the case with many other MAGIC events, was also a great way to improve social skills, such as working on projects with teams, asking other people for help, and sharing experience with others. After figuring out how to solve a particular problem or do something new with the Arduino, students would explain to each other how to do so. The camp encouraged a cooperative atmosphere in which students could learn from the teachers, online resources, or other students to learn new skills.
The Arduino Bootcamp was an incredible opportunity, and I will be using the skills I gained for many years to come. It was true that even if I didn’t know much about what I would be learning, and knew that it would be outside of what I was familiar with, it would still be a valuable and worthwhile experience. Thank you to MAGIC for being such an incredible organization that devotes the time and resources to encourage young people to explore technology and provide such great opportunities, like the Arduino Bootcamp.