You are browsing as a guest. Sign up (or log in) to start making projects!

leroyl6420

@leroyl6420

Joined June 6th, 2026

  • 8Devlogs
  • 4Projects
  • 2Ships
  • 30Votes
Ship Pending review

I made a simple, standalone, and customizable gaming console that fits in your hand! It costs less than $20 to make, and goes for 20h before needing a new battery.

The hardest part of this project was the code. I didn't have a lot of experience in coding before I started this project! I didn't know C++ very well either. This project taught me a lot about software. I had to learn how to make clever workarounds, optimize, and debug. It was all really fun though! I ended up with a program that has a menu, three games, and quality-of-life features (like the option to turn the volume off). Still, there is room for a fourth add-on game for you to code! I get that this was a hardware project, but the code was really the biggest challenge.

The thing I am proudest about in this project is the case. I am a long-time 3D printing guy, but this case was one of the toughest "cases" I've seen (haha get it?) The walls had to be extremely thin in order to stay on the Arduino while avoiding the pin headers. I had to customize the slicer settings in order to get them to be solid. Though this wasn't as hard as the code, it was the first time I had really went in-depth into the settings of my slicer to fix a problem like this. I am pretty proud of that :)

This project was started in Hack Club's Horizons program, and moved after 15h were completed to capitalize on Stardance's more hardware-friendly system. Though I planned to improve the Gameboy's case here (and make the batteries replaceable), I realized that that was extremely impractical and ditched the idea. Instead, I stuck with my plan of improving the code. That is why I only have one devlog here on Stardance (oops)! The rest of my devlogs are in my journal.md file in my GitHub repo.

I hope you try making my take on the Gameboy yourself, for you will have as much fun as I did!

  • 1 devlog
  • 16h build
Video of Project → See source code →
Open comments for this post

15h 39m 20s logged

Hi! This is my first devlog for my Gameboy project in Stardance! I started this project in Horizons and worked on it for 15h and 3min there, but I decided to move over to Stardance because it’s more hardware-friendly. I had a bit of trouble figuring out the recording system and I lost around 15min, but it’s still tracked on my Hackatime. This devlog really counts for 36min of work.

I am improving the Gameboy by adding a battery port (to make the batteries replaceable) and by improving the code. I want to improve the menu and make some quality-of-life changes (like a mute mode). I am excited about the future of the Gameboy in Stardance!

0
0
4
Ship Pending review

I made a simple, affordable, and reliable take on the Petamentor. The Upcycler is a machine that turns plastic water bottles into 3D printing filament.

The process is as follows: smooth out any bumps and ridges on a 2L PET soda bottle using a heat gun. Use a bottle cutter to cut the bottle into a long 7mm wide strip. Cut down one end to a long point, and feed that point through the nozzle of the heat block.

Plug in the Upcycler's 12V 5A power supply and make any changes to the settings you would like in the menu. However, the default settings are what I would personally recommend from extensive testing. Test to make sure that the thermistor is operational by pressing your finger onto the heat block. There should be a change by a degree or two. Select the "motor status" option to put the Upcycler into Running mode. CAUTION: the Upcycler's heat block will get very hot! DO NOT TOUCH IT!!!!!

Wait until the heat block reaches 180 degrees C. Use a pair of pliers to begin pulling the plastic. You only need to pull until the plastic reaches the spool. Weave the plastic through one of the slots on the side of the spool. You may then leave the Upcycler to work on its own. Processing a full 2L soda bottle may take several hours.

Using the pulled PET in your 3D printer will require custom settings from normal PET. Since each 3D printer and brand of bottle will make the settings vary, I cannot give much advice. However, I can recommend making the nozzle hotter, as that seems to be a general theme for homemade PET.

Wow, that was quite the user's manual!

A challenge that I faced while making the Upcycler was the budget. I knew from the start that I wanted something for less than $100. The closest kits I could find online cost $150. However, as development went on, I managed to get the cost down to a mere $48.43! One big milestone I achieved in budgeting was the motor. The standard Petamentor uses a high-torque 12V 3RPM DC motor, with the cheapest one I could find being $10. However, using smart engineering, I made a diabolical 30:1 gear ratio, allowing me to use much cheaper 28BYJ-48 stepper motors (which only cost $3 each!) Additionally, using the DC motors would have forced me to buy expensive 12V power modules, which generally cost $15 dollars each. Avoiding that constraint, I could use simpler 12V 5A power supplies that cost only $8.

Something that I am proud of in the Upcycler is its dual-mode UI. While you use the Upcycler in its Running mode, you may hear periodical pauses in the motor's humming. Those pauses are caused when the Arduino Uno R3 switches from outputting commands to reading information from the thermistor. It does not have the capability to do both at the same time. Even worse was the joystick. With the constant updates the Arduino needs from the joystick to make navigation smooth, the motor would hardly run at all! To fix this problem, I cleverly separated the code into two parts: a menu mode and a Running mode. In the menu mode, all the Arduino does is read info. It can check the thermistor much faster than in the Running mode, and you can use the Joystick freely. However, when you switch over to Running mode, the joystick is mostly disabled. Instead, the Arduino can focus on outputs, like the motor and the MOSFET powering the heater. However, there are still occasional pauses to check the heat block's temperature (hence the periodical pauses). I also integrated the exit feature into that pause, so if you are holding the joystick down at the moment of the reading, you will exit back into menu mode. I am proud of this workaround I made in the code because I would have had to use a more powerful chip (or two Arduinos!) without it. I managed to fully capitalize on the power of a weak chip to fulfill my criteria.

  • 5 devlogs
  • 20h build
