element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents Make your own LED Wrist Watch -- Episode 661
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Project Videos requires membership for participation - click to join
Related
Recommended
ADI-Webinar-Voyager4
Engagement
  • Author Author: cstanton
  • Date Created: 26 Mar 2025 3:20 PM Date Created
  • Last Updated Last Updated: 27 Mar 2025 4:01 PM
  • Views 4332 views
  • Likes 9 likes
  • Comments 11 comments

Make your own LED Wrist Watch -- Episode 661

Clem quite often used very powerful microcontrollers in his projects, maybe even too powerful for the job. This time, he is getting himself into shallow power waters by using an ATtiny412 to power his DIY wristwatch, or "dumb watch" as he likes to call it. Contrary to popular smartwatches, the dumb watch only displays the time, nothing more and nothing less.

Watch the Video

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

It does this in a unique way by shining a number of LEDs through an otherwise opaque watch face. The LEDs act like the hands of an analogue clock, but instead of pointing at numbers, the LEDs light up the hours and minutes. The lit-up LEDs form distinct shapes that are recognisable at a glance. Once the wearer gets used to the shapes, counting the LEDs is quickly replaced by just recognising the shapes to tell the time.

The ATtiny412 came with the convenience of an internal 20 MHz clock but also many restrictions. Only 8 pins on the SOIC package limit the number of available IO, and the 4KB Flash memory / 256B SRAM makes it clear that some corners need to be cut to squeeze all the needed routines into the little chip. Clem uses the I2C interface to connect the MCU to an MCP7940 real-time clock chip. This RTC will keep time even when powered off, thanks to a battery backup.

With limited IO, Clem once again has to get creative to address all 24 LEDs on the watch face individually. In previous episodes, we saw him utilise multiplexing and charlieplexing for such cases, but this time the complexity and number of available IO is not the only restriction. With multiplexing and charlieplexing, you basically trade IO pins for code complexity to address all elements of the matrix. The ATtiny412 does not have enough memory to do this while also interfacing with the RTC, so Clem's solution is to offload the task to shift registers.

The 74HC595 has been a very popular choice for decades for addressing IO, data buses, or driving a large number of LEDs. Three 74HC595 ganged up in series allow for a total of 24 LEDs to be driven, which is not coincidentally the exact number needed in Clem's project. Twelve LEDs show the hours, and twelve more show the nearest 5-minute increments, very similar to an analogue watch.

Mounting all the components within a reasonable timeframe was only possible thanks to Clem's new toy, a Pixelpump by Robins Tools, which was demonstrated during assembly. Picking up tiny 0603 LEDs and placing them in the right orientation is a nightmare with tweezers, but a breeze with the Pixelpump.

Clem's next challenge was getting the MCP7940 running with some code on the ATtiny412. If this was an ESP32 or Arduino project, Clem would certainly resort to a popular MCP7940 library built on top of the standard wire library (Arduino's I2C implementation), but the catch is again in the amount of available memory. Both libraries are just too big to fit on the tiny chip; the compilation always fails with a memory error. Clem combined a tutorial by Rheingold Heavy (linked below) and Technoblogy's TinyI2C implementation into a way to run a much smaller I2C implementation on the ATtiny and then address the RTC chip with the right commands. This was very tricky as the RTC I2C registers are a bit hard to understand for someone working with direct register addressing for the first time as opposed to using libraries.

A lot of trial and error, including a detour with the suspicion of broken RTC chips and crystals, led Clem to the frustrating realisation that he needed to do maths to set the registers correctly. Clem then found that one needs to binary add the configuration register settings and time setting with a logical OR function to get the right hex value, which can then be written to the chip. Cryptic yet logical and certainly confusing for beginners.

Once the device was working and displaying the correct time, Clem designed a 3D printable case in FreeCAD / Ondsel. The case is a 2-part friction-fit housing, 3D printed with MAYER MAKES Engineering Resin of Clem's own production to make it feel, look, and behave very similar to an injection-moulded part. After curing and sanding to a smooth finish, Clem used acrylic spray paint on the top to turn the watch face opaque black.

The sleek, monolithic watch face now shows absolutely nothing while the device is off. Once activated, the LEDs shine through the black surface and reveal the time in the form of bright, colourful shapes.

The idea is to only activate the watch when you actually want to know the time. The battery backup in the form of a rechargeable LIR2540 cell can keep the watch alive for a few days. In Clem's testing, the watch was able to keep time for at least 4 days, but on the 5th day, the battery was too drained to light up the LEDs anymore. A quick charge brought it back to life, with the time still accurate from its first setting a week prior.

