|
KiCad 9.0 |
Seven-Segment Display-Display
It's a display made out of 7-segment displays! This project was inspired by a similar project (https://hackaday.io/project/169632-7-segment-display-array-clock) from Hackaday user Frugha. They published their code and PCB design but I wanted to create my own version from scratch (otherwise where's the fun?!). Notably there were a few things I wanted to do differently:
- I used the TM1640 (https://www.lcsc.com/product-detail/C46683634.html) instead of the much more expensive MAX7219. Each TM1640 costs $0.15 and can drive 16 7-segment displays, versus the $1.50 MAX7219 which can each drive only 8 7-segment displays. With PCBWay's minimum PCB quantity of 5 that's a difference of $6.75 vs $135.
- The crystal, RTC, and MCU are soldered directly to the PCB instead of using bulky daughterboard modules, and I used a bare ATtiny861 instead of an Arduino Nano daughterboard.
- Hardware buttons for setting the time
- 3D printable enclosure
Font
The digits are generated by a C program which reads a .ttf font file, renders it to a bitmap, and calculates the appropriate 7-segment display segments to enable by considering the number of illuminated bitmap pixels that would lie within a given display segment. With this information it outputs a C header file containing an array that describes the font and is used by the firmware to render the clock digits. I've found that the display looks best using a bold+italic font. I used JetBrains Mono ExtraBoldItalic (https://www.jetbrains.com/lp/mono) but the font conversion program will work with any font. In fact it can render *any* glyph, it's not limited to digits. So you could make it display text too if you wanted. See the linked Codeberg repo for the font generation program.
BOM
- 3D printed parts from `mech/enclosure.FCStd` in the linked repo (created with FreeCAD: https://www.freecad.org)
- 6x M3x15 machine screws
- 6x M3x4x4mm heat-set threaded inserts (you can substitute another size and adjust the enclosure accordingly; see the `VarSet.threaded_insert_hole_diameter` variable in the FreeCAD file.
- 144x 12.6x19mm common anode 7 segment displays. Search eBay for "common anode 7 segment display" and sort by lowest price - you can get these in packs of 10 for less than $1.
- 1x DS1307 RTC (SOIC-8 package) + crystal. If you search eBay for "DS1307 module" you can find boards containing the DS1307 and a crystal for much cheaper than you can buy a single genuine DS1307. I used these and desoldered the crystal + RTC.
- LCSC parts from attached BOM.
Seven-Segment Display-Display
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Flying Toast
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
456 0 0 -
A Compact Charging Breakout Board For Waveshare ESP32-C3
826 3 6 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
792 2 0 -
-
-
-
ESP32-C3 BLE Keyboard - Battery Powered with USB-C Charging
1023 0 1 -
-
mammoth-3D SLM Voron Toolhead – Manual Drill & Tap Edition
888 0 1 -
-
AEL-2011 Power Supply Module
1635 0 2







