Author Archives: Melissa Felderman

DIY 3D-Printed Cookie Cutter

via SparkFun: Commerce Blog

Up until recently, my experience with 3D printing has been mostly confined to downloading files from Thingiverse and sending them to my printer. That all started to change a few weeks ago when I began to teach myself some basic modeling skills and I began to understand how modeling and printing can be used outside of making tchotchkes for my desk. While it is incredibly cool to be able to produce objects and enclosures on the 3D printer basically out of thin air, I am currently very excited about something else: designing and printing customized tools. Using free online modeling software, I was able to design and print a handful of cookie cutters that I can use while baking or with clay!

A few hot tips for those of you thinking about making your own cookie cutters:
1. I did not use food grade filament, but if you want to make this at home, you absolutely should get something food safe. 2. A friend mentioned that using a batter with a thicker texture, like a peanut butter cookie, would yield better cookie shapes after baking.

What kinds of tools are you interested in designing and printing for your hobbies? Let us know in the comments below!

alt text

comments | comment feed

DIY 3D-Printed Lithophane

via SparkFun: Commerce Blog

I have been spending a lot of time with our 3D printer lately. Whenever I get to know a tool pretty well, I always try to look for a project that ties in my creative interests (visual arts) with newer technology. I spent a good few years in undergraduate and high school studying fine arts and photography, so I was naturally quite excited when one of our developers told me about 3D-printed lithophanes.

What is a lithophane, you ask? It’s a specific kind of artwork that can only be seen clearly when backlit, meaning light is an element of this creative technique. Traditionally, a lithophane is a thin porcelain tile with an etched artwork on one side. Porcelain has a translucent quality when the walls are thin enough, so by carving into a thin tile, artist were able to make lithophanes by hand. This technique first showed up in the late 1820’s around different parts of Europe. Below is an example of a traditional lithophane, both on its own and backlit.

alt text alt text

Images courtesy of wikipedia.

Fast forward to the 21st century: We have tons of new fabrication tools at our fingertips. A 3D printer seems like a natural tool for building lithophanes, and many folks working with 3D printers have picked up on that. A quick online search will offer plenty of DIY, 3D-printed lithophane tutorials. Some describe how to model a lithophane from a photograph, and others point to software options that will generate a lithophane model directly from a picture upload. I am a firm believer in the KISS (keep it simple, stupid) principle so I decided to use this easy and handy free online lithophane generator.

alt text

The process from there is pretty simple. Once you have uploaded your image and chosen your lithophane shape, simply hit download. You will get an .stl file. Open this in Cura, or any other G-code generator, and continue to save your G-code as usual.

The first lithophane I printed was a photo of my dog. I chose it because of the high contrast and simple background. In reading up on 3D-printed lithophanes, I learned that you want a high contrast image with minimal detail, and that solid backgrounds work best. The printer/extruder I am using also limits the amount of detail and refinement I could generate.

alt text

alt text

alt text

The photo worked pretty well, but I wanted to do something a little more interesting. I dug up an old Navy photo of my grandfather and decided to work with that. I was a little more excited about the way this lithophane came out.

alt text

alt text

alt text

At this point I started to think about ways to bring this project to life without having to hold it up to a window or light source. I decided I would print the lithophane as part of a larger enclosure, and put LEDs inside to keep the image backlit at all times. I used Tinkercad, a free online 3D modeling program, to design my enclosure. I’m sure none of you want a photo of my grandfather, but I have included a link to this file for you to work from.

alt text

In this model, I included a space for a momentary pushbutton so I could change the color of the LEDs, and well as easy access to the microcontroller switch and USB port for charging and reprogramming. I also printed a solid bottom for the enclosure to be glued on later.

Circuit:

alt text

Having a hard time seeing the circuit? Click on the wiring diagram for a closer look.

Parts:

The images below demonstrate how all the electronics fit into the lithophane enclosure. I used hot glue and 3M double-sided foam tape to keep everything where it belongs.

alt text

alt text

alt text

alt text

alt text

Below is the example code to use for this project. I have included five separate color modes. Off, white, magenta, cyan and yellow. Each time the button is pressed, it changes from one color mode or animation to another. You can make as many different states as your heart desires. Check out my comments in the program to know where to make adjustments.

