#Unplugged : Text-Fax

Purpose: In today’s world digital connections often contribute to overstimulation, our text-fax printer allows you to feel connected to your loved ones, no matter how far, while staying unplugged. Designed for moments when you might feel too anxious to be on your phone, but too lonely to stay off your phone, this device allows selected text messages to be printed with the push of a button. You can stay unplugged while receiving words of encouragement from a chosen support system.

Function: Using an Arduino Thermal printer, and hooking it up to a wifi board (which communicates to an IO server), print out text messages with a hashtag #unplugged.

Instructables: https://www.instructables.com/Unplugged-a-Text-Fax-Machine/

Video: https://drive.google.com/file/d/1iV3wg07PS-lGe5Jdz2KdFI-DgMBBQsuD/view?usp=sharing

Process (Code & Form & Construction)

Get serial Monitor to print out messages sent

void setup() {
// Set button pin as input
// Start the serial communication
// Connect to Adafruit IO
// Subscribe to the "Text-Fax" feed


void loop() {
// Ensure the connection to Adafruit IO is maintained
// Read the state of the button
buttonState = digitalRead(BUTTON_PIN);
// Check if the button is pressed
if (buttonState == LOW) {
Serial.print("New Message: ");
Serial.print("#unplugged \n");


void receiveMessage(AdafruitIO_Data *data) {
// Update the last received message
lastReceivedMessage = data->toString();


Get printer to work

  • On Metro
  • On Huzzah

Additional Parts?

Adding a Logic Shifter for the Printer on the Huzzah


Back to Code

For the video, I ended up wiring my button to the printer and then printing on button push. I made a stack of random text messages and with every button push it would push out a message.

After the video I kept trying back at communicating between my metro and huzzah board with little success.


I am going to keep trying to get the boards to talk to each other so they can actually print out the recieved text messages with the wifi. I think the video is pretty convincing but it would be amazing to feel that real success of it.

I also am right now using IFTTT, which limits to just me texting a certain number which was great for this project testing but in product form this would have to be its own server. It would also need to extend beyond text messages to also whatspp, bolin, wechat, and other messaging apps.

In terms of the form, I would want to see if there is a more sleek way of the printer in the book, it is tough because of size limitations. But if I took out the body of the printer and just used the mechanics I might be able to make it downsize.

Overall I learned a lot from this project, and it makes me really excited about other IoT projects. I want to keep honing this skills that we learned from this class. I think it was a great way to massage my brain as an engineer and a designer at the same time, and it makes me want to be more ambitious with my projects as well.

Elains’s Final Project-Weather Clock




Making Process


Project’s purpose

Have you forget to check the weather and go out without an umbrella? The Acrylic Weather Clock — an elegant weather forecasting device. Decorating your entryway with this stylish piece, and conveniently access weather forecast information before stepping out!

This product aims to provide visual aesthetics through the overlapping effects of acrylic layers rather than functionalities.


Adjusting the pointer according to weather changes to indicate the current weather.

Future projections

By combining more weather elements and colors, we can create a more beautiful diffused light effect.

Animated Gradient

Sound reactive disco speaker

This sound-reactive LED Bluetooth speaker is designed for someone who enjoys partying, music, and attention-grabbing on a tight budget. The beat and notes of the music will cause the LED lights to flash. The mirrored outer section functions similarly to a disco ball, saving the user from having to drill a hole in the ceiling. 

Parts, Tools, and Supplies:

  • LED Strips
  • Breadboard
  • Arduino Uno
  • Wire Cutter
  • Sound Amplifier
  • Bluetooth Speaker
  • USB A-B Cable
  • Sharp utility knife
  • Hot melt glue gun
  • Soldering iron and Solder
  • Third hand tool
  • Tweezers
  • Small needlenose plier
  • Battery pack
  • Bluetooth speaker
  • Mirror acrylic sheet

Form & Material

  • Trim the LED strips to the appropriate size to ensure they fit within the outer casing.
  • Solder each part(GND, 5V, A1) and connect them all together.
  • Solder the connected LED strips with Gemma board and sound amplifier.
  • Attach everything inside of the outer casing.
  • Place the batteries into the battery pack and verify its functionality through testing.

Instructables link: https://www.instructables.com/Haleys-Sample-Project/


Kira’s Final Project-Music Light



Project Description:

The Interactive Music Light is an innovative DIY project that combines sound sensing technology with lighting effects to create a dynamic lighting experience that changes with music. Utilizing an Arduino controller and an Electret Microphone Amplifier Module MAX4466, this device captures ambient sound and adjusts the brightness of an LED light in response to the sound intensity. This unique design not only provides a dynamic visual display but also adds an interactive element to any space.

Key Features:

Sound Activation: The device captures audio signals through its built-in microphone module, responding in real-time to music and sounds in the environment.

Brightness Adjustment: The LED light’s brightness varies in accordance with the captured sound intensity, creating light effects that synchronize with the music rhythm.

Arduino Powered: Leveraging the flexibility and user-friendliness of Arduino, the system’s design is both simple and easy to implement.

3D Printed Enclosure: The device comes with a custom 3D printed treble clef enclosure, adding an artistic aesthetic and personalized style.


The Interactive Music Light is perfect for home parties, cafes, studios, or any setting that requires a dynamic atmosphere. It’s not just an elegant lighting solution but also an educational tool that sparks interest in the convergence of technology and art.


Jin’s final project—Making guide


To make this project, I used:
Existing Clock
360 Servo SG90
Several wires for connection
Adafruit Huzzah ESP8266
LED Light Strips
Adafruit Perma-Proto 1/2
solder pen

Recuit Connection



Function Summary

Weather in NYC changed randomly. I’d like to have a CLOTH SUGGESTION BOARD to give me advise that what i should wear everyday so that i won’t wear the wrong clothes.

Time: Using existing clock’s motor
Weather: Using servo motor —four different weather method:
Cloth suggestion: LED Light—four different clothes suggetions: T-shirt, Sweatshirts,Windbreak , Down

When i push a a buttom on my clock, i can getthe current weather and temperature the info will stay 5 minues.


Final sketch & Model

JIAQI’S Final process

1. MC Reality Life bar



My video is like the feeling of MC crossing into reality, I first in the game, and then back to reality to find the blood bar falling, after sleeping to add blood, drink more water, and finally I can carry 64 logs

4. Google doc:


Yifan’s final project WIP


GAME BALL has game functions and can control lights, making it a part of home decoration. This versatility makes the GAME BALL an efficient device in any room while also adding a stylish and modern touch to the home. Whether in the living room, bedroom, or kitchen, GAME BALL can be a good decoration, making the whole room more comfortable and warm.


  • Arduino ESP8266
  • Breadboard
  • Ultra Sonic sensor
  • Button
  • DC motor
  • WS2812
  • Servo motor

Google doc





Attempt 1:

Main Loop:
Continuously check the state of the button.
If the button is pressed:
Rotate the servo motor to 90 degrees.
Measure the distance using the ultrasonic sensor.
Output the distance to the Serial monitor.
If the distance is less than 20 cm:
Activate the DC motor.
Illuminate the NeoPixel LED strip with a yellow color.
If the distance is greater than or equal to 20 cm:
Deactivate the DC motor.
Turn off the NeoPixel LED strip
Distance Measurement Function:
Implement the measure distance function to measure the distance using the ultrasonic sensor.
This code creates an interactive system where pressing a button initiates actions based on the measured distance using an ultrasonic sensor. The servo motor controls physical movement, the DC motor reacts to proximity, and the NeoPixel LED strip provides visual feedback.

Q: DC motor not working

Attempt 2:

I try to control the movement of two servos (servo motors) using two buttons, while also detecting distance through an ultrasonic sensor and controlling the state of a NeoPixel LED strip. Here’s a textual description of the code:

Import the Servo and Adafruit_NeoPixel libraries and define various pins and constants.

Set up two Servo objects (and) and one Adafruit_NeoPixel object (strip).

In the setup function, initialize the program by setting the modes for the button, ultrasonic sensor, and NeoPixel pins, as well as initializing the Servo and NeoPixel objects.

In the loop function, first check the state of the buttons.

If a button is pressed, rotate servoButton to 45 degrees, delay for 500 milliseconds, and then return it to the original position.

Simultaneously, use a loop to rotate the servoUltrasonic from 90 degrees to 180 degrees and then back from 180 degrees to 90 degrees, finally returning it to the 90-degree position.

Measure the distance with the ultrasonic sensor; if the distance is less than 20 centimeters, illuminate the NeoPixel LED strip. Additionally, use a loop to rotate the servoUltrasonic from 0 degrees to 180 degrees and then back from 180 degrees to 0 degrees, finally returning it to the 90-degree position.

If the distance is not less than 20 centimeters, turn off the NeoPixel LED strip and return servoUltrasonic to the 90-degree position.After each loop, wait for 1 second before starting the next iteration.

Q; Connecting two servo motor buttons at the same time cannot make one of them work.

Attempt 3:

  1. Main Loop:
    • In the loop() function, handles the logic for the button and ultrasonic sensor by calling buttonLoop() and ultrasonicLoop().
  2. Button Operation:
    • In the buttonLoop() function, checks the button state. If the button is pressed, it sets the servo angle for the button to 45 degrees.
  3. Ultrasonic Operation:
    • In the ultrasonicLoop() function, uses the measureDistance() function to obtain the ultrasonic sensor’s distance reading.
    • Based on the distance, controls the color of the Neopixel LED strip. If the distance is less than 20cm, the LED strip is set to yellow.
    • Simultaneously, sweeps the ultrasonic sensor by moving its servo to create a scanning motion.
    • When the distance is greater than or equal to 20cm, the LED strip turns off, and the ultrasonic sensor’s servo returns to the initial position.
  4. Ultrasonic Ranging:
    • The measureDistance() function triggers the ultrasonic sensor, measures the duration of the echo pulse, and converts it to a distance value, implementing ultrasonic ranging.

Q; Connecting two servo motor buttons at the same time cannot make one of them work.

Kira’s Final project process

This is a music light controlled by the sound level, people can use it to increase the sense of atmosphere when singing or party, which can be more interesting for our life.

Material Preparation:

  1. Arduino Uno.
  2. Electret Microphone Amplifier Module MAX4466.
  3. LED Strip.
  4. Conductor.

Circuit Planning


Renew on 11/28

In order to save time and simplify the build process, I tried to find some treble symbols online that fit my requirements, and to my surprise I did find a fitting that fit the criteria perfectly, all I had to do was to disassemble it and fit it into the strip of lights that I had entered the code for and I was good to go.

To further research how to best accomplish my project, I bought a similar music light and took it apart to study its circuit board and how it was assembled. Truth be told, it didn’t inspire me much, and I still feel like sticking to the original plan.

Carol’s Final Project Process

Photos of prototype circuit and form:


Link to the Google Doc draft tutorial:


Link to the Instructables user profile:


Description and/or storyboard for your project video:

Scene 1: Fade from black with mysterious music playing in the background. Shot of crystal ball resting on velvet covered table, dim lighting creates an atmospheric effect.

Scene 2: Shows the Diviner from the participants’ point of view.

Scene 3: Close-up of the diviner.

Scene 4: Participants make a wish with their eyes closed.

Scene 5: The diviner’s hands are hovering above the crystal ball.

Scene 6: Energy flows into the crystal ball. The astrological element transitions to a starry night sky background or a mystical scene with candles, runes and tarot cards.

Scene 7: The crystal ball glows.

Scene 8: The participant looks into the crystal ball with fascination.