Here’s a video:
This is a quick design I came up with rather than spend the $20 on amazon. You can get the STL files on thingiverse here.
Here’s a video:
This is a quick design I came up with rather than spend the $20 on amazon. You can get the STL files on thingiverse here.
This project got featured on the official arduino blog as well as hackaday! Thanks to everyone that shared!
I work with addressable LEDs a lot. For all that they’re great for, they’re kind of hard to debug when you have a lot of them connected up at once. This is especially apparent when you have many small single modules in hard to reach spaces.
Here’s my solution:
This lets me set the color and number of LEDs in a strip, and then displays a color pattern. This way I can tell if an LED has become disconnected in a strip, or if a channel inside a particular has died.
HSV (x, 255, 255)
and x loops from 0-255RGB(255, 255, 255)
All of the raw code solidworks, and KiCAD have been posted on my github. You can look at the 3D models on thingiverse as well.
Here are a couple of quick renders of the assembly design:
The screw mount behind the pushbuttons is extended to be able to support the pressure without flexing:
I added a ridge so you can grab onto something as you interact with the switches / buttons.
Here’s the circuit:
There really isn’t a lot going on here, the parts are probably the coolest part of the project. The 5V jack is a 6mm DC barrel jack, the pushbuttons are illuminated 16mm pushbuttons from adafruit, the on/off switch is a locking toggle switch, and the 4 position rotary switch can be found here.
I wired up the circuit on a spare piece of perfboard.
My code is available on my github.
The LED driving part of the code is based on FastLED, a beautiful library for driving these types of addressable LEDs.
The rest of the code is mostly just a hardware UI problem, and isn’t all that interesting. LED count “ramps” as you hold the button down. The longer you hold the button, the faster the
That’s pretty much it! I’ve already gotten some use out of this tool and have found great satisfaction in taking the time to make it look nice as it will be a permanent addition to my lab.
I’ll post any updates I make to this project as edits to the top of this post.
Thanks for reading, and here are a few more photos:
It’s well known that nylon based 3D printer filaments need to be dried out before they’re used. What happens though when you have a 30+ hour print? The spool can take on a lot of moisture in that amount of time and compromise the print.
Many people have solved this problem by making filament dryboxes, somewhat airtight containers that contain a desiccant to dry out the air inside of the chamber.
I have to print several large parts from nylon for client, and I was having trouble in the last hours of the print due to the spool taking on water from the air. I decided to build one of these chambers but with a twist:
Mine is wall mounted! Space in my lab is a premium and the walls are free real estate.
The parts for this build is are available on my Thingiverse page. Oh and if you’re curious, I’m using a wall-outlet-rechargeable desiccant pack from Amazon which I got for $15.
The bolts are M3x10mm, and the nuts are M3 nuts, both from McMaster Carr.
Thanks for reading!
Here’s a video:
#goodprints – ep1💥 @Raspberry_Pi shelf mount, Wallet & Keys holder & spool hook #3Dprinting https://t.co/VJzBA0fKx3 https://t.co/zwzWACuzzE
— Devon Bray (@eso_logic) November 6, 2017
For a while I’ve been logging my favorite prints here but some of them are two small to warrant a post. So introducing: #goodprints! At first I’m going to shoot for monthly installments, but as I print more, I’ll post more.
This time we’ve got 3 prints in the above video. Here are the details:
Raspberry Pi Wire Shelf Mount – Everyone knows that wire shelves are the best. Now you can securely mount a Raspberry Pi to one. Thingiverse Link
Here is the drawing for mating with the shelf:
Wallet, Keys & Leatherman Wall Mount – I’m constantly loosing these things in my lab, now they’re not going anywhere. Thingiverse Link
Wall Hook – This is for mounting stuff like filament spools, wire, and tape to the wall. It accepts 3/4 inch dowels. There are two version, one 85mm long and one 150mm long (designed to fit hatchbox 1kg filament spools). Thingiverse Link
This time we’re trying to work through a hardware bug!
Without warning, my printer would stop it’s current print and display “THERMAL RUNAWAY” on the display screen:
This would happen once every couple of prints or so.
According Prusa’s Docs a common cause of this is problems with the thermistor connection. They show a graph that has very erratic readings from the sensor:
This seemed like a good place to start so I re-seated the connector and used octoprint to generate my own graph:
No erratic readings, the temp would drop off and then start heating back up.
The problem ended up being the connection between the terminal lug and the wire on the heater in the hotend. To fix this, I cut off the crimp lug and stripped away some insulation. I put this into the screw terminal block. I’ve done a couple of prints and had no issues after making this modification.
I use these Akro-Mils 10144 D sets of drawers to keep my various electronics components organized. They’re cheap, reasonable quality, but most importantly inexpensive.
Something that I find myself doing a lot is transferring individual drawers around. For example, I have a specific drawer that holds short jumper wires for breadboards. Sometimes I bring this drawer up to campus for working in the lab. Same goes for my misc-resistor drawer. It’s much easier to move the drawer rather than re-packing it.
The problem is that these are open drawers! They don’t have lids, so what I’ll do is put it in a ziplog bag and throw it into my backpack. This is a bad solution, I have a 3D printer, time to get CADing.
I wanted the drawer to be able to lock in place, so it wouldn’t slide out of the holder while in transit, here is a video of the locking mechanism in action:
As I iterated on this design, it became clear that I could get away with a pretty thin wall thickness, and that extending the slot cut made it much much easier to flex the locking mechanism, so the grab point on the outer surface became unnecessary.
Annoyingly, I couldn’t figure out a good solution to be able to use this part without having to use supports.
If you’re interested, I’m keeping a page of all of my prints. You can find it here.
I recently purchased a Prusa i3 MK2 and it is glorious. The price was right, the assembly was straightforward and the print quality is probably better than I will ever need. After printing the requisite amount of dogs and other figurines, it’s time to start using this tool to improve my life.
I store a lot of my equipment on wire shelves. They’re cheap, easy to move around, and pretty strong. They can hold a lot of stuff, which means I keep a lot on them, and space, much like in the rest of my apartment, is limited. The server that is hosting this webpage lives on one of these shelves, and sometimes I have to manually work on it with a keyboard and monitor. It is a pain to have to dig out a keyboard, but it’s also not worth it to have a keyboard permanently on the shelf taking up space. That desire to maximize space is the motivation behind this project.
I wrote a page summarizing my HackMIT 2016 Project, check it out here!
Here’s a demo of the finished system:
In the end, it all turned out really well. Painting it white and using a white print stand was a good insight, the light reflects around the box pretty well for how few LEDs are in use.
The software flow chart has changed slightly. I removed the speaker as it wasn’t loud enough and added software debouching for the pushbutton interrupt service routine. Here’s that most recent version:
The interesting parts of the code are the cookResin function as well as the main loop of the Arduino:
void loop() { digitalWrite(BUTTONLED_pin, HIGH); displayStaticState(0); if (BPRESSED == true) { cookResin(14400); } } void cookResin(unsigned long MAXTIMER){ unsigned long SECTIMER = 0; writeLCDLines("CURING TIME REM:", "H:MM:SS -:--:--"); fadeLEDs(1,1); while ((SECTIMER < MAXTIMER) && (BPRESSED)) { digitalWrite(BUTTONLED_pin, HIGH); String part0 = String("H:MM:SS "); String part1 = secToHuman(MAXTIMER - SECTIMER); String line1 = part0 + part1; lcd.setCursor(0, 1); lcd.print(line1); int DMILSECTIMER = 0; while ((DMILSECTIMER < 10) && (BPRESSED)){ digitalWrite(BUTTONLED_pin, HIGH); Alarm.delay(100); //Alarm.delay(1); DMILSECTIMER++; } SECTIMER++; } if (BPRESSED == false){ //start of cancelled cure end displayStaticState(2); fadeLEDs(0,1); delay(1000); BPRESSED = false; //end of cancelled cure end } else { //start of successful cure end displayStaticState(1); fadeLEDs(0,1); delay(1000); BPRESSED = false; //end of sec cure end } return; }
Again, this all should all be explained by the flow chart. The full source can be found at the bottom of this post.
The circuit schematic hasn’t changed at all since this post, here’s a fritzing of what’s going on:
Super simple, basically a screen and a button. The parts to make this are here:
Assembly is super straight forward, if you’re trying to build one and have any questions, let me know!
Thanks for reading!
This past school year I too several classes related to 3D modeling. One class in particular, a class based around SolidWorks. I hadn’t really been able to use the software again, not having the tools to actually execute. MADE@MassChallenge really has the whole kit, 3D Printers, a 40W Laser Cutter etc. All the tools of a hackerspace as a part of my job. Here’s a “finished” model of the system:
The frame is built out of:
There were a couple 3D modeled components as well:
I ended up gluing these down with hot glue even though they have cuts for screws. In the end, it wasn’t worth it to use more screws and add more complexity.
There is a frosted acrylic sheet inserted in the top. One of the goals of this project was to show off the tech, and I think this does that quite nicely.
The knob has a stem that comes of the back and forces the hinge back, keeping the door closed. I wanted to try and keep things as simple as possible. The threads I modeled weren’t within tolerance. So I just glued the nut in place so the knob could rotate freely.
It doesn’t make sense to have the prints just sit on the bottom of the frame. I also cut inserts that fit the inside of the print stand. This is so resin doesn’t cure to the print stand so it can be used many times while only needing to change the cardstock inserts.
Here are some more photos of the build process:
I’ll include the plans to build this whole assembly in the final post for this project once it’s all finalized.