//Melissa Felderman for SparkFun Electronics
//Lithophane V1
//This program uses the Adafruit Neopixel Library
//March 25, 2018

#include <Adafruit_NeoPixel.h>

#define PIN 6

int momBut = 8;
int NUMPIX = 16; //Update this with the amount of LEDs included in your strip
int state = 0;
int maxState = 4; //update this to be the highest possible state from your switch state function 

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIX, PIN, NEO_GRB + NEO_KHZ800);


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(momBut, INPUT);
  strip.begin();
  strip.show();


}

void loop() {
  // put your main code here, to run repeatedly:
  int momButVal = digitalRead(momBut);

  if (momButVal == 1) {
    delay(1000);
    state++;
    Serial.println(state);

    if (state > maxState) {
      state = 0;
    }
    button = false;
  }
//below is where we have each different state or mode for LEDs. If you want to customize your own colors/animations, rplace my code inbetween case x: and break; 

  switch (state) {
    case 0:
      for (int i = 0; i < NUMPIX; i++) {
        strip.setPixelColor(i, 0, 0, 0);
      }
      strip.show();
      break;
    case 1:
      for (int i = 0; i < NUMPIX; i++) {
        strip.setPixelColor(i, 255, 255, 255);
      }
      strip.show();
      break;
    case 2:
      for (int i = 0; i < NUMPIX; i++) {
        strip.setPixelColor(i, 255, 0, 255);
      }
      strip.show();
      break;
    case 3:
      for (int i = 0; i < NUMPIX; i++) {
        strip.setPixelColor(i, 0, 255, 255);
      }
      strip.show();
      break;
    case 4:
      for (int i = 0; i < NUMPIX; i++) {
        strip.setPixelColor(i, 255, 255, 0);
      }
      strip.show();
      break;

    default:
      state = 0;
      break;
  }

}

Now I have a lithophane with the light built in!

alt text

alt text

alt text

I call this Lithophane 2.0 - a Lithophane for the modern world. This project makes a really lovely gift for pretty much any occasion. I know not everyone has access to a 3D printer, but there are maker spaces all over the country, local libraries with 3D printers, as well as plenty of low cost 3D printing services online. If you are considering investing in a 3D printer, I can’t recommend the Lulzbot Taz more. I have been printing on this baby non stop for the last 3-4 weeks using 2.85mm ABS filament, and I haven’t had any issues!

Let us know your thoughts on this techie version of a traditional visual arts process in the comments below!

comments | comment feed

6 Easy DIY Soft Components

via SparkFun: Commerce Blog

Let’s talk about soft and sewable hardware, or at least why I find it so exciting. Traditional hardware (like a button for example) is, well… materially hard, making it an awkward component in the context of wearables. At the risk of overgeneralizing (I see you, Iron Man), clothing tends to be materially soft by nature. This makes the relatively resent availability of materials like conductive thread and conductive fabric very compelling for DIY e-textile designers. Conductive thread and fabric can be integrated seamlessly (jk, by nature - there will be a seam, but figuratively) to fabrics used for clothing. It infinitely expands the possibilities for wearable electronics. Today we are going to look at six easy DIY soft and sewable component techniques using these materials. In all of the examples below, the circuit is connected using conductive thread and includes a sewable LED that demonstrates the functionality of the component.

Before we get started, I have to mention that a few of these ideas were inspired by the work of Mika Satomi and Hannah Perner-Wilson on KobaKant: A site for DIY Wearable Technology Documentation. This website is an incredible resource for DIY soft and sewable electronics.

Momentary Pushbutton V1

alt text

alt text

This is an example of a DIY soft momentary pushbutton. It is made of two small patches of conductive fabric and a similarly sized patch of interfacing. A small hole is cut into the center of interfacing, which is then sandwiched between the two pieces of conductive fabric, keeping them apart. The space between the two patches of conductive fabric break the circuit, meaning there is no electrical connection, and the circuit is open. When pushed, the two pieces of conductive fabric are pressed together, making an electrical connection that closes the circuit and illuminates the LED. This behavior imitates a momentary pushbutton and is a good solution for making soft buttons.

Momentary Pushbutton V2

alt text

This is a second example of a soft momentary pushbutton. Here, there are two patches of exposed conductive fabric between which there is a break in the circuit, or no electrical connection. To close the circuit, the conductive fabric edge must be bent over to touch the other conductive fabric patch, creating an electrical connection and closing the circuit. When you let go, the connection breaks again, which simulates the behavior of a momentary pushbutton.

Switch

alt text

I love the switch example because it uses a very nontraditional piece of electronic hardware that happens to be a very traditional piece of fashion hardware: the metal snap. The snap is conductive, making it perfect for soft circuitry wearable applications. In this example, I have one half of my snap connected to my circuit via conductive thread on the corner of my felt swatch. The second half of the snap is also connected to the circuit an inch or two above and to the right. The space between the two snap halves breaks the circuit. When they are closed, they make an electrical connection and close the circuit. Because the snaps either stay closed or stay open, this technique simulates the behavior of a switch!

Pressure

alt text

The pressure sensor uses a special material called EeonTex, which is a conductive, nonwoven fabric with Piezo-resistive functionality. It is used for dynamic sensors to map and measure pressure, bend, angle stretch and torsion. In this example, the circuit breaks across the EeonTex patch. Conductive thread connected to the circuit is sewn to either side of the EeonTex patch, which acts as a variable resistor. When pressure is applied or the fabric is bent, the resistance decreases, which increases the brightness of the LED.

Tilt

alt text

This is my favorite one because it’s a simple low-tech solution for a more complex sensor. On either bottom corner is a patch of conducive fabric, each connected to the cathode of an LED. (There are two LEDs in this circuit.) The LED anodes are connected directly to the positive terminal of the battery holder. Conductive beads are beaded on conductive thread that is connected to the negative battery terminal. When the circuit is tilted, the beaded thread falls to one side or the other. When the connection is made between the conductive fabric patch and the beaded thread, the circuit closes and the LED on the side of the tilt turns on, indicating the direction of the tilt.

Battery Holder

alt text

This technique is fantastic because you never need to worry about running out of sewable battery holders ever again, and all you need is conductive thread and conductive fabric. The negative terminal of the battery connects to the circuit using ONLY conductive thread. Once the needle is threaded, a double knot is tied at the end of the thread. By threading from the top of the fabric down, the knot will sit atop the fabric. A small square of conductive fabric that is slightly larger than the battery is sewn down on three sides directly on top of the knot. (I covered mine with felt to insulate.) When the battery is placed inside the pocket, the bottom (or negative) terminal touches the knot, which is sewn over to the LED cathode. The top of the battery, or positive terminal, touches the conductive fabric pocket, which is connected to the LED anode via conductive thread.

Shop supplies for your own DIY soft sensors here, be sure to visit our EDU blog post for more DIY soft components, and let us know about the soft sensors you have made in the comments below!

comments | comment feed

March is National Craft Month, and SparkFun is Joining the Party!

via SparkFun: Commerce Blog

BIG news, everyone. The month of March, aka National Craft Month, has arrived. This monthlong national celebration was established in 1994 by the Craft & Hobby Association (thanks, guys!) to help people rediscover and learn about the wonderful world of crafting and its many benefits. Ah, such a beautiful idea.

I use craft quite heavily in my work, and being a capable crafter continues to help me learn and master programmable electronics. In fact, in many ways I consider my physical computing skills as a set of creative tools with the purpose of enhancing and growing my craft practice. Needless to say, as a pretty aggressive craft advocate, this special month is near and dear to my heart. You’d better believe I am planning to celebrate this momentous month by continuing to publicly obsess over the marriage of craft and electronics, or, more elegantly, e-crafting.

In order to get everyone in the crafty head space for National Craft Month, let’s take a look back at some of our favorite recent projects at the intersection of craft and tech.

Stay tuned this March for upcoming Craft Month posts and let us know about ways you have combined crafts and electronics in the comments below!

comments | comment feed

Shades of Gray in the 3D Printing Marketplace

via SparkFun: Commerce Blog

A few weeks back, our very own graphic designer Pete Holm ordered a nifty little moon lamp — a small, round object with a texture matching the moon and a light source inside. This little lamp has been popping up all over the internet lately, and we were all pretty stoked to see it in person.

alt text

Image Courtesy of Moon Lamp

When the product arrived, we immediately noticed that it was a 3D print, something Pete was not anticipating. The product photos definitely do not look like 3D prints.

alt text

To be fair, the product page clearly discloses the materiality of the product: “INNOVATIVE 3D PRINTING TECHNOLOGY.” Nonetheless, Pete didn’t read that when he ordered it, and when he got it there was some air of disappointment. In his own words, “For some people, getting a 3D printed product might be like OMG cool! It’s a 3D print! But for makers, I’m like oh, I could have just made it myself.” Pete uses the 3D printer a lot and is comfortable with electronics, which of course brings up the age-old question, “Why buy when you can DIY?!”

In a very SparkFun move, we were on Thingiverse no less than 30 seconds later looking for some moon files. And we found them. In fact, we found a lot, in many different sizes, with plenty of design files available online under the Creative Commons license. It's available for download for free. Pete may have been kicking himself, but I was stoked to DIY a very cool product with very little effort. This is going to make an incredible last-minute gift!

I downloaded two sizes, the 140mm and the 60mm.

alt text

The moon print is broken up into two pieces so that you can place your light source inside before gluing it shut. All in all, the larger 140mm moon took about 17 or 18 hours to print, and the 60mm took about four hours. I debated a lot regarding which light source to use, but I ended up going with our fairy lights. I used these because of their material nature and because I had a lot of them sitting around in different colors. The wire in the fairy lights makes it so they truly fill up the area inside the moon, allowing for an even inner glow. Plus, some of the LEDs push against the edge, which creates a really lovely visual effect.

Once the fairy lights were threaded through the small hole in the center of the moon’s cap, I used a drop of hot glue to secure the lights in place.

alt text

alt text

Then I started putting them inside the moon’s cavity, and simply glued the top to the bottom with E6000 glue.

alt text

alt text

The two pieces don’t line up exactly, but I did my best to find a good fit. Where there was a light leak, I used a touch of white puff paint to seal it.

alt text

The result? JUST AS GOOD AS THE PURCHASED PRODUCT! I didn’t even sand it, guys, and it looks AWESOME. Sanding around the glued seal is definitely recommended if you have the time, but in any case, my printed moon lamp looks dope.

alt text

Ok, so this was stupid easy to make. No modeling or electronics skills required. Just hit print, wait awhile, thread some LEDs, stuff them in a cavity, and glue it all together. I checked back on the product page, and while the lamp is currently on sale for $29.99 (which is already pricey for what you get), it usually sells for $49.99! I don’t know if it’s just me, but that feels a little bit outrageous. I could sell these for $10 and make a decent profit off of them. I have to say, from where I was sitting, the for-sale moon started to seem like a real rip-off. A cheaply made product with an insanely high price tag.

The truth is, a lot of people are selling a version of this 3D printed lamp, and in a lot of cases for less than $50, but still for like $20–$30. Based on my experience making this thing, that’s too much money.

Listen, I know many individuals do not have access to a 3D printer. I know a lot of folks are interested in purchasing 3D prints. Just because I think i’s a rip-off doesn’t mean all other consumers feel the same. I’m not a huge fan of the look of 3D printed plastic, but I’m sure some people are really into it. I know I might be jaded because for the past few years I have been able to print whatever the heck I want off Thingiverse for free with printers at school or at work. I know there are specific rules about what is allowed with regard to selling these products under the Creative Commons license. I don’t pretend to know what is legal and what is not, and I’m certainly not proposing that these objects not be for sale.

That being said, I started thinking about seller/buyer responsibility in the 3D printing field, especially when a for-sale product is all over the internet to download for free. I have been asking myself if there are any moral or community responsibilities on the seller to link to the design file. Or is it up to the buyer to find out exactly how this object is made and do a little research to see if it can be made at home? These are not questions of legality but more opinion based.

For a lot of us makers, there are things we purchase that we know we could have made. Sometimes buying things makes more sense than making them because the effort and time outweighs the cost. But in the case of the moon lamp at the price of $20–$50, I believe that the cost of time/effort/materials is decidedly less, and I know that if Pete had found that lamp and then seen a link to the STL, he would have 100 percent made this lamp himself.

To build your own moon lamp, you will need the following items:

TAZ 6 3D Printer

