STL Fun: Converting Images To STL Geometry

stl image conversion

There’s been some good .STL manipulation tips in this week.

The first one is called stl_tools, and it’s a Python library to convert images or text to 3D-printable STL files. The examples shown are quite impressive, and it even does a top notch job of taking a 2D company logo into 3D! We can see this being quite handy if you need some quick 3D text, and either don’t use CAD, or really just need a one click solution. Now if only .STLs were easier to edit afterwards…

The second one is a Javascript based Leap Motion Controller STL manipulator, which lets you pick STLs and manipulate them individually with your fingers. If you happen to have a Leap, this could be a great way to show off 3D parts at a presentation or hackerspace talk, especially if you want to add a [Tony Stark] vibe to your presentation! Stick around after the break to see it in action — Now all we need are some good hologram generators…

Continue reading “STL Fun: Converting Images To STL Geometry”

Create a Full Adder Using the C Preprocessor


[Phillip] wanted to play with the C preprocessor. He decided to do that by creating a 4 bit full adder. We know this is pretty useless in everyday life, but it was a great learning experience. The beauty of this adder is right at the start. [Phillip] defines truth tables for XOR and AND. He’s able to then create strings that reference these truth tables.
For example: the first line of [Phillip’s] AND table is #define AND_00 0. If the preprocessor concatenates strings that equal “AND_00” they will then be converted to 0. This is the groundwork for the half adder .

The next step is the operational logic, which of course falls upon macros:

/* Full adder macros */
/* Out = (A ^ B) ^ cin */
#define FULL_ADD_OUT( a, b, cin ) \
 XOR( XOR( a, b ), cin )

/* Carry_out = (A & B) ^ (Carry_in & (A ^ B)) */
/* The standard adder uses OR for the last 'gate' - this
 can safely be changed  to XOR, which has been done here
 to avoid defining an OR operator */
#define FULL_ADD_CARRY( a, b, cin ) \
 XOR( AND( XOR( a, b ), cin ), AND( a, b ) )

Continue reading “Create a Full Adder Using the C Preprocessor”

Making a core rope read-only memory

[Kos] tipped us about an article he made presenting his experiences in designing and implementing a core rope memory. This magnetic read-only memory (ROM), contrary to ordinary coincident-current magnetic core memories (used for RAM), uses the ferrite cores as transformers. If you look at the picture above, you’ll count 7 of them. This sets the memory word size (7bits).  A new word is added to the memory by passing (or not) a wire through the ferrite holes. If you then pass an alternating current through this wire, a current will be induced (or not) in the other wire turned 30 times around the ferrite (alias transformer secondary).

In [Kos]’s setup, an input pulse of 5V generates output pulses of 15V. For demonstration purposes, he “wrote” a simple program that lights up digits in a seven segment display. Therefore, different numbers will light up depending on which wire he uses to pass the AC current.

These days core memory hacks are few and far between. But looking at this one, and the one we saw in August, makes want more. If you know of any others don’t hesitate to send us a tip.

SCARA Arm Becomes Enormous 3D Printer


When you find an old, disused 80s-era SCARA arm in a lab, there’s really not much more you can do than make a giant 3D printer with it.

The last time we saw [Dane]’s salvaged SCARA arm, he had reconstructed the electronics by building his own servo motor controllers and feedback sensors. There were a few initial test prints, but the new upgrades to this printer make it much more useful, make it look even more kludged together, and made the prints even more accurate.

The largest upgrade to the new machine is an updated heated build plate. The previous plate used six 30W resistors. Good enough, but with two additional 245W membrane heaters, [Dane] can now keep his build plate at a constant 65 degrees C. Keeping such a large area warm requires a heated build chamber, so [Dane] came up with a giant semi-hexagonal box of warm made from aluminum extrusion, laser-cut parts, and acrylic frames.

Compared to earlier prints, the SCARA arm is printing some very nice parts including a battery holder for 40 LiFePO4 cells, and a beautiful propeller for a 3D printed boat. It’s an impressive build, made even more so by the fact this robotic arm was found during a lab cleanup.

