

ATtinyStep
An ATtiny powered step counter and speed/distance measuring device that fits in the palm of your hand.
- Size
- 42 × 23.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 21
- Nets
- 27
- Pads
- 86
- Tracks, vias
- 136, 42
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 5 Oct 2026
- Updated
- 19 Oct 2026
Overview
ATtinyStep is an open-source printed circuit board by penayush-tronics, from the penayush-tronics/ATtinyStep repository on GitHub. It is a 2-layer board of 42 × 23.5 mm with 21 parts on 27 nets, routed with 136 tracks and 42 vias.
It is built around the ATTINY1624-SSU, AP2112K-3.3 and LSM6DSL. Its parts include 4 capacitors, 4 resistors, 4 connectors, 3 ICs and 2 diodes. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
3ATTINY1624-SSU
SOIC-14-40℃~+85℃ 1.8V~5.5V 12 12bit 16KB 20MHz 256Byte 2KB 8 Bit AVR Built-in FLASH SOIC-14 Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)AP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedLSM6DSL
LGA-14(2.5x3)-40℃~+85℃ 1.71V~3.6V 16bit 3uA 4KB IMU (accelerometer + gyroscope) Motion event detection、Synchronization and timestamp SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps LGA-14(2.5x3) Accelerometers ROHSSTMicroelectronicsAccelerometers
README
README.mdATtinyStep

ATtinyStep is a compact, rechargeable, and portable offline step counter as well as speedometer. It helps in reaching your step goals at a healthy pace, while enjoying the outside world instead of doomscrolling with your neck down. It uses a 6-axis Accelrometer+Gyro IMU (Interital Measurment Unit) and the processing capabilities of the ATtiny1624 to easily count your steps automatically. As a bonus, it doubles as breakout board for the ATtiny1624, so it can be used for more projects other than a speedometer.
How to use the ATtinyStep
Here is a labelled diagram:

As step counter
Connect a single cell 3.7V li-ion battery to the battery header (with correct polarity; labelled on the back). It has an built-in voltage. After that, connect the I2C OLED screen. To use it as a step counter, flip the switch to turn it on. On the top left corner is a Mode select button, which allows the selection between speed display and step counting modes. On the top right corner there is a Reset button to reset the Attiny chip in case of some error/restart. Below this button is the UART programming header, labelled for convenience. The device will automatically start counting steps and calculating the speed of your walking or any motion.
As development board
You can also use it as a breakout board for the ATtiny1624 with built in 6-axis Gyro+Accelerometer and easy to use I2C header. When powering it as a development board, make sure to use only 3V3 power (3.3V), on the VCC pin either on the breakout pins, the programming header, or the I2C header. Make sure to connect GND-Ground too. Be careful with polarity. Pins 8 and 9 are always pulled high due to the I2C, so use them primarily for I2C. Pin 13 is connected to the onboard Mode Select button, using active low. This pin can be reconfigured. Use the reset button to restart the Attiny1624.
Programming
ATtinyStep uses UPDI programming for the ATtiny1624, via UART. Make sure to use 3V3 only. An appropriate resistor is already placed in series with Tx, so an external series resistor is not required, only a UART to USB converter is needed for programming. Connect the GND VCC pins, and connect UART-USB Rx to ATtinyStep Tx, and Tx to Rx, like cris-cross. After that it can be programmed using ArduinoIDE with the MegaTinyCore board library.
Labels

The board is thoroughly labelled with all components and pins labelled. Here you can see the breakout pin labels, header labels, battery label -- PLEASE DONT PUT REVERSE POLARITY-- , and accelerometer direction label. Use these as a guide for usage.
How does it work
The ATinyStep works by letting the ATtiny1624 continuously gather angular orientation and acceleration data. By comparing these continuous values to known patterns, such as walking with it in your hand or pocket, it can accuratley detect a step. These actions create very specific accelration and rotation patterns, hence they can be used as reference. For example, walking with it in your hand will result in a big arc-like path, with maximum acceleration at the edges of the arc, and least in the center. This also is how your mobile device, like a phone, counts steps. The sensor being used here is from the LSM6DS series by STMicroelectronics, where the 6 stands for 6-axis. Six-axis means three-axis accelrometer and three-axis gyroscope.
Schematics

KiCAD schematics can be found here
PCB design
Front side:


Back side:


