Skip to main content

christmas gift 2025

ยท 9 min read

uh ohโ€‹

christmas 2025 is coming, I'll be honest, I've never put real effort into gift exchanges, and now I've accidently voted to participate in the event

so what to do? I like led cubes, they are super mesmerizing, and a 4x4x4 single color one is ralatively simple and cheap to build, easy choice

since I've had experiences making this (and a bigger one too), might as well go all out and make 3

they'll be protected in acrylic cases and wrapped nicely

one for the event, one for a special person, and one for myself

info

just plug your usb c cable into the side port and it will light up!

vocabulary

mesmerizing (adj.)

very attractive, in a mysterious way, making you want to keep looking

- Cambridge Dictionary


I learned this word when I first showed my led cube to my minecraft smp friends

thanks, xeahh, the server mom, for teaching me the word

I've since grown up, xeahh was the giver, but now I'm the giver

I hope you and your family are doing well today, I'll never forget it!

the word itself is just as mesmerizing as the lights!

if I hadn't been learning english this way, would I still have the same memory?

tldrโ€‹

how to play with it?

how to program it?

keyvalue
difficultymedium (lots of soldering)
time~10-15 hours (blog writing excluded)
cost~$800 ntd
key techarduino nano, c++, led matrix, multiplexing, soldering

making the cubeโ€‹

there aren't many parts, but it still takes time to source, design, solder, and assemble, well... and write the blog, so be prepared!

first, prepare the parts

parts

do a basic layout

layout

create the jig, test if they're working, bend the legs, and trim the excess with a side cutter

don't forget to use a resister to limit the current!

a hard wood isn't necessary, in fact, I used a foam board for my first ever led cube!

jig

do it 64 times! it shouldn't take longer than half an hour

legs bent

make another jig for the layers

here I used balsa wood, it's soft and light, you can even cut it with your fingernails

it's widely used in modeling for everything from tiny planes to buildings

layer jig

solder the common cathode wires

you can straighten the solid core copper wires by clamping one end down, gently pulling it, and spinning it with an electric drill from the other side

it's also a good time to test each led again with a multimeter

layer solder

trim the excess wires

layer finish

do it 4 times

4 layers

measure where to put the positive column wires and solder them to the board

column wires

column wires 2

carefully assemble the layers, solder them, add 4 negative wires from the layers to the board, along with the resistors

insert layers

cube solder

now, solder the arduino on and connect the 16 positive pins and 4 negative pins

wiring schematic

wiring

after all those pain, we can finally start programming it!

animation!โ€‹

animation

I've just noticed that the leds shine into the ones above them, I don't even have to implement pwm dimming to create the fading trails!

I'll leave this small exercise to the new owners

raining into the night!โ€‹

raining into the night

acrylic case!โ€‹

้ดป่ฌฆๅฃ“ๅ…‹ๅŠ› helped design and make it, although I forgot to tell them about the hole for the power plug...

fortunately I went to order a plastic jig later that day, also gave the finished case a check

it's already assembled and glued so they could only hand sew the hole from the edge

a bit of a disappointment, but anyways, I've already spent enough on it

wrapping it up!โ€‹

can't believe I'm wrapping presents for the first time in my life

the ribbon is too short to make a cross, ahhhhhh

present

let's protect it with a box

boxed present

protect it even more with a trash bag, ain't no one is gonna steal it

trash bag

done! merry christmas!

how to play with it?โ€‹

danger

do not connect both the usb c and mini usb ports at the same time!

it's preprogrammed with the rain animation, just simply plug an usb a to usb c cable into the side usb c port and it will run

info

there will be extra resistors in the gift (1k, 2k, 3.3k, 5.6k ohm), which can be used to change the brightness of leds, the preinstalled ones are 4.7k ohm

how to program it?โ€‹

info

programming can be done with the onboard mini usb port, the side usb c port is only for power

download and install the arduino ide, open it

arduino ide

download! the example sketch, unzip, and open it in the ide

each arduino sketch must be placed in its own folder with the sketch name, the ide will enforce this

sketch

install the TimerOne library

timerone library

connect the arduino nano to your computer and select the port

select port

the code should already have enough comments, modify the animations as you want, or design new ones

then smash the upload button and watch it glow!

upload button

possible issuesโ€‹

avrdude: ser_open(): can't set com-stateโ€‹

install the older ch340 driver from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all#drivers-if-you-need-them

the wrap up (literally)โ€‹

thanks for reading this far!

I was a bit very nervous about how the gift would compare to others, since it's basically just a decoration

turns out, the cube took the second place in the gift exchange! although a projector took the first place

I got it :) I love it too!

anyways, seeing people smile was more than enough for me

but sadly, I ended up making only one cube before christmas arrived, because I deliberately needed a rest, I was really exhausted due to the 3 hour commute and the late decision to make led cubes

about my own cube, I'll do it later...

here is the new owner!

the new owner 1

how long it tookโ€‹

holy hell, I didn't expect to spend so much time and money on it, lol

at least it was fun!

The time you enjoy wasting is not wasted time.

- many people

these are the rough times measured for the second cube, some are from my google timeline history

steptime spent (hh:mm)notes
project decisionn/a
sourcing materials04:00 (total)parts, wrapping paper, box
led bending00:28bending 64 leds' legs
layer soldering01:06soldering each of the 4 layers
cube soldering00:26soldering layers together, vertical wires
wiring03:00connecting every other parts
programming01:00 (total)
case design & collaboration01:30 (total)acrylic case
writing the blogmany hoursover many days
totalnearly 24 hoursif counting everything

ingredients & costโ€‹

ingredientflavorquantitycost (ntd)notes
๐Ÿฉทrgb? sorry my heart is transparent110000
ledblue 5mm64115.2bought 200 and got a 10% discount
arduino nano clone165bought a while ago, can't remember
perfboard9x15cm125
usb a to mini cable75cm125
type c breakout board120
rubber feet10x3mm47.5
resistor5.6k 1/2w42
resistor4.7k 1/2w42
resistor3.3k 1/2w42
resistor2.2k 1/2w42
resistor1k 1/2w42
acrylic case1450damn...
wrapping paper25
ribbon25
corrugated box23x19x16118
tinned copper wire23awg
stranded wire24awg
female header2.54mm30
brass standoffm3x10mm4
screwm3x5mm4
screwm3x10mm4
total cost784.7

so funny, there's a react-snowfall package perfect for this post

put it under the truncation mark so it wouldn't leak into the index page

<!-- truncate -->

import Snowfall from 'react-snowfall';

<Snowfall style={{ position: 'fixed', width: '100vw', height: '100vh', 'z-index': 1000 }} />

is it annoying in dark mode? sorry ๐Ÿ˜›


there's something special about a handmade gift, have you ever thought about making one yourself?

would you skip classes to make it?

if you were to code an animation for the cube, what would it be?