Two friends and I wrote the intro to “Pint-Sized”, a 90s sitcom that never existed.
We used DALL-E and stable diffusion for images, Photopea to add captions, and Google’s AI Test Kitchen for the backing music. Cheers were added with audacity. The video was edited together with ffmpeg.
Today I learned how to make PCBs. I didn’t invent anything here, this is all pretty well known by the PCB-making community, but it’s not well-known to me. So I taught myself a bit!
The first part was the design an electronic circuit. I decided I was short on time, so I grabbed an existing schematic.
Next, I downloaded KiCAD, and recreated the circuit there. I found this video tutorial very helpful to learn kicad.
Next, I made the actual PCB layout.
To my surprise, after a little jiggling I got it down to a one-layer design.
That means home-printing would be much easier. No having to line up the two sides carefully.
I printed out the image on paper (backwards) on my toner printer, and taped it to the copper-clad PCBs.
First, I tried laminating it. Almost no ink transferred, and the paper came off easily. Then I tried ironing it, but the paper stick to the iron and not to the PCB. The tape melted on the iron. For both, I dunked them in water after, which is supposed to help loosen the paper.
Next, I tried the standard advice–sand the PCBs (I used 320 grit) and use glossy paper. This time, both pieces of paper stuck very well. I was wary about the iron coming off again, so I just left it on place on the highest heat–this worked fine for adhesion, but I had to iron out wrinkles at the end. The laminated piece had lose edges, while the ironed piece was on there totally flat.
I tried peeling off the laminated paper–oops! It peeled back and most of the ink stayed on the paper. I think if I took it off more carefully, it would have worked.
I picked at the ironed paper a bit, but it didn’t budge. I let it sit in dish soap for a while so the paper would fall apart. The first hour didn’t do anything.
Meanwhile, I made an order at PCBWay. It’s still under review.
Edit: after some advice from a friend, I peeled off this paper more aggressively, and scrubbed it off. The ink was fine. It doesn’t look great, but I think this is mostly the wrinkles during transfer. It’s a little blurry, I’ll have to do a third attempt before I try etching.
For today’s hack-a-day, I meant to clone the Hillsfar lockpicking minigame. Instead, I spent all day just extracting the sprites. But I had a nice chill time, so it was great.
Today’s update is a short one. I ported my raytracer from day 02, to the Nvidia GPU: ha3k-06-raytracer
The visuals are pretty much the same. Incidentally I discovered the striations on the ground disappear if we increase the floating point precision.
Render on the GPU is 30x faster (0.05 fps -> 3 fps). That’s still not very fast.
I didn’t get video working yesterday, or anything else visually new. I will call this one a failure overall, because I have nothing interesting to show off. I learned stuff and made progress though, so it’s not so bad.
Today I wrote a simple raytracer. A raytracer is a very simple way to draw excellent graphics. For each pixel, it follows an imaginary “line” out from the viewer through that pixel into the computer world. Then it colors the pixel based on what the line hits. Unfortunately, it also takes a lot of computing power.
Matte spheres in different shades of grey. The blue in the spheres is reflected from the sky.
The motivation for this project was to learn how to make things run faster on a graphics card. I quickly realized (before I wrote a line of code) that I’d need the basic raytracer to be its own project. Having it run faster will have to be a job for another day!
A final demo scene, showing off reflectivity and metal surfaces.Note the pincushion distortion of the overall render, and striations on the ground.