Video of Project → See source code →
Open comments for this post

1h 2m logged

I finished the Upcycler V3 today! YAY!

I started printing the new models I made yesterday this morning. There were only two parts (the main body and the short body) but they still took all day lol :p: .

I also had to fix my 3D printer in between the two prints because it started leaking filament out of its throat and the melted filament dripped onto the prints and left these weird brown streaks.

After the parts were finished I replaced the old parts with the new. That took a whole hour because all the smaller parts are built onto these two biggest parts, and I use very fine mechanical screws (which take a long time to install/remove). The new parts work really well, tho! They solved the old problem of the bases cracking when you screwed in their screws too tight.

Anyway, this is it! I tested the Upcycler V3 and it worked well! Just like its previous versions, you cut PET filament from 2L soda bottles into 7mm wide strips and feed them through the nozzle at 210 C at 150 steps/s.

Check out my GitHub repo if you want to build this yourself! YIPPIEEEEE!

0
0
10
Open comments for this post

47m 55s logged

I finished updating the CAD files for my Upcycler project today!

I fixed the problem of the bodies’ legs always cracking when you screw in their screws too tight. I did that by creating notches for their caps to settle in. This should also keep the legs sturdy over long-term wear.

Another problem I’ve had for a while was the bodies not lining up in the assemblies for some reason. I found the root of that problem while improving the legs. The legs were actually slightly offset on the bodies on the x-axis for some reason. I was able to fix that easily when reattaching the legs. Redoing the base to fit this change was more difficult, but a bit of brute force did the trick ;)

I’ll be printing these new parts out now. After replacing the old ones, the Upcycler V3 will be done!

0
0
7
Open comments for this post

1h 19m 45s logged

I finished updating the code for my Upcycler project! I already knew the jist of the things I needed from the AI-generated code I used to use, so I was able to finish everything in just one session.
The biggest change I made was adding a safety feature for the heating component. If the 6x20mm 12V 40W ceramic heating components I use get too hot, they pose a fire hazard, not to mention the fact that they can damage themselves, the parts around them, and the electrical components they connect to. They can only go up to 350 degrees Celsius before those things start to happen, and my old code allowed operation up to 360 degrees, so I updated the max to be 340 (meaning there’s a 10 degree margin of safety).

I also made a few quality of life changes in the UI.

  • I listed the current code version and model next to the title
  • I labeled the temperature readings in both the main menu and the operating menu with “C” (to clarify that the readings are in degrees Celsius)
  • I more clearly labeled the temperature readings in both the main menu and the operating menu as “Current_Temp” to avoid confusion
    -I more clearly labeled the target temperature readings in both the main menu and the operating menu as “Target_Temp” to avoid confusion
  • I more clearly labeled the motor reading in the main menu as “Motor_Status” to avoid confusion
  • I more clearly labeled the speed reading in the main menu as “Steps/s” to avoid confusion
  • I reset the default steps per second to 150 to make usage more convenient
  • I reset the default temperature to 210 degrees Celsius to make usage more convenient
  • I added notes to the .ino file to guide users when reconstructing the Upcycler

That was all for the code! I can get back to the good hardware stuff now!

0
0
6
Open comments for this post

38m logged

I finished building the heating component for the Upcycler today! I connected the ceramic heater to the MOSFET module, and I inserted both the heater and the thermistor into the heat block. I secured the heat block onto the L-Bracket using an adapted 0.4mm nozzle (I expanded it to 1/16in). The entire physical build for the Upcycler is complete! I will work on an improved code now!

2
1
93
Open comments for this post

15h 49m 20s logged

Hi! This is the first devlog for my Upcycler project on Stardance! I started this project in Horizons, but I decided to move over to Stardance after 15 hours of work after seeing how Stardance is more hardware-oriented. To recap the work I did in Horizons, I found a set of 3D files for a body of a Petamentor and adapted them to use a 28BYJ-48 stepper motor. I chose a lot of parts to heat up 7mm strips of PET and control the motor, modeled them on Onshape, bought them in real life, and assembled part of the Upcycler. For this first devlog in Stardance, I started assembling the heating component. I drilled holes in the base to fit the L-bracket that will hold the heat block, and I attached two two-way WAGOs to incorporate a thermistor to track the temperature of the heat block. I added all of the electrical components the thermistor will need. Of course, there is a lot more to my journey than I wrote here. Check out my Github repo to see the entire process (including my work in Horizons!)

0
0
28
Open comments for this post

30m 54s logged

I worked on the forearm case for my Drip-Boy today! I took measurements of my left forearm using a digital caliper, and I CAD-ed all the dimensions into a tube (with filleted edges). I’ll glue some padding on in real life. I incorporated two hinges on the back (you can’t see them in the image). You’ll need to insert two #6-32 screws for them to work. I fastened the Raspberry Pi case onto the bottom, though I need to CAD a release mechanism for it because I’d like to be able to put it in/take it out. I still need to figure out how to attach the screen and wiring.

0
0
95
Open comments for this post

44m 40s logged

Hi! This is (my progress on) my project, Drip-Boy! Inspired by the Pip-Boy, it’ll be a portable Raspberry-Pi powered cyberdeck. So far, I just designed a case for the Raspberry Pi. I’m planning to CAD a forearm attachment for this, and then a flip-out screen + a keyboard!

3
0
158

Followers

Loading…