What is Freeside?

Freeside is a Georgia nonprofit corporation, organized to develop a community of coders, makers, artists, and researchers in order to promote collaboration and community outreach. Learn more »

Build-Out Recap!

A bunch of great stuff got done at the build-out yesterday. A huge thanks to everyone that came out to pitch in!

Here are some pictures to recap the projects... Randy's team hung the curtain to the workshop to create more of a barrier between the front of the house and back of the house and to control dust levels a bit more. We'll be finishing the top of the wall soon, but the hard part's already done. Karen, Donald, Tom, Violet, and James framed the doorway to the Media Lab and Bio Lab and hung the door for that area. Next step is AC!

Michelle and Mary's team cleaned out project storage and moved the shelves over so that Neils could put the flammability cabinets in that area. That allowed all of us with the help of Adam and Nathan to clean up the workshop and really tidy up. They also sorted out all of the laser cutter raw materials and cut them down to a usable size on the table saw. 

For the portal clouds, JW, Nathan, and Kat rolled an awesome $1 solution for controlling the WS2812 clouds with an attiny and a programming header. The schematics and board layout are included too. We used highlowtech's guide to programming the Attiny85s with the help of an instructables for driving LEDs with them that provided some supplemental information. There was an issue with setting the fuse in the ATTiny to get the timing right that we ended up having to use avrdude to change manually. Maybe that had something to do with us using the internal clock or the ATTiny-10... Anyway, more clouds coming soon :)

Thanks again to everyone who came and I'm looking forward to the next one!

Motobrain: Interesting Investigation Concludes

I've had a problem with the way Motobrain calculated current flows for quite some time. Basically it always read a little higher than I expected it to if the textbooks are to be believed. Furthermore, one half the board always read a about 10% higher than the other half. It is not very unexpected that the "textbook" calculation and real life are a bit out of sync. Still, I wanted to know why the error was inconsistent between the two halves of the unit. That part was a bit unusual.

Normally, the way you go about solving an issue like this is to exclude stuff until the problem is gone. First, I excluded the Power board, the PCB with all the high current flow, heavy copper, and power transistors (shown right). I did this using the test jig (right, below) I designed to test all the Motobrains that come out of the factory. The MCU board (the board with the sensors, microcontroller, and Bluetooth radio) plugs into the jig and is given a series of test signals to confirm it is working. These test signals showed a similar error where the same half the board reported a higher current flow than the other. I concluded that the problem was clearly with the MCU board. Since then, I've spent a couple months looking over the schematic and PCBs for flaws that would explain the issue. Countless measurements showed the "error" somewhere earlier in the signal path than I tested though. As luck would have it, the Motobrain design for the signal path in question has a series of amplifiers. This means that the signals are smaller the earlier in the signal path we go. It got to point where I don't own sensitive enough test equipment to do a useful measurement. I best voltage measurement instrument I own is not sensitive enough to test the signal. Well, the Motobrain MCU board is sensitive enough but I was trying to exclude it so I couldn't use it obviously. Rather than beat my head against the same old wall today, I decided to focus on more practical concerns and calibrate the Motobrain to output accurate results. This means I was going to "fix" the firmware to correct for the nominal read error from the sensor. To do this, I needed I do some precise measurements at series of different calibrated current flows and graph them out. Conveniently both sides of the board show a linear deviation from the true reading which makes it very easy to null out in the firmware. Fixing it was as easy as taking the current measurement and dividing it by 1.11 or 1.22 depending on the side of the Motobrain. I did this and updated the Motobrain on bench. The readings were all accurate and I was pleased. Case closed... then again, while I'm here why not beat my head against the wall some more?!?

