maandag 28 november 2016

Open Sourcing the SNES Controller

About two years ago, I published a precise 3d-model for the SNES controller on Thingiverse. Not long after this, when reading about the PCB Cyclone, a 3d-printed milling machine targeted towards PCB creation, I decided to build it at some point to be able to recreate the electronics (in style, that is..)

It took me a while to get the milling machine to work. More specifically, I couldn't get the auto-leveling to work reliably using the Marlin firmware. Precise auto-leveling is especially important when milling PCBs, as the copper layer is only about 0.04mm thick, and PCBs aren't usually very flat. I even tried a development branch which supposedly comes with mesh-based auto-leveling. Once I started to appreciate the more-or-less recommended bCNC software, I quickly got it to work pretty well. Perhaps it would be better if there were no Marlin branch for the Cyclone..

Getting the electronics right was also challenging, as there doesn't seem to be precise documentation online for building the electronics for a PAL controller. In the end it turned out I just needed to add a single resistor of a pretty specific value on just the clock input (467ohm in my case), and everything worked like a charm. If you are stuck building a PAL controller, where only the B button works, the solution may well lie in this direction..

The schematics which I used in the end come from Raphael Assenat. These schematics were the first I got working (IIRC without any pull-up resistor!), but I guess other schematics would work as well for a PAL controller, with the right pull-up resistors, and this might obviate the need for an inverter (chip). That would open up some space for a nice connector perhaps.

I still need to model the connector, print the flexible rubber parts using some flexible filament, and mill the two small PCBs for the L & R buttons, to be able to say the SNES controller is now fully open-source, but this should all be relatively simple. I may wait until my next printer to try flexible filament first, and if that results in working parts, I might well be motivated enough to go all the way.. I would also love to print the whole controller again using soluble support material..

During the process, I've become a big fan of both KiCad and FlatCAM. Using these, modeling the electronics, resp. converting them into gcode to send to the milling machine was a piece of cake. But bCNC is also rather great. One tip for using bCNC: make sure you get the Z height approximately correct, before doing anything else (so before any kind of probing), or your milling machine may be attempting harakiri..

maandag 5 september 2016

Becoming Vegan

I've always had issues with consuming animal products, for ethical reasons, but passively assumed that they were necessary for health, or that it would be complicated to meet my nutritional needs without consuming them. So when I became convinced, about a year ago, that it is not necessary (or even healthy), and actually very simple to meet your nutritional needs as a vegan, becoming a vegan was the easiest decision I've ever made. Because I realized that animal suffering is completely UNNECESSARY to create healthy food, which makes consuming animal products about as morally right as slavery.

And I really hate bullshit, so you can be sure I researched this quite thoroughly. Go to Youtube, and see who you believe for yourself. Do you believe the emeritus professor in nutrition, Dr. T. Colin Campbell, a seeker-for-truth kind of guy, who researched the topic his entire career, or the dumb weightlifter who says you need the protein..? Do you believe a meta-study performed by the World Health Organization which tells you processed meat increases your risk of dying from cancer, or some industry-sponsored paper which tells you everything is fine, and just keep consuming please?

Basically there are three important reasons to stop consuming animal products:

-Your own health. Most western people, especially in America, die from diet-related diseases. If you don't believe this, watch the documentary "Forks over Knives" and look into "The China Study". Another great book about this topic is "How Not to Die" by doctor Michael Greger. If you believe a vegan diet cannot be healthy at all, you just disagreed with many major health organizations:

-The horrendous suffering and killing of billions of sentient animals EVERY YEAR. Trillions of animals if you count fish. Especially mammals are practically human in their physiology and neural chemistry. Consider female cows, for example. Female cows are systematically raped, and their babies taken away from them (in many cases to be eaten!), just so we can drink mother's milk from another species. Please watch the documentary "Earthlings" to appreciate such practices better, and hopefully "make the connection".

