Tilt-a-Sketch

by devitoal in Circuits > LEDs

1364 Views, 20 Favorites, 0 Comments

Tilt-a-Sketch

Tilt-a-Sketch
IMG_0825.jpeg
IMG_0830.jpeg
IMG_0829.jpeg
IMG_0828.jpeg
IMG_0827.jpeg
IMG_0826.jpeg

The goal of this project was to create an interactive art piece that engages the user. While brainstorming ideas, I thought, Why not let the user create their own art? That question led me to develop the Tilt-A-Sketch—a modern twist on the classic Etch A Sketch. Instead of using traditional dials, this version harnesses the power of motion, allowing users to draw by tilting the device with an accelerometer as the input method

Supplies

Tools:

  1. Laser Cutter
  2. Computer (For programing)


Supplies:

  1. LED Matrix - Link
  2. AdaFruit Matrix Portal S3 - Link
  3. 1/4 Inch Baltic Birch
  4. Super Glue
  5. Velcro
  6. USB-C power brick
  7. USB-C to USB-C Cord

Setup the S3 Matrix

Setup a CircuitPlayground Bluefruit or Express
CircuitPython Libraries, Example Code, & Using CircUp

To Setup the Matrix Portal, follow the instructions on the Adafruit website. Alternatively, for more visual learners, Prof G, Boston College Professor, has a great setup tutorial for a Adafruit Circuit Playground Blue-fruit. Follow this video, but instead of installing for the Circuit Playground, install the for the Matrix Portal. Additionally, it may be helpful to install other programs like Circup, to ensure all necessary libraries are up to date and available. (Link to installation tutorial here)

Coding

This code is designed for a 32x32 RGB LED matrix, integrating the Matrix portal accelerometer and button controls to create an interactive pixel-drawing display. It initializes the hardware, including the LED matrix, accelerometer (LIS3DH), and two buttons. The display starts with a black screen and a single white pixel in the center. The accelerometer detects motion, allowing the user to move a lit pixel in response to tilting, while shaking the device clears the screen. The buttons cycle through different colors, letting the user draw a path of colored pixels. The device and be reset with a shake, just like an Etch-a-Sketch. The loop continuously updates the display based on sensor inputs, ensuring smooth and responsive movement of the pixel.

Connecting Up the Device

IMG_0833.jpeg
IMG_0832.jpeg
Screenshot 2025-03-18 at 2.38.42 PM.png
Screenshot 2025-03-18 at 2.40.44 PM.png

After setting up your Matrix Portal, Connecting it to your display is only a few simple connections.


For power, screw down the wires provided with the display to their respective spots on the Matrix Portal:

  1. Power: red - 5V
  2. Ground: black - and

Then plug that connection into the middle port on the display with the label VOC GND under it. Congrats! you have power!

For data, plug the HUB75 wire into the top of the Matrix portal then into one of the two ports on the display. Then take the Matrix portal and use the underside connection port, and plug that into the HUB75 port on the display. Congrats! you have data!


Cutting and Prepping the Box

IMG_0831.jpeg
IMG_0830.jpeg
IMG_0829.jpeg

Laser cut this file and assemble with glue. Save the cover to be cut later to fit the gap between the screen and the end of the end of the box.


Once the glue dries, cut and attach one half of the velcro strips to the 3 inner sides of the box without the button cutout. Attach the other side of the velcro to the edges of the display.

Finishing Touches

IMG_0825.jpeg
IMG_0836.jpeg
IMG_0837.jpeg
IMG_0835.jpeg

Place your display into your box so that the buttons are accessible through the cutout.


To fill in the gap between display and edge of box:

  1. take unused cover and make a line to mark where the the end of the display starts.
  2. this will not be an exact measurement as the velcro placement will be different each time. My piece is 37mm
  3. Cut along that line with a laser cutter or saw
  4. place piece into gap

Plug Display In

After the build has been assembled, plug in the USB-C into the wall and then to your board.


Congrats! You have completed the build! Sketch Away!