Always a glutton for punishment, I decided to compare the fresh readings to the historical data I had collected some weeks ago when first built this Motobrain. Every Motobrain is run through a battery of tests and the results are cataloged and stored electronically in case they may be informative in the future. I figured that if I see some failures in the future I may find a pattern in these data to help explain things. So, I pulled out the file for the Motobrain I had just collected these calibrated current flows from and compared them. What I found surprised me. Like I had observed before, the errors were certainly similar and the same half of the board was high relative to the the other. What surprised me was the magnitude of the error. The errors were much larger on the test jig than they were with the actual Motobrain Power board. It suddenly occurred to me that I did a poor job excluding the Power Board from a role in this issue. The simplest thing to do was to indict the test jig in this error I was seeing. About 3 minutes and a couple of quick measurements later, I was able to confirm the test jig was responsible for introducing all the errors I was seeing on the Motobrain MCU board when in the test jig. This means that the MCU board was actually excluded from guilt in the error reading after all. By pure coincidence, both the Power board and the test jig were introducing the same type of error on the same sensors of the MCU board. Flaws on both the test jig and the Power board that affected the MCU board in the same way was beyond my simplistic expectations. I did that first measurement on the test jig, got the reading I was expecting and stopped looking. In science, this is called "confirmation bias" and I fell for it hook, line, and sinker!

 So, what was the actual problem? I still don't have sensitive enough instruments to be absolutely certain if I don't use the Motobrain MCU board to do the measurement, but now that I trust those sensors again, I have identified the likely issue. It is minor differences in the way I designed the Power board itself. The path the electrons take on half of the Power board is about 900µm (900 micrometers) longer on the half that reads higher. That distance increases the resistance of the flow path by about 66µΩ or 0.000066Ω (also known as half a bee's dick of resistance). The signals we are measuring are extremely small though and every little bit of resistance matters. Normally I don't need to worry about such differences because because I give myself much larger margins of error to worry about but Motobrain's high current capacity obligates me to an extremely low output impedance and means that I do need to be a bit more thoughtful. Oops, my bad.

Props and costuming - Building an Ultron helmet

Hello, Freeside readers, and welcome to my first blog post!

My name is Michelle Sleeper, I am a prop and costume builder in Atlanta, working primarily out of Freeside's space. I have been building costumes and plastic space guns since 2001, and have been a member of Freeside since 2013.

My most recent major project was to upgrade a costume I built last year of the Marvel comic's character, Ultron. The costume owner wanted a new and improved helmet, made of cast resin and full of all sorts of lights. It was a big and ambitious project, and I was very excited to get started.

Here's how we got there.

From the outset we decided that we wanted the master sculpt to be 3D printed - but for those of you familiar with 3D printing, you know that extremely large prints are difficult if not impossible to produce. Most often, you will have to break your model up into many different segments, which you then assemble like a 3D jigsaw puzzle. We opted not to do that, and instead outsourced to a professional 3D printing company based in Florida called TheObjectShop. They have a Zcorp 650, which is a very large printer that prints in a plaster like material, which is then hardened with cyanoacrylate AKA super glue.

The resulting print, while expensive, was absolutely phenomenal.

Like all 3D prints, the surface had a texture to it that was unsuitable for our needs. I set about cleaning up the surface to as smooth as I could get it, a process which took about 2 and a half weeks. The process is simple - spray the piece with filler primer, fill any large problem areas with bondo or spot filler, and use increasingly finer grits of sandpaper - but extremely tedious and time consuming. I started at 80 grit to knock down some of the bigger problem areas, and worked my way up to 800 grit wet sanding. The results were a helmet that was nearly flawless.

Now that our master sculpt was completed, we had to create a 2 part jacket mold out of silicone. This would allow us to produce many different copies in urethane resin later down the line. Urethane resin is lighter weight and more sturdy than the brittle plaster 3D print. These are important factors, considering it would be worn for 6-8 hours a day (if not more) and require a bunch of electronics glued and bolted inside of it.
To create the 2 part mold, first we have to make a parting wall all the way around the helmet, which will be the interfacing layer where the 2 sides of the silicone molds touch. We use the end of our Xacto knife to create little bumps all along the edge, which are registration keys that help the two halves line up properly.

Once the first half of the silicone mold is applied, we flip the whole thing over, remove the parting wall, and apply a coat of releasing agent before we apply the second half of silicone. The releasing agent is absolutely critical - silicone will not stick to anything except other silicone. Without the releasing agent, we would essentially create a big silicone bowl which would be next to impossible to use for our purposes.

Once both halves of the silicone mold were created and fully cured, we created an outer rigid mother mold. This is used to keep the silicone mold held together, once the master is removed and the mold is hollow. It is also applied in two halves, and like the silicone we use a releasing agent when creating the second half.

To make the hollow casting, we use a technique called rotocasting or slush casting. This is where you pour a bit of your urethane resin into the hollow mold and rotate it around so that it evenly coats all of the surfaces with a thin layer. This is done 4-5 times using several small batches of urethane resin, so that we ensure every surface has an even thickness. Because the mold weighs around 10 to 15 pounds before we put a drop of resin into it, and because each layer requires about 5 minutes of tossing it around, I decided to build handles to form into the mother mold. This makes the mother much easier to hold onto during the already strenuous rotocasting process.

After you are finished casting, it's time to remove the mother and the silicone mold. What you are left with is a perfect reproduction of your master sculpt in a much lighter material. The casting process itself is a bit of a learning curve as every mold will be different. Certain areas will come out to be thinner than others, and the exact amount of material you need to use for each batch will depend on a lot of factors. What this means is that the first few castings will tend to be "duds", meaning they are unsuitable for your ultimate purposes - in our case, a wearable costume.

However, you can still dress up one of these bad casts and stick it on a mannequin to live in the space!

While we were working on sculpting the master and producing the molds, we were also working on the electronic guts that would go into the helmet. Specifically, there would be a set of LEDs set into laser cut acrylic, and a custom made 8 x 24 LED matrix for the mouth.

The eye LEDs are rather simple - I drew up a 2D design to bridge the width of the helmet's eyes, and then cut that out of 2 layers of opaque white acrylic. The inner layer was made of 6mm acrylic which the LEDs were set into and glued into place, and the outer 3mm layer was flat. The results are menacing glowing red eyes.

The mouth LED matrix, on the other hand, is worthy of it's own individual blog post, which I will be putting up later. The short version is that we found and used an Arduino Micro connected to three MAX7219 chips, which are designed to control an 8 x 8 matrix. The matrix had to be designed and wired up by hand, a process which took about 3 weeks of work. After some trial and error with the MAX7219 board kits we used, the whole thing was put together and worked flawlessly. Here is a test video of the center matrix in our temporary holder.

After the matrix was finished, a cover was laser cut out of 1mm clear acrylic and installed into the mouth. The LEDs were transferred into a similar housing for their permanent installation, and all of the boards were put into craft foam holders for protection and installed into the helmet. The results were nothing short of perfect!

At this point the project was finished and ready to be worn, but like any good project it has sparked a whole host of new ideas and "how to do it better"s.

Until next time!

Want to see more photos? Check out the complete build process on my Facebook page.