• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Dancing Penguin Automata 3D Printer File Image 1
Dancing Penguin Automata 3D Printer File Image 2
Dancing Penguin Automata 3D Printer File Thumbnail 1
Dancing Penguin Automata 3D Printer File Thumbnail 2

Dancing Penguin Automata

JP3D avatarJP3D

December 7, 2023

printables-icon
DescriptionCommentsTags

Description

You love the dancing penguin emoji? Great!
Then build your own dancing penguin! All the motion is driven by one cheap stepper motor and an arduino! No need for servos.

Here is what you will need:

  • 1x Arduino Nano
  • 1x 28BYJ-48 with ULN2003 Driver
  • 1x On-/Off Switch
  • 1x DC connector 5.5 x 2.1mm
  • 1x 12V power supply with 5.5 x 2.1mm jack
  • a few patch cables for wiring
  • M3 screws: 
    20 times M3x10mm
    10 times M3x16mm
    5 times M3x30mm

Prints were tested with PLA, ASA and PETG. 
Layerheight: 0,2mm
Infill: 15% with 2 Perimeters

Important: Print the gear that attaches to the motor shaft with 100% infill.

Known limitations: 

  • The penguin dances slower than the emoji. I don't mind, but maybe I'll make a faster version with two stepper motors at some point. If you're interested, let me know.
  • The gear that attaches to the motor shaft can wear out over time. Make sure to print this gear with 100% infill.
  • Long-term performance is currently unknown. Feel free to give feedback.
  • Friction is a problem at the moment. Experiment with how much you thighten the screws.

Video with assembly instructions 
https://vimeo.com/880571363?share=copy

Arduino Code


#include <Stepper.h>

const int stepsPerRevolution = 2048;  // change this to fit the number of steps per revolution

// ULN2003 Motor Driver Pins
#define IN1 4
#define IN2 5
#define IN3 6
#define IN4 7

//internal LED
#define LED 13 

// initialize the stepper library
Stepper myStepper(stepsPerRevolution, IN1, IN3, IN2, IN4);

void setup() {

  pinMode(LED, OUTPUT);

  digitalWrite(LED, HIGH);

  // initialize serial port
  Serial.begin(9600);
  Serial.println("\nPenguin!");

  // initialize stepper motor
  myStepper.setSpeed(20);     //Range @5V: 1-15 rpm

    digitalWrite(LED, LOW);
  
} 

void loop() {
  if (true)
  {  
    myStepper.step(stepsPerRevolution);
  }
  else
  {
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, LOW);
  } 
}

License:

Creative Commons — Attribution — Noncommercial — NoDerivatives

Related Models

V29 preview image

V29

jzisa profile image

jzisa

81,435

Draw-A-Cat! Stencil for Feline Design preview image

Draw-A-Cat! Stencil for Feline Design

Studio Meshco profile image

Studio Meshco

107

Dual Text Illusion v2.0 preview image

Dual Text Illusion v2.0

neverland forge profile image

neverland forge

1,392

Cute Mini Octopus preview image

Cute Mini Octopus

McGybeer profile image

McGybeer

75,815

Palestinian Map In Geometric Pattern Design - 2 Parts preview image

Palestinian Map In Geometric Pattern Design - 2 Parts

PALIprints3D profile image

PALIprints3D

20

STAND QRCODE/NFC CARD GOOGLE REVIEWS EDITABLE preview image

STAND QRCODE/NFC CARD GOOGLE REVIEWS EDITABLE

ARTIGIANO PAZZO profile image

ARTIGIANO PAZZO

1,748

Modular Mounting System preview image

Modular Mounting System

HeyVye profile image

HeyVye

69,165

Design for a pipe in two pieces - UPDATED AGAIN preview image

Design for a pipe in two pieces - UPDATED AGAIN

Fergy7 profile image

Fergy7

1