-Our planet's resources and biodiversity are quickly being destroyed to support animal agriculture. Did you know that to produce 1 kilo of beef, you need on the order of 10000 liters of water, and on the order of 50 kilo's of animal feed? This represents an insanely inefficient use of water and land. Not to mention all the waste products making their way into the oceans. But it gets worse: animal agriculture, when taking all its factors into account, is quite likely the largest single contributor to global warming. Watch the documentary "Cowspirary" for more (accurate) facts.

It is impractical for a short blog post to dive into all the other facts and considerations I would like to mention about this topic, and it probably wouldn't be very effective. You might just think I'm insane. So I would just like to encourage anyone reading this (hi, mom!) to investigate the truth for themselves, and try to live vegan for a month. Especially Youtube seems to be a great way to get information, which used to be buried in the scientific literature, in a simple and convenient way. I will leave you with the following quote.

zondag 8 maart 2015

Polymax Filament Review

It took me a quite some effort to be able to print more or less reliably with ABS on my previous printer. When faced with another such exercise for my new Kossel Mini build, I quickly decided to investigate the current state of PLA filament again (not being very impressed before).

I quickly came across Polymax, a type of PLA which in fact behaves very much like ABS. But being PLA, it doesn't have any of the warping problems or toxic fumes (think of the children!), and it's even biodegradable. After having used about a spool, I'm sure I will never move back to ABS.

In retrospect, ABS just has too many drawbacks to be the 3d printing filament of the future. PLA stands a much better chance, and indeed a lot more research seems to be going on for PLA than for ABS. I'm hoping to try out some filaments from ColorFabb next, but for now here are some observations about Polymax.

Btw, I have to say I also switched from Slic3r to KISSslicer at the same time, which also helped a lot. I'm the biggest fan of open source software, but in the end Slic3r just gave me too many problems, and after all this time it still doesn't have basic support structures which actually work for me. KISSslicer almost never does anything stupid, and just works, also for support.

On the positive side:

-It really is tough, and I believe it's true that it's stronger in some ways than ABS. I don't think the blockbot or ozo bear would still be with us today if they were printed in regular ABS, given that my kids have played with them (note that the internal pins for there have also been printed!).

-It has pretty good flexibility before deforming gracefully.

-Bed adhesion is insane. At 70 degrees celsius, and 3dlac hairspray, I need to soak the glass bed in water before being able to separate anything. After a good soak parts usually come off by hand.

-The finish is great, and post-processing is really easy, because of a certain softness which makes it feel the material could be sculpted in fact.

-The white color is really, really white, and the filament diameter seems very consistent as well. Packaging is great.

-No issues occurred while printing the shown objects.

On the down side:

-It seems a bit soft, which I'm not sure will work very well for parts like gears, where there is possible wear involved. The blockbot went from hard-to-move to pretty loose quickly, for example.

-There are only two colors available at the moment, which quickly gets boring.

-It's still PLA, so it probably gets soft at temperatures above 70 degrees or so (haven't tried).

To summarize, this is one hell of a filament, and a very promising alternative to ABS in many cases. Unless some kind of miracle occurs, I won't be using ABS again. We need more colors though.

Next up, I'm probably going to try some other "enhanced" PLA filaments, probably starting with those provided by ColorFabb.

zondag 8 februari 2015

Adafruit Gameboy Review

After messing with ABS for a long time, I finally decided to switch back to using PLA. But more about this in an upcoming blog post. My first project using PLA again was to print the outside of a gameboy, to go with a wonderful gameboy kit from Adafruit.

I bought this kit on an impulse, and while building it was a nice experience and I still like it a lot, I thought I would write down some minor issues that I've had with it, and that I would have liked to know about in advance.

- it doesn't come with a built-in speaker, or with basic instructions how to add one. they do sell components for this at adafruit, but I would have liked some hand holding.
- it doesn't come with a suitable SD card, which would have been nice, as a normal SD sticks out almost 2 centimeters. adafruit actually sells "half-size" SD cards.
- the tutorial describes the needed screws using non-metric standards, and it would have been nice if these could also be easily ordered.
- two pins on the LCD screen connector were sloppily soldered and actually making contact with each other.
- finally, the software (taken from their "cupcade" project) does not include a gameboy emulator by default! I really would have liked to play the original tetris on this thing (and with a speaker)

While I could have used my SNES controller model on thingiverse to print the buttons, and possibly even the elastomers using flexible filament, I really was in a bit of a hurry (possibly also explaining some of my complaints above), so I just used the fake SNES controller from adafruit.

In all, a very nice building project, but in the end it took me a bit more time than would have been possible (see above complaints), and I'm not sure yet if I will go the extra mile of adding a speaker or figuring out how to get the original tetris to work.

maandag 22 december 2014

ABS polishing

After polishing an ABS print for a weekend, I decided there should be a faster method than polishing with ever finer grit by hand..

(For more information about this polishing job and model, please see here)

So when cold acetone vapor techniques came around, I decided to give it a try. Turns out that for delicate/mechanical models you really don't want them in the vapor for too long, which means you probably want to sand them a bit first to get nice results. And you also want some kind of rotating device probably, to avoid the tops of objects to collapse inwardly..

But if we have to sand anyway, and we have a pretty precise printer (as shown below), do we still need acetone vapor to get a nice finish..? While experimenting a bit, I found that for objects printed on my kossel mini, it's pretty quick to sand with grit 150 or so (to get rid of any ridges), then with 300 or so (to give a much smoother feel) and then to finish things off with a bit of steelwool. The result is an almost lego-like (though matte) finish.

In the meantime, I actually tried a vibrating tumbler (with some serious cutting action, but it didn't make a scratch) and various dremel brush heads, but so far nothing I've tried comes close to good old manual sanding. I'm sure that in the future there will be a faster (chemical?) smoothing process, but for now I will stick with manual sanding.

donderdag 11 december 2014

delta printer precision

I more or less finished my Kossel Mini build, and after some easy calibration steps (just following along with the think3dprint3d documentation), I am already amazed with the printing quality that I'm getting.

I was never able to get really uniform z layer heights on my Mendel Max, but for delta printers this does not seem much of a problem. A colleague helped me to make a close-up photo of a print with 0.2 mm thick layers, and as you can see the precision seems to be insane, in every direction. There also seem to be much less surface artifacts caused by vibration.

In fact, with this kind of precision it probably becomes a lot easier smooth the surfaces in post processing. After a bit more calibration to avoid ABS warping, I hope to start looking into this.

maandag 1 december 2014 kossel mini kit

I just finished printing the plastic parts for my new 3d printer, a Kossel Mini, to be built from a very nice kit sold at

Some issues I ran into so far:
-the extruder motor spacer was missing (quickly added by think3dprint3d)
-the legs on the LCD panel were a bit long and would only fit when heightening the printer considerably (quickly fixed by think3dprint3d, awesome!)
-the z-probe pin hole is modeled way too big. while the pin is only 1.5mm thick, the hole is 2.6mm, so I had to print the z-probe holder twice.
-the hole made in the effector is only 4mm deep, whereas the hotend I received requires a 4.8mm hole.
-the anti-chatter parts are a bit ugly, so I replaced them with pull springs, attached with zipties.
-I couldn't find the new extruder mounter, so took it from elmuchacho's thingiverse account -homing speed by default is set a bit high in the provided marlin firmware. it at least made me turn off my printer very quickly while homing for the first time.

Other than these issues (which you mostly won't run into with the provided plastic parts), I can highly recommend this kit to anyone who would like to build a reprap-style delta printer (with out-of-the-box heated bed). For me the biggest thing which is still missing is dual extrusion, to enable dissolvable support structures.

I hope to report after calibration on the resulting precision of printed parts. If it's really good (z-precision wise), I intend to also play with cold acetone vapor to see what happens to precisely printed mechanical parts.