Champaign-Urbana Community Fab Lab
University of Illinois at Urbana-Champaign
Champaign-Urbana Community Fab Lab

Author Archive

Brandon Steinman – rPi Spotify remote

My project was a remote for Spotify that uses a Raspberry Pi! Here’s a video and some pictures:

  1. The most difficult parts of this project were getting my app to properly authenticate with Spotify’s API (their process is a little weird) and also creating a full program that combined objects from different libraries (this was my first time doing it in python). I’m most proud of getting through that last challenge, it took a lot of trial and error, and I gained a lot in terms of skill that I’d wanted to have claim to for a long time.
  2. My main learning goal was to iterate on my project once I became satisfied with it. I did embrace this mentality and made a sustained attempt to iterate on it once I had a working product. I tried to improve my Raspberry Pi project by automating the script triggers. I wanted to do this so that my project presentation would go more smoothly. I tried two routes: the first was to trigger the script to start when the Raspberry Pi boots. This caused dependency issues with the library ‘spotipy,’ and I really did not want to try to fix that and end up in over my head with a mass of hotfixes that could endanger the program and even the OS as a whole. I then tried to time the script triggers with crontab. I sank all my remaining time into this, and eventually had to give up, as the crontab logs were very unhelpful as to why the program wasn’t running. So, in a way, I ended up meeting my goal, but didn’t really have anything working to show for it. I’ll continue trying to get it to work, and to iterate on it in different ways. I’ll probably try to fill out the design and execution of the remote idea with my electronics at home. This is because this project was something I really care about and it would serve me well (and maybe others) to come up with a well-polished, finished product to show for this.
  3. I think one thing that is key to my learning is that I need ample time to make mistakes and learn over and on top of them. If I don’t end up giving myself enough resources to make mistakes, things often spiral into a mess of doubt and anxiety and sometimes things turn out right, but either way, cramming stuff in both in terms of time and by way of learning the tool on the object that I’ll be turning in as the end result. Neither of those work well for me. This feeds into how important repetition is for me, since some of my best work is in projects where I made lots of mistakes and iterated lots (sewing project, final project, stickers, etc). I also realized that I’m a lot more active and involved in a project when I believe that I’m going to end up using that experience sometime later. This makes me a bit sad, as it kind of seals my fate as a pragmatist. For example, I was instantly super involved in the sewing project because I knew it was a super useful skill and something I’d want to get artsy with later. But with the pom-pom bots, it’s pretty obvious that I didn’t get super involved as a result of not believing in it as a ‘useful’ experience. Granted, oftentimes I’m good at convincing myself either way of that, but for that project, I was probably just out of steam.
  4. I certainly feel like I’ve developed my confidence, as a maker, quite a bit. It was naturally difficult to get more relaxed while working in the makerspace, but the people there and this class gave me every opportunity to do so! It was a great experience and I look forward to spending more time on all manner of projects in the makerlab! This course has convinced me that I’ll have a happy longevity in making, due to the opportunities in community, learning, and tools resources that makerspaces offer. At this point in the year, my understanding of what all those things mean has also developed quite a lot. I’ve learned about the culture and societal dynamics surrounding makerspaces at large. Tangentially, it’s convinced me that I should go back to volunteering with the Urbana Bike Project. To call myself a maker is to recognize my incapability of doing nothing most of the time and having to act on my creative ideas. In comparison with my thoughts on the Seymour Papert quote at the beginning of the year to now, I’m in essentially the same standing. I have a good bit more experience on the personally meaningful aspect of it, that at times, that part is just as essential to the hands-on aspect. The hands-on aspect made this class much more significant, to the extent that the class wouldn’t work without being as hands-on as it is. The knowledge and experience gained is vital. To this day, I haven’t forgotten how to use a 3D printer, soldering/electronics tools, CNC lathe, Drill press, band-saw, dremel, arduino, shop-bot, and Autodesk Inventor, all because they were extremely hands-on and involved processes (all of which I learned at least 2 years ago, experiences that I am very lucky to have had). I expect the skills that I learned in this class to stick with me for the same reasons. I’m probably primarily a kinesthetic learner, so thank you for designing this class with people like me in mind!
