├── Displays_Preview_Ynvisible.pdf ├── ynvisible_displays_upir_preview.png ├── ynvisible_segment_kit_template.pdf ├── THUMB_posy_design_into_real_display.jpg ├── ynvisible_displays_upir_segments_macro.xlsm ├── LICENSE ├── ARDUINO_ynvisible_displays_segments └── ARDUINO_ynvisible_displays_segments.ino ├── README.md └── ynvisible_displays_upir_preview.svg /Displays_Preview_Ynvisible.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upiir/posy_design_into_real_display/HEAD/Displays_Preview_Ynvisible.pdf -------------------------------------------------------------------------------- /ynvisible_displays_upir_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upiir/posy_design_into_real_display/HEAD/ynvisible_displays_upir_preview.png -------------------------------------------------------------------------------- /ynvisible_segment_kit_template.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upiir/posy_design_into_real_display/HEAD/ynvisible_segment_kit_template.pdf -------------------------------------------------------------------------------- /THUMB_posy_design_into_real_display.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upiir/posy_design_into_real_display/HEAD/THUMB_posy_design_into_real_display.jpg -------------------------------------------------------------------------------- /ynvisible_displays_upir_segments_macro.xlsm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upiir/posy_design_into_real_display/HEAD/ynvisible_displays_upir_segments_macro.xlsm -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 upir 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ARDUINO_ynvisible_displays_segments/ARDUINO_ynvisible_displays_segments.ino: -------------------------------------------------------------------------------- 1 | // a simple sketch to drive custom made displays from Ynvisible, based on designs from youtuber posy 2 | // created by upir - 2023 - www.youtube.com/upir_upir 3 | // 4 | // YouTube Video: https://youtu.be/jz01j1TpM84 5 | // Source files: https://github.com/upiir/posy_design_into_real_display 6 | // 7 | // Links from the video: 8 | // Displays from the Future: https://www.youtube.com/watch?v=lxeH1ilL2T0 9 | // Segmented Displays video from Posy - https://www.youtube.com/watch?v=RTB5XhjbgZA 10 | // Ynvisible Guidelines - https://www.ynvisible.com/news-inspiration/making-a-custom-display-everything-you-need-to-know 11 | // Segmented Displays from Posy SVG - http://www.michieldb.nl/other/segments/ 12 | // My other videos with segmented displays - https://www.youtube.com/playlist?list=PLjQRaMdk7pBZYAlQeaKdKJS1i52py4Ar2 13 | // Jumper wires / dupont wires - https://s.click.aliexpress.com/e/_DnCVKOZ 14 | // FFC/FPC Connector board - https://s.click.aliexpress.com/e/_DD2w1yp 15 | // 16 | // Other videos using segment displays: 17 | // Segment LED ring light: https://youtu.be/sE3LSYoCqLQ 18 | // Arduino + Ynvisible Displays: https://youtu.be/lxeH1ilL2T0 19 | // Arduino E-ink: https://youtu.be/Rf-E-7fFop0 20 | // Raspberry PI Pico Displays: https://youtu.be/52DDySZQQBI 21 | 22 | 23 | int arduino_pins[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, A1, A2, A0}; // to which Arduino pins is the display connected 24 | int segments_current[15]; // current segments 25 | int segments_new[15]; // new segments 26 | 27 | int delay_turn_on = 400; // delay when turning the segment ON 28 | int delay_turn_refresh = 100; // delay when refreshing the display 29 | int delay_turn_off = 400; // delay when turning the segment OFF 30 | 31 | // demo sequences 32 | int segments_demo[2][15] = { 33 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 34 | {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} 35 | }; 36 | 37 | int segments_demo_counter = 0; 38 | 39 | // when the display should not be set, the pins should be set to inputs 40 | void set_all_pins_to_inputs() { 41 | for (int i = 0; i < 16; i++) { 42 | pinMode(arduino_pins[i], INPUT); 43 | } 44 | } 45 | 46 | void setup() { 47 | analogWriteResolution(8); // 0-255 48 | set_all_pins_to_inputs(); // set all pins to inputs 49 | } 50 | 51 | void loop() { 52 | 53 | set_all_pins_to_inputs(); // set all pins to inputs 54 | 55 | // get a new segments 56 | for (int i = 0; i < 15; i++) { 57 | segments_new[i] = segments_demo[segments_demo_counter][i]; 58 | } 59 | 60 | // part 1 of updating - update the segments that were ON and should be OFF 61 | pinMode(DAC, OUTPUT); // DAC = A0 62 | analogWrite(DAC, 76); // set the COM to be around 1.5V 63 | 64 | // all the pins that should be turned off shall be set to LOW OUTPUTS 65 | for (int i = 0; i < 15; i++) { 66 | if (segments_current[i] == 1 && segments_new[i] == 0) { 67 | pinMode(arduino_pins[i], OUTPUT); 68 | digitalWrite(arduino_pins[i], LOW); 69 | } 70 | } 71 | 72 | delay(delay_turn_off); // wait to turn all off 73 | // ----------------------------------------------------- 74 | 75 | set_all_pins_to_inputs(); // set all pins to inputs 76 | 77 | // part 2 of updating - update the segments that were OFF and should be ON 78 | pinMode(DAC, OUTPUT); // DAC = A0 79 | analogWrite(DAC, 255-76); // set the COM to be around 5.0 - 1.5V = 3.5V 80 | 81 | // all the pins that should be turned on shall be set to HIGH OUTPUTS 82 | for (int i = 0; i < 15; i++) { 83 | if (segments_current[i] == 0 && segments_new[i] == 1) { 84 | pinMode(arduino_pins[i], OUTPUT); 85 | digitalWrite(arduino_pins[i], HIGH); 86 | } 87 | } 88 | 89 | delay(delay_turn_on); // wait to turn all on 90 | // ----------------------------------------------------- 91 | 92 | set_all_pins_to_inputs(); // set all pins to inputs 93 | 94 | // part 3 of updating - if the segment was ON and should still be ON, add a short pulse to refresh it 95 | pinMode(DAC, OUTPUT); // DAC = A0 96 | analogWrite(DAC, 255-76); // set the COM to be around 5.0 - 1.5V = 3.5V 97 | 98 | // all the pins that should be turned on shall be set to HIGH OUTPUTS 99 | for (int i = 0; i < 15; i++) { 100 | if (segments_current[i] == 1 && segments_new[i] == 1) { 101 | pinMode(arduino_pins[i], OUTPUT); 102 | digitalWrite(arduino_pins[i], HIGH); 103 | } 104 | } 105 | 106 | delay(delay_turn_refresh); // wait to turn all on 107 | 108 | set_all_pins_to_inputs(); // set all pins to inputs 109 | 110 | // update the current segment array with new segments 111 | for (int i = 0; i < 15; i++) { 112 | segments_current[i] = segments_new[i]; 113 | } 114 | 115 | // jump into the next demo segments 116 | segments_demo_counter = segments_demo_counter + 1; 117 | if (segments_demo_counter >= 2) {segments_demo_counter = 0;} 118 | 119 | // wait a while to keep the content displayed 120 | delay(300); 121 | } 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Turning Segmented Display Designs from youtuber Posy into Real e-ink like Displays 2 | I have turned segmented displays designs from youtuber Posy into real displays - and not just any displays, but displays that are thin, flexible, and act like the e-ink, meaning you can disconnect them from the power, and they will still show the content for a few minutes. 3 | The displays were manufactured by company Ynvisible, and I´m using Arduino UNO R4 with the DAC (digital to analog converter) capability to drive those displays without any in-between driver board. This is because those displays require voltage of around 1.5V, and Arduino boards often times work with either 3.3V or 5V. 4 | 5 | **YouTube Video: https://youtu.be/jz01j1TpM84** 6 | 7 | Do you like this video? You can www.buymeacoffee.com/upir 8 | 9 | ![THUMB_posy_design_into_real_display](https://github.com/upiir/posy_design_into_real_display/assets/117754156/f508c93f-d0e0-4676-b6c8-9fe11f08cc37) 10 | 11 | 12 | Links from the video: 13 | - Displays from the Future: https://www.youtube.com/watch?v=lxeH1ilL2T0 14 | - Arduino UNO R4: https://s.click.aliexpress.com/e/_DdN44NB 15 | - Segmented Displays video from Posy - https://www.youtube.com/watch?v=RTB5XhjbgZA 16 | - Ynvisible Guidelines - https://www.ynvisible.com/news-inspiration/making-a-custom-display-everything-you-need-to-know 17 | - Segmented Displays from Posy SVG - http://www.michieldb.nl/other/segments/ 18 | - My other videos with segmented displays - https://www.youtube.com/playlist?list=PLjQRaMdk7pBZYAlQeaKdKJS1i52py4Ar2 19 | - Jumper wires / dupont wires - https://s.click.aliexpress.com/e/_DnCVKOZ 20 | - FFC/FPC Connector board - https://s.click.aliexpress.com/e/_DD2w1yp 21 | 22 | Other videos using segment displays: 23 | - Segment LED ring light: https://youtu.be/sE3LSYoCqLQ 24 | - Arduino + Ynvisible Displays: https://youtu.be/lxeH1ilL2T0 25 | - Arduino E-ink: https://youtu.be/Rf-E-7fFop0 26 | - Raspberry PI Pico Displays: https://youtu.be/52DDySZQQBI 27 | 28 | 29 | 30 | Small Animations: 31 | 32 | ![ynvisible_display_05](https://github.com/upiir/posy_design_into_real_display/assets/117754156/9c213663-c13f-4361-9a10-d09e8cef2aee) 33 | 34 | 35 | ![ynvisible_display_04](https://github.com/upiir/posy_design_into_real_display/assets/117754156/6bd55b29-d8a8-47b7-83d1-41c81a1309bc) 36 | 37 | 38 | ![ynvisible_display_03](https://github.com/upiir/posy_design_into_real_display/assets/117754156/72a38de6-1d12-4a16-bf67-77785c249791) 39 | 40 | 41 | ![ynvisible_display_02](https://github.com/upiir/posy_design_into_real_display/assets/117754156/54a6321f-ec83-4cf4-90b0-6c177169a98d) 42 | 43 | 44 | ![ynvisible_display_01](https://github.com/upiir/posy_design_into_real_display/assets/117754156/1cd41689-9ecd-47a4-b43b-8dba295fdeba) 45 | 46 | 47 | 48 | Screenshots from the video: 49 | 50 | ![CAMTASIA_ynvisible_custom_displays (Time 0_00_00;14)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/00d42875-e1c3-4291-98e4-30afb9d83f01) 51 | ![CAMTASIA_ynvisible_custom_displays (Time 0_00_07;08)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/30a78f4d-06af-4248-9932-39b1c9885d99) 52 | ![CAMTASIA_ynvisible_custom_displays (Time 0_00_12;05)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/112ee3df-aa43-460b-b2b2-d0e8c410b778) 53 | ![CAMTASIA_ynvisible_custom_displays (Time 0_00_50;05)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/f86ed8ed-b50c-4b27-98f4-47e9e6b6c13c) 54 | ![CAMTASIA_ynvisible_custom_displays (Time 0_00_54;22)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/b487a5d9-ed33-4b28-8412-6dd57292e80b) 55 | ![CAMTASIA_ynvisible_custom_displays (Time 0_00_55;06)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/9d8335ab-ca25-4de8-9b14-a5db592386eb) 56 | ![CAMTASIA_ynvisible_custom_displays (Time 0_01_11;29)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/f52bf047-ca07-437d-bf79-3621695ff81a) 57 | ![CAMTASIA_ynvisible_custom_displays (Time 0_02_12;10)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/42dd1f42-5246-4cd8-a843-4d3b565e1a4e) 58 | ![CAMTASIA_ynvisible_custom_displays (Time 0_02_19;20)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/d569be8e-8076-44cb-815c-628bcf8f39a6) 59 | ![CAMTASIA_ynvisible_custom_displays (Time 0_02_50;08)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/0f33a87c-dc67-467f-bf15-56ba2ea2dc6e) 60 | ![CAMTASIA_ynvisible_custom_displays (Time 0_02_58;25)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/b926b1bd-696a-41c9-af6d-fc5a1793c48e) 61 | ![CAMTASIA_ynvisible_custom_displays (Time 0_03_11;18)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/39430c5a-19c1-4f68-a508-3b4a95ec7315) 62 | ![CAMTASIA_ynvisible_custom_displays (Time 0_03_18;00)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/fbe06eb8-db3d-4530-bd63-85e69e5f3e48) 63 | ![CAMTASIA_ynvisible_custom_displays (Time 0_03_24;19)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/075a763b-88fb-48ce-9ca8-790c66c58f1a) 64 | ![CAMTASIA_ynvisible_custom_displays (Time 0_03_52;25)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/85f3f35a-7ae5-4976-bcdb-68ed08aa680e) 65 | ![CAMTASIA_ynvisible_custom_displays (Time 0_04_12;08)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/c04c2238-c237-4394-b97e-57d3872809ff) 66 | ![CAMTASIA_ynvisible_custom_displays (Time 0_04_39;11)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/ce3d871d-e470-4e9d-9ee2-151e854ab927) 67 | ![CAMTASIA_ynvisible_custom_displays (Time 0_04_50;14)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/057d9a74-fb70-4f4e-b2dc-5ab0c44b640c) 68 | ![CAMTASIA_ynvisible_custom_displays (Time 0_04_59;23)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/5ca1b384-ba79-48e8-823d-0b2178b99210) 69 | ![CAMTASIA_ynvisible_custom_displays (Time 0_05_08;06)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/50985bec-1c3e-42c9-81ed-944167a2f29b) 70 | ![CAMTASIA_ynvisible_custom_displays (Time 0_05_23;00)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/c735b30d-7949-4cfb-838c-7d3f0bdfbef0) 71 | ![CAMTASIA_ynvisible_custom_displays (Time 0_05_32;10)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/5c268f0b-38c7-4bb9-98e7-4d5c68011f6a) 72 | ![CAMTASIA_ynvisible_custom_displays (Time 0_05_39;19)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/45167181-1636-4001-bd86-59becd7c6f55) 73 | ![CAMTASIA_ynvisible_custom_displays (Time 0_05_46;20)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/a542196e-3ec3-4579-8841-291c49fe561d) 74 | ![CAMTASIA_ynvisible_custom_displays (Time 0_05_50;08)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/0500c6b9-04ee-4ddc-a7e3-43704f304649) 75 | ![CAMTASIA_ynvisible_custom_displays (Time 0_06_14;27)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/e7ddc0df-4160-4418-a767-7555ea992fe8) 76 | ![CAMTASIA_ynvisible_custom_displays (Time 0_06_29;17)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/dea4f59b-61ff-4cf7-a548-9aa39efe0cf7) 77 | ![CAMTASIA_ynvisible_custom_displays (Time 0_06_38;17)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/c53bb139-0c77-4e1b-91b7-ae1163c05b27) 78 | ![CAMTASIA_ynvisible_custom_displays (Time 0_06_45;10)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/134b4e36-3674-466b-9403-9351c80a85f7) 79 | ![CAMTASIA_ynvisible_custom_displays (Time 0_06_48;14)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/9a79562a-75d6-4799-a906-4265ce5d2094) 80 | ![CAMTASIA_ynvisible_custom_displays (Time 0_06_52;04)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/7d27de46-48e1-4123-8e4c-5100e2002690) 81 | ![CAMTASIA_ynvisible_custom_displays (Time 0_07_31;10)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/a242b0ee-f341-4aeb-952a-afed390ec1fb) 82 | ![CAMTASIA_ynvisible_custom_displays (Time 0_07_34;11)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/6fa417fb-8ae0-4e20-ae41-21324465001a) 83 | ![CAMTASIA_ynvisible_custom_displays (Time 0_07_47;27)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/acbd33af-456b-42f7-89c6-20c6fe2a3b42) 84 | ![CAMTASIA_ynvisible_custom_displays (Time 0_08_01;02)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/0b886cc4-1f20-49a2-b81e-17545ef00e6a) 85 | ![CAMTASIA_ynvisible_custom_displays (Time 0_08_12;02)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/d5752bcf-acac-40bb-9511-bd1e4298e0fb) 86 | ![CAMTASIA_ynvisible_custom_displays (Time 0_08_22;10)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/1a3a5a77-12f2-4cf3-acd7-7aa92d52fc41) 87 | ![CAMTASIA_ynvisible_custom_displays (Time 0_08_27;06)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/acb8cc31-65dd-47d4-9b18-a4f67b58348d) 88 | ![CAMTASIA_ynvisible_custom_displays (Time 0_08_39;09)](https://github.com/upiir/posy_design_into_real_display/assets/117754156/0229f476-f423-462f-9426-edd1a4c9a5f0) 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /ynvisible_displays_upir_preview.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 36 | 38 | 39 | 40 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 69 | 70 | 71 | 72 | 74 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 159 | 163 | 165 | 167 | 170 | 171 | 172 | 176 | 177 | 179 | 181 | 182 | 185 | 186 | 188 | 189 | 190 | 193 | 194 | 195 | 197 | 198 | 199 | 201 | 203 | 206 | 209 | 210 | 212 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 252 | 253 | 254 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 281 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 344 | 347 | 350 | 353 | 356 | 360 | 361 | 362 | 364 | 366 | 367 | 368 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 385 | 388 | 389 | 390 | 393 | 396 | 397 | 401 | 403 | 405 | 407 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 427 | 428 | 429 | 430 | 431 | 432 | --------------------------------------------------------------------------------