In hindsight, a smaller unit might be a tiny bit more practical, but the already dense routing on a 4-layer board produced by Aisler was tough enough to get done in time. The ENIG-finished PCBs were a joy to solder and showed how important it is to have a reliable source for very dense designs with accurate solder masks.

Will Clem now get back to wearing watches regularly? According to him, probably not, but perhaps we’ll see him sporting this or another contraption at electronics events.

Bill of Materials

Product Name Manufacturer Quantity Buy Kit
ATTINY412-SSN MICROCHIP 8-Bit-MCU, AVR Family ATtiny412 Series Microcontrollers, AVR, 20 MHz, 4 KB, 8 Pin(s), SOIC 1 Buy Now
MCP7940N-I/ST MICROCHIP IC Echtzeituhr, Alarm, Jahr/Monat/Woche/Datum/Stunde/Minute/Sekunde 12h/24h, I2C, 1.8V-5.5V, TSSOP-8 1 Buy Now
74HC595PW-Q100,118 NEXPERIA Schieberegister, Baureihe HC, High-Speed-CMOS, 74HC595, Seriell zu parallel, seriell zu seriell 3 Buy Now
FT230XS-R FTDI USB-Schnittstelle, USB/UART-Wandler, USB 2.0, 2.97 V, 5.5 V, SSOP, 16 Pin(s) 1 Buy Now
MPJK-7L-32.768-7-20-70-C  MULTICOMP PRO Quarz, 32.768 kHz, SMD, 3.2mm x 1.5mm, 20 ppm, 7 pF, 20 ppm 1 Buy Now
Other items and References
PCB by Aisler.net
Case 3d printed from MAYER MAKES Engineering Resin
Spraypaint, Sandpaper
Velcro Strap salvaged from cable tidy set.
 

Downloads and Links

  • Episode 661 Resources
  • RTC tutorial by Rheingold Heavy
  • Tinyi2c by technoblogy
  • MAYER MAKES Engineering Resin
  • Microchip datasheet

element14 presents

element14 presents  |  About Clem  |  Project Videos

  • microcontroller watch
  • diy wristwatch
  • led wristwatch
  • maker project
  • custom smartwatch alternative
  • release_video
  • mcp7940 rtc
  • friday release
  • electronics DIY
  • attiny412 project
  • how to make a watch
  • 3d printed watch case
  • friday_release
  • e14p_CMM
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • kmikemoo
    kmikemoo 1 month ago +1
    Sharp looking watch. Nice project. I'm not ready to put one on my wrist, but it would make an excellent shop clock - especially with that glossy black finish.
Parents
  • beacon_dave
    beacon_dave 1 month ago

    Not sure, but it looks like where the ends of the strap attach to the back of the case are perhaps spaced a little bit too far apart for the size of your wrist, making it flop around a bit more than it should ? 

    Perhaps the original wrist straps could still be used if they were mounted a bit closer together and slightly under the watch to fit the curve of the wrist? My last watch had 42mm centres for the strap pins.

    I think slightly smaller would look better. Other shapes could also be tried. Some simple animation could look good. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • beacon_dave
    beacon_dave 1 month ago

    Not sure, but it looks like where the ends of the strap attach to the back of the case are perhaps spaced a little bit too far apart for the size of your wrist, making it flop around a bit more than it should ? 

    Perhaps the original wrist straps could still be used if they were mounted a bit closer together and slightly under the watch to fit the curve of the wrist? My last watch had 42mm centres for the strap pins.

    I think slightly smaller would look better. Other shapes could also be tried. Some simple animation could look good. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • mayermakes
    mayermakes 1 month ago in reply to beacon_dave

    the bit that made using the silicone wrist strap impossible was the pcb diameter. with 40mm it could have worked fine. putting it under was no option as it would have lifted the device up making it A very bulky(doubling its thickness) B raising the center of gravity so it would trun easily under gravity. so I opted for the crude velcro, which indeed could be tighter if the diameter would have been smaller.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave 1 month ago in reply to mayermakes

    In the video it looked like there was some space on the back of the watch to attach to without needing to lift the watch up any higher.

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes 1 month ago in reply to beacon_dave

    the battery cell is filling that space the strap just fits sliding beneath it. check out the files provided in the downloads.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube