From 1ede08d1790d1046c06343f273711fe68ab62f83 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 11 Mar 2024 11:31:58 +0100 Subject: initial commit with 18 articles --- 3D printing copenhagen/DHM_correction.jpg | Bin 0 -> 380854 bytes 3D printing copenhagen/Thumbnail.jpg | Bin 0 -> 24834 bytes 3D printing copenhagen/big_scale.jpg | Bin 0 -> 2764981 bytes 3D printing copenhagen/index.md | 44 ++++ 3D printing copenhagen/kastellet_DHM.jpg | Bin 0 -> 398719 bytes 3D printing copenhagen/kastellet_printed.jpg | Bin 0 -> 2277554 bytes 3D printing copenhagen/kastellet_sliced.jpg | Bin 0 -> 960478 bytes 3D printing copenhagen/main.jpg | Bin 0 -> 2608321 bytes "3D printing copenhagen/politi_g\303\245rden.jpg" | Bin 0 -> 1486219 bytes 3D printing copenhagen/test_seam.jpg | Bin 0 -> 2368400 bytes Arts and crafts/Embroidery/Alderaan.jpg | Bin 0 -> 822433 bytes .../Embroidery/Copenhagen local trains.jpg | Bin 0 -> 2201229 bytes Arts and crafts/Embroidery/Death star Alderaan.jpg | Bin 0 -> 950209 bytes Arts and crafts/Embroidery/Death star sketch.jpg | Bin 0 -> 704363 bytes .../Embroidery/Skeleton bongo cat BMTH.jpg | Bin 0 -> 251724 bytes Arts and crafts/Embroidery/index.md | 15 ++ Blog meta.md | 18 ++ .../Casio rainbowfilm nfc mod.jpg | Bin 0 -> 1449157 bytes Casio watch NFC rainbow film mod/Inside.jpg | Bin 0 -> 773514 bytes Casio watch NFC rainbow film mod/Thumbnail.jpg | Bin 0 -> 20399 bytes .../W59 modded front.png | Bin 0 -> 5407171 bytes Casio watch NFC rainbow film mod/index.md | 27 +++ Cheat sheets/Commands.md | 19 ++ Cheat sheets/Git.md | 12 + Custom keyboard V2/2 column modules.jpg | Bin 0 -> 755402 bytes .../3D printed \"PCB\" feasability test.jpg" | Bin 0 -> 869510 bytes .../3D printed keycaps with legends.jpg | Bin 0 -> 1692219 bytes Custom keyboard V2/3D printed trace groves.jpg | Bin 0 -> 1029385 bytes .../3d printing keycaps sideways.jpg | Bin 0 -> 1406343 bytes Custom keyboard V2/Circuit board painted.jpg | Bin 0 -> 1227179 bytes Custom keyboard V2/Circuit initial test.jpg | Bin 0 -> 2755596 bytes Custom keyboard V2/Column module nail indent.jpg | Bin 0 -> 2152047 bytes Custom keyboard V2/Column module slider foot.jpg | Bin 0 -> 1591127 bytes .../Coulumns modules for left side WIP.jpg | Bin 0 -> 2907952 bytes Custom keyboard V2/End stop back.jpg | Bin 0 -> 847347 bytes .../Key switch height compared to v1.jpg | Bin 0 -> 445584 bytes Custom keyboard V2/Keyboard layout.jpg | Bin 0 -> 69136 bytes Custom keyboard V2/Keycaps itterations.jpg | Bin 0 -> 480341 bytes .../Left side modules in base bottom.jpg | Bin 0 -> 623913 bytes .../Left side modules in base top.jpg | Bin 0 -> 1750575 bytes Custom keyboard V2/Left side wiring diagram.jpg | Bin 0 -> 3912588 bytes Custom keyboard V2/Left side wiring diagram.xcf | Bin 0 -> 35446009 bytes Custom keyboard V2/Left side working prototype.jpg | Bin 0 -> 1136217 bytes Custom keyboard V2/Module wired bottom.jpg | Bin 0 -> 647108 bytes Custom keyboard V2/Module wired top.jpg | Bin 0 -> 314761 bytes .../Notes column module idea generation.jpg | Bin 0 -> 2073572 bytes Custom keyboard V2/Notes idea.jpg | Bin 0 -> 1821375 bytes Custom keyboard V2/Prototype pile.jpg | Bin 0 -> 1482185 bytes Custom keyboard V2/Screws side view.jpg | Bin 0 -> 1724194 bytes Custom keyboard V2/Screws.jpg | Bin 0 -> 2705028 bytes Custom keyboard V2/Slide test 1 slicer 2 lines.png | Bin 0 -> 33676 bytes Custom keyboard V2/Slide test 1.png | Bin 0 -> 101512 bytes Custom keyboard V2/Switch holder itterations.jpg | Bin 0 -> 1430829 bytes Custom keyboard V2/Switches.jpg | Bin 0 -> 1274937 bytes Custom keyboard V2/Thumbnail.jpg | Bin 0 -> 16988 bytes Custom keyboard V2/Trackpoint modules.jpg | Bin 0 -> 1157203 bytes Custom keyboard V2/index.md | 174 ++++++++++++++ Custom keyboard/3d_printed_keycap.jpg | Bin 0 -> 47124 bytes Custom keyboard/3d_printed_switch_plate_test.jpg | Bin 0 -> 46464 bytes Custom keyboard/Thumbnail.jpg | Bin 0 -> 6743 bytes Custom keyboard/colemak_keyboard_layout.jpg | Bin 0 -> 89008 bytes Custom keyboard/connector.jpg | Bin 0 -> 1938450 bytes Custom keyboard/index.md | 266 +++++++++++++++++++++ Custom keyboard/keycap_modification.jpg | Bin 0 -> 62646 bytes Custom keyboard/keycap_modification_printed.jpg | Bin 0 -> 74445 bytes Custom keyboard/left_side_bottom.jpg | Bin 0 -> 2493430 bytes Custom keyboard/left_side_connector_hotfix.jpg | Bin 0 -> 2312155 bytes Custom keyboard/left_side_key_caps.jpg | Bin 0 -> 1322395 bytes Custom keyboard/left_side_screws.jpg | Bin 0 -> 2764598 bytes Custom keyboard/left_side_testing.jpg | Bin 0 -> 1259746 bytes Custom keyboard/left_side_wip.jpg | Bin 0 -> 818950 bytes Custom keyboard/left_side_wiring_final.jpg | Bin 0 -> 3457472 bytes Custom keyboard/main.jpg | Bin 0 -> 482578 bytes Custom keyboard/matrix_wiring.png | Bin 0 -> 97246 bytes .../progress_both_sides_missing_some_keycaps.jpg | Bin 0 -> 670352 bytes ...ight_side_micro_controller_connector_wiring.jpg | Bin 0 -> 2485997 bytes .../right_side_micro_controller_wiring.jpg | Bin 0 -> 2557594 bytes Custom keyboard/right_side_wiring.jpg | Bin 0 -> 3085575 bytes Custom keyboard/top_down.jpg | Bin 0 -> 658245 bytes Cyberdeck/Thumbnail.jpg | Bin 0 -> 8281 bytes Cyberdeck/back.jpg | Bin 0 -> 575251 bytes Cyberdeck/index.md | 48 ++++ Cyberdeck/main.jpg | Bin 0 -> 602606 bytes Electric longboard/Thumbnail.jpg | Bin 0 -> 14741 bytes Electric longboard/accident.jpg | Bin 0 -> 428493 bytes Electric longboard/batteries.jpg | Bin 0 -> 172318 bytes Electric longboard/electronics.png | Bin 0 -> 1028711 bytes Electric longboard/electronics_side.png | Bin 0 -> 1178511 bytes Electric longboard/index.md | 19 ++ Electric longboard/main.jpg | Bin 0 -> 138909 bytes Electric longboard/side.png | Bin 0 -> 1872796 bytes Electric longboard/topdown.jpg | Bin 0 -> 161163 bytes Game boy zero/Thumbnail.jpg | Bin 0 -> 18648 bytes Game boy zero/index.md | 25 ++ Game boy zero/insides.jpg | Bin 0 -> 4053127 bytes Game boy zero/main.jpg | Bin 0 -> 4482005 bytes How-to/Custom handwired keyboard.md | 114 +++++++++ How-to/Selfhost blog.md | 29 +++ Power bank 20v USB-C PD/3d_model_plan.jpg | Bin 0 -> 3486522 bytes Power bank 20v USB-C PD/Thumbnail.jpg | Bin 0 -> 8277 bytes Power bank 20v USB-C PD/battery_pack_back.jpg | Bin 0 -> 2353769 bytes Power bank 20v USB-C PD/battery_pack_back_2.jpg | Bin 0 -> 3407460 bytes Power bank 20v USB-C PD/battery_pack_front.jpg | Bin 0 -> 2205647 bytes Power bank 20v USB-C PD/case_model.png | Bin 0 -> 75462 bytes Power bank 20v USB-C PD/electronics.jpg | Bin 0 -> 2173724 bytes Power bank 20v USB-C PD/finished_bottom.jpg | Bin 0 -> 2262183 bytes Power bank 20v USB-C PD/finished_lcd.jpg | Bin 0 -> 1962509 bytes Power bank 20v USB-C PD/finished_top.jpg | Bin 0 -> 1686253 bytes Power bank 20v USB-C PD/index.md | 104 ++++++++ Power bank 20v USB-C PD/laser_cut_lcd.jpg | Bin 0 -> 713484 bytes .../laser_engraved_node5.net.jpg | Bin 0 -> 1729425 bytes Power bank 20v USB-C PD/lcd.jpg | Bin 0 -> 3143336 bytes Power bank 20v USB-C PD/main.jpg | Bin 0 -> 596825 bytes Power bank 20v USB-C PD/print.jpg | Bin 0 -> 3208792 bytes Power bank 20v USB-C PD/usb_c_connector.jpg | Bin 0 -> 1517895 bytes QMK firmware keychron c1/Thumbnail.jpg | Bin 0 -> 15109 bytes QMK firmware keychron c1/index.md | 93 +++++++ QMK firmware keychron c1/main.jpg | Bin 0 -> 2256985 bytes Raspberry Pi cooling/Thumbnail.jpg | Bin 0 -> 9446 bytes Raspberry Pi cooling/case.jpg | Bin 0 -> 430370 bytes Raspberry Pi cooling/graph.png | Bin 0 -> 291124 bytes Raspberry Pi cooling/index.md | 12 + Raspberry Pi cooling/main.jpg | Bin 0 -> 379828 bytes .../CAD/Box/7 segment display box lid.stl | Bin 0 -> 57284 bytes .../CAD/Box/7 segment display box.FCStd | Bin 0 -> 449116 bytes .../CAD/Box/7 segment display box.stl | Bin 0 -> 354184 bytes .../CAD/Digit/7 segment display bottom.stl | Bin 0 -> 319384 bytes .../CAD/Digit/7 segment display top diffuser.stl | Bin 0 -> 1140484 bytes .../CAD/Digit/7 segment display.FCStd | Bin 0 -> 906551 bytes Seven segment display/Diffusion test.jpg | Bin 0 -> 489712 bytes Seven segment display/Main.jpg | Bin 0 -> 1224103 bytes Seven segment display/Minute fade.mp4 | Bin 0 -> 1300185 bytes Seven segment display/Segments wired.jpg | Bin 0 -> 3076187 bytes Seven segment display/Thumbnail.jpg | Bin 0 -> 13940 bytes Seven segment display/Timelapse.mp4 | Bin 0 -> 554895 bytes Seven segment display/index.md | 88 +++++++ Sharp memory display/Holding jig.jpg | Bin 0 -> 875991 bytes Sharp memory display/Thumbnail.jpg | Bin 0 -> 8481 bytes Sharp memory display/index.md | 43 ++++ 139 files changed, 1150 insertions(+) create mode 100644 3D printing copenhagen/DHM_correction.jpg create mode 100644 3D printing copenhagen/Thumbnail.jpg create mode 100644 3D printing copenhagen/big_scale.jpg create mode 100644 3D printing copenhagen/index.md create mode 100644 3D printing copenhagen/kastellet_DHM.jpg create mode 100644 3D printing copenhagen/kastellet_printed.jpg create mode 100644 3D printing copenhagen/kastellet_sliced.jpg create mode 100644 3D printing copenhagen/main.jpg create mode 100644 "3D printing copenhagen/politi_g\303\245rden.jpg" create mode 100644 3D printing copenhagen/test_seam.jpg create mode 100644 Arts and crafts/Embroidery/Alderaan.jpg create mode 100644 Arts and crafts/Embroidery/Copenhagen local trains.jpg create mode 100644 Arts and crafts/Embroidery/Death star Alderaan.jpg create mode 100644 Arts and crafts/Embroidery/Death star sketch.jpg create mode 100644 Arts and crafts/Embroidery/Skeleton bongo cat BMTH.jpg create mode 100644 Arts and crafts/Embroidery/index.md create mode 100644 Blog meta.md create mode 100644 Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg create mode 100644 Casio watch NFC rainbow film mod/Inside.jpg create mode 100644 Casio watch NFC rainbow film mod/Thumbnail.jpg create mode 100644 Casio watch NFC rainbow film mod/W59 modded front.png create mode 100644 Casio watch NFC rainbow film mod/index.md create mode 100644 Cheat sheets/Commands.md create mode 100644 Cheat sheets/Git.md create mode 100644 Custom keyboard V2/2 column modules.jpg create mode 100755 "Custom keyboard V2/3D printed \"PCB\" feasability test.jpg" create mode 100755 Custom keyboard V2/3D printed keycaps with legends.jpg create mode 100755 Custom keyboard V2/3D printed trace groves.jpg create mode 100644 Custom keyboard V2/3d printing keycaps sideways.jpg create mode 100644 Custom keyboard V2/Circuit board painted.jpg create mode 100644 Custom keyboard V2/Circuit initial test.jpg create mode 100644 Custom keyboard V2/Column module nail indent.jpg create mode 100644 Custom keyboard V2/Column module slider foot.jpg create mode 100644 Custom keyboard V2/Coulumns modules for left side WIP.jpg create mode 100644 Custom keyboard V2/End stop back.jpg create mode 100755 Custom keyboard V2/Key switch height compared to v1.jpg create mode 100644 Custom keyboard V2/Keyboard layout.jpg create mode 100644 Custom keyboard V2/Keycaps itterations.jpg create mode 100644 Custom keyboard V2/Left side modules in base bottom.jpg create mode 100644 Custom keyboard V2/Left side modules in base top.jpg create mode 100644 Custom keyboard V2/Left side wiring diagram.jpg create mode 100644 Custom keyboard V2/Left side wiring diagram.xcf create mode 100644 Custom keyboard V2/Left side working prototype.jpg create mode 100644 Custom keyboard V2/Module wired bottom.jpg create mode 100644 Custom keyboard V2/Module wired top.jpg create mode 100755 Custom keyboard V2/Notes column module idea generation.jpg create mode 100755 Custom keyboard V2/Notes idea.jpg create mode 100644 Custom keyboard V2/Prototype pile.jpg create mode 100644 Custom keyboard V2/Screws side view.jpg create mode 100644 Custom keyboard V2/Screws.jpg create mode 100755 Custom keyboard V2/Slide test 1 slicer 2 lines.png create mode 100755 Custom keyboard V2/Slide test 1.png create mode 100755 Custom keyboard V2/Switch holder itterations.jpg create mode 100755 Custom keyboard V2/Switches.jpg create mode 100644 Custom keyboard V2/Thumbnail.jpg create mode 100755 Custom keyboard V2/Trackpoint modules.jpg create mode 100755 Custom keyboard V2/index.md create mode 100644 Custom keyboard/3d_printed_keycap.jpg create mode 100644 Custom keyboard/3d_printed_switch_plate_test.jpg create mode 100644 Custom keyboard/Thumbnail.jpg create mode 100644 Custom keyboard/colemak_keyboard_layout.jpg create mode 100644 Custom keyboard/connector.jpg create mode 100644 Custom keyboard/index.md create mode 100644 Custom keyboard/keycap_modification.jpg create mode 100644 Custom keyboard/keycap_modification_printed.jpg create mode 100644 Custom keyboard/left_side_bottom.jpg create mode 100644 Custom keyboard/left_side_connector_hotfix.jpg create mode 100644 Custom keyboard/left_side_key_caps.jpg create mode 100644 Custom keyboard/left_side_screws.jpg create mode 100644 Custom keyboard/left_side_testing.jpg create mode 100644 Custom keyboard/left_side_wip.jpg create mode 100644 Custom keyboard/left_side_wiring_final.jpg create mode 100644 Custom keyboard/main.jpg create mode 100644 Custom keyboard/matrix_wiring.png create mode 100644 Custom keyboard/progress_both_sides_missing_some_keycaps.jpg create mode 100644 Custom keyboard/right_side_micro_controller_connector_wiring.jpg create mode 100644 Custom keyboard/right_side_micro_controller_wiring.jpg create mode 100644 Custom keyboard/right_side_wiring.jpg create mode 100644 Custom keyboard/top_down.jpg create mode 100644 Cyberdeck/Thumbnail.jpg create mode 100644 Cyberdeck/back.jpg create mode 100644 Cyberdeck/index.md create mode 100644 Cyberdeck/main.jpg create mode 100644 Electric longboard/Thumbnail.jpg create mode 100644 Electric longboard/accident.jpg create mode 100644 Electric longboard/batteries.jpg create mode 100644 Electric longboard/electronics.png create mode 100644 Electric longboard/electronics_side.png create mode 100644 Electric longboard/index.md create mode 100644 Electric longboard/main.jpg create mode 100644 Electric longboard/side.png create mode 100644 Electric longboard/topdown.jpg create mode 100644 Game boy zero/Thumbnail.jpg create mode 100644 Game boy zero/index.md create mode 100644 Game boy zero/insides.jpg create mode 100644 Game boy zero/main.jpg create mode 100644 How-to/Custom handwired keyboard.md create mode 100644 How-to/Selfhost blog.md create mode 100644 Power bank 20v USB-C PD/3d_model_plan.jpg create mode 100644 Power bank 20v USB-C PD/Thumbnail.jpg create mode 100644 Power bank 20v USB-C PD/battery_pack_back.jpg create mode 100644 Power bank 20v USB-C PD/battery_pack_back_2.jpg create mode 100644 Power bank 20v USB-C PD/battery_pack_front.jpg create mode 100644 Power bank 20v USB-C PD/case_model.png create mode 100644 Power bank 20v USB-C PD/electronics.jpg create mode 100644 Power bank 20v USB-C PD/finished_bottom.jpg create mode 100644 Power bank 20v USB-C PD/finished_lcd.jpg create mode 100644 Power bank 20v USB-C PD/finished_top.jpg create mode 100644 Power bank 20v USB-C PD/index.md create mode 100644 Power bank 20v USB-C PD/laser_cut_lcd.jpg create mode 100644 Power bank 20v USB-C PD/laser_engraved_node5.net.jpg create mode 100644 Power bank 20v USB-C PD/lcd.jpg create mode 100644 Power bank 20v USB-C PD/main.jpg create mode 100644 Power bank 20v USB-C PD/print.jpg create mode 100644 Power bank 20v USB-C PD/usb_c_connector.jpg create mode 100644 QMK firmware keychron c1/Thumbnail.jpg create mode 100644 QMK firmware keychron c1/index.md create mode 100644 QMK firmware keychron c1/main.jpg create mode 100644 Raspberry Pi cooling/Thumbnail.jpg create mode 100644 Raspberry Pi cooling/case.jpg create mode 100644 Raspberry Pi cooling/graph.png create mode 100644 Raspberry Pi cooling/index.md create mode 100644 Raspberry Pi cooling/main.jpg create mode 100644 Seven segment display/CAD/Box/7 segment display box lid.stl create mode 100644 Seven segment display/CAD/Box/7 segment display box.FCStd create mode 100644 Seven segment display/CAD/Box/7 segment display box.stl create mode 100644 Seven segment display/CAD/Digit/7 segment display bottom.stl create mode 100644 Seven segment display/CAD/Digit/7 segment display top diffuser.stl create mode 100644 Seven segment display/CAD/Digit/7 segment display.FCStd create mode 100644 Seven segment display/Diffusion test.jpg create mode 100644 Seven segment display/Main.jpg create mode 100644 Seven segment display/Minute fade.mp4 create mode 100644 Seven segment display/Segments wired.jpg create mode 100644 Seven segment display/Thumbnail.jpg create mode 100644 Seven segment display/Timelapse.mp4 create mode 100644 Seven segment display/index.md create mode 100644 Sharp memory display/Holding jig.jpg create mode 100644 Sharp memory display/Thumbnail.jpg create mode 100644 Sharp memory display/index.md diff --git a/3D printing copenhagen/DHM_correction.jpg b/3D printing copenhagen/DHM_correction.jpg new file mode 100644 index 0000000..99ae29e Binary files /dev/null and b/3D printing copenhagen/DHM_correction.jpg differ diff --git a/3D printing copenhagen/Thumbnail.jpg b/3D printing copenhagen/Thumbnail.jpg new file mode 100644 index 0000000..f4020c1 Binary files /dev/null and b/3D printing copenhagen/Thumbnail.jpg differ diff --git a/3D printing copenhagen/big_scale.jpg b/3D printing copenhagen/big_scale.jpg new file mode 100644 index 0000000..67e2dc3 Binary files /dev/null and b/3D printing copenhagen/big_scale.jpg differ diff --git a/3D printing copenhagen/index.md b/3D printing copenhagen/index.md new file mode 100644 index 0000000..05ac8f4 --- /dev/null +++ b/3D printing copenhagen/index.md @@ -0,0 +1,44 @@ +--- +description: "Height data converted and 3D printed as wall art" +created: 2022-12-21 +--- + +![Main](main.jpg) + +- Data: [Danmarks Højdemodel - Overflade](https://dataforsyningen.dk/data/928) (GEOTIFF) +- Processing software: [QGIS Desktop](https://www.qgis.org) +- Plugins: [DEMto3D](https://demto3d.com), [Layer Group and Sort](https://plugins.qgis.org/plugins/Group_and_Sort_Layers) + +![Kastellet](kastellet_DHM.jpg) + +Digital Height Model loaded in QGIS + + +![Kastellet](kastellet_sliced.jpg) + +Sliced in: [PrusaSlicer](https://www.prusa3d.com/prusaslicer/) + + +![Kastellet](kastellet_printed.jpg) + +Scale: 1:7500 10x10 cm 750x750 m + + +![Test seam](test_seam.jpg) + +Testing seams + + +![Big scale](big_scale.jpg) + +Testing scale + + +![Politi gården](politi_gården.jpg) + + +Indeholder data fra Styrelsen for Dataforsyning og Infrastruktur, +[Dataforsyningen data license and usage rights](https://dataforsyningen.dk/asset/PDF/rettigheder_vilkaar/Vilk%C3%A5r%20for%20brug%20af%20frie%20geografiske%20data.pdf), +Danmarks Højdemodel, +July 2023 + diff --git a/3D printing copenhagen/kastellet_DHM.jpg b/3D printing copenhagen/kastellet_DHM.jpg new file mode 100644 index 0000000..027472e Binary files /dev/null and b/3D printing copenhagen/kastellet_DHM.jpg differ diff --git a/3D printing copenhagen/kastellet_printed.jpg b/3D printing copenhagen/kastellet_printed.jpg new file mode 100644 index 0000000..f3b5b02 Binary files /dev/null and b/3D printing copenhagen/kastellet_printed.jpg differ diff --git a/3D printing copenhagen/kastellet_sliced.jpg b/3D printing copenhagen/kastellet_sliced.jpg new file mode 100644 index 0000000..a96b3d8 Binary files /dev/null and b/3D printing copenhagen/kastellet_sliced.jpg differ diff --git a/3D printing copenhagen/main.jpg b/3D printing copenhagen/main.jpg new file mode 100644 index 0000000..099a785 Binary files /dev/null and b/3D printing copenhagen/main.jpg differ diff --git "a/3D printing copenhagen/politi_g\303\245rden.jpg" "b/3D printing copenhagen/politi_g\303\245rden.jpg" new file mode 100644 index 0000000..6b3114b Binary files /dev/null and "b/3D printing copenhagen/politi_g\303\245rden.jpg" differ diff --git a/3D printing copenhagen/test_seam.jpg b/3D printing copenhagen/test_seam.jpg new file mode 100644 index 0000000..f0d0e0e Binary files /dev/null and b/3D printing copenhagen/test_seam.jpg differ diff --git a/Arts and crafts/Embroidery/Alderaan.jpg b/Arts and crafts/Embroidery/Alderaan.jpg new file mode 100644 index 0000000..7d3efef Binary files /dev/null and b/Arts and crafts/Embroidery/Alderaan.jpg differ diff --git a/Arts and crafts/Embroidery/Copenhagen local trains.jpg b/Arts and crafts/Embroidery/Copenhagen local trains.jpg new file mode 100644 index 0000000..aa9c6c6 Binary files /dev/null and b/Arts and crafts/Embroidery/Copenhagen local trains.jpg differ diff --git a/Arts and crafts/Embroidery/Death star Alderaan.jpg b/Arts and crafts/Embroidery/Death star Alderaan.jpg new file mode 100644 index 0000000..873aaf1 Binary files /dev/null and b/Arts and crafts/Embroidery/Death star Alderaan.jpg differ diff --git a/Arts and crafts/Embroidery/Death star sketch.jpg b/Arts and crafts/Embroidery/Death star sketch.jpg new file mode 100644 index 0000000..9183ff5 Binary files /dev/null and b/Arts and crafts/Embroidery/Death star sketch.jpg differ diff --git a/Arts and crafts/Embroidery/Skeleton bongo cat BMTH.jpg b/Arts and crafts/Embroidery/Skeleton bongo cat BMTH.jpg new file mode 100644 index 0000000..0dab59d Binary files /dev/null and b/Arts and crafts/Embroidery/Skeleton bongo cat BMTH.jpg differ diff --git a/Arts and crafts/Embroidery/index.md b/Arts and crafts/Embroidery/index.md new file mode 100644 index 0000000..299623c --- /dev/null +++ b/Arts and crafts/Embroidery/index.md @@ -0,0 +1,15 @@ +--- +description: Embroidery +created: 2024-02-01 +--- + +![Skeleton bongo cat BMTH](Skeleton bongo cat BMTH.jpg) + +![copenhagen_local_trains](Copenhagen local trains.jpg) + +![Death star sketch](Death star sketch.jpg) +![Death star Alderaan](Death star Alderaan.jpg) +![Alderaan](Alderaan.jpg) + +I used what i had on hand to sketch namely potato starch flour in water with a brush, this worked surprisingly ok in a +pinch. diff --git a/Blog meta.md b/Blog meta.md new file mode 100644 index 0000000..87410ba --- /dev/null +++ b/Blog meta.md @@ -0,0 +1,18 @@ +--- +description: Information about this blog itself +created: 2023-12-21 +--- + +This blog is a statically generated site derived from markdown files using a +[self made blog generator](https://git.node5.net/blog-generator/about), it used to be generated with jekyll + +This blog has gone through design revisions, try visiting [/old](https://blog.node5.net/old) to see the old design. + +The blog is designed so there's minimal distractions, your attention span only has to follow one line down the page. + +The web is generally pretty annoying to use nowadays, since most pages are mini applications that you download, their +performance is sluggish and generally just employ "features" that get in the way of obtaining the desired information, +requiring cognitive overhead. + +I've made this blog to document my projects, aiding my own information retention, future reference for myself, +and showing off to others diff --git a/Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg b/Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg new file mode 100644 index 0000000..31cf7f8 Binary files /dev/null and b/Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg differ diff --git a/Casio watch NFC rainbow film mod/Inside.jpg b/Casio watch NFC rainbow film mod/Inside.jpg new file mode 100644 index 0000000..5871647 Binary files /dev/null and b/Casio watch NFC rainbow film mod/Inside.jpg differ diff --git a/Casio watch NFC rainbow film mod/Thumbnail.jpg b/Casio watch NFC rainbow film mod/Thumbnail.jpg new file mode 100644 index 0000000..5def80b Binary files /dev/null and b/Casio watch NFC rainbow film mod/Thumbnail.jpg differ diff --git a/Casio watch NFC rainbow film mod/W59 modded front.png b/Casio watch NFC rainbow film mod/W59 modded front.png new file mode 100644 index 0000000..6672e22 Binary files /dev/null and b/Casio watch NFC rainbow film mod/W59 modded front.png differ diff --git a/Casio watch NFC rainbow film mod/index.md b/Casio watch NFC rainbow film mod/index.md new file mode 100644 index 0000000..9af17a8 --- /dev/null +++ b/Casio watch NFC rainbow film mod/index.md @@ -0,0 +1,27 @@ +--- +description: Modded casio wrist watch with NFC and colorful watch face +created: 2023-12-18 +--- + +![Casio rainbowfilm nfc mod](Casio rainbowfilm nfc mod.jpg) + +I modded a Casio W59 with Dichroic film rainbow film and a 2x1 cm NFC sticker, and some crunched up aluminum foil + +Parts: + +- Dichroic film + - [aliexpress.com - Holographic Clear Window Film](https://www.aliexpress.com/item/1005005620190266.html) + - [velken.shop - Rainbow color effect film, cold, transparent](https://www.velken.shop/p/rainbow-color-effect-film-cold-transparent/) +- [aliexpress.com - NFC Chip Ntag 213 Sticker 13.56MHz RFID Size 2*1cm](https://www.aliexpress.com/item/1005006220591444.html) +- [aliexpress.com - Adhesive polarizer](https://www.aliexpress.com/item/1005004269567641.html) note, it's important to get the sticky kind + +NFC sticker tutorial video tutorial: + +[youtube.com - CASIO F-91 NFC MOD - DIY F91W NFC Tag Implant ( Easy Modification )](https://www.youtube.com/watch?v=aGn2_zP8GI8) + +Inverted display video: + +[youtube.com - More Casio Watch Mods (Inverted and Translucent LCD) ](https://www.youtube.com/watch?v=EsO-i5nS1z0) + +![Inside](Inside.jpg) +![W59 modded front](W59 modded front.png) \ No newline at end of file diff --git a/Cheat sheets/Commands.md b/Cheat sheets/Commands.md new file mode 100644 index 0000000..818710f --- /dev/null +++ b/Cheat sheets/Commands.md @@ -0,0 +1,19 @@ +--- +description: Handy commands i use on my Linux distro machines +created: 2024-01-01 +--- + + +## Convert markdown to HTML +e.g. to preview a markdown file +Reqires [python-markdown](https://python-markdown.github.io/install/) + +```bash +python3 -m markdown README.md > /tmp/README.html +``` + +To load extensions like code blocks: +```bash +python3 -m markdown -x fenced_code -x codehilite -x tables README.md > /tmp/README.html +``` + diff --git a/Cheat sheets/Git.md b/Cheat sheets/Git.md new file mode 100644 index 0000000..5297eda --- /dev/null +++ b/Cheat sheets/Git.md @@ -0,0 +1,12 @@ +--- +created: 2024-01-01 +description: Handy git commands +--- + +### See changes since last commit +```bash +git diff HEAD~0 +``` + +### Commit parts of a file +[filip-prochazka.com - Git: commit only parts of a file](https://filip-prochazka.com/blog/git-commit-only-parts-of-a-file) diff --git a/Custom keyboard V2/2 column modules.jpg b/Custom keyboard V2/2 column modules.jpg new file mode 100644 index 0000000..b3f15ce Binary files /dev/null and b/Custom keyboard V2/2 column modules.jpg differ diff --git "a/Custom keyboard V2/3D printed \"PCB\" feasability test.jpg" "b/Custom keyboard V2/3D printed \"PCB\" feasability test.jpg" new file mode 100755 index 0000000..152ec27 Binary files /dev/null and "b/Custom keyboard V2/3D printed \"PCB\" feasability test.jpg" differ diff --git a/Custom keyboard V2/3D printed keycaps with legends.jpg b/Custom keyboard V2/3D printed keycaps with legends.jpg new file mode 100755 index 0000000..435c311 Binary files /dev/null and b/Custom keyboard V2/3D printed keycaps with legends.jpg differ diff --git a/Custom keyboard V2/3D printed trace groves.jpg b/Custom keyboard V2/3D printed trace groves.jpg new file mode 100755 index 0000000..d1b4bc3 Binary files /dev/null and b/Custom keyboard V2/3D printed trace groves.jpg differ diff --git a/Custom keyboard V2/3d printing keycaps sideways.jpg b/Custom keyboard V2/3d printing keycaps sideways.jpg new file mode 100644 index 0000000..c34ff2d Binary files /dev/null and b/Custom keyboard V2/3d printing keycaps sideways.jpg differ diff --git a/Custom keyboard V2/Circuit board painted.jpg b/Custom keyboard V2/Circuit board painted.jpg new file mode 100644 index 0000000..025899f Binary files /dev/null and b/Custom keyboard V2/Circuit board painted.jpg differ diff --git a/Custom keyboard V2/Circuit initial test.jpg b/Custom keyboard V2/Circuit initial test.jpg new file mode 100644 index 0000000..f4c09b9 Binary files /dev/null and b/Custom keyboard V2/Circuit initial test.jpg differ diff --git a/Custom keyboard V2/Column module nail indent.jpg b/Custom keyboard V2/Column module nail indent.jpg new file mode 100644 index 0000000..3448d55 Binary files /dev/null and b/Custom keyboard V2/Column module nail indent.jpg differ diff --git a/Custom keyboard V2/Column module slider foot.jpg b/Custom keyboard V2/Column module slider foot.jpg new file mode 100644 index 0000000..aff2dda Binary files /dev/null and b/Custom keyboard V2/Column module slider foot.jpg differ diff --git a/Custom keyboard V2/Coulumns modules for left side WIP.jpg b/Custom keyboard V2/Coulumns modules for left side WIP.jpg new file mode 100644 index 0000000..3c9e9af Binary files /dev/null and b/Custom keyboard V2/Coulumns modules for left side WIP.jpg differ diff --git a/Custom keyboard V2/End stop back.jpg b/Custom keyboard V2/End stop back.jpg new file mode 100644 index 0000000..0f7af7c Binary files /dev/null and b/Custom keyboard V2/End stop back.jpg differ diff --git a/Custom keyboard V2/Key switch height compared to v1.jpg b/Custom keyboard V2/Key switch height compared to v1.jpg new file mode 100755 index 0000000..13655cb Binary files /dev/null and b/Custom keyboard V2/Key switch height compared to v1.jpg differ diff --git a/Custom keyboard V2/Keyboard layout.jpg b/Custom keyboard V2/Keyboard layout.jpg new file mode 100644 index 0000000..7e3da3b Binary files /dev/null and b/Custom keyboard V2/Keyboard layout.jpg differ diff --git a/Custom keyboard V2/Keycaps itterations.jpg b/Custom keyboard V2/Keycaps itterations.jpg new file mode 100644 index 0000000..c70ce4f Binary files /dev/null and b/Custom keyboard V2/Keycaps itterations.jpg differ diff --git a/Custom keyboard V2/Left side modules in base bottom.jpg b/Custom keyboard V2/Left side modules in base bottom.jpg new file mode 100644 index 0000000..19ff270 Binary files /dev/null and b/Custom keyboard V2/Left side modules in base bottom.jpg differ diff --git a/Custom keyboard V2/Left side modules in base top.jpg b/Custom keyboard V2/Left side modules in base top.jpg new file mode 100644 index 0000000..d4ba3aa Binary files /dev/null and b/Custom keyboard V2/Left side modules in base top.jpg differ diff --git a/Custom keyboard V2/Left side wiring diagram.jpg b/Custom keyboard V2/Left side wiring diagram.jpg new file mode 100644 index 0000000..6f34056 Binary files /dev/null and b/Custom keyboard V2/Left side wiring diagram.jpg differ diff --git a/Custom keyboard V2/Left side wiring diagram.xcf b/Custom keyboard V2/Left side wiring diagram.xcf new file mode 100644 index 0000000..2b792c9 Binary files /dev/null and b/Custom keyboard V2/Left side wiring diagram.xcf differ diff --git a/Custom keyboard V2/Left side working prototype.jpg b/Custom keyboard V2/Left side working prototype.jpg new file mode 100644 index 0000000..ef4780a Binary files /dev/null and b/Custom keyboard V2/Left side working prototype.jpg differ diff --git a/Custom keyboard V2/Module wired bottom.jpg b/Custom keyboard V2/Module wired bottom.jpg new file mode 100644 index 0000000..1b31c01 Binary files /dev/null and b/Custom keyboard V2/Module wired bottom.jpg differ diff --git a/Custom keyboard V2/Module wired top.jpg b/Custom keyboard V2/Module wired top.jpg new file mode 100644 index 0000000..15a1ba0 Binary files /dev/null and b/Custom keyboard V2/Module wired top.jpg differ diff --git a/Custom keyboard V2/Notes column module idea generation.jpg b/Custom keyboard V2/Notes column module idea generation.jpg new file mode 100755 index 0000000..57aa3e2 Binary files /dev/null and b/Custom keyboard V2/Notes column module idea generation.jpg differ diff --git a/Custom keyboard V2/Notes idea.jpg b/Custom keyboard V2/Notes idea.jpg new file mode 100755 index 0000000..1290cf1 Binary files /dev/null and b/Custom keyboard V2/Notes idea.jpg differ diff --git a/Custom keyboard V2/Prototype pile.jpg b/Custom keyboard V2/Prototype pile.jpg new file mode 100644 index 0000000..1c6a165 Binary files /dev/null and b/Custom keyboard V2/Prototype pile.jpg differ diff --git a/Custom keyboard V2/Screws side view.jpg b/Custom keyboard V2/Screws side view.jpg new file mode 100644 index 0000000..beb1ed9 Binary files /dev/null and b/Custom keyboard V2/Screws side view.jpg differ diff --git a/Custom keyboard V2/Screws.jpg b/Custom keyboard V2/Screws.jpg new file mode 100644 index 0000000..7e135d8 Binary files /dev/null and b/Custom keyboard V2/Screws.jpg differ diff --git a/Custom keyboard V2/Slide test 1 slicer 2 lines.png b/Custom keyboard V2/Slide test 1 slicer 2 lines.png new file mode 100755 index 0000000..b414f62 Binary files /dev/null and b/Custom keyboard V2/Slide test 1 slicer 2 lines.png differ diff --git a/Custom keyboard V2/Slide test 1.png b/Custom keyboard V2/Slide test 1.png new file mode 100755 index 0000000..e5cb59c Binary files /dev/null and b/Custom keyboard V2/Slide test 1.png differ diff --git a/Custom keyboard V2/Switch holder itterations.jpg b/Custom keyboard V2/Switch holder itterations.jpg new file mode 100755 index 0000000..2541201 Binary files /dev/null and b/Custom keyboard V2/Switch holder itterations.jpg differ diff --git a/Custom keyboard V2/Switches.jpg b/Custom keyboard V2/Switches.jpg new file mode 100755 index 0000000..de68d1d Binary files /dev/null and b/Custom keyboard V2/Switches.jpg differ diff --git a/Custom keyboard V2/Thumbnail.jpg b/Custom keyboard V2/Thumbnail.jpg new file mode 100644 index 0000000..ff63da0 Binary files /dev/null and b/Custom keyboard V2/Thumbnail.jpg differ diff --git a/Custom keyboard V2/Trackpoint modules.jpg b/Custom keyboard V2/Trackpoint modules.jpg new file mode 100755 index 0000000..fdf5548 Binary files /dev/null and b/Custom keyboard V2/Trackpoint modules.jpg differ diff --git a/Custom keyboard V2/index.md b/Custom keyboard V2/index.md new file mode 100755 index 0000000..eb5c182 --- /dev/null +++ b/Custom keyboard V2/index.md @@ -0,0 +1,174 @@ +--- +description: Adjustable column position, thumb clusters +created: 2024-01-24 +--- + +Checkout [V1 of this keyboard](https://blog.node5.net/Custom%20keyboard/). + +![Left side working prototype](Left side working prototype.jpg) + +### Parts list +- [aliexpress.com/ - Horizontal scrollers EVQWGD001](https://www.aliexpress.com/item/32990950196.html) +- [keychron.com - Gateron Low Profile 2.0 Mechanical Switch](https://www.keychron.com/products/low-profile-gateron-mechanical-switch-set?variant=40587643355225) +- [keychron.com - Keychron Low Profile Mechanical Switch](https://www.keychron.com/products/keychron-low-profile-mechanical-switch?variant=40561882595417) + +With the first edition i validated that i like ortholinear layout, this enables me to offset the columns relative to +each other, but i cannot settle on how much to offset it, therefore i got the idea to make it adjustable, +I've not seen this done before. + +![Notes idea](Notes idea.jpg) +![Notes column module idea generation](Notes column module idea generation.jpg) + +The keyboard base will have GPIO + I²C pulled out on a connector, allowing any kind of expansion +I'll make the following modules: trackpoint, mouse buttons, thumb clusters, rollers for vertical scrolling and volume. + +### Desiging a switch holder +![Switch holder itterations](Switch holder itterations.jpg) + +### Trackpoint +![Trackpoint modules](Trackpoint modules.jpg) + +The trackpoint module is a PS/2 device, see [QMK documentation](https://docs.qmk.fm/#/feature_ps2_mouse) and +[Trackpoint pinout](https://deskthority.net/wiki/TrackPoint_Hardware) + +### Height +![Key switch height compared to v1](Key switch height compared to v1.jpg) + +### Keycaps +![3D printed keycaps with legends](3D printed keycaps with legends.jpg) + +To print legends, multi color on the same layer see this cool blog: +[Creating a Keyboard - docs.juliaebert.com](https://docs.juliaebert.com/projects/keyboard#making-them-prettier) + +### Switches +![Switches](Switches.jpg) + +[product page](https://www.gateron.co/products/gateron-low-profile-mechanical-switch-set) + +![3D printed trace groves](3D printed trace groves.jpg) + +I ought to use a PCB for this, but that doesn't play nice with my rapid proto typing. + +![Slide test 1](Slide test 1.png) +![Slide test 1 slicer 2 lines](Slide test 1 slicer 2 lines.png) + +Testing if this method can be manufactured on my 3D printer, it's only 2 lines wide. + +### 3D printed "PCB" feasability +![3D printed "PCB" feasability test](3D printed "PCB" feasability test.jpg) + +### Other keyboards with adjustable columns +Apparently I'm not the first to think of adjustable columns, bummer see this +[ReSummit/Seismos GitHub repo](https://github.com/ReSummit/Seismos) +And this [nezumee/zebra GitHub repo](https://github.com/nezumee/zebra) + +### Design goals +- Low profile +- Modular additions +- Indents for anti slip feet, to keep it low profile +- Joinable halves perhaps +- Tactile difference for different types of keys + - Smaller function key row + - Concave and convex keys, to indicate type + - Lots of homing indicators + +### Meta +This article is more of a timeline of how it actually happened, +by meerly appending, instead of going back, and changing stuff + +### Column module prototype +![2 column modules](2 column modules.jpg) +![Column module nail indent](Column module nail indent.jpg) +![Column module slider foot](Column module slider foot.jpg) +![End stop back](End stop back.jpg) +![Screws](Screws.jpg) +![Screws side view](Screws side view.jpg) + +### Printing Keycaps +![3d printing keycaps sideways](3d printing keycaps sideways.jpg) +![Keycaps itterations](Keycaps itterations.jpg) +Again, printed on its side for greater dimensional accuracy + +### Thumb cluster design vision +Came across this really cool keyboard called Dygma Defy +[youtube.com - video](https://www.youtube.com/watch?v=9-h5RVu_HBA) +[dygma.com - Blog post](https://dygma.com/blogs/product-development/how-we-developed-the-defys-16-thumbkeys) +they show their design iterations on thumb clusters they seem to align with what i envisioned, +namely ergonomically shaped buttons, which is possible due to the 3D printing manufacturing. They've done lots + + +### GPIO expander chip ordered +Ordered an [MCP23017](https://ww1.microchip.com/downloads/en/devicedoc/20001952c.pdf) +I²C GPIO expander in [DIP28](https://en.wikipedia.org/wiki/Dual_in-line_package) +package format. To use on the left side of the keyboard. + + +### Layout designed +![Keyboard layout](Keyboard layout.jpg) + +This layout avoids having 2 unit wide buttons, which would interfere with the column sliding mechanism. +Instead these buttons are moved to 2 thumb clusters. Which i I'm eager to try out. + + +### Prototype pile +![Prototype pile](Prototype pile.jpg) + +Here's the pile of prototypes it took to get a satisfying and functional mechanism and keycaps. + + +### Module wired + +![Module wired top](Module wired top.jpg) +![Module wired bottom](Module wired bottom.jpg) + +Soldered up the first module. I used stranded wire due to metal fatigue. This methodology seems to be feasible. +I'm going to add pin header connectors to connect it to the board, so it can be disconnected and the module removed. +Spanning the top is gonna be a prototype board PCB with all the diodes, connectors for modules, DIP28 GPIO expander and +the TRRS headphone jack. + + +### Modules for left side printed +![Coulumns modules for left side WIP](Coulumns modules for left side WIP.jpg) + +Done printing and cleaning up all the modules for the left side. + +![Left side modules in base top](Left side modules in base top.jpg) +![Left side modules in base bottom](Left side modules in base bottom.jpg) + +Printed the bottom for the left side it unfortunately bent slightly when the modules were put in place, +even tho i was patient letting it cool down after printing. I held it over the stove, and counter bend it. +Then placed it on a flat surface. Which fixed the curve. + +![Left side wiring diagram](Left side wiring diagram.jpg) + +Planned out the circuit diagram for the left side of the keyboard, everything fit really nicely. +I'm excited to make it a reality. The top features pin headers for each sliding module. Which has 6 pins, 1 for the +column, and 5 for the rows. The rows are connected to the diodes, which bridge the gap to their respective colored bus +bars on the bottom side. Which forms a natural ╲ ╲ ╲ ╲ ╲ pattern. The columns have busbars on the bottom left side. +Both bus bar clusters are terminated in 2 flex cable connections, one for the GPIO expander chip, and one for a male pin +header for testing and debugging, it's also pin compatible with my old keyboard, allowing me to do an agile partial +goal, and get success feeling of trying it out, motivating me to keep working, and getting to test it +before i add to many variables and unknowns, which could lead to multiple failure points, +making me have to debug multiple possible error sources at the same time. There's 2 rows of connection points next to +the debug connector, which is a fine place to extend the connection on to thumb cluster module, which differs because it +has the diodes on the module as opposed to on the circuit board. It has 1 pin for the row, and the rest for the columns. +Because it's wired up like it was a row at the bottom of the keyboard. Finally the headphone jack fits in the top +right corner, pointing upwards, since there's already going to be the cables from the sliding modules looping that way. + + +### Circuit board initial test + +![Circuit board painted](Circuit board painted.jpg) +![Circuit initial test](Circuit initial test.jpg) + +Painted the circuit board, to indicate where the busbars on the bottom are routed. +Wired up a test setup to test the first 4x4 buttons, and it works, yay ^-^ + +![Left side working prototype](Left side working prototype.jpg) + +## Full stop +So up to this point, i had the intention of making this into a full hand wired keyboard. +But I don't like how the wires at the top ended up looking, +so I've chosen to cut my losses and use my prototype to decide how I want the offsets to be, +and as a test bed to remove my last few unknowns, namely, thumb cluster and I/O expander chip. +I should have cut more corners, to test the core concept, before spending time, on the niceties. \ No newline at end of file diff --git a/Custom keyboard/3d_printed_keycap.jpg b/Custom keyboard/3d_printed_keycap.jpg new file mode 100644 index 0000000..ccc60b1 Binary files /dev/null and b/Custom keyboard/3d_printed_keycap.jpg differ diff --git a/Custom keyboard/3d_printed_switch_plate_test.jpg b/Custom keyboard/3d_printed_switch_plate_test.jpg new file mode 100644 index 0000000..e081ea1 Binary files /dev/null and b/Custom keyboard/3d_printed_switch_plate_test.jpg differ diff --git a/Custom keyboard/Thumbnail.jpg b/Custom keyboard/Thumbnail.jpg new file mode 100644 index 0000000..e3f3f25 Binary files /dev/null and b/Custom keyboard/Thumbnail.jpg differ diff --git a/Custom keyboard/colemak_keyboard_layout.jpg b/Custom keyboard/colemak_keyboard_layout.jpg new file mode 100644 index 0000000..e593bcc Binary files /dev/null and b/Custom keyboard/colemak_keyboard_layout.jpg differ diff --git a/Custom keyboard/connector.jpg b/Custom keyboard/connector.jpg new file mode 100644 index 0000000..c787972 Binary files /dev/null and b/Custom keyboard/connector.jpg differ diff --git a/Custom keyboard/index.md b/Custom keyboard/index.md new file mode 100644 index 0000000..2a3c85d --- /dev/null +++ b/Custom keyboard/index.md @@ -0,0 +1,266 @@ +--- +description: "Custom split ortholinear 83 key mechanical keyboard with rollerball mouse" +created: 2023-10-23 +--- + +![Layout](main.jpg) + +## Links +- [git.node5.net - Firmware](https://git.node5.net/firmware/qmk/tree/keyboards/handwired/node5_1) +### Videos +- [youtube.com - Good how to video](https://www.youtube.com/watch?v=iv__343ZwE0) +- [youtube.com - Zack Freedman (Voidstar Lab) How to Build MECHANICAL KEYBOARDS](https://www.youtube.com/watch?v=yYcNi9hKxDk) +### Parts +- [shop.pimoroni.com - Trackball Breakout by Pimoroni](https://shop.pimoroni.com/products/trackball-breakout) +- [aliexpress.com - 1N4148 diodes](https://www.aliexpress.com/item/1005005435418695.html) +### Others cool builds +- [keebfolio.netlify.app - Index of handwired keyboards](https://keebfolio.netlify.app/en/staggered/) +- [lukemillermakes.com - A 3D printed gaming keyboard](https://www.lukemillermakes.com/2018/12/a-3d-printed-gaming-keyboard-part-1/) +- [github.com - Hand wired 54key full split mechanical keyboard](https://github.com/alonswartz/blackhawk) +### Tools +- [form--keebfolio.netlify.app - Collection of great tools](https://form--keebfolio.netlify.app/tools/) +- [waveshare.com - RP2040-Zero pinout](https://www.waveshare.com/img/devkit/RP2040-Zero/RP2040-Zero-details-7.jpg) +- [keyboard-layout-editor.com - My layout](http://www.keyboard-layout-editor.com/##@_backcolor=%23000000%3B&@_c=%230096a7&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Esc%0A%0A%0AFnLock&_c=%236d6d6d%3B&=F1%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-off'%3E%3C%2F%2Fi%3E&=F2%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-down'%3E%3C%2F%2Fi%3E&=F3%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-up'%3E%3C%2F%2Fi%3E&=F4%0A%0A%0A%3Ci%20class%2F='fa%20fa-microphone-slash'%3E%3C%2F%2Fi%3E&=F5%0A%0A%0A%3Ci%20class%2F='fa%20fa-sun-o'%3E%3C%2F%2Fi%3E-&_x:3%3B&=F6%0A%0A%0A%3Ci%20class%2F='fa%20fa-sun-o'%3E%3C%2F%2Fi%3E+&=F7%0A%0A%0A%3Ci%20class%2F='fa%20fa-caret-left'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-caret-left'%3E%3C%2F%2Fi%3E&=F8%0A%0A%0A%3Ci%20class%2F='fa%20fa-play'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-pause'%3E%3C%2F%2Fi%3E&=F9%0A%0A%0A%3Ci%20class%2F='fa%20fa-caret-right'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-caret-right'%3E%3C%2F%2Fi%3E&_t=%23ffffff%3B&=F10&=F11&=F12&=Delete%3B&@_c=%23262626%3B&=%60%0A~&=1%0A!&=2%0A%2F@&=3%0A%23&=4%0A$&=5%0A%25&_x:3%3B&=6%0A%5E&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=7%0A%2F&%0A%0A7&=8%0A*%0A%0A8&=9%0A%28%0A%0A9&=0%0A%29%0A%0A+&_t=%23ffffff%3B&=-%0A%2F_&=%2F=%0A+&_c=%236d6d6d%3B&=BckSp%3B&@=Tab&_c=%23262626%3B&=Q&=W&=E&=R&=T&_x:3%3B&=Y&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=U%0A%0A%0A4&=I%0A%0A%0A5&=O%0A%0A%0A6&=P%0A%0A%0A%C3%97&_t=%23ffffff%3B&=%7B%0A%5B&=%7D%0A%5D&=%7C%0A%5C%3B&@_c=%236d6d6d&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Comp%0A%0A%0ACapsL&_c=%23262626&t=%23ffffff%3B&=A&=S&=D&_n:true%3B&=F&=G&_x:3%3B&=H&_t=%23ffffff%0A%0A%0A%23ff8616&n:true%3B&=J%0A%0A%0A1&=K%0A%0A%0A2&=L%0A%0A%0A3&=%2F:%0A%2F%3B%0A%0A-&_t=%23ffffff%3B&=%22%0A'&_c=%230096a7&w:2%3B&=Enter%3B&@_c=%236d6d6d%3B&=Shift&_c=%23262626%3B&=Z&=X&=C&=V&=B&_x:3%3B&=N&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=M%0A%0A%0A0&=%3C%0A,%0A%0A,&=%3E%0A.%0A%0A.&=%3F%0A%2F%2F%0A%0A%2F%2F&_c=%236d6d6d&t=%23ffffff%3B&=PgUp&_c=%23c1c1c1&t=%23000000%3B&=%E2%86%91&_c=%236d6d6d&t=%23ffffff%3B&=PgDn%3B&@=Ctrl&=Super&=Alt&_t=%23ff8616%3B&=Fn&_c=%23262626&t=%23ffffff&a:7&w:2%3B&=&_x:2&c=%23c1c1c1&t=%23000000&a:4%3B&=mous1&=mous2&=mous3&_c=%236d6d6d&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Menu%0A%0A%0AInsert&=Home%0A%0A%0APrtSc&_t=%23ffffff%3B&=End&_c=%23c1c1c1&t=%23000000%3B&=%E2%86%90&_n:true%3B&=%E2%86%93&=%E2%86%92) +### Guides +- [crackedthecode.co - Someone elses cool blog on how to wire a keyboard matrix](https://www.crackedthecode.co/a-complete-guide-to-building-a-hand-wired-keyboard/) + +--- + +# Design / concept validation phase + +The idea some time ago when i was playing around with ideas for my cyber deck, +to design a keyboard. +I ended up splitting the keyboard idea out and focusing on that. + +I played around with the layout for some time using +[keyboard-layout-editor.com](http://keyboard-layout-editor.com/) +Finally landing on a layout i liked, with some concepts i wanted to try out. + +![Colemak keyboard layout](colemak_keyboard_layout.jpg) + +## Verifying design concepts +If there's any unknowns in your project, you should try them out early in the +process, this can save you a lot of time and hazzle. + +### Generation + tollerance fit check +![3D printed switch plate fit test](/assets//custom-keyboard/3d_printed_switch_plate_test.jpg) +![3D printed key cap fit test](/assets//custom-keyboard/3d_printed_keycap.jpg) + +### Connecting the 2 sides +There's multiple ways of connecting the 2 sides of the keyboard namely: +I²C (4 wire, typically a 3.5mm audio cable) via seperate micro controller or +I/O expander or have a cable with many conductors. +Contrary to [this video](https://www.youtube.com/watch?v=Fg0V5M0llaE&t=342s) by +[Zack Freedman (Voidstar Lab)](https://www.youtube.com/@ZackFreedman) +i like rainbow cables. + +![Connector](connector.jpg) + +Didn't want to wait for a shipment from China, so i made a connector for my +rainbow cable, the case design, didn't quite fit the +connector, i fixed it in post. + +### Switch plate +The switch plate was generated using +[kbplate.ai03.com](https://kbplate.ai03.com/) + +### Left side initial + +Designed and printed the left side of the keyboard. +![Left side wip](left_side_wip.jpg) + +This is the point where i should have chosen to throw out the first prototype, +since the connector didn't fit. And it was going to be nightmare to have wires +between the two halves. This will come back to haunt me later. + +### Keycaps +Found [this](https://www.thingiverse.com/thing:2879386) design i liked, +but i encoundered a problem with it, it snagged when pressing down. So i +[modified the design in FreeCAD as an STL](https://www.youtube.com/watch?v=HbtKFmz5p00) +, as importing it as openSCAD and then modifying gave me issues. +It now has a slope along the long side of the key switch rectangle. + +![Keycap modification](keycap_modification.jpg) +![Keycap modification printed](keycap_modification_printed.jpg) + +The 2 unit wide keys can be made in +[PrusaSlicer](https://www.prusa3d.com/page/prusaslicer_424/) by cutting it into +parts and scaling only the desired part in the desired dimension. +The homing indicator, can also simply be made in PrusaSlicer. + +When printing, place the keycaps sideways on the build plate, as to use the +dimension with the best resulution in FDM printing (Set layer height to the +smallest possible). And make sure the top parts of the keycaps are facing away +from each other, if printing multiple, to avoid stringing, bumps and other +artifacts. + +The keycaps still require quite a lot of cleanup, as there's some drop in the +stem connector, and some cutting and filing is needed on the side of the stem +where the support was. + +### Wiring +![Matrix wiring](matrix_wiring.png) + +This overview was made with [VIA](https://www.caniusevia.com/) + +The column wires can be managed by routing them under the diodes from the rows. + +![Left side testing](left_side_testing.jpg) + +I'd recomend staring with wiring a 3x3 matrix and connecting that on a +breadboard to your microcontroller, and try +[building the firmware](#firmware-build). To verify the method and avoiding +possibly having to resolder big parts. + +![RP2040 Zero pinout](https://www.waveshare.com/img/devkit/RP2040-Zero/RP2040-Zero-details-7.jpg) + +--- + +# Build phase +There are now no known unknowns in the project, now comes the grind. + +### Left side done +![Left side connector hotfix](left_side_connector_hotfix.jpg) +![Left side wiring final](left_side_wiring_final.jpg) +![Left side bottom](left_side_bottom.jpg) +![Left side screws](left_side_screws.jpg) + +Since i decided to use the first prototype, i had to retrofit the connector +outside the housing, meaning i had to design a new piece that a connector i +found, could be press fit into. + +### Left side done right side WIP +![Progress both side missing some keycaps](progress_both_sides_missing_some_keycaps.jpg) + +## Right side +![right side micro controller connector wiring](right_side_micro_controller_connector_wiring.jpg) +![right side micro controller wiring](right_side_micro_controller_wiring.jpg) +![right side wiring](right_side_wiring.jpg) +![top down](top_down.jpg) + + +When soldering the connector, i soldered wires to the connector first, then i +glued in indo place, so the wires could be routed and cut to distance. +All 20 trough-hole GPIO pins on the micro controller chip breakout are needed +for the 6 rows and 14 columns, but 2 GPIO are needed for I²C for the trackball. +So i needed to access the SMD pads on the back of the RP2040, which was some +small soldering, i used a flat cable to achive this. + +Another problem is that the prototyping PCB the microcontroller is mounted into +isn't used for wire management, but meerly to attatch it with screwable mounting +holes to the case. This means i have to have lot's of small wires in a tight +space this is where [Magnet wire](https://en.wikipedia.org/wiki/Magnet_wire) +comes into play. + +## Firmware build +[Setting Up Your QMK Environment](https://docs.qmk.fm/#/newbs) + +When creating a handwired keyboard, the convention is to place it +in `handwired/name` + +You might have to flip `diode_direction` in `info.json` if no keys work. +The options are `ROW2COL` and `COL2ROW` + + +### Customizing firmware +It's possible to [Customize Your Keyboard’s Behavior](https://docs.qmk.fm/#/custom_quantum_functions) +by writing a bit of C code. + +I've coded the following: + + - Change pointing device CPI. by clicking it + - Indicate pointing device mode with its RGB LED + - Normal + - Precise + - Scroll + - Volume + - Switch layout (Colemak, qwerty) + - Turn LEDs off when suspending / shutting down computer + - Middle mouse button only send button press on button up, if the user didn't scroll + +The way i figured out how to do something specific, +was a combination of reading the documentation, and greping through how other +keyboards in the `keyboards` directory does things. + +TODO Host, post and add link to GIT repo + +## Next challenge learning colemak + +It's a steep learning curve, but the finger movement, or lack there of for +typing English seems more sound. Set aside a weekend for learning where the +keys are, and be prepared to be frustrated at typing at 5 wpm, and slowly +working up from there. +It's a bit unfortunate that I'm changing multiple variables at the same time, +Namely learning touch typing, at the same time as i switch to colemak +and an ortholinear layout. Therefore i will not know which impact each has on +percieved finger health and typing speed. + +Also small rant about the legacy typewriter layout that sadly is the norm now +adays. How are you supposed to twist and contort your middle finger to reach +from D on the home row to C below when your hands are so close together that +they aren't straight. It feels more natural for my pointing finger to reach the +C button, because it aligns with the direction my hands are pointing. + +## Retrospective / Ideas for a version 2 + +### Work methodologies +Before starting a handwired keyboard project know that: + + - It's very labor intensive + - Hand wiring will take a long time especially if you make a split keeb, and choose to not use I²C between the halves. + - When prototyping something it's an itterative process, + which 3D printing plays very well into, as you can rapidly prototype, test ideas, and modify your design. + + +### Scrolling / volume rollers +Scrolling and adjusting volume with the trackball works great. +It would be awesome to explore this concept more, +by having a dedicated rotary encoder for it, perhaps two, +for quick onehanded volume adjustment, without holding the modifier (FN), +which is on the other side of the keyboard. + +### Device specific LED indicators +The LED in the pimoroni trackball works great to indicate which mode it's in. +So having dedicated LEDs for each device, +to indicate which mode it's in is a great to have. + +### LED indicators +They work great as a layer indicator. +Another idea is to add a photo resistor to dimm them in low ambient. + +### Pimoroni trackball +It's a really nifty little device, glad i tried it out, +but it's not precise enough for my taste. +It might be the QMK implementation (which already existed, which is nice), +It might be a hardware thing. Not sure, haven't read raw device output, +i assume default QMK settings are sane. +But next time around i want to try a different pointing device, +perhaps a ThinkPad trackpoint. + +### Connector / cable / wiring management +It worked fine for the time, since i had plenty of time to work on it now, +and didn't have to wait for components. +The process of hand wiring is labor intensive and tedious work. +Managing the wiring in a PCB and using chips in each half, +with standard cables would be preferable. +Then it's also possible to use longer cables to position the keyboard on either +side of a laptop, when using it on the go. +Taking up less space in one dimmension, but more in another, +by not having to move the laptop as far back, giving you flexibility. + +### Touch typing colorway +The keycaps can be colored to indicate which finger should be used. +This could also be done in software, if one chooses to add per key LEDs. + +### Standoffs on switch plate +Designing the standoffs into the switch plate might be desirable, since it +can make the cable wiring a bit easier, + +### Macro recording indicator +QMK Has the ability to record +[Dynamic macros](https://docs.qmk.fm/#/feature_dynamic_macros) +It would be cool to indicate the recording of such, by blinking the main +indicator LED red, this requires the ability to get +[milis()](https://www.arduino.cc/reference/en/language/functions/time/millis/) +or similar. + diff --git a/Custom keyboard/keycap_modification.jpg b/Custom keyboard/keycap_modification.jpg new file mode 100644 index 0000000..be2659f Binary files /dev/null and b/Custom keyboard/keycap_modification.jpg differ diff --git a/Custom keyboard/keycap_modification_printed.jpg b/Custom keyboard/keycap_modification_printed.jpg new file mode 100644 index 0000000..35114bc Binary files /dev/null and b/Custom keyboard/keycap_modification_printed.jpg differ diff --git a/Custom keyboard/left_side_bottom.jpg b/Custom keyboard/left_side_bottom.jpg new file mode 100644 index 0000000..c0366ff Binary files /dev/null and b/Custom keyboard/left_side_bottom.jpg differ diff --git a/Custom keyboard/left_side_connector_hotfix.jpg b/Custom keyboard/left_side_connector_hotfix.jpg new file mode 100644 index 0000000..b757fd7 Binary files /dev/null and b/Custom keyboard/left_side_connector_hotfix.jpg differ diff --git a/Custom keyboard/left_side_key_caps.jpg b/Custom keyboard/left_side_key_caps.jpg new file mode 100644 index 0000000..b28ad91 Binary files /dev/null and b/Custom keyboard/left_side_key_caps.jpg differ diff --git a/Custom keyboard/left_side_screws.jpg b/Custom keyboard/left_side_screws.jpg new file mode 100644 index 0000000..1d7b7ed Binary files /dev/null and b/Custom keyboard/left_side_screws.jpg differ diff --git a/Custom keyboard/left_side_testing.jpg b/Custom keyboard/left_side_testing.jpg new file mode 100644 index 0000000..f150f5d Binary files /dev/null and b/Custom keyboard/left_side_testing.jpg differ diff --git a/Custom keyboard/left_side_wip.jpg b/Custom keyboard/left_side_wip.jpg new file mode 100644 index 0000000..e477320 Binary files /dev/null and b/Custom keyboard/left_side_wip.jpg differ diff --git a/Custom keyboard/left_side_wiring_final.jpg b/Custom keyboard/left_side_wiring_final.jpg new file mode 100644 index 0000000..c9f04dc Binary files /dev/null and b/Custom keyboard/left_side_wiring_final.jpg differ diff --git a/Custom keyboard/main.jpg b/Custom keyboard/main.jpg new file mode 100644 index 0000000..caf69b3 Binary files /dev/null and b/Custom keyboard/main.jpg differ diff --git a/Custom keyboard/matrix_wiring.png b/Custom keyboard/matrix_wiring.png new file mode 100644 index 0000000..bea8e7f Binary files /dev/null and b/Custom keyboard/matrix_wiring.png differ diff --git a/Custom keyboard/progress_both_sides_missing_some_keycaps.jpg b/Custom keyboard/progress_both_sides_missing_some_keycaps.jpg new file mode 100644 index 0000000..2c7c09f Binary files /dev/null and b/Custom keyboard/progress_both_sides_missing_some_keycaps.jpg differ diff --git a/Custom keyboard/right_side_micro_controller_connector_wiring.jpg b/Custom keyboard/right_side_micro_controller_connector_wiring.jpg new file mode 100644 index 0000000..2c3a390 Binary files /dev/null and b/Custom keyboard/right_side_micro_controller_connector_wiring.jpg differ diff --git a/Custom keyboard/right_side_micro_controller_wiring.jpg b/Custom keyboard/right_side_micro_controller_wiring.jpg new file mode 100644 index 0000000..c89905f Binary files /dev/null and b/Custom keyboard/right_side_micro_controller_wiring.jpg differ diff --git a/Custom keyboard/right_side_wiring.jpg b/Custom keyboard/right_side_wiring.jpg new file mode 100644 index 0000000..1ee7dad Binary files /dev/null and b/Custom keyboard/right_side_wiring.jpg differ diff --git a/Custom keyboard/top_down.jpg b/Custom keyboard/top_down.jpg new file mode 100644 index 0000000..e3fa43d Binary files /dev/null and b/Custom keyboard/top_down.jpg differ diff --git a/Cyberdeck/Thumbnail.jpg b/Cyberdeck/Thumbnail.jpg new file mode 100644 index 0000000..0bc55a6 Binary files /dev/null and b/Cyberdeck/Thumbnail.jpg differ diff --git a/Cyberdeck/back.jpg b/Cyberdeck/back.jpg new file mode 100644 index 0000000..ad0f554 Binary files /dev/null and b/Cyberdeck/back.jpg differ diff --git a/Cyberdeck/index.md b/Cyberdeck/index.md new file mode 100644 index 0000000..6c58669 --- /dev/null +++ b/Cyberdeck/index.md @@ -0,0 +1,48 @@ +--- +description: "Computer" +created: 2023-03-08 +--- + +I want to build a cyberdeck, but isn't that just a weird cumbersome laptop... yes, that's not the point, think of it more as a weird retro inspired electronic simi functional experimental piece of art. + +![Main](main.jpg) +![Back](back.jpg) + +Back will house all the electronics and when the screen is lifted it's shown, i'll add an acrylic plate, which will help guide airflow from the fan through the device. +Will start with a Raspberry Pi, since that's what i have on hand, might change it out to a different SBC with proper NVME support instead of booting of an SD card, or USB adapter. + +## Ideas: +- Screen: Ultra wide screen IPS, smaller e paper display. +- Keyboard: Custom split ergonomic mechanical keyboard with trackball in the middle. +- Pointing device: Rollerball mouse + thinkpad like 3 buttons. +- Modular, expandable, with standard mounting interfaces, and electrically with ports ex. i2c expansion. +- Internal temperature on i2c. +- Modern retro vibe with vent slits. +- All PCB's in the back mounted to an insert plate, to avoid having to re-print the case. + +## Inspiration / resources: +- [Cyberdeck cafe](https://cyberdeck.cafe/mix/what-is-a-cyberdeck) +- [keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/) +- [A Complete Guide to Building a Hand-Wired Keyboard](https://www.crackedthecode.co/a-complete-guide-to-building-a-hand-wired-keyboard/) +- [Power monitoring](https://www.youtube.com/watch?v=Qkx9M-AzznE) +- [OpenSCAD Keycap generator](https://www.thingiverse.com/thing:2783650/files) +### Cool cyberdecks: +- [Skeletal Cyberdeck](https://cyberdeck.cafe/mix/skeletal-cyberdeck) +- [TRL](https://cyberdeck.cafe/mix/trl-22121) +- [GRIZ](https://cyberdeck.cafe/mix/griz) +- [MSG](https://cyberdeck.cafe/mix/msg) +- [TTSD-3085](https://cyberdeck.cafe/mix/ttsd) +- [midknight8008](https://www.thingiverse.com/thing:4939019) + +## Parts: +- [Waveshare 10.4inch QLED Display 1600×720](https://www.waveshare.com/10.4hp-capqled.htm?sku=24646) +- [Waveshare 3S 5V 5A Output with i2c monitoring](https://www.waveshare.com/ups-module-3s.htm) +- [Trackball Breakout by Pimoroni](https://shop.pimoroni.com/products/trackball-breakout) +- [Flat HDMI cable](https://www.aliexpress.com/item/4000014554460.html) +- [1N4148 Diodes for keyboard switches](https://www.aliexpress.com/item/1005005435418695.html) +- [Adafruit KB2040 - RP2040 Kee Boar Driver](https://www.adafruit.com/product/5302) +- [Adafruit SHARP Memory Display Breakout - 2.7" 400x240 Monochrome](https://www.adafruit.com/product/4694) +- Keyboard switches +- Big ON/OFF switch +- External antenna + diff --git a/Cyberdeck/main.jpg b/Cyberdeck/main.jpg new file mode 100644 index 0000000..0dead12 Binary files /dev/null and b/Cyberdeck/main.jpg differ diff --git a/Electric longboard/Thumbnail.jpg b/Electric longboard/Thumbnail.jpg new file mode 100644 index 0000000..68a117e Binary files /dev/null and b/Electric longboard/Thumbnail.jpg differ diff --git a/Electric longboard/accident.jpg b/Electric longboard/accident.jpg new file mode 100644 index 0000000..c840109 Binary files /dev/null and b/Electric longboard/accident.jpg differ diff --git a/Electric longboard/batteries.jpg b/Electric longboard/batteries.jpg new file mode 100644 index 0000000..19fbabb Binary files /dev/null and b/Electric longboard/batteries.jpg differ diff --git a/Electric longboard/electronics.png b/Electric longboard/electronics.png new file mode 100644 index 0000000..4782a10 Binary files /dev/null and b/Electric longboard/electronics.png differ diff --git a/Electric longboard/electronics_side.png b/Electric longboard/electronics_side.png new file mode 100644 index 0000000..22d4f72 Binary files /dev/null and b/Electric longboard/electronics_side.png differ diff --git a/Electric longboard/index.md b/Electric longboard/index.md new file mode 100644 index 0000000..9635325 --- /dev/null +++ b/Electric longboard/index.md @@ -0,0 +1,19 @@ +--- +description: "A longboard with hub motors in the wheels, custom designed 3D printed enclosures and a custom battery" +created: 2022-11-08 +--- + +![Electric long board](main.jpg) +![Electronics](topdown.jpg) +![Electric long board side](side.png) +![Electric long board side](electronics_side.png) +![Electronics](electronics.png) + + +![Batteries](batteries.jpg) + +The battery is a 10s 5p config. + +![Electric longboard accident](accident.jpg) + +Got in an accident :( diff --git a/Electric longboard/main.jpg b/Electric longboard/main.jpg new file mode 100644 index 0000000..ff295f4 Binary files /dev/null and b/Electric longboard/main.jpg differ diff --git a/Electric longboard/side.png b/Electric longboard/side.png new file mode 100644 index 0000000..f0f9c76 Binary files /dev/null and b/Electric longboard/side.png differ diff --git a/Electric longboard/topdown.jpg b/Electric longboard/topdown.jpg new file mode 100644 index 0000000..6311b92 Binary files /dev/null and b/Electric longboard/topdown.jpg differ diff --git a/Game boy zero/Thumbnail.jpg b/Game boy zero/Thumbnail.jpg new file mode 100644 index 0000000..c403266 Binary files /dev/null and b/Game boy zero/Thumbnail.jpg differ diff --git a/Game boy zero/index.md b/Game boy zero/index.md new file mode 100644 index 0000000..e035f8e --- /dev/null +++ b/Game boy zero/index.md @@ -0,0 +1,25 @@ +--- +description: "A Raspberry PI fitted into a gameboy DMG-01 shell" +created: 2022-11-07 +--- + +![Game boy zero](main.jpg) +![Game boy zero insides](insides.jpg) + +DMG-01 case with a Raspberry PI inside. + +## Parts list +- 3.5 Inch backup monitor +- TP4056 li-ion charge module with protection circuit +- Raspberry PI Zero W v1 + +## Problems, to address in a possible v2 +- Get's very hot on the screen, might be the power circuits behind it. +- Powers off abruptly after a while, low battery charge? +- No battery charge indication. +- Kinda jank placement of components. Glued not screwed, not as replacable. +- D-pad can register a different direction then the one pressed. +- Audio circuit can be turned up so high it abruptly shuts down the device (over current protection?). +- Audio circuit has no curcuits, just directly connected to GPIO. +- No brightness controls. +- Analogue, not digital display. diff --git a/Game boy zero/insides.jpg b/Game boy zero/insides.jpg new file mode 100644 index 0000000..75fbed8 Binary files /dev/null and b/Game boy zero/insides.jpg differ diff --git a/Game boy zero/main.jpg b/Game boy zero/main.jpg new file mode 100644 index 0000000..3cb6b8c Binary files /dev/null and b/Game boy zero/main.jpg differ diff --git a/How-to/Custom handwired keyboard.md b/How-to/Custom handwired keyboard.md new file mode 100644 index 0000000..b43ddcc --- /dev/null +++ b/How-to/Custom handwired keyboard.md @@ -0,0 +1,114 @@ +--- +description: Process of how to create a custom designed hardwired keyboard +created: 2024-03-01 +--- + +TODO ROUGH PRICE + +## Plan +Start out by getting a rough plan of what you want to make, so you can order parts, as takes a while, if you wish to do +it cheaply. + +First of all you need to decide how big your keyboard needs to be, do you wish to make an 100%, macropad, ultra-compact, +split, do you want dedicated buttons for all 24 function keys? none of the above? + +You can play around with [keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/) to find a layout you like, +see different layout under "Preset" + +Massive repo of inspiration: [keebfolio.netlify.app](https://keebfolio.netlify.app/) + +### Switches +#### Design (Will affect keyboard design) +- Cherry MX design (classic, old, bulky, readily available, cloned into oblivion) +- Low profile? + - Kalih Choc (Expensive, different keycaps) + - Others + - [gateron.co - Gateron Low Profile 2.0 Mechanical Switch](https://www.gateron.co/products/gateron-low-profile-mechanical-switch-set) + - [keychron.com - Keychron Low Profile Mechanical Switch](https://www.keychron.com/products/keychron-low-profile-mechanical-switch) +Unsure, order a Switch tester or ask a friend to try their switches, to see what you like +#### Type +Generally there 3 types, originally made by cherry, I'd recommend none of them +- Clicky - Typically blue (obnoxious) +- Linear - Typically red (Did I press that button?) +- Tactile - Typically brown (Mushy) + +But do limit your scope enough, so you don't lose interest before completing the core project. +Be ready to test ideas feasibility and scrap them if infeasible. + +### Switch matrix +So what parts do you need? +You need to decide which method you wish to use, to wire up your switches +- Matrix with diodes (recommended method) + - Requires 1 diodes per switch, diodes are cheap + - Cable routing is more manageable +- Straight (1 wire per switch to microcontroller) + - Requires enough pins + +An I/O expander can be used to add additional pins to a microcontroller, it's also useful for split keyboards, +as it can require only 4 pins (I²C + power and ground) from the microcontroller + +## Order parts (Consumables) +### Checklist +#### Keyboard specific +- Switches +- Microcontroller, look at [QMK Compatible microcontrollers](https://docs.qmk.fm/#/compatible_microcontrollers), +i recommend a RP2040 based microcontroller +- Keycaps? Do you want to order these or [3D print them](#3d-printed-keycaps) +- Diodes [aliexpress.com - 1N4148](https://www.aliexpress.com/item/1005005435418695.html) +- Split keyboard parts + - I/O expander route + - I/O expander MCP23017 + - Connector [aliexpress.com - TRRS headphone jack](https://www.aliexpress.com/item/1005003146932723.html) + - Cable [aliexpress.com - TRRS headphone cable](https://www.aliexpress.com/item/1005001781279058.html) + +#### General maker +- 3D printed filament +- Solder tin +- Extra features? +Get wild, add an old [ThinkPad trackpoint](https://docs.qmk.fm/#/feature_ps2_mouse), +a [rollerball mouse](https://shop.pimoroni.com/products/trackball-breakout?variant=27672765038675), +rotary encoder, maybe LEDs. +- Heat shrink tube +- Magnet wire (can come in handy) + +### Tools - non consumables +- 3D printer +- Soldering iron +- Continuity tester (for debugging connections) +- + +## Waiting for parts +### Layout design finalisation +Staggered? +Ortholinear? +Something else entirely? + +[keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/) + +[keyboard-layout-editor.com - My layout](http://www.keyboard-layout-editor.com/##@_backcolor=%23000000%3B&@_c=%230096a7&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Esc%0A%0A%0AFnLock&_c=%236d6d6d%3B&=F1%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-off'%3E%3C%2F%2Fi%3E&=F2%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-down'%3E%3C%2F%2Fi%3E&=F3%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-up'%3E%3C%2F%2Fi%3E&=F4%0A%0A%0A%3Ci%20class%2F='fa%20fa-microphone-slash'%3E%3C%2F%2Fi%3E&=F5%0A%0A%0A%3Ci%20class%2F='fa%20fa-sun-o'%3E%3C%2F%2Fi%3E-&_x:3%3B&=F6%0A%0A%0A%3Ci%20class%2F='fa%20fa-sun-o'%3E%3C%2F%2Fi%3E+&=F7%0A%0A%0A%3Ci%20class%2F='fa%20fa-caret-left'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-caret-left'%3E%3C%2F%2Fi%3E&=F8%0A%0A%0A%3Ci%20class%2F='fa%20fa-play'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-pause'%3E%3C%2F%2Fi%3E&=F9%0A%0A%0A%3Ci%20class%2F='fa%20fa-caret-right'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-caret-right'%3E%3C%2F%2Fi%3E&_t=%23ffffff%3B&=F10&=F11&=F12&=Delete%3B&@_c=%23262626%3B&=%60%0A~&=1%0A!&=2%0A%2F@&=3%0A%23&=4%0A$&=5%0A%25&_x:3%3B&=6%0A%5E&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=7%0A%2F&%0A%0A7&=8%0A*%0A%0A8&=9%0A%28%0A%0A9&=0%0A%29%0A%0A+&_t=%23ffffff%3B&=-%0A%2F_&=%2F=%0A+&_c=%236d6d6d%3B&=BckSp%3B&@=Tab&_c=%23262626%3B&=Q&=W&=E&=R&=T&_x:3%3B&=Y&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=U%0A%0A%0A4&=I%0A%0A%0A5&=O%0A%0A%0A6&=P%0A%0A%0A%C3%97&_t=%23ffffff%3B&=%7B%0A%5B&=%7D%0A%5D&=%7C%0A%5C%3B&@_c=%236d6d6d&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Comp%0A%0A%0ACapsL&_c=%23262626&t=%23ffffff%3B&=A&=S&=D&_n:true%3B&=F&=G&_x:3%3B&=H&_t=%23ffffff%0A%0A%0A%23ff8616&n:true%3B&=J%0A%0A%0A1&=K%0A%0A%0A2&=L%0A%0A%0A3&=%2F:%0A%2F%3B%0A%0A-&_t=%23ffffff%3B&=%22%0A'&_c=%230096a7&w:2%3B&=Enter%3B&@_c=%236d6d6d%3B&=Shift&_c=%23262626%3B&=Z&=X&=C&=V&=B&_x:3%3B&=N&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=M%0A%0A%0A0&=%3C%0A,%0A%0A,&=%3E%0A.%0A%0A.&=%3F%0A%2F%2F%0A%0A%2F%2F&_c=%236d6d6d&t=%23ffffff%3B&=PgUp&_c=%23c1c1c1&t=%23000000%3B&=%E2%86%91&_c=%236d6d6d&t=%23ffffff%3B&=PgDn%3B&@=Ctrl&=Super&=Alt&_t=%23ff8616%3B&=Fn&_c=%23262626&t=%23ffffff&a:7&w:2%3B&=&_x:2&c=%23c1c1c1&t=%23000000&a:4%3B&=mous1&=mous2&=mous3&_c=%236d6d6d&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Menu%0A%0A%0AInsert&=Home%0A%0A%0APrtSc&_t=%23ffffff%3B&=End&_c=%23c1c1c1&t=%23000000%3B&=%E2%86%90&_n:true%3B&=%E2%86%93&=%E2%86%92) + +## Other great guides + + +## Switch plate generation +### Testing fit + +### 3D printing +#### 3D printed keycaps + + +### Wiring test 3x3 +The best way to eliminate unknowns and avoid wasting work, is by wiring up a small part, and testing this + +### Firmware setup + + +### No unknowns, home run, final stretch, grind + +### Extra firmware features +Inspire, show opportunities +grep QMK repo + +### Show off + +### Get ideas for your next version \ No newline at end of file diff --git a/How-to/Selfhost blog.md b/How-to/Selfhost blog.md new file mode 100644 index 0000000..1314774 --- /dev/null +++ b/How-to/Selfhost blog.md @@ -0,0 +1,29 @@ +--- +description: How to create, and self host a blog like this +created: 2024-03-01 +--- + +## Chose a static site generator +This is the tool that takes your [markdown](https://www.markdownguide.org/basic-syntax/) or other markup language, +and generates HTML files, these can then uploaded to a server to host. + +- [Hugo](https://gohugo.io/) +- [Pelican](https://getpelican.com/) +- [My custom one](https://git.node5.net/blog-generator/about/) + +## Buy a domain +### Chose a TLD (Top Level Domain) +.net is pretty cool IMO + +## Hosting + +- Selfhost + - At home + - Requires static IP + - Router port forward + - Always having a machine online + - Exposes your home IP (This isn't super bad) +- VPS (cloud monthly payment) + - Not independent + +For the rest of this I refer to the awesome guides at [landchad.net](https://landchad.net/) diff --git a/Power bank 20v USB-C PD/3d_model_plan.jpg b/Power bank 20v USB-C PD/3d_model_plan.jpg new file mode 100644 index 0000000..c49ec20 Binary files /dev/null and b/Power bank 20v USB-C PD/3d_model_plan.jpg differ diff --git a/Power bank 20v USB-C PD/Thumbnail.jpg b/Power bank 20v USB-C PD/Thumbnail.jpg new file mode 100644 index 0000000..2c03c67 Binary files /dev/null and b/Power bank 20v USB-C PD/Thumbnail.jpg differ diff --git a/Power bank 20v USB-C PD/battery_pack_back.jpg b/Power bank 20v USB-C PD/battery_pack_back.jpg new file mode 100644 index 0000000..1683af8 Binary files /dev/null and b/Power bank 20v USB-C PD/battery_pack_back.jpg differ diff --git a/Power bank 20v USB-C PD/battery_pack_back_2.jpg b/Power bank 20v USB-C PD/battery_pack_back_2.jpg new file mode 100644 index 0000000..1ca6f95 Binary files /dev/null and b/Power bank 20v USB-C PD/battery_pack_back_2.jpg differ diff --git a/Power bank 20v USB-C PD/battery_pack_front.jpg b/Power bank 20v USB-C PD/battery_pack_front.jpg new file mode 100644 index 0000000..4565eaa Binary files /dev/null and b/Power bank 20v USB-C PD/battery_pack_front.jpg differ diff --git a/Power bank 20v USB-C PD/case_model.png b/Power bank 20v USB-C PD/case_model.png new file mode 100644 index 0000000..1dfdd6c Binary files /dev/null and b/Power bank 20v USB-C PD/case_model.png differ diff --git a/Power bank 20v USB-C PD/electronics.jpg b/Power bank 20v USB-C PD/electronics.jpg new file mode 100644 index 0000000..f108091 Binary files /dev/null and b/Power bank 20v USB-C PD/electronics.jpg differ diff --git a/Power bank 20v USB-C PD/finished_bottom.jpg b/Power bank 20v USB-C PD/finished_bottom.jpg new file mode 100644 index 0000000..a88350e Binary files /dev/null and b/Power bank 20v USB-C PD/finished_bottom.jpg differ diff --git a/Power bank 20v USB-C PD/finished_lcd.jpg b/Power bank 20v USB-C PD/finished_lcd.jpg new file mode 100644 index 0000000..a5cc3ce Binary files /dev/null and b/Power bank 20v USB-C PD/finished_lcd.jpg differ diff --git a/Power bank 20v USB-C PD/finished_top.jpg b/Power bank 20v USB-C PD/finished_top.jpg new file mode 100644 index 0000000..b75d13b Binary files /dev/null and b/Power bank 20v USB-C PD/finished_top.jpg differ diff --git a/Power bank 20v USB-C PD/index.md b/Power bank 20v USB-C PD/index.md new file mode 100644 index 0000000..e187a6a --- /dev/null +++ b/Power bank 20v USB-C PD/index.md @@ -0,0 +1,104 @@ +--- +description: "Laptop power bank" +created: 2022-11-13 +--- + +![Power bank finished](main.jpg) + +A DIY power bank with 20v USB type C power-delivery. +I had a bunch of 18650's from a previous project, +that were no longer in use... see [Electric longboard](/Electric longboard) + +## Parts list: + - [20V USB C PD Bidi buck boost converter](https://www.aliexpress.com/item/1005004629297118.html) + - [18650 holders](https://www.aliexpress.com/item/1005002749793325.html) + - [Heatsinks](https://www.aliexpress.com/item/32969500753.html) + - [USB C PD tester](https://www.aliexpress.com/item/1005002767097993.html) + - [4S li-ion BMS with balancing](https://www.aliexpress.com/item/1005001916022803.html) + - [Battery capacity display](https://www.aliexpress.com/item/4000448424977.html) + - Samsung-30q 18650 li-ion batteries (got these from a trustworthy local seller) + +## Plan + +![Battery pack back](battery_pack_back.jpg) +![Battery pack front](battery_pack_front.jpg) + +The battery pack is designed as a 4s 3p pack (4 in series and 3 in parallel). +So the batteries will be connected altering + and - every 3 cells. + +## Component testing + +![Electronics](electronics.jpg) + +I've tested the electronic components by connecting the bare minimum of batteries 4s 1p. +You have to connect power the the board once, and then it works. +I used a USB c PD trigger board to test the PD capability. +It works, but the buck boost converter coil gets very hot, +even with the heatsink on. Will have to use a bigger heatsink for it. +Possibly on the back, though i need to insulate 2 points on the back, +that aren't part of the ground plane, like the rest of the back. +The mosfets on the BMS don't heat up, +could probably go without the heatsinks. +I also need to design a case and 3D print it. +The setup works but i'm worried about a short before the BMS. +So i will probably redo the wiring. + +![Battery pack back 2](battery_pack_back_2.jpg) + +Redid the wiring with the lessons learned during testing, +and based on feedback from others. +The Bi-Di module only seems to heat up when stepping down the voltage a lot, +i think the current cooling will be adequate. + +Someone just showed me an even better, but more expensive board: +[100W PD and 120W DC power bank module](https://www.aliexpress.com/item/1005004508048246.html) +maybe for a future powerbank. + +## Designing enclosure + +![Battery pack back 2](3d_model_plan.jpg) +![Power bank 3D model](case_model.png) + +After learning [FreeCAD](https://www.freecadweb.org/), +i designed and 3D printed a case. +It's designed to use a transparent acrylic as the top and bottom. +You can download the model files here: +TODO Add files +[FreeCAD Model](/files/powerbank/POWERBANK.FCStd), [BackPart](/files/powerbank/POWERBANK-part1.stl), +[FontPart](/files/powerbank/POWERBANK-part2.stl),[Button](/files/powerbank/POWERBANK-button.stl) + +![Power bank 3D model](print.jpg) +![Power bank 3D model](usb_c_connector.jpg) +![Power bank 3D model](lcd.jpg) + +Printed the case. The fit seems great +I mounted the screen with some double sided tape, +some screws that i heated up with my soldering iron, and some glue. +I also shortened the button on the screen and put in a 3d printed button. +Seems to click OK, and it's recessed a bit, +so it won't be turned on accidentally. + +![Power bank finished top](finished_top.jpg) +![Power bank finished bottom](finished_bottom.jpg) +![Power bank finished lcd](finished_lcd.jpg) + +## Future ideas + - I think the screws are too close to the edge, so i got a new idea. + 3D print a cover out of TPU for all the edges. + - It would be really cool to add a micro controller with power messurement, + and an LED strip displaying the remaining charge. + +## Laser cut acrylic sheets + +![Laser cut node5.net logo](laser_engraved_node5.net.jpg) +![Laser cut LCD](laser_cut_lcd.jpg) + +Some fellow hackers were super kind, to laser cut acrylic sheets for me, +that has this cool reflective film that changes color based on the angle of the light. +It features ventilation holes for the PD module and engraved text. +It's way more precise, and the side of the cut is super clear. + +## External links: + - [youtube.com - BMS explanation video](https://www.youtube.com/watch?v=QNENyu97w2A) + - [youtube.com - GreatScott! PD module video](https://www.youtube.com/watch?v=_WI9Nwqvplo) + diff --git a/Power bank 20v USB-C PD/laser_cut_lcd.jpg b/Power bank 20v USB-C PD/laser_cut_lcd.jpg new file mode 100644 index 0000000..57420fa Binary files /dev/null and b/Power bank 20v USB-C PD/laser_cut_lcd.jpg differ diff --git a/Power bank 20v USB-C PD/laser_engraved_node5.net.jpg b/Power bank 20v USB-C PD/laser_engraved_node5.net.jpg new file mode 100644 index 0000000..299941d Binary files /dev/null and b/Power bank 20v USB-C PD/laser_engraved_node5.net.jpg differ diff --git a/Power bank 20v USB-C PD/lcd.jpg b/Power bank 20v USB-C PD/lcd.jpg new file mode 100644 index 0000000..d5dfbb7 Binary files /dev/null and b/Power bank 20v USB-C PD/lcd.jpg differ diff --git a/Power bank 20v USB-C PD/main.jpg b/Power bank 20v USB-C PD/main.jpg new file mode 100644 index 0000000..c1b7050 Binary files /dev/null and b/Power bank 20v USB-C PD/main.jpg differ diff --git a/Power bank 20v USB-C PD/print.jpg b/Power bank 20v USB-C PD/print.jpg new file mode 100644 index 0000000..2056fe6 Binary files /dev/null and b/Power bank 20v USB-C PD/print.jpg differ diff --git a/Power bank 20v USB-C PD/usb_c_connector.jpg b/Power bank 20v USB-C PD/usb_c_connector.jpg new file mode 100644 index 0000000..d0faf17 Binary files /dev/null and b/Power bank 20v USB-C PD/usb_c_connector.jpg differ diff --git a/QMK firmware keychron c1/Thumbnail.jpg b/QMK firmware keychron c1/Thumbnail.jpg new file mode 100644 index 0000000..29d7d4d Binary files /dev/null and b/QMK firmware keychron c1/Thumbnail.jpg differ diff --git a/QMK firmware keychron c1/index.md b/QMK firmware keychron c1/index.md new file mode 100644 index 0000000..0933cd5 --- /dev/null +++ b/QMK firmware keychron c1/index.md @@ -0,0 +1,93 @@ +--- +description: "Flashing Sonix QMK on Keychron C1 plain mechanical keyboard" +created: 2023-10-21 +--- + +![QMK firmware](main.jpg) + +Base instructions: [Sonix QMK sn32_master Keychron C1 plain](https://github.com/SonixQMK/qmk_firmware/tree/sn32_master/keyboards/keychron/c1/plain) + +## Keyboard hardware model variants +- [Keychron C1 plain (No LEDs)](https://www.keychron.com/products/keychron-c1-wired-mechanical-keyboard?variant=39767302078553) +and +- [Keychron C1 white (White LEDs)](https://www.keychron.com/products/keychron-c1-wired-mechanical-keyboard?variant=32321246953561) +use the same board. +- [Keychron C1 RGB (RGB LEDs)](https://www.keychron.com/products/keychron-c1-wired-mechanical-keyboard?variant=32321247051865) +uses a different board + +This tutorial / collection of info applies to Keychron C1 plain + +## Building QMK firmware + +The correct [Sonix QMK](https://sonixqmk.github.io/SonixDocs/) +branch to use for this is +[sn32_master_stable](https://github.com/SonixQMK/qmk_firmware/tree/sn32_master) +source: Found a comment on the discord server, generally digging through the +[discord server](https://discord.gg/8XqzfBknfC) reveals the correct way of +doing something +```bash +qmk clone SonixQMK/qmk_firmware -b sn32_master_stable +``` + + +When making the firmware with the QMK command, +specify `via` as the layout +```bash +qmk compile --keyboard keychron/c1/plain --keymap via +``` + +## Build Sonix flasher + +It's important to use the +[Flashing tool](https://github.com/SonixQMK/sonix-flasher) to flash the +jumploader, which is needed on this chip, because it's possible to brick it, +by overwriting the bootloader, the jumploader allows a button combination (ESC) +to be held when plugging in the keyboard to boot into bootloader mode. +Bootloader mode is the mode that allows flashing new software to the chip. + +To build on modern systems, update requirements.txt QT version as per the +instructions [here](https://github.com/cederlys/svive-qmk#flashing) +(I do this with sed in the following code snippet) + +This was tested on Arch 2023-09-21 with the following package versions: + + - [python36](https://aur.archlinux.org/packages/python36) 3.6.15-5 + - [qt5-base](https://archlinux.org/packages/extra/x86_64/qt5-base/) 5.15.10+kde+r155-1 + - [python-pyqt5](https://archlinux.org/packages/extra/x86_64/python-pyqt5) 5.15.9-2 + +```bash +# Install python 3.6 +yay -Sy python36 + +# Don't save the software when rebooting the computer +cd /tmp/ + +# Download release 0.2.5 +wget https://github.com/SonixQMK/sonix-flasher/archive/refs/tags/v0.2.5.zip + +# Extract release +unzip v0.2.5.zip +cd sonix-flasher-0.2.5/ + +# Install these python package versions for this project only +python3.6 -m venv venv +source venv/bin/activate + +# This was needed, else it threw an error +pip3 install --upgrade pip +pip install wheel + +# Use a more modern version of the QT package, +# that's compatible with the version of QT in the repos +sed -i 's/hidapi==0.9.0.post2/hidapi==0.14.0/' requirements.txt +pip install -r requirements.txt + +# Run the program +python src/main/python/main.py +``` + +## VIA +To use via it needs the json keyboard definition loaded + +## Resources +- [C1 White PCB info](https://github.com/IsaacDynamo/keychron_c1_white_info) diff --git a/QMK firmware keychron c1/main.jpg b/QMK firmware keychron c1/main.jpg new file mode 100644 index 0000000..913f725 Binary files /dev/null and b/QMK firmware keychron c1/main.jpg differ diff --git a/Raspberry Pi cooling/Thumbnail.jpg b/Raspberry Pi cooling/Thumbnail.jpg new file mode 100644 index 0000000..c1aa439 Binary files /dev/null and b/Raspberry Pi cooling/Thumbnail.jpg differ diff --git a/Raspberry Pi cooling/case.jpg b/Raspberry Pi cooling/case.jpg new file mode 100644 index 0000000..ac00f48 Binary files /dev/null and b/Raspberry Pi cooling/case.jpg differ diff --git a/Raspberry Pi cooling/graph.png b/Raspberry Pi cooling/graph.png new file mode 100644 index 0000000..8efbf4c Binary files /dev/null and b/Raspberry Pi cooling/graph.png differ diff --git a/Raspberry Pi cooling/index.md b/Raspberry Pi cooling/index.md new file mode 100644 index 0000000..bc2b388 --- /dev/null +++ b/Raspberry Pi cooling/index.md @@ -0,0 +1,12 @@ +--- +description: "Comparison of combos of stock, fan and heatsink" +created: 2022-11-10 +--- + +![Main](main.jpg) + +3D printed raspberry pi case with an undervolted fan, and heatsinks. + +![Main](case.jpg) +![Main](graph.png) + diff --git a/Raspberry Pi cooling/main.jpg b/Raspberry Pi cooling/main.jpg new file mode 100644 index 0000000..c93bdae Binary files /dev/null and b/Raspberry Pi cooling/main.jpg differ diff --git a/Seven segment display/CAD/Box/7 segment display box lid.stl b/Seven segment display/CAD/Box/7 segment display box lid.stl new file mode 100644 index 0000000..7197f88 Binary files /dev/null and b/Seven segment display/CAD/Box/7 segment display box lid.stl differ diff --git a/Seven segment display/CAD/Box/7 segment display box.FCStd b/Seven segment display/CAD/Box/7 segment display box.FCStd new file mode 100644 index 0000000..5f14e25 Binary files /dev/null and b/Seven segment display/CAD/Box/7 segment display box.FCStd differ diff --git a/Seven segment display/CAD/Box/7 segment display box.stl b/Seven segment display/CAD/Box/7 segment display box.stl new file mode 100644 index 0000000..c4367a8 Binary files /dev/null and b/Seven segment display/CAD/Box/7 segment display box.stl differ diff --git a/Seven segment display/CAD/Digit/7 segment display bottom.stl b/Seven segment display/CAD/Digit/7 segment display bottom.stl new file mode 100644 index 0000000..9c414f1 Binary files /dev/null and b/Seven segment display/CAD/Digit/7 segment display bottom.stl differ diff --git a/Seven segment display/CAD/Digit/7 segment display top diffuser.stl b/Seven segment display/CAD/Digit/7 segment display top diffuser.stl new file mode 100644 index 0000000..9af4d3f Binary files /dev/null and b/Seven segment display/CAD/Digit/7 segment display top diffuser.stl differ diff --git a/Seven segment display/CAD/Digit/7 segment display.FCStd b/Seven segment display/CAD/Digit/7 segment display.FCStd new file mode 100644 index 0000000..a511504 Binary files /dev/null and b/Seven segment display/CAD/Digit/7 segment display.FCStd differ diff --git a/Seven segment display/Diffusion test.jpg b/Seven segment display/Diffusion test.jpg new file mode 100644 index 0000000..d1c8530 Binary files /dev/null and b/Seven segment display/Diffusion test.jpg differ diff --git a/Seven segment display/Main.jpg b/Seven segment display/Main.jpg new file mode 100644 index 0000000..b0fa1ed Binary files /dev/null and b/Seven segment display/Main.jpg differ diff --git a/Seven segment display/Minute fade.mp4 b/Seven segment display/Minute fade.mp4 new file mode 100644 index 0000000..986d78b Binary files /dev/null and b/Seven segment display/Minute fade.mp4 differ diff --git a/Seven segment display/Segments wired.jpg b/Seven segment display/Segments wired.jpg new file mode 100644 index 0000000..2e44b03 Binary files /dev/null and b/Seven segment display/Segments wired.jpg differ diff --git a/Seven segment display/Thumbnail.jpg b/Seven segment display/Thumbnail.jpg new file mode 100644 index 0000000..53493dc Binary files /dev/null and b/Seven segment display/Thumbnail.jpg differ diff --git a/Seven segment display/Timelapse.mp4 b/Seven segment display/Timelapse.mp4 new file mode 100644 index 0000000..8612d7d Binary files /dev/null and b/Seven segment display/Timelapse.mp4 differ diff --git a/Seven segment display/index.md b/Seven segment display/index.md new file mode 100644 index 0000000..84dbac4 --- /dev/null +++ b/Seven segment display/index.md @@ -0,0 +1,88 @@ +--- +description: "Big 3D printed RGB LED seven segment display clock" +created: 2023-11-14 +--- + +![7 Segment display](Main.jpg) + +## Links +- [Firmware source code - GIT](https://git.node5.net/firmware/seven-segment-display/) My custom C++ firmware check this out +- [youtube.com - Segmented Displays by Posy](https://www.youtube.com/watch?v=RTB5XhjbgZA) +- [Wikipedia Seven-segment display](https://en.wikipedia.org/wiki/Seven-segment_display) Contains standard segment naming +- [Segment design SVGs](http://www.michieldb.nl/other/segments/) + +## Parts +- [WS2811 Aliexpress White PCB Ordinary, 5m 60 IP30](https://www.aliexpress.com/item/2000165819.html) + +# Design / planing / idea phase +I got further interested in 7-segmented displays after a fellow hacker made a project with it, +and i wanted to explore my fondness of this delightful concept. +I decided to make a clock with it, but this is a concept that has been done before. +So i wanted some twist on the concept, and remembered this wonderful video: +[youtube.com - Segmented Displays by Posy](https://www.youtube.com/watch?v=RTB5XhjbgZA). +Hence i chose a design (Classic black) optimized for displaying numbers, but also one that still retained the boxy look. +Credit to the designer [Michiel de Boer(Posy)](http://www.michieldb.nl/). + +TODO Wire diagram + +## Diffusion + +![Diffusion test](Diffusion test.jpg) + +I tested both clear and white PLA with different layer heights by printing squares. Then i moved onto the distance. +I determeined 2 layers of white PLA at a distance of 1.5 cm. was a good compromise. + +## CAD + +### Files +- Project box + - [Box - FreeCAD](CAD/Box/7 segment display box.FCStd) + - [Box - STL](CAD/Box/7 segment display box.stl) + - [Lid - STL](CAD/Box/7 segment display box lid.stl) +- Digit + - [Digit - FreeCAD](CAD/Digit/7 segment display.FCStd) + - [Digit top diffuser - STL](CAD/Digit/7 segment display top diffuser.stl) + - [Digit bottom - STL](CAD/Digit/7 segment display bottom.stl) + +### Digits +I used FreeCAD to design a bottom and top piece based on the SVG files. + +### Box +I used [this GRABCAD model](https://grabcad.com/library/arduino-dc-barrel-jack-2-1mm-for-kicad-1) +License: [GRABCAD Non-Comercial Licenses](https://help.grabcad.com/article/246-how-can-models-be-used-and-shared) +TODO Add picture of DC barreljack + +## Wiring + +![Segments wired](Segments wired.jpg) + +## Firmware + +### Fading effect + + +I chose to add a slow fade effect as to not disturb ones peripheral vision. + +### Color change timelapse + + +The color changes hue overtime, but it does so slowly, as to not be noticeable. + +I've later changed this color hue to be derived from the time of day, +so it will always have the same color at the same time of day. +This change was easy to implement, due to my use of [HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) See +[this commit](https://git.node5.net/firmware/seven-segment-display/commit/?id=99da4c6eb43516c266fb33dc84d43d5d6f655464) + +Now your brain can become wired to think, wow the clock is red, it's pretty late, i should go home. + +### Hour change animation + +I've also added a rainbow vomit animation once an hour, that intentionally grabs your attention, +to make you more aware of the passing time. As it's easy to lose track of time. + diff --git a/Sharp memory display/Holding jig.jpg b/Sharp memory display/Holding jig.jpg new file mode 100644 index 0000000..4fa7355 Binary files /dev/null and b/Sharp memory display/Holding jig.jpg differ diff --git a/Sharp memory display/Thumbnail.jpg b/Sharp memory display/Thumbnail.jpg new file mode 100644 index 0000000..0f2ccac Binary files /dev/null and b/Sharp memory display/Thumbnail.jpg differ diff --git a/Sharp memory display/index.md b/Sharp memory display/index.md new file mode 100644 index 0000000..78f2173 --- /dev/null +++ b/Sharp memory display/index.md @@ -0,0 +1,43 @@ +--- +description: LS012B7DH02 +created: 2024-01-19 +--- + +![Holding jig](Holding jig.jpg) + +Collection of information regarding the sharp memory display `LS012B7DH02` +For memorization and referring back to. + +## Summarization of the datasheet information + +### Precautions + - Don't excessively bend the connector. + - If displaying a static image for a prologed time, refresh every 2 hours to avoid burn in? + - It's made of glass + - Clean with isopropyl alcohol + - Don't glue it + - UV / Sunlight exposure bad :/ but how bad? time will test this assertion + - Static electricity might cause pixels to not be shown, update frequently to reconcile LCD coagulates at low temperatures, room temperature is optional + - Place controller driver near LCD due to impedance + +### Specs + - View port 1.20” + - 240x240 pixels + - [TFT LCD](https://en.wikipedia.org/wiki/TFT_LCD) + - Dot pitch 0.127mm + - Size: 35.78 (W) × 36.53 (H) × 1.605 (D) + - Hardness: 3H + +### Pinout +Terminal | Symbol | I/O | Configurations | Function | Remark +-------- | ------ | ---- | -------------- | -------- | ------ +1 | SCLK | INPUT | NoPull | Serial clock signal | +2 | SI | INPUT | NoPull | Serial data input signal | +3 | SCS | INPUT | NoPull | Chip select signal ( Active of Hi ) | +4 | EXTCOMIN | INPUT | NoPull | External COM inversion signal input ( Square wave) | 【Note 4-2】 +5 | DISP | INPUT | NoPull | Display ON/OFF signal | 【Note 4-1】 +6 | VDDA | POWER | - | Power supply (Analog) | +7 | VDD | POWER | - | Power supply (Digital) | +8 | EXTMODE | INPUT | NoPull | Control mode of COM inversion is select terminal | 【Note 4-2】 +9 | VSS | GND | - | GND (Digital) | +10 | VSSA | GND | - | GND (Analog) | -- cgit 1.4.1