Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/blvckbytes/sixteen_segment_display
https://github.com/blvckbytes/sixteen_segment_display
Last synced: 21 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/blvckbytes/sixteen_segment_display
- Owner: BlvckBytes
- Created: 2023-12-30T15:41:16.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-01-01T16:29:07.000Z (12 months ago)
- Last Synced: 2024-01-02T05:29:18.725Z (12 months ago)
- Language: Kotlin
- Size: 1.93 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-X.md
Awesome Lists containing this project
README
# sixteen_segment_display
## Overview
The following drawing represents the dimensions of the displays I've ordered a long time ago on aliexpress.
![Display Dimensions](./readme_images/display_dimensions.jpg)
The following high level diagram provides a quick overview of how groups of four displays each are talked to.
![Interface Overview](./readme_images/interface_overview.jpg)
## PCB
### display_group
Four sixteen segment displays are considered to be a group.
![Display Group Layout](./readme_images/layout__display_group.png)
![Display Group Front](./readme_images/board__display_group__front.png)
![Display Group Back](./readme_images/board__display_group__back.png)
### interface
The interface board drives a display group by converting the serial signal into all sixteen segments, including the decimal point, as well as each display's enabled state.
![Interface Layout](./readme_images/layout__interface.png)
![Interface Front](./readme_images/board__interface__front.png)
![Interface Back](./readme_images/board__interface__back.png)
### display_group_and_interface
This board tries to combine both the [Interface](#interface)- as well as the [Display Group Board](#display_group) to save not only on space, but also on the four extra connectors. While it's getting quite crowded, this board should still be manufacturable at home.
There are 35 vias in total, of which 21 are unavoidable (16 segments, 1 decimal point, 4 ground lines, which all have to make it from the front side to the back, where the interface lives), making for 14 "additional" vias. I think that's an acceptable compromise.
![Display Group And Interface Layout](./readme_images/layout__display_grop_and_interface.png)
![Display Group And Interface Front](./readme_images/board__display_grop_and_interface__front.png)
![Display Group And Interface Back](./readme_images/board__display_grop_and_interface__back.png)
### driver
Has yet to be implemented.
The driver board resembles the bridge between modern devices and the display while also handling the process of detecting the total number of displays, handling the character decoding process, multiplexing displays and playing various animations, like blinking letters or scrolling text.
## Software
### SegmentStates
This project encodes all available segment states in order to display various characters. A decoding table is then generated from this information.
![states](./readme_images/state_image.jpg)
### SegmentDriver
Has yet to be implemented.
This project resembles the firmware of the [Driver Board](#driver).