Continue Reading

Iteration Project

For my iteration project, I decided to improve on my sticker project. When I left off with it, it was pretty rough around the edges, and since it was my first attempt, my sticker suffered from having trouble correctly visualizing what the end product would be. In order to fix my original, I did a lot more image editing. I essentially created a reverse of the image. The end result was pretty good, the only faults to it being problems that I could antiticapate:

The several layers were difficult to apply correctly, and the red portion doesn’t pop out as much as I would have wanted it to, due to how I set the layers on top of each other. Not bad, overall. For the next sticker, I went back to inkscape and tried to come up with something really fun. I experimented with three designs. I ended up going with the makerspace logo, since the other designs ended up being far too complicated to get a clean layering, and also used different colors from what I was already using (I wanted to use up the scraps from what was left from my first sticker).

Here, the most difficult part was applying the parts of the sticker right. As you can see in the picture above, I used my second layer that I applied to serve as a guide for the next two layers.

The end result was super clean as a result!

Continue Reading

Locomotion Pom Bot

This week, I tried to build a machine powered by an arduino and two servos that would walk. My initial design had two servos tightly rubber banded together, with popsicle sticks glued onto the mounts. I did a lot of experimentation with getting it to move differently by changing the rates and timings of turning the sticks. I couldn’t achieve very coordinated motion with this initial design. The main issue I had to consider was how to get the bot to be able to reset the servos after they carried it forward (without the reset moving it backward too much).

I came back to the bot and decided to create a pipe cleaner tripod underneath it and shorten one of the sticks. I thought this might make the movement easier to analyze and increment off of. Unfortunately I had less time than I would have liked to spend with this because I had to go through a lengthy process of elimination of working/faulty parts, which came down to a single malfunctioning wire. I ended up with a robot that moves slowly sideways, and only when set up in a very particular way.

I don’t think the video portrays it well, but the bot almost fell off the table while I was tweaking the code and the tripod position.

Continue Reading

Plushie – Brandon Steinman

I feel I’ve reached a stage close enough to completion to make this post. I decided to challenge myself and make a plushie for this project. Initially, what was most difficult was making clean and tight cuts in the fabric.

My efforts there were met with mixed success, and some parts of the plushie suffer (all the appliques were really hard). Straight line sewing stuff together was difficult since I had to be very mindful of the curvature to sew within the allowed margins. Whipstitching was fun but took a very long time since there were a lot of small pieces. Basically, everything took a long time.

When I finally wrapped things up with the face, I used the machine to make straight line stitches to construct the form of the body. I had to be very patient here since I had to constantly compensate for bad edges and shape by pulling fabric and shifting it. Finally, I stuffed it thoroughly and did a ladder stitch to close the back.

I formatted this post as what nearly amounts to stepping through my entire process because everything I did presented some kind of challenge that I wasn’t familiar with, and all of it was worth mentioning. Pretty fun stuff!

Continue Reading

Arduino Intro project – Brandon Steinman


For the storyboard portion, I thought about a few different IoT ideas that have been going through my head for a while. I’ve been thinking about doing a final project with kubernetes running on Raspberry Pis/Arduinos to accomplish some complicated task. The one I’ve been thinking about was for creating a music visualizer that ran off spotify. I already have an arduino project using neopixels to visualize some mp3 files, so I was primarily thinking about how to trigger the system and how to interact with spotify. I looked through some Spotify API libraries and realized this wasn’t totally unreasonable to accomplish. Maybe a final project idea!

In lab, I decided to provide some visualization of a rotary encoder’s position. No particular reason or imspiration for this. I started off with a piece of example code that I modified to write the position of the encoder to the serial out. I verified that it worked, and then decided to try a try an LCD output. Eventually, I got mired in the LiquidCrystal docs and was running out of lab time, so I switched to the RGB LEDs. This was much more simple to implement, and the end product shows the LEDs switching to a different color when the encoder position passes a factor of 25. Pretty neat!

Overall, the process of troubleshooting with arduino code was something I was familiar with (looking through forums, scanning through and implementing parts of example/other’s code). I don’t see this device having many useful applications, but it could be fun to provide ambient light on a joystick for a modded controller.

Continue Reading

3D Print: Brandon Steinman

My goals for this project were to learn more about 3D printing/scanning and 3D modelling software (namely, blender, since I’ve been wanting to learn it for a long time). As for the work I put in during class time towards learning these, this is what I have to show:

A tinkercad castle, and

A 3D scan with some meshmixer work done on it.


As for the assignment, I did the silverware part, where the idea was to create a set of silverware that are impossible to use. I used Blender to do this, and learned about the basics as well as some more specific tools, like the object modifiers tool.

Obviously, these would be pretty difficult to deal with.


For the 3D print that I did, I made a part that would help to organize my desk a bit better. This was a fitting to the edge that I could hang light stuff from, like earbuds. Or some other small and light items.

The tolerances were off, so it doesn’t fit super well. Either way, the print worked! We had to flip it on the side, which means the layering would probably cause the hook to shear off with much weight applied. Something to consider for next time.


Finally, I attempted to scan and change a piece of traditional Peruvian art, a necklace that a friend had given me a while ago. Unfortunately, it was a bit small. I tried scanning it on a larger object, but it still didn’t pick it up well. So, I decided to go into blender. My “scan” was putting the necklace on the screen and tracing the outline. Unfortunately, my intended changes to the surface didn’t work out, even though I’d been able to successfully take the differences of objects earlier. Oh, well.


I tried to upload the tinkercad .obj file, but the site was undergoing maintenance when I tried to post this 🙁 .

Continue Reading

Copper Tape Circuit – Brandon Steinman

The initial idea was to create a paper plane that would light up when the fuselage is pressured before throwing. The constraints were the 3V battery, 3 different colored-LEDs, switch activation, and (personally assigned) to keep the paper plane well-balanced and throwable. I decided to line the LEDs in parallel, which made the circuit design somewhat difficult.

I started by lining the fuselage with the main +/- leads. I also aimed to use a fold inside the fuselage to prevent the battery from falling backward. I had to tape portions of the leads to prevent current from flowing between them and closing the circuit early, before reaching the LEDs.

Next, I laid out the copper tape and added two of the LEDs. Portions of the copper tape had to be covered where they overlapped, and insulated so that the circuit wouldn’t close unintentionally. The last LED is shown directly attached to the battery.

The last LED remains there, since the circuit is very finicky and doesn’t always immediately light up. I’m keeping it so that the battery and third LED can be easily removed, so that I don’t add a degree of permanence to the plane that would ruin it and cause the circuit to never light up. In this, I sacrifice a bit of aesthetic and also my ability to throw it safely.

Continue Reading

Vinyl Sticker – Brandon Steinman

Originally, I wanted to replace an old sticker that I’d had on my bike years ago, but with some creative license taken (obviously). In short, the end product was not what I was looking for, and I’ll be making edits and trying again sometime in the near future. I messed up the sticker by mistaking the layout, with some layers being only virtually overlapping, which caused problems when I went to cut them out. Essentially, there should have been a white portion on top of everything, and, rushing myself through this, I overlooked that.

This was more what I was looking for. Essentially, I inverted the colors of an image, did a *lot* of node editing, make some other minor adjustments. I might try this design again, or I might do something different, since the shapes are very difficult to line up well enough.

Continue Reading

Laser Name tag – Brandon Steinman

I started out with intentions to create a business-like nametag that made use of negative space and maybe with multiple layers. These goals required some exploration into inkscape. I had to figure out how to invert image shadings, toy around with bitmap tracing to get the network to look right and to get the negative space on my name. I was going to glue the cutouts that the laser made in my name to a backing layer, but they fell into the grating of the laser cutter, and this looked fine anyway. If I were to iterate on this design, I would toy around with the font I used for my name some more and would try to experiment with some unobtrusive background patterns. I would also try acrylic so that the burns from cutting multiple lines in close quarters would be avoided.

Continue Reading