For our final design, we were between several ideas. Our pomodoro timer was the frontrunner but we became apprehensive about the lack of time and level of design we wanted to achieve.
We also strongly felt we wanted to design devices that worked as a set–either for communication or otherwise–but offered a shared experience.
This bookmark is designed to make reading an immersive, multisensory experience. Upon opening your book, this bookmark turns into a reading light, automatically illuminating to light up your page. A customizable scent profile enhances the moment. Close the book, and the light turns off while the system enters low-power sleep mode to save battery.
If you’d like to take on an additional challenge, this bookmark has the potential to take on IoT features. Built on the Arduino Nano ESP32 with WiFi capabilities, you can program it to automatically start your favorite reading playlist on Spotify when you open your book, and even enable Do Not Disturb mode on your phone. It allows you to create a distraction-free reading environment and truly get lost in your latest literary escape.
I wanted my inner thoughts mirror to really go against what we see nowadays. We are being pushed happiness and optimism so much. In the spirit of being a realist, I wanted to create something that reflected one’s actual inner thoughts back to them. In a way, I sometimes think taking optimism too far can skew one’s vision. I wanted to create something real – that perhaps adds a bit of a shock factor. When our thoughts are actually materialized and put in front of us, will we start being more aware and perhaps start reframing?
Tools
Soldering iron
Solder wire
Wire cutters / strippers
Hot glue gun
Scissors
Black tape(will become your best friend! I used an electrical one)
MATERIALS / COMPONENTS
Arduino Nano ESP32
2.4″ OLED screen(I used an affordable one from Amazon, I would suggest looking one up on Adafruit for better quality and reliability)
For my halloween project assignment I wanted to make something that would be easily portable and detachable without the need for execessive fabric, components, or deep storage.
I wanted the LED part to make sense as an effective component that would help me communicate my costume not add an extra layer to it.
In thinking of the best scifi characters I’d seen I stumbled across a favorite that I often go back to as a reference — Eve, the robot from Wall-E.
Eve
I liked how expressive Eve’s eyes are in comparison to her otherwise sterile Apple inspired form. Not only where her eyes useful for expressing her mood and character, they also seemed to have a specific pattern of states the character designers repeated across the film. This would be perfect for my costume idea and would also lend itself to a clean detachable wearable.
Components
In selecting compontents that would work for my costume I was extra selective of visors/sunglasses that would fit the futuristic aesthetic I was lookign for but also would provide enough ‘real estate’ to house all of the necessary components while still allowing me to see.
This was the same story with lighting and while being knowledgable enough to know I should not dive into wiring together a bunch of strips, I didn’t know enough about what I should order. Again I read product dimensions for a series of different lights in order to decide what would best fit and I also did a few drawings of the different eye states to validate that and 8×8 matrix grid would work to communicate my design.
some early drawings for the different eye states on 8×8 matrix grids
The Code
Once I ordered all compontents, I dove into the code part. After some initial research I knew that making the different eye states would be simple enough, as I’d just be telling which pixel to turn on in each of my grids — and boy was I wrong.
Pin SetupColor Setup
Setting up the Pins and Color were pretty straightforward and looked clean in the code.
The state switching to button press was also relatively straightforward even though I inititially thought we could use the native switch on the Gemma which come to find out is a hard-wire reset button.
Even setting up the eye states were pretty simple although alot of manual work trying to not mistype coordinate data for the x and y positions.
What was a challenge was the coordinate setup for the LED matrices and the way to make it work for two different light panels.
The Wiring
When I did the initial wireup test on the Arduino and bread-board I had only tested it with a single matrix, assuming it would be easy to extend the display to the second matrix. This was something I struggled with later on once wiring to my final Gemma version.
With help from Manya, I wired up my visor with everything installed and taped up nicely and to my surprise it was no longer working
With trouble shooting support from Becky, I realized it was a wiring issue. I insisted I had wired it perfectly but deep down I knew that it was too ‘perfect’ to be true. I had taped up and packaged everything so nicely that I was bound to have to go back and undo some of it.
I then realized that when wiring up my board I had been looking at the OUT nodes on my LED matrix and so the wires going IN were in the wrong order.
I rewired it…
It’s working!! Sort of….
I had one eye working at this point (and one dot in the second panel for some reason). This is the part I fought with in the end as I really wanted to tell the code my 8×8 matrix was a 16×8 matrix to basically extend the display.
While setting that up I began tweaking my states to reflect a 16×8 grid. However once setup the second eye didn’t wouldn’t display the eye correctly. The eye was always backwards or rotated or skewed in a different direction.
At one point I even ripped off the second eye and manually rotated the panel 180 degrees in the hope that it would fix this problem — it didnt and I ended up mirroring the displays which proved to be a really simple fix.
At this point I wanted something to show for all of my fiddling so I decided to continue with my original plan and add a blink animation to my eyes to give them more character. Instead of animating a blink I went with just togglign between the states and a blink state which is just a horizontal line. In the code it toggles to a blink every 6 seconds with a 250ms blink.
In the end
I learned alot from this process and while my costume looks more like a creepy NEO facotry robot more than it does Eve from Wall-e, I’m happy with the result.
If I were to take this process a step further I’d want to increase visibility in the visor while also finding a way to hook up a smaller battery in the visor to make it more self contained.
My goal for this project was to create a staff/walking stick/spear based on Spinel from Steven Universe. I wanted it to be something fun to carry around to Halloween parties for the rest of the week. Something striking and eye catching, creating it in my own style while keeping the tone of Spinel’s [dark + twisted love].
I really enjoy how this project came out, it feels really true to me and I was able to experiment with a few different techniques [laser. cutting, 3d printing]. I’m super interested in making more variations of this object, maybe based on different characters or moods.
Struggles My biggest struggle was probably the 3d printing. While trying to print I ended up going through multiple versions of my design in order to troubleshoot the most efficient way to include the supports. I really enjoyed exploring the 3d printing community files, I have some printing experience but it was never something that really excited me. However, I found it really fun looking through all of the 3d print files that people upload to places like Thingiverse.
++ clearing out the supports out of something so narrow + long like the gem was way more tricky than I was expecting.
++ I did have to re-solder my Gemma 3 times because I kept messing up the ins/outs. Shoutout to Mallika + Tristan for helping me figure out what was wrong.
void loop() { // two quick pulses then rest heartbeat(); delay(1000); }
void heartbeat() { for (int i = 0; i < 2; i++) { pulse(255, 20, 100, 600, 200); // pinkish pulse: r,g,b, rise ms, fall ms delay(150); } }
void pulse(int r, int g, int b, int riseTime, int fallTime) { int steps = 30; for (int i = 0; i <= steps; i++) { float bLevel = (float)i / steps; strip.fill(strip.Color(r * bLevel, g * bLevel, b * bLevel)); strip.show(); delay(riseTime / steps); } for (int i = steps; i >= 0; i–) { float bLevel = (float)i / steps; strip.fill(strip.Color(r * bLevel, g * bLevel, b * bLevel)); strip.show(); delay(fallTime / steps); } }
**I do feel like the photographer that was in the VFL got more progress shots than I did of this project so I’m hoping we get access to those. This was the least amount of documenting I’ve done for a project, which was surprising because initially i felt like I was capturing every step.
This project recreates the iconic “?” Question Box from the Super Mario video game series as an interactive prop. When someone punches or taps the bottom of the box, it lights up brightly and plays a Mario coin sound, just like in the game when Mario collects a coin or power-up.
The intention behind this costume prop is to bring nostalgia and fun to Halloween. It’s not designed to scare people — it’s designed to make people smile and feel like they’re inside the Mario world. When friends see the glowing box and hear the coin sound, they immediately recognize it and often want to “hit” it themselves! It’s both interactive and playful, perfect for a group or gaming-themed costume.
Concept: Inspired by the iconic Question Block from the Super Mario games, this interactive box lights up and changes color whenever it’s “hit” from below — just like in the game when Mario punches it to release a coin or power-up. The project uses NeoPixel LEDs for vivid lighting effects and an impact sensor (or push button) at the bottom to detect the punch or tap.
Objective: To recreate a nostalgic video game interaction using Arduino and NeoPixel LEDs, demonstrating how sensors can trigger real-time lighting animations.
Take Away…
I chose the Mario Question Box as my Halloween costume because Super Mario has always been one of my favorite games. I’m obsessed with its playful, dynamic style—so I decided to bring the iconic question mark box to life! My first plan was to buy the costume online and then build the box myself. After discussing the idea with Becky, I began modeling the design, bought two rolls of filament, and started 3D printing in the wood shop. Everything went smoothly, except for the printing time—it took almost two full days! Thankfully, Becky kindly provided me with a sound board, and Wini helped me a lot with the circuit assembly.Besides, thanks for woodshop staff members helping me to set up the printer!
During the soldering phase, I experimented with different ways to prevent short circuits on the Gemma board while ensuring there was enough power for the speaker. It was a long and sometimes frustrating process, but eventually, the LEDs worked perfectly and the soundboard played flawlessly. Through this project, I learned two important lessons: patience in problem-solving and the true value of teamwork.
If I had the chance to redo it, I would design a more elastic mechanism to switch the lights on and off, and connect the sound board to a more stable power source for better performance.
What my costume is: For this project, I chose to cosplay Karen, the electronic wife of Plankton from SpongeBob SquarePants. I mainly focused on recreating Karen’s head—the computer screen, and turned it into a handheld interactive device. To complete the look, I paired it with a silver outfit that enhances the metallic, robotic feel of the character.
Why I made it: I grew up watching SpongeBob SquarePants, and Karen has always been one of my favorite characters. Cosplaying an intelligent computer felt both funny and fascinating—it’s not just a character, but also a machine with a personality. Another reason I wanted to make this costume is the interactive potential: I can design multiple facial expressions and animations for the screen and switch between them during the Halloween parade, which makes the performance dynamic and playful.
How it is to wear it: Since the device is handheld, I carried it throughout the parade. The grip felt quite comfortable and the overall weight was manageable. It was fun to hold and show to others, although I did notice that the screen tended to tilt slightly forward when posing for photos—something I’ll try to adjust in the future.
What I learned in the process: This project taught me a lot—from building circuits based on my own design, to modifying Arduino code and making my idea come to life through interactive electronics. It was a great opportunity to overcome my fear of circuitry and programming. Now I feel much more confident about creating interactive and responsive objects in future design projects.
What I would do differently: If I had more time, I would add more animated expressions to the screen. Right now, Karen only has three facial states, but adding more—like a dramatic shift from a happy face to an angry red one, then transitioning into moving lines—could create a small visual “storyline.” That would make the character’s expression and behavior even more alive and theatrical.
4️⃣ Black Translucent Acrylic Sheet (VFL)+ Black Silicone Sealant(Borrowed from Wini) 5️⃣ Foam Board
6️⃣ Silver Metallic Cardstock Paper (Bought from Blick)
7️⃣ Electrical Wires for Soldering
8️⃣ Portable Power Bank
Circuit diagram
Arduino code
In-progress images/sketches
🙏 Special Thanks
Huge thanks to Wini — honestly, I couldn’t have even started this project without her. She helped me with everything — from figuring out the circuit wiring to writing and debugging the Arduino code. She was super patient and always there when I got stuck. I’m so, so grateful for all her help. And also to Jay, who gave me tons of guidance with the circuit setup — your advice really made things a lot smoother.
The severed Minecraft head is a prop for a halloween costume, acting like a trick or treat basket. Constructed from acrylic/polyethylene/polypropylene sheets, the head is painted with the signature pixelated aesthetic and features internal RGBW LED strips inside the box. The primary function is to express four distinct “moods”—Angry (red light), Sad (blue light), Disgust (green light), and Happy (yellow light)—by dynamically shifting the color of the internal lighting. The basket includes a red handle and a “severed neck” base, with black paint for the eyes and mouth, ensuring both visual impact and a clear pathway for the light to shine through. The shades of the pixels are created by painting multiple coats of acrylic paint on the surface to help create a opaque and translucent light dispersal.
The prop’s intention is to blend the nostalgia of my brother and my shared love for Minecraft with a playful Halloween fright. By presenting the instantly recognizable Creeper head in a dark context—a “severed neck” basket—it introduces a darkly humorous twist on a beloved game element. The dynamic, shifting NeoPixel lights (from “angry” red to “sad” blue) use in-game visuals to create an eerie, mood-depicting glow, transforming our childhood interests into a uniquely personal and subtly unsettling costume piece.
Concept sketch
Materials & Parts
1/4″ white translucent acrylic sheet – For the main structure, laser cut to make a 8×8″ cube. Purchased from the VFL.
(2) RGBW LED Neopixel Sticks – For the light source, I had one in my kit. Borrowed another one from Jay.
Crafting a Minecraft head costume with NeoPixel sticks illuminating it from within was honestly an ambitious but fun project. While the soldering proved to be a real challenge, trying to attach those tiny wires to the compact Gemma M0 board tested both my patience and my dexterity, the final result made it all worthwhile. Parading through the streets of NYC for the Halloween parade was an incredible cultural experience, with the energy of the crowd and the creativity on display making every frustrating moment at my workbench fade away. Looking back, if I were to build this prop again, I’d construct the top and bottom sections in acrylic as well, rather than just the sides, to achieve a fully translucent effect that would really let those NeoPixels shine through every surface and create an even more striking glow.
A special mention and big thank you to everyone, especially Becky, Josh, the entire VFL team, Rhea and Manya who helped me see this project through till the end, believing that I could execute it! Thank you to Becky and Smokey for accompanying my friends and I to the parade as well! Thank you for your support!
My Halloween costume is composed of three main parts: a 3D-printed white PLA crow mask, a black cape with a hood, and a set of three mechanical finger claws. The mask takes most of the technical work. I first used the Polycam app to scan my head and modeled the crow form around it so it would fit perfectly.
Each eye has a 12-pixel NeoPixel ring, friction-fit into an indent with wiring channels and openings for two frosted acrylic donut-shaped plates that diffuse the light. A small side button placed near my temple switches between two light patterns—a loading animation and a red glowing one.
All electronics sit inside the mask, with the wiring taped neatly along the inner surface. Felt pads and EVA foam along the edges add comfort where it touches the face, and an elastic headband—stitched through pre-modeled holes—keeps it secure. The circuit board itself is sewn to the back of the band, making everything self-contained.
The cape is store-bought, simple, and helps emphasize the mysterious silhouette of the mask. The finger claws are fully mechanical: each uses a parallelogram linkage system that extends or retracts the claw as I curl and straighten my fingers, creating a kind of living, mechanical gesture.
Wearing it feels quite straightforward. The claws are pretty identical, so I marked them inside to avoid confusion when putting them on. The mask, however, demands more patience. Since the wiring runs along the same path as the elastic band, the band stretches but the wires don’t, which sometimes causes them to curl up or catch slightly in my hair. The visibility is also limited—mainly because the eye holes are thickened to fit both the LED rings and the acrylic diffusers—so it feels like looking through a narrow tunnel of light.
Through this project, I get to integrate electronics with 3D-printed structures for the first time—how to design around wires, embed boards, and plan assembly digitally before making it physical. I also learned about comfort, weight, and cable management that only appear when you actually wear what you’ve built. If I were to do it again, I would refine the eye geometry to widen the field of view and create more space between the LED ring and the acrylic to enhance the diffusion effect. I would also add more internal padding, especially near the forehead, to keep the wires from pressing awkwardly against the skin.