TOL-13880
$2,499.95
2
Fairy Lights - Cool White (2.5m)

PRT-14502
$4.95
Bridge Filament 3mm - 0.45kg (Clear)

TOL-13937
$17.95

You will also need hot glue, E6000 glue and white puff paint.

White ABS filament like the kind I used can be ordered directly from LulzBot. Don’t have a 3D printer and not sure how to access one? Check out this very helpful Maker Map to find a makerspace near you!

Let us know your thoughts on the 3D printing marketplace in the comments below!

comments | comment feed

Interactive Valentine’s Day Mailbox Counter

via SparkFun: Commerce Blog

Remember when you were a kid and every Valentine’s Day at school you would decorate shoe boxes to receive cards from your classmates? We do too, which is why we took this simple idea and stuffed it with electronics. It’s what we do. This is a fun e-crafting project that will make you stand out at work or at school!

This box is special because it keeps track of how many valentines you have received and displays that number on the box. It also celebrates each time you get a new valentine with animated LEDs.

alt text

This is possible by placing an IR transmitter and receiver on either side of the slot in your box. I made a ramp inside to guide my valentines past the IR transmitter and receiver, ensuring every note or candy is accounted for.

alt text

alt text

If you are interested in making your own Valentine’s Mailbox Counter, use the following circuit diagram to build your circuit.

alt text

Having a hard time seeing the circuit? Click on the image for a closer look.

Upload the code below to your Arduino Uno once the circuit has been built.

//Language: C
//Melissa Felderman for SparkFun Electronics 
//January 31, 2018
//This program leverages code from Serial 7-Segment Display Example Code
//   I2C Mode Stopwatch
//   by: Jim Lindblom for SparkFun Electronics

#include <Wire.h> // Include the Arduino SPI library

const byte s7sAddress = 0x71;
//unsigned int counter = 9900; 
char tempString[10];  // Will be used with sprintf to create strings

int detect = 9;
int emit = 10;
int LED= 8;


int counter = 1; 
int startMillis = 0;

void setup() {
    Wire.begin();
    clearDisplayI2C();
    setBrightnessI2C(255);  

  Serial.begin(9600);
  pinMode(detect, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  pinMode(emit, OUTPUT);
  digitalWrite(LED, LOW); 
  digitalWrite(emit, HIGH);


}

void loop() {
  int motion = digitalRead(detect); 
  sprintf(tempString, "%4d", counter);
  if(motion == HIGH) {


    counter = counter +1;
    s7sSendStringI2C(tempString);

for(int i = 0; i < 10; i++ ){
    digitalWrite(LED, HIGH); 
    delay(100);
    digitalWrite(LED, LOW);
    delay(100);



}




    Serial.println(counter);
  delay(1000);


  } 
  else {
    digitalWrite(LED, LOW);

  }
 //˜Serial.println(digitalRead(motionPin));
}


void s7sSendStringI2C(String toSend)
{
  Wire.beginTransmission(s7sAddress);
  for (int i=0; i<4; i++)
  {
    Wire.write(toSend[i]);
  }
  Wire.endTransmission();
}

// Send the clear display command (0x76)
//  This will clear the display and reset the cursor
void clearDisplayI2C()
{
  Wire.beginTransmission(s7sAddress);
  Wire.write(0x76);  // Clear display command
  Wire.endTransmission();
}

// Set the displays brightness. Should receive byte with the value
//  to set the brightness to
//  dimmest------------->brightest
//     0--------127--------255
void setBrightnessI2C(byte value)
{
  Wire.beginTransmission(s7sAddress);
  Wire.write(0x7A);  // Set brightness command byte
  Wire.write(value);  // brightness data byte
  Wire.endTransmission();
}

// Turn on any, none, or all of the decimals.
//  The six lowest bits in the decimals parameter sets a decimal 
//  (or colon, or apostrophe) on or off. A 1 indicates on, 0 off.
//  [MSB] (X)(X)(Apos)(Colon)(Digit 4)(Digit 3)(Digit2)(Digit1)
void setDecimalsI2C(byte decimals)
{
  Wire.beginTransmission(s7sAddress);
  Wire.write(0x77);
  Wire.write(decimals);
  Wire.endTransmission();
}

comments | comment feed