Soldering Lab

Idea

During the summer of 2022 I worked at an engineering summer camp teaching Arduino to Middle and High Schoolers. The camp needed an additional soldering lab, so I took on the task of designing a PCB on which students could solder on components. My goal was to make the final product a fun visual experience with LEDs and games to spark the interest our campers.

PCB Design

I designed the PCB using Eagle. I had never designed a PCB before, but it was surprisingly straightforward. At it's core, the circuit board uses Raspberry Pi Pico. I chose the Pico due to it being much faster and having more memory than something like an Arduino Nano. The Pico runs primarily on 3.3V, which was great for the 128x32 pixel I2C OLED display, but was not so good for the 5V WS2812 LED strips. Luckily the 5V power from the PICO's micro-USB proved to be plenty to drive all 20 of the LEDs. The LED strips were nice because of their sticky backs, allowing them to be stuck straight to the PCB and have their ends soldered on. However looking back, I should have gone with individual LEDs rather than a strip, since many of the campers finished soldering their boards early. All of the pushbuttons used the Pico's internal pull up resistors. A potentiometer was also added to the top of the board to add more input options.

Top Layer

Bottom Layer

Iteration

The first iteration had a major flaw in that the complete ring of LEDs blocked the micro usb port on the Pico. There were also additional components on this board that I decided were unnecessary, such as a temperature sensor and buzzer. Otherwise, this first iteration proved successful, and after changing a few details version 2 was created. All of the PCBs were ordered through JLC PCB, which proved to yield good results.

Partially Soldered V1 board

The LEDs Blocked the MircoUSB Port


Final Board

On the final board, I removed a row of LEDs and shifted the layout. This board proved to be successful. Over the course of the summer camp over 360 boards were soldered and went home with campers. The students would solder all of the components to their board, and then a Lab Tech would flash their board with code using Rshell, a command prompt for communication with microcontrollers.

We did face some issues with the board over the course of the camp, mostly due to the fact that many campers were new to soldering. The biggest issue that happened repeatedly was campers frying the Pico by accidently short circuiting it or overheating it during soldering. Luckily by the end of the camp the Lab Techs had gotten extremely good at troubleshooting boards (and speed soldering replacements).

The largest problem with the lab was that most campers finished early, and wanted more to do. I did have an additional 10k resistor and photoresistor footprints on the PCBs, but the photoresistors were not consistent enough to be useful.

3D Printed Case

I wanted something special for my own personal PCB, so I 3D printed a case for it, which features flexible button covers and diffuses the LEDs.

Code

The board cycles through different modes as you press the mode button, and then each of the 4 other buttons, combined with the potentiometer, provide additional functions or settings for the mode. These settings are shown on the OLED display. The list of modes are as follows:

  • 0: Engineering Possibilities In College + Cal Poly Logo

  • 1: Potentiometer Test

  • 2: Sine Wave

  • 3: Bouncing Dot

  • 4: Marching Ants

  • 5: Shooting Star

  • 6: Rainbow

  • 7: Catch the Dot Game

  • 8: 2 Player Tug of War Game

IMG_2194.MOV

Ultimate Arduino Box

Another Lab Tech and I combined the PCB with an box from a spare Arduino kit to create an undercover box that lights up and can play games. Extra leds were routed along the edge of the lid, and a Tilt ball switch was used to detect when the lid was opened. The whole system is powered off of a 9V battery through a 9V to 5V power distribution board.

IMG_2095.MOV