Main Content

In this Instructable I’ll show you how to make my digital measuring wheel (DMW). The DMW is like a traditional measuring tape, but instead using a tape, it uses a wheel that records the distance traveled as it rotates. The wheel runs around the outer body of the DMW, so to measure something you simply press and roll the DMW across your object.

This is great because it lets you measure in ways that would be tricky or impossible with a normal measuring tape. You can easily measure along curves, around corners, etc. Likewise, since you don’t have to deal with a physical tape, you aren’t really limited by length. The upper limit on the DMW is 9999.99cm (your average tape measure will do 25ft, or 762cm), which is only due to the screen size limits. At the same time, its minimum measurement is just about 1mm (0.04in), making it more than accurate enough to be useful. You can also instantly convert from cm to inches, displayed as both in decimal form, and rounded to the nearest 1/16” of an inch (configurable in the code).

I’ve also included a pipe diameter calculation mode and a tachometer/speed mode (for low RPMs).

The brains of the DMW is an common Arduino Pro-Mini, which monitors the buttons, rotary sensor, and battery, while recording and displaying measurements on the DMW’s OLED screen. All the electronics are mounted on a single custom designed PCB, which is in-turn mounted in a 3D printed case. Overall, the DMW is almost the same size as a regular measuring tape, keeping it portable and easy to handle.

I’ve tried to keep the PCB fairly easy to assemble even if you’re newish to soldering. It’s mostly through-hole parts, with the exception of a few 0805 SMD sized resistors (should still be easy to solder). Likewise, I tried to use mainly common, off-the-shelf components that you should be able to easily find on Amazon, Aliexpress, Ebay, etc.

The DMW is powered by a rechargeable LiPo battery. I should note that LiPo’s can be dangerous if handled improperly. The main thing is not to short-out the LiPo, but you should do some safety research if you are completely unfamiliar with them.

You can find all of the DMW’s 3D print, PCB, and code files at my Github: here.

I’m really happy with how this project turned out! I hope that you find it equally useful! :)


You can find Gerber files for the DMW’s PCBs here and here (hit download in the bottom right)

You will need one of each PCB.

If you’d like to inspect the PCB’s schematic, you can find it here.

Unless you can make PCB’s locally, you’ll have to order some from a prototype PCB manufacturer. If you’ve never purchased a custom PCB before, it’s very straight forward; most companies have an automated quoting system that accepts zipped Gerber files. I can recommend JLC PCB, Seeedstudio, AllPCB, or OSH Park, although I’m sure most others will work as well. All the default board specs from these manufactures will work fine, but make sure to set the board thickness to 1.6mm (should be the default). Board color is your preference.

Electronic Parts:

(note that you can probably find these parts for cheaper on sites like Aliexpress, Ebay, etc)

- One Arduino Pro-mini, 5V Ver. Please note that there a few different board designs out there. The only difference between them is the placement of analog pins A4-7. I have made the DMW’s PCB such that both boards should work. Found here.
- One 0.96” SSD1306 OLED (I2C). Display color doesn’t matter (although the blue/yellow version works best). Can be found in two different pin configurations, where the GND/VCC pins are reversed. Either will work for the DMW. Found here.
- One TP4056 1s LiPo charger board. Found here.
- One 1s LiPo battery. Any kind is fine as long as it fits in a 45x35x10mm volume. Capacity and current output are not hugely important as the DMW’s power consumption is low. You can find the one I used here.
- One 7mm tall mouse encoder. Found here or here. (You may want to buy couple of spares)
- One 19x6x13mm slide switch. Found here.
- Two 1K 0805 SMD resistors. Found here.
- Two 100K 0805 SMD resistors. Found here.
- Two 47K 0805 SMD resistors. Found here.
- Two 1uf 0805 SMD multi-layer ceramic capacitors. Found here.
- Two 6x6x13mm through-hole tactile push-buttons. Found here.
- One 14x12mm Micro-USB breakout. Found here.
- Right angle 2.54mm male headers. IMPORTANT! There are two different types of right angle headers available. The only difference is the location of black support/connection block. You need to get the type with blocks on the longer pin side. Found here.
- A FTDI programming cable. Found here, although other types are available on Amazon for less. You can also use an Arduino Uno as the programmer (if it has a removable ATMEGA328P chip), see a guide for that here.

Other Parts:

- One 25x1.5mm clear acrylic square. Found here.
- ~2” of 1/16” (1.57mm) Dia metal rod. Found here.
- Four 8mm M2 screws.
- Two 5+mm M2 screws (optional, for belt clip).
- Approx 162 3mm ball bearings. Plastic, steel, w/e is fine. You can even use small 3mm beads for this like these: here.
- 3/4” wide friction tape (like for wrapping tennis racquets/hockey sticks) Found here. Or flexible 3D print filament.


- 3D printer (either FDM or resin should be fine).
- Hot glue gun and sticks.
- Plastic glue and superglue.
- Some light oil/lube, any type will probably do.
- Soldering iron w/ fine tip.
- Wire strippers and cutters.
- Tweezers (for handling SMD parts)”

Link to article