Featured on All3DP!
This 7 Segment LED clock was designed to be almost entirely 3D printed, with the exception of a few fasteners... and of course, the electronic components. It relies on the translucent properties of thin layers of white PLA to achieve the light diffusing necessary to light up individual segments. I created this project to get more experience in modelling for 3D printing using Fusion 360, practice my soldering skills, and get a chance to do a little ESP8266/Arduino programming.
- hang it from the wall using the built in hole(s) or print 2 optional stand pieces for a desktop configuration
- avoids clock drift by syncing with NTP periodically
- automatic time zone detection (uses IP to approximate your location, which should work for most scenarios; this can be overridden with a more accurate location if this is getting the wrong location)
- automatic daylight saving time adjustment - no need to spring forward or fall back manually
- 12-hour or 24-hour format
- custom LED colors - over 16 million colors possible
- choose from hour:minute (HH:MM) or hour:minute:second (HH:MM:SS)
- over-the-air firmware updates
0.15 mm layer height; 0.4 mm nozzle
the colon cover pieces should be printed with at least 5 top and 5 bottom layers to ensure that the infill pattern cannot be seen
Without considering the consumables and tools (wire, PLA, printer, soldering equipment, etc.), the supplies required for a clock come out to about $30. The list below contains links to the specific components that I purchased. Some of these items could take a while to arrive, so I would recommend ordering as early as possible.
NOTE: The diameter of the fastener holes are 4.5mm. If you must/want to use metric hardware, you could probably substitute the #8-32 x 3/8 in screws with M4 screws (6 to 9 mm length).
- Using the Arduino IDE, upload the sketch from https://git.io/7s to the D1 Mini. You may need to add the ESP8266 boards to the IDE as well as install the CH340G driver (instructions).
- Join the back pieces using the nuts and screws
- Solder the SN74AHCT125N level shifting chip to the clock shield PCB
- Solder the included 8 pin female headers from the D1 Mini to the clock shield PCB
- Solder the power and LED wires to the clock shield PCB
- Slide the clock shield PCB onto the pegs of back_hour_minute piece
- Solder the power barrel connector to the power wires (keep in mind the polarity of your power supply)
- Solder the LED wires to single LEDs in the colon positions of the back_hour_minute piece (keep in mind the direction of the LEDs, usually indicated by arrow(s) on the strip itself)
- Attach the D1 Mini to the PCB, sliding its male pins into the PCB's female header -- the circuit can be tested periodically from this point forward
- Continue soldering LEDs through the wire guides around the digits until all the LEDs have been soldered together in basically 2 strips, 1 going to the left of the controller (hours) and 1 going to the right of the controller (minutes and seconds)
- Cover all of the different segments or gaps with the appropriate 3D printed pieces
- (OPTIONAL) Attach stand pieces if not wall mounting
- For IP-based geolocation, you will require an ipstack.com API key. Their free tier allows for 10000 requests per month, which is way more than this clock will ever require.
- For determining UTC offset which takes into account DST rules, you will require a Time Zone API key on Google Cloud Platform, where you get $200 credit per month to spend on usage for free. The clock's usage of the API will be so little, it should keep you well within this free tier.