- Arduino Leonardo - Could be anything, we used what we had around
- Stepper motor - NEMA-17 size - 200 steps/rev, 12V 350mA
- Encoder - Yumo E6B2-CWZ3E
- 2 X Pololu Universal Aluminum Mounting Hub for 5mm Shaft
- Nylon spacers for PCBs
- 3 x 3 mm magnet
- Reed switch
- Female Threaded Hex Standoff, 13mm Hex, 52mm Long, M6 x 1mm Thread - Any spacer longer than 1.75" will do
- 4 X 3 mm LEDs
- 12mm Momentary Push Button Switch 1/2" Mounting Hole - We're using these ones but any momentary switch will do
- 12 V DC power supply - Something like this should do
- DRV8880 Stepper Motor Driver
- Jumper wires or ribbon cable - we're using ribbon cable with crimpable connectors
- 40 x 60 mm perfboard
- 4 X 470 Ω resistors
- 22AWG Solid core wire
- Assorted screws and nuts for mounting parts
- Use the EncoderProject_06 arduino sketch from the Code folder
- This project uses two libraries: the Encoder library and the StepperDriver library
- Code is a bit messy and not very commented for now
- This project requires some laser cutting. There are two files in the Fabrication folder:
- Electronics plate laser cut.ai
- Main plate laser cut.ai.
- Both files contain instructions for materials
- There are two optional 3D printed parts. Both can be found in the Fabrication folder:
- CableGuide v3 is a small cable routing part that can help managing the wires
- Reed Switch Holder v2 supports the reed switch at the correct rotation relative to the magnet
- Once plugged in, the stepper motor will turn until it finds the "home" position (3 o'clock)
- From there, you rotate the encoder arm by hand until it matches the 3 o'clock position
- Now you can turn the encoder arm and the stepper motor will follow
- If both arms get misaligned, you can press the "Reset" button, that will make the stepper search for its home position again
- If you spin the encoder arm too quickly, the stepper will stop, the "Mode/State" LED will blink and the the stepper will search for its home position again
Documentation images and video can be found in the Photos folder.