Skip to the content
2 layers24 × 15.5 mmKy040abs, the printed circuit board in 3D

Turn a KY040 incremental encoder to an absolute encoder with a 1 wire interface.

Size
24 × 15.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
8
Nets
7
Pads
26
Tracks, vias
34, 3
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
10 Sep 2024
Updated
12 Jan 2026

Overview

Ky040abs is an open-source printed circuit board by GusHMeza, from the GusHMeza/ky040abs repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 24 × 15.5 mm with 8 parts on 7 nets, routed with 34 tracks and 3 vias.

It is built around the ATTINY10-TSH. Its parts include 3 resistors, 1 capacitor, 1 IC, 1 diode and 1 connector. It belongs with the interfaces and adapters boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

ky040abs

Turn a KY040 incremental encoder to an absolute encoder with a 1 wire interface. The KiCAD project is provided for the adapter board.

IMPORTANT: Use avrboy by kimio-kosaka to program the ATTINY10 chip before soldering it to this adapter module. The PCB does not have a TPI interface connector.

HOW TO USE

  1. Flash an ATTINY10 chip with the provided script.
  2. Use the suggested connector in the BOM or solder wires to the power inputs and the signal wire.
  3. Power the module.
  4. The SIG wire works as an active HIGH input, when it receives a HIGH pulse, it switches to an active HIGH output. I.e. use an I/O pin from a MCU to pulse the SIG wire, then read how many pulses the ky040abs answers with.
  5. To adjust the resolution (given you have a gear ratio between the encoder and and a spinning shaft), modify the angulo_en_pulsos variable.
  6. The provided code shows a bidirectional rotation reading, where the ATTINY10 starts at 15 counts that either increment up to 30 or decrement down to 0 depending on the direction of rotation.

image

image

Parts

8
QtyValueFootprintReferences
22kRResistor_SMD:R_0603_1608MetricR1, R2
1.1uFCapacitor_SMD:C_0603_1608MetricC1
11kResistor_SMD:R_0603_1608MetricR7
1ATtiny10-TSPackage_TO_SOT_SMD:SOT-23-6U1
1Conn_01x03_PinConnector_JST:JST_PH_S3B-PH-K_1x03_P2.00mm_HorizontalJ1
1LEDLED_SMD:LED_0603_1608MetricD1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHolesSW1

Similar boards

  • 2 layers200 × 100 mmRegalodilara, the printed circuit board in 3D

    Regalodilara

    valerionew/very-good-uc-doggos

    A special graduation present for a special friend. Six microcontrollers in one devboard

    91 parts50
  • 2 layers7.4 × 12.2 mmSMOL, the printed circuit board in 3D

    SMOL

    heyspacebuck/SMOL

    Slot-in Manipulator of Output Levels

    19 parts16BSD-3-Clause
  • 2 layers100 × 100 mmDesklight panel, the printed circuit board in 3D

    Desklight panel

    dpiegdon/tiny-ws2812-desklight

    ATTiny10 powered WS2812 RGB LED strip: hard- and firmware design

    256 parts10GPL-3.0
  • 2 layers13 × 10.2 mmNoise guy, the printed circuit board in 3D

    Noise guy

    kinoshita-lab/noise-guy

    noise generator made by ATTiny10

    16 parts10MIT
  • 2 layers65 × 56 mmElPiHat, the printed circuit board in 3D

    ElPiHat

    HB9UF/ElPiHat

    EchoLink Hat for Raspberry Pi

    82 parts6
  • 2 layers11.4 × 9.1 mmPMIC, the printed circuit board in 3D

    PMIC

    whinis/AttinyPMIC

    Using an Attiny10 as a push button On/Off controller

    4 parts6Unlicense
  • 2 layers24.6 × 11.1 mmPWM+fan stop, the printed circuit board in 3D

    PWM+fan stop

    yvoronkin/FANSTOP

    In a small form factor, an extension of the fan control is implemented.

    24 parts2CERN-OHL-S-2.0

Questions

How big is the Ky040abs PCB?

It measures 24 × 15.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ky040abs use?

8 parts, built around the ATTINY10-TSH. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Ky040abs KiCad files?

From the GusHMeza/ky040abs repository on GitHub, at the commit this page was made from: the board is KY040-ABS/KY040-ABS.kicad_pcb and its schematic KY040-ABS/KY040-ABS.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ky040abs design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).