Cheap 3D Printed Absolute Encoder Knob

Overview

A cheap, 3D printed absolute position encoder knob based on a low-cost AS5600 breakout module.

Demo firmware using a TTGO T-Display ESP32 board is provided (PlatformIO Arduino).

See how it works:

Parts needed

  • AS5600 module
  • 4x M3x6 screws with countersunk head
  • 608 "skateboard" bearing
  • small zip tie (~2mm wide)
  • 4mmx2mm axial magnet
  • 3D printed parts (see below)

Note: I found that removing R1 on the AS5600 module, which sets it for 5V operation, make the module more reliable and stable, but note that you will need a level-shifter to interface with a 3.3V microcontroller. Beware that the module has its own I2C pullups (R2 and R3) so if you power it from 5V it will apply 5V to the SDA and SCL pins, which could damage a 3.3V microcontroller.

I used a 4mm axial magnet instead of a diametric magnet because the AS5600 module I bought didn't come with a proper diametric magnet. You could modify the design to mount a diametric magnet aligned axially with the knob instead, if you have one.

3D Printed Parts

Download the Fusion 360 design file here or preview it in your browser.

Base Plate

Print settings:

  • 0.2mm layers

Download STL file

Bearing Mount

Print settings:

  • 0.15mm layers (finer layers for small details of tabs)

Download STL file

Knob

Print settings:

  • Seam: rear (seam is aligned with index notch to reduce visibility)
  • I used hilbert curve bottom infill for a cooler top surface pattern (see 2nd photo above)
  • 0.2mm layers

Download STL file

Notes

  • All of the dimensions were tuned to my 3D printer, so they may not work exactly, depending on how my printer's over/under-extrusion compares to yours
  • The M3 screws thread directly into the base plate, which isn't super strong. You could make the base plate thicker, widen the holes, and use captive nuts or threaded inserts for a more robust connection
  • You could decrease the diameter of the knob if you removed the external mounting holes from the base plate -- you could use longer M3 screws through the bearing mount, PCB, and base plate to mount it to something else directly instead
  • The Fusion 360 file is somewhat messy and isn't parametric; this was just as a quick hack, sorry!

License

Copyright 2021 Scott Bezek

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You might also like...
A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control.
A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control.

N.A.G.E.K.I. A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control. 中文版

A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control.
A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control.

N.A.G.E.K.I. PLEASE CHECK Main Project A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Us

Tiny and cheap robot car for inspecting sewer pipes >= 125 mm. With pan servo for the ESP32-Cam module
Tiny and cheap robot car for inspecting sewer pipes = 125 mm. With pan servo for the ESP32-Cam module

ESP32-Cam Sewer inspection car Version 1.0.0 - work in progress Based on esp32-cam-webserver by Owen Carter. Additional Features Pan servo for the ESP

Is this hardware solution the ultimate in switch bounce elimination? Simple PCB, cheap components = final solution!
Is this hardware solution the ultimate in switch bounce elimination? Simple PCB, cheap components = final solution!

#230 Ultimate Switch Bounce Eliminator Direct link to video: https://youtu.be/b2uUYiGrS5Y It's time to try a final, alternative approach to the ubiqui

A simple, cheap, and somewhat secure USB Key for SSH authentication, costs $5

44Key A simple, cheap, and somewhat secure ed25519 USB Key for SSH authentication, costs $5 Hardware: https://oshwhub.com/44670/miniusbkey PC Softwa

Let's upgrade cheap off-the-shelf robotic mowers to modern, smart RTK GPS based lawn mowing robots!
Let's upgrade cheap off-the-shelf robotic mowers to modern, smart RTK GPS based lawn mowing robots!

OpenMower Join the Discord server for OpenMower discussion: HERE About the Project ⚠️ DISCLAIMER: IF YOU ARE NOT 100% SURE WHAT YOU ARE DOING, PLEASE

Arduino code to interface with quadrature-encoder mice, specifically the Depraz mouse

Depraz Mice on USB via Arduino This code lets you connect a Depraz mouse to a modern computer via USB. The Depraz mouse has a male DE-9 connector but

PHP Encoder, protect PHP scripts in PHP 8 and PHP 7, High Performance, Compitable with X86_64, MIPS, ARM platform and Ubuntu/Centos/OpenWRT system.

What's FRICC2? FRICC2 is a PHP Script encryption tool. When you are developing a commercial software using PHP, the script can be distributed as encry

QuadratureDecoder - PIO based Encoder Library for the RP2040
QuadratureDecoder - PIO based Encoder Library for the RP2040

QuadratureDecoder - PIO based Encoder Library for the RP2040 Overview The QuadratureDecoder C++ class can be used to count quadrature encoder signal t

Owner
Scott Bezek
Scott Bezek
Haptic input knob with software-defined endstops and virtual detents

SmartKnob SmartKnob is an open-source input device with software-configurable endstops and virtual detents. A brushless gimbal motor is paired with a

Scott Bezek 12.2k Dec 29, 2022
Library for STM32 microcontrollers with HAL to communicate with absolute orientation sensor Bosh BNO055.

Bosh BNO055 sensor library fro STM32 with HAL Library for STM32 microcontrollers with HAL to communicate with absolute orientation sensor Bosh BNO055.

Eryk Możdżeń 1 Nov 20, 2021
This is the practice repo for absolute beginners.

This is the practice repo for absolute beginners.

Aaquib Ali 3 Feb 3, 2022
split89 keyboard - a 3d printed 89 key split TKL keyboard base powered by ATmega32U4 Pro Micro controllers with QMK Configurator support.

split89 keyboard - a 3d printed 89 key split TKL keyboard base powered by ATmega32U4 Pro Micro controllers with QMK Configurator support. This keyboar

null 54 Jan 7, 2023
Zerobug is a 3D-printed micro-servo hexapod robot powered by a Raspberry Pi Zero and a STM32F103

ZeroBug - DIY Hexapod Robot Zerobug is a 3D-printed micro-servo hexapod robot powered by a Raspberry Pi Zero and a STM32F103. The Pi Zero is in charge

Max K 179 Dec 22, 2022
Left hand gaming keypad with a 3D printed case

GameHand Left-hand gaming keypad with a 3D printed case Case files KiCAD PCB files Gerbers for PCB production JLCPCB BOM JLCPCB CPL This work is licen

null 16 Jul 22, 2022
A 3-D Printed Bot which can talk, cheer, dance and manage your day-to-day schedule.

cheerup A 3-D Printed Bot which can talk, cheer, dance and manage your day-to-day schedule. In childhood many of us have watched this show "SpongeBob

Aniket Dhole 4 Sep 5, 2021
An Alice-like 35% 3d printed mechanical keyboard using ItsyBitsy dev boards

QALBLE An ergo 35% 3d printed wireless mechanical keyboard, born from the thought of "Imagine QAZ but split like an Alice ?? " The BLE is a misnomer s

null 17 Dec 17, 2022
Arduino Interface for cheap 2.4ghz RF enabled Solar Micro Inverters

NETSGPClient Arduino Interface for cheap 2.4ghz RF enabled Solar Micro Inverters using the so-called NETSGP protocol for communication. Here is a YouT

null 44 Dec 30, 2022
A large mechanical 7-segment clock using cheap stepper motors.

mechanical-7-segment-clock A large mechanical 7-segment clock using cheap stepper motors. Each digit requires its own controller board. The seconds di

null 44 Oct 4, 2022