KiCAD PCB design can be found here. Gerber files for fabrication are here. Position file for pick and place is here.
Why ATtinyStep exists
One day I was walking around my community and talking to my friend online. We were talking about walking as an exercise, and how walking faster is important. Hence, they said that they were sure I wasn't walking fast enough. I told them I walk at 6km/h, but they did not believe me. That day I had two realisations: I should take a break from my phone during walks, and I need a speedometer for myself. So, this idea was born. An offline hardware speedometer. So I can make sure I am walking at a healthy speed. The name comes from when I was thinking about a title, and realised ATtiny sounds like 'A tiny', and well it's a step counter. So ATtinyStep came. It is pronounced 'Ay Tee tiny step' or just 'A tiny step'.
The extra breakout board pins were because it felt like a waste to have so many pins unused. So the breakout enables them to be used.
Demo
Coming soon :)
Bill Of Materials (BOM)
| Sr No. | Component Description | Min Order Qty | Qty for board | Unit Price (INR) | Unit Price (USD) | Ext. Price (INR) | Ext. Price (USD) | Reference Link |
|---|---|---|---|---|---|---|---|---|
| 1 | ATTINY1624-SSU-MICROCHIP-8 Bit MCU | 1 | 1 | 226.00 | 2.38 | 226.00 | 2.38 | Robu |
| 2 | LSM6DSOETR3-Stmicroelectronics | 1 | 1 | 292.00 | 3.07 | 292.00 | 3.07 | Robu |
| 3 | 0.96 inch Yellow-Blue OLED Display Module | 1 | 1 | 179.00 | 1.88 | 179.00 | 1.88 | Robu |
| 4 | AP2112K/AP2125K -3.3TRG1-Diodes Incorporated | 1 | 1 | 13.00 | 0.14 | 13.00 | 0.14 | Robu |
| 5 | 3.7V 1500mAH Li-Po Rechargeable Battery (523450) | 1 | 1 | 232.00 | 2.44 | 232.00 | 2.44 | Quartz Components |
| 6 | Toggle Slide Switch | 1 | 1 | 5.00 | 0.05 | 5.00 | 0.05 | Quartz Components |
| 7 | Green LED - SMD (1206 Package) - Pack of 50 | 50 | 1 | 0.72 | 0.01 | 36.00 | 0.38 | Quartz Components |
| 8 | 1K Ohm 1206 Package 1/4W SMD Resistor 5% Tolerance (Pack of 20 Pieces) | 20 | 1 | 0.50 | 0.01 | 10.00 | 0.11 | Quartz Components |
| 9 | 4.7K Ohm 1206 Package 1/4W SMD Resistor 5% Tolerance (Pack of 20 Pieces) | 20 | 3 | 0.60 | 0.01 | 12.00 | 0.13 | Quartz Components |
| 10 | TSB005A2518B-BZCN-3.6mm 2.5mm 50mA 8mm 30,000 Times 180gf 12V SMD Tactile Switches | 4 | 2 | 2.85 | 0.03 | 11.40 | 0.12 | Robu |
| 11 | A7 / 1N4007 SMD Diode (Pack of 10) | 10 | 1 | 1.10 | 0.01 | 11.00 | 0.12 | Quartz Components |
| 12 | 100nF / 0.1uF (104) 50V 1206 SMD Capacitor (Pack of 10 Pieces) | 10 | 2 | 1.60 | 0.02 | 16.00 | 0.17 | Quartz Components |
| 13 | 16V 10uF X5R 1206 Multilayer Ceramic Capacitors MLCC | 3 | 2 | 4.57 | 0.05 | 13.71 | 0.14 | Robu |
| 14 | MLCC SMD Capacitor - 100UF, 10V, 1210 | 1 | 1 | 46.00 | 0.48 | 46.00 | 0.48 | Robu |
| 15 | TP4056 - Battery Charging | 1 | 1 | 14.00 | 0.15 | 14.00 | 0.15 | Quartz Components |
| 16 | Male/Female headers | 1 | 1 | 9.00 | 0.09 | 9.00 | 0.09 | Robu |
| 17 | Custom PCB | 5 | 1 | 188.80 | 1.99 | 944.00 | 9.94 | Lion Circuits |
| Totals: | 22 | **** | **** | 2070.11 | 21.79 |
Price per board: ~1230 INR or ~ $12.9 USD
The spreadsheet BOM is here
Parts
21| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 4.7K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R1, R2, R3 |
| 2 | 0.1 | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C3, C4 |
| 2 | Conn_01x04_Socket | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1, J2 |
| 2 | Conn_01x07_Pin | Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical | J3, J4 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_CK_RS282G05A3 | MODE, SW1 |
| 1 | 10 | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C2 |
| 1 | 100 | Capacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder | C1 |
| 1 | 1K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R4 |
| 1 | 1N4007 | Diode_SMD:D_SOD-123F | D2 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | ATtiny1624-SS | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U1 |
| 1 | Battery | Connector_PinHeader_2.54mm:PinHeader_2x01_P2.54mm_Vertical | BT1 |
| 1 | LED | LED_SMD:LED_1206_3216Metric | D1 |
| 1 | LSM6DSL | Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y | U2 |
| 1 | SW_SPDT | Button_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2Q | PWR |
Questions
How big is the ATtinyStep PCB?
It measures 42 × 23.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the ATtinyStep use?
21 parts, built around the ATTINY1624-SSU, AP2112K-3.3 and LSM6DSL. 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 ATtinyStep KiCad files?
From the penayush-tronics/ATtinyStep repository on GitHub, at the commit this page was made from: the board is PCB_Files/ATtinyStep.kicad_pcb and its schematic PCB_Files/ATtinyStep.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the ATtinyStep design in my own project?
Its repository states no licence, so its author keeps all rights: ask penayush-tronics before reusing the design.
Similar boards
- 2 layers148.3 × 147.1 mm

- 2 layers50 × 50 mm

Attiny1624-ring
TheBeachLab/alphabets
Open Source Mechanical Split Flap Display, AKA Solari display
26 parts134MIT - 2 layers52.9 × 30.6 mm

Power meter v3 1
KrystianD/avr-power-meter
AVR-based, galvanically isolated, bidirectional DC energy meter with Modbus RTU interface.
50 parts4MIT - 2 layers54 × 29 mm

Webasto heater controller
matty337s/Webasto-Heater-WBUS-Controller
Controller for webasto heater used in vehicles such as Land Rover Discovery 3. Used to turn on and off heater using ATTINY microcontroller, with inputs for USB, ignition and low-beam.
39 parts3GPL-3.0 - 2 layers70 × 50 mm

- 2 layers121 × 67.2 mm

1-synth badge
lepi-labs/1-synth-badge
ATTINY1624 powered PCB badge with light up eyes and horns
14 parts - 2 layers62.5 × 63.8 mm

NF SolderChallenge27
NerdFlare/NF-SolderChallenge27
Art, code, and pcb for the AY26-27 NF, IEEE, CPES solder challenge!
22 parts - 2 layers55 × 84.5 mm
