{"product_id":"m5stack-scroll-hollow-shaft-encoder","title":"M5Stack Scroll Hollow-Shaft Encoder Unit (EC10E1220501)","description":"\u003cp\u003e\u003cvideo controls muted playsinline style=\"width:100%;height:auto;border-radius:8px;\"\u003e\u003csource src=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/products\/unit\/UNIT-Scroll\/U186%20Scroll%20Unit%20%E8%A7%86%E9%A2%91.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\u003c\/p\u003e\n\u003cp\u003eThe M5Stack Scroll Hollow-Shaft Encoder Unit gives embedded interfaces a compact wheel-style control for scrolling, value adjustment, and push-to-select actions. An EC10E hollow-shaft encoder produces AB quadrature movement, an STM32F030 controller exposes the input over I2C, and a WS2812C RGB LED provides immediate mode or status feedback. It is suited to menu controllers, smart-home panels, robot settings, media devices, and compact industrial prototypes where front-panel space is limited.\u003c\/p\u003e\n\u003ch2\u003eWhat You Can Build\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eScroll wheels for menus, lists, and compact graphical interfaces.\u003c\/li\u003e\n\u003cli\u003eVolume, brightness, speed, temperature, or timer controls.\u003c\/li\u003e\n\u003cli\u003ePush-to-confirm selectors for smart-home and media panels.\u003c\/li\u003e\n\u003cli\u003eMode and setpoint controls for robots and test equipment.\u003c\/li\u003e\n\u003cli\u003eCompact human-machine interfaces with color-coded feedback.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKey Capabilities\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEC10E hollow-shaft encoder with 12 pulses per rotation.\u003c\/li\u003e\n\u003cli\u003eAB quadrature sensing for rotation direction and relative movement.\u003c\/li\u003e\n\u003cli\u003eIntegrated push button for select, confirm, or mode switching.\u003c\/li\u003e\n\u003cli\u003eWS2812C RGB LED for state, alert, or selection indication.\u003c\/li\u003e\n\u003cli\u003eI2C control through the STM32F030F4P6 at address 0x40.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eSetup and Integration\u003c\/h2\u003e\n\u003col\u003e\n\u003cli\u003eConnect the Grove cable to an I2C port and confirm that address 0x40 is available.\u003c\/li\u003e\n\u003cli\u003eRead the encoder count, push-button state, and RGB control registers through the supported library or protocol.\u003c\/li\u003e\n\u003cli\u003eDefine the direction, step size, acceleration, and value limits required by the interface.\u003c\/li\u003e\n\u003cli\u003eAdd button debounce and save important settings only after a deliberate confirmation action.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch2\u003eExample Workflow\u003c\/h2\u003e\n\u003col\u003e\n\u003cli\u003ePoll the encoder and button at a consistent interval.\u003c\/li\u003e\n\u003cli\u003eConvert the relative movement into a bounded menu index or parameter value.\u003c\/li\u003e\n\u003cli\u003eUse slow rotation for fine changes and optional software acceleration for rapid scrolling.\u003c\/li\u003e\n\u003cli\u003eChange the RGB LED to show editing, confirmed, disabled, or fault state.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch2\u003eDeployment Notes\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe encoder reports relative motion, not an absolute mechanical position.\u003c\/li\u003e\n\u003cli\u003eFast rotation can feel unresponsive when the host polls too slowly or performs long blocking tasks.\u003c\/li\u003e\n\u003cli\u003eMechanical contacts require debounce handling for stable button and rotation events.\u003c\/li\u003e\n\u003cli\u003eConfirm panel thickness, shaft clearance, and wheel or cap fit before enclosure production.\u003c\/li\u003e\n\u003cli\u003eResolve I2C address conflicts before adding another device that also uses 0x40.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eDevelopment Resources\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/products\/sku\/U186\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"\u003eM5Stack U186 Documentation\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/uiflow2.m5stack.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"\u003eUiFlow2 Development Environment\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/docs.arduino.cc\/software\/ide\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"\u003eArduino IDE\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"LogicBoundless","offers":[{"title":"Default Title","offer_id":49240421433559,"sku":"LB-M5-U186","price":6.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0801\/8952\/2135\/files\/1_9a8b61a0-0638-49e0-9688-f6976b0cd579.webp?v=1783243309","url":"https:\/\/logicboundless.com\/products\/m5stack-scroll-hollow-shaft-encoder","provider":"LogicBoundless","version":"1.0","type":"link"}