Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

DIYbio Orbital Shaker V 1.0

by ProgressTH, published

DIYbio Orbital Shaker V 1.0 by ProgressTH Nov 8, 2017
2 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Design Tools


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

835Views 238Downloads Found in Biology


UPDATE February 7, 2018: We've found that the hex nut on the coupler slips. Hot gluing the coupler onto the stepper motor shaft works well and if you want to remove the rest of the motion control assembly, just unscrew the retainer holding the bearing on above the stepper.

UPDATE: We've completely reworked the motion control system to use M3 bolts (3mm diameter threading, 12mm long threading, 2mm thick head, 5mm diameter head). This way, you can assemble and disassemble everything. We also created a shaft coupler for the stepper motor also using an M3 bolt & corresponding hex nuts.

We found friction welding along the edge of the nuts keeps them in place when tightening the bolts. Hot glue is not strong enough. Close ups of the shaft coupling shows before and after friction welding the nuts in place.

Assembly and wiring diagrams will be posted later.

The new design uses one less 608zz bearing meaning only 5 are necessary now.

This is our first attempt at a DIYbio orbital shaker.
A video demo is available here: https://www.youtube.com/watch?v=TnfxUq-xGas

A video describing the assembly process for the motion control is here: https://www.youtube.com/watch?v=FlnDQZjm9aY&

Using 608ZZ bearings, the motion control is smooth, reliable, and quiet. Wiring diagram and assembly instructions coming soon. The files are here for those that want to take a crack at it or begin modifying the design.

The SketchUp file is also included.


12V stepper motor
Pololu DRV8825 stepper driver
Arduino Micro Pro
Rocker Switch
DC Adapter (Female)
608ZZ bearings (x5)
3mm bolts (x3)
3mm nuts (x3)
3mm screws (x3)

We used a combination of friction welding and hot glue to assemble the motion system. Hot glue is used after the bearings are inserted with a thin bead placed around the edge. This makes it possible to take off later to remove the bearings if desired. Nuts are friction welded in place.

Arduino sketch used:

// Simple Stepper Motor Control
// by Achim pieters, www.studiopieters.nl

// Defines pins numbers
const int stepPin = 7;
const int dirPin = 8;

int customDelay,customDelayMapped; // Defines variables

void setup() {
// Sets the two pins as Outputs

digitalWrite(dirPin,HIGH); //Enables the motor to move in a particular direction
void loop() {

customDelayMapped = speedUp(); // Gets custom delay values from the custom speedUp function
// Makes pules with custom delay, depending on the Potentiometer, from which the speed of the motor depends
digitalWrite(stepPin, HIGH);
digitalWrite(stepPin, LOW);
// Function for reading the Potentiometer
int speedUp() {
int customDelay = analogRead(A0); // Reads the potentiometer
int newCustom = map(customDelay, 0, 1023, 300,4000); // Convrests the read values of the potentiometer from 0 to 1023 into desireded delay values (300 to 4000)
return newCustom;

Print Settings


ExtraBot 3020








Some support is necessary (for the housing and some other parts). Check everything in your slicer before printing.

More from Biology

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Great project. Is this a NEMA14 motor being used? Do you have a part # for the motor, or any other specifications?

It is this exact stepper: https://www.gravitechthai.com/product_detail.php?d=209

It is a 12v stepper. On the label is reads: Mercury Motor, SM-42BYG011-25 1.8° 45/2016

I used this driver: https://www.gravitechthai.com/product_detail.php?d=864

Hope that helps, let me know if you have any other questions.

Thanks for this info. I have parts in hand now and am planning to start assembly. Any chance a wiring diagram is available? What are you using for the motor power supply?

Edit: It also appears that the top plate is missing from the list of STL files available for download?
Edit2: I was able to extract the missing top plate STL file from the Sketchup file, all set on that front for now.

I just uploaded the wiring diagram above. I would highly recommend researching Arduino-Stepper diagrams and Arduino-Stepper-Potentiometer diagrams online and double-checking everything because I'm not an electrical engineer. Trace the wires very carefully.

The image attached here is the basic stepper setup I always use for all stepper projects first before moving on to more additions.

The power supply is a 12 volt 1 amp wall adapter.

One other quick electronics update: I was able to get everything wired up and working initially using this schematic from Pololu: https://a.pololu-files.com/picture/0J4232.600.png?f2f6269e0a80c41f0a5147915106aa55. After seeing your schematic which lets the Micro Pro use the same 12V as the motor, I rewired and tested again. I think there may be a small error in the wiring diagram that was uploaded, as it has the SLEEP pin of the 8825 connected to GND. In this configuration, I was not able to get the motor working. When I put SLEEP back to VCC from the microcontroller with pin 1 of the potentiometer and the RESET line, everything works as expected.

Looking forward to getting everything assembled and tested now that the electronics are ready to go!

thank you for the feedback, I really appreciate it. I will check the diagram a second time and make sure. I managed to burn out an Arduino the first time around because of poor wiring and would like to save others that headache.

Thank you very much for the quick reply! I wasn't aware the Pro Micro could be powered via the same 12V power source using the RAW pin and was planning to add a 5V regulator to power it. This simplifies things! For anyone else curious, the Pro Micro hookup guide has this information as well that I missed: https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide

Amazing! next project for me. Thanks!