3D Printering: You Want UV Resin?


Just a few short months ago, 3D printing with stereolithography was an uncommon and very expensive proposition. Consumer-oriented SLA machines such as the Form1 and the B9Creator are as expensive as the upper echelons of squirting plastic printers and the community behind these machines isn’t even as diverse as the forums for the fly-by-night printers featured on Kickstarter every week.

This may be about to change with last month’s reveal of the Peachy Printer, a remarkably clever stereolithography printer that requires no special equipment, hardly any electronics, and costs $100. Even if the folks behind Peachy never ship a single unit, their clever engineering ensures that stereolithography will be a staple in the makers toolbox in the near future.

There is, of course, the problem of material. While plastic filament can be bought  just about everywhere, UV curing resin is a little harder to come by and much more expensive per kilogram or liter. Where then does the stereolithography experimenter get their hands on some of this magical material from the future?

Before we get to the article…

I’ve been writing a 3D Printing column once a week for a few months now, and I’m running out of ideas. If you have something in the 3D printer world you’d like to see covered in a little more depth than the standard Hackaday post, send in a tip. I’ll send you a few Hackaday stickers if it’s a good idea.

Continue reading “3D Printering: You Want UV Resin?”

A Motherboard for a WiFi Enabled SD Card

Over the last few months, a few very capable hackers have had a hand in cracking open a Transcend WiFi-enable SD card that just happens to be running a small Linux system inside. The possibilities for a wireless Linux device you can lose in your pocket are immense, but so far no one has gotten any IO enabled on this neat piece of hardware. [CNLohr] just did us all a favor with his motherboard for these Transcend WiFi SD cards, allowing the small Linux systems to communicate with I2C devices.

This build is based upon [Dmitry]’s custom kernel for the Transcend WiFiSD card. [CNLohr] did some poking around with this system and found he could use an AVR to speak to the card in its custom 4-bit protocol.

The ‘motherboard’ consists of some sort of ATMega, an AVR programming header, a power supply, and a breakout for the I2C bus. [Lohr] wired up a LED array to the I2C bus and used it to display some configuration settings for the WiFi card before connecting to the card over WiFi and issuing commands directly to the Linux system on the card. The end result was, obviously, a bunch of blinking LEDs.

While this is by far the most complex and overwrought way to blink a LED we’ve ever seen, this is a great proof of concept that makes the Transcend cards extremely interesting for a variety of hardware projects. If you want your own Transcend motherboard, [CNLohr] put all the files up for anyone who wants to etch their own board.

Ask Hackaday: What is “Home Automation”?


We’re not entirely sure what’s become of the term “home automation.” The definition seems to have settled for any user interface in the home—via tablets, phones, handheld remote controls, etc. Some of these devices lack any form of automation and instead require manual input. Even Wikipedia’s home automation article suggests a move toward this trend, offering the following definition (emphasis ours):

It is automation of the home, housework or household activity. Home automation may include centralized control of lighting, HVAC (heating, ventilation and air conditioning), appliances, security locks of gates and doors and other systems, to provide improved convenience, comfort, energy efficiency and security.

Though “automation” is clearly included in the first sentence, one could interpret the bolded potion as meaning either:

  • Truly automated systems may also include centralized control (as a feature).
  • The category of home automation also includes systems that merely provide centralized controls.

So, are automated components optional? Judging by the phrasing of projects submitted to our tips line: yes sir. Truly automated systems exist, but if you browse through any home improvement store’s “home automation” section, you’ll be pummeled by a string of remote-controlled light dimmers and outlets. How many of these are designed to interact with sensors as feedback systems or otherwise function unattended?

Our articles often favor an “automation-optional” categorization. Should we, however, reserve the “automation” label for projects like the light switch based on room occupancy and deny other builds, like the voice-activated lights/outlets system or the RasPi lighting and audio control via web interface? Hit up the comments and help shed some light on how to properly use the terminology.