diff options
Diffstat (limited to 'misc')
65 files changed, 807 insertions, 0 deletions
diff --git a/misc/64x64 HUB 75 LED Matrix/Chip 1.webp b/misc/64x64 HUB 75 LED Matrix/Chip 1.webp Binary files differnew file mode 100644 index 0000000..8ae480e --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/Chip 1.webp diff --git a/misc/64x64 HUB 75 LED Matrix/Chip 2.webp b/misc/64x64 HUB 75 LED Matrix/Chip 2.webp Binary files differnew file mode 100644 index 0000000..fc38e70 --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/Chip 2.webp diff --git a/misc/64x64 HUB 75 LED Matrix/Chip 3.webp b/misc/64x64 HUB 75 LED Matrix/Chip 3.webp Binary files differnew file mode 100644 index 0000000..9609ecd --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/Chip 3.webp diff --git a/misc/64x64 HUB 75 LED Matrix/ESP32 S2 Mini.webp b/misc/64x64 HUB 75 LED Matrix/ESP32 S2 Mini.webp Binary files differnew file mode 100644 index 0000000..0901ba0 --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/ESP32 S2 Mini.webp diff --git a/misc/64x64 HUB 75 LED Matrix/ESP32-S2F_chip.webp b/misc/64x64 HUB 75 LED Matrix/ESP32-S2F_chip.webp Binary files differnew file mode 100644 index 0000000..7c87e6e --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/ESP32-S2F_chip.webp diff --git a/misc/64x64 HUB 75 LED Matrix/In left.webp b/misc/64x64 HUB 75 LED Matrix/In left.webp Binary files differnew file mode 100644 index 0000000..cae1de2 --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/In left.webp diff --git a/misc/64x64 HUB 75 LED Matrix/In right.webp b/misc/64x64 HUB 75 LED Matrix/In right.webp Binary files differnew file mode 100644 index 0000000..ee4f64e --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/In right.webp diff --git a/misc/64x64 HUB 75 LED Matrix/Main.webp b/misc/64x64 HUB 75 LED Matrix/Main.webp Binary files differnew file mode 100644 index 0000000..39e456a --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/Main.webp diff --git a/misc/64x64 HUB 75 LED Matrix/Thumbnail.webp b/misc/64x64 HUB 75 LED Matrix/Thumbnail.webp Binary files differnew file mode 100644 index 0000000..f55842c --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/Thumbnail.webp diff --git a/misc/64x64 HUB 75 LED Matrix/esp32_display_pcb_bottom.webp b/misc/64x64 HUB 75 LED Matrix/esp32_display_pcb_bottom.webp Binary files differnew file mode 100644 index 0000000..a0a20e5 --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/esp32_display_pcb_bottom.webp diff --git a/misc/64x64 HUB 75 LED Matrix/esp32_display_pcb_top_plugged_in.webp b/misc/64x64 HUB 75 LED Matrix/esp32_display_pcb_top_plugged_in.webp Binary files differnew file mode 100644 index 0000000..bfdecbd --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/esp32_display_pcb_top_plugged_in.webp diff --git a/misc/64x64 HUB 75 LED Matrix/index.md b/misc/64x64 HUB 75 LED Matrix/index.md new file mode 100644 index 0000000..36da87e --- /dev/null +++ b/misc/64x64 HUB 75 LED Matrix/index.md @@ -0,0 +1,138 @@ +--- +description: "Me documenting my 64x64 LED matrix display" +created: 2025-03-11 +--- + + + +[TOC] + +## Display documentation + +### From Aliexpress seller + +[64x64 Indoor RGB HD P3 Led Module Video Wall High Quality P2.5 P4 P5 P6 P7.62 P8 P10 Panel Full Color Display - Aliexpress.com](https://www.aliexpress.com/item/32757647402.html) + +Key | Value +------------------------- | ----------------------------------- +Item | P3 +Chip | Epstar +Chip size | Red 9 mil, Green 12. Blue 12mil +Light type | SMD2121 +Pixel Pitch | 3mm +Module Size | 192mmX192mm +Module Resolution | 64 X 64 (dots) +Density of pixel | 111111dots/m2 +Pixel configuration | 1R1G1B +Red wavelength | 625±2nm +Green wavelength | 525±2nm +Blue wavelength | 470±2nm +Colors | 16777216 +Best viewing distance | ≥2m +viewing angle | 120°/90° +Maximum power consumption | 20W +Brightness | 1500cd/m2 +Gray scale | 14bits per color +Color temperature | 6500k +Control method | Synchronization or Asynchronization +Driving method | 1/32 scanning +Frame frequency | 60Hz +Refresh frequency | ≥600Hz +Working Voltage | DC5V +IP grade | IP54 +MTBF | More than 8000hours +Life Span | 80,000hours + + +### Chips + +1. CHIPONE `ICN74HC245TS` `A14276CA` +2. `MBI5124GP` `A3YN72CTHB` +3. `RUC7258` `8W913170` + + + + + +### Display IN connector + + + + +--- + +## Micro controller wiring + +I use an [ESP32 WEMOS LOLIN S2 Mini](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html) +which has an ESP32-S2F chip on it + + + +Display in wiring + +``` + ┌────────┐ +R1 ┤ 1 40 ├ G1 +B1 ┤ 2 38 ├ N +R2 ┤ 4 36 ├ G2 +B2 ┤ 6 34 ├ LE +LA ┤ 8 21 ├ LB +LC ┤ 10 17 ├ LD +CLK ┤ 13 15 ├ LAT +OE ┤ 14 ⏚ ├ GND + └────────┘ +``` + + + +--- + +## PCB Connector board + +The screen glitches unless you have a solid connection. + +This PCB is a straight connection, except the gnd which is flipped with the adjacent pin. + + + + +Half the display glitched out, untill i added a 100pf capacitor between `lat pin` and `gnd` +as per: +<https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA/issues/130#issuecomment-867116753> + +--- + +## Software + +<https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA> + +```c++ +#define R1_PIN 1 +#define G1_PIN 40 +#define B1_PIN 2 +#define R2_PIN 4 +#define G2_PIN 36 +#define B2_PIN 6 +#define A_PIN 8 +#define B_PIN 21 +#define C_PIN 10 +#define D_PIN 17 +#define E_PIN 34 // required for 1/32 scan panels, like 64x64px. Any available pin would do, i.e. IO32 +#define LAT_PIN 15 +#define OE_PIN 14 +#define CLK_PIN 13 + +HUB75_I2S_CFG::i2s_pins _pins={R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN}; +HUB75_I2S_CFG mxconfig( + 64, // Module width + 64, // Module height + 1, // chain length + _pins, // pin mapping +); +dma_display = new MatrixPanel_I2S_DMA(mxconfig); +``` + +--- + +I'm still experiencing some glitching, especially on the lower half of the display, +albeit a better PSU made the problem go away for static sketches, plasma still struggles. diff --git a/misc/Blog meta.md b/misc/Blog meta.md new file mode 100644 index 0000000..2893758 --- /dev/null +++ b/misc/Blog meta.md @@ -0,0 +1,37 @@ +--- +description: Information about this blog itself +created: 2023-12-21 +--- + +This blog is running on a self made backend: +[flask backend git repo](https://git.node5.net/blog/blog.node5.net_flask/about/) + +The article source markdown and other files are tracked in a separate repo: +[article git repo](https://git.node5.net/blog/articles/) + +To see the history for a given article, click the modified date to go to the git repo log example for this article: +[Blog meta - git repo - history](https://git.node5.net/blog/articles/log/Blog%20meta.md) + +This blog used to be a statically generated site derived from markdown files, first using +[jekyll](https://jekyllrb.com/). +Then later using: +[self made blog generator git repo](https://git.node5.net/blog/blog-generator/about) + +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 + +The blog is available as a tor hidden service visit [tor.node5.net](https://node5.net) or +[node5net2j2kvsepjjlbnovz6wwpcclur3ecuadmo36cikjriqxaucid.onion](http://node5net2j2kvsepjjlbnovz6wwpcclur3ecuadmo36cikjriqxaucid.onion) +directly + +### Attributions: +- Font: [github.com - RobotoMono](https://github.com/googlefonts/RobotoMono) +- Dev icons: [vorillaz.github.io - devicons](vorillaz.github.io/devicons/)
\ No newline at end of file diff --git a/misc/Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg b/misc/Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg Binary files differnew file mode 100644 index 0000000..31cf7f8 --- /dev/null +++ b/misc/Casio watch NFC rainbow film mod/Casio rainbowfilm nfc mod.jpg diff --git a/misc/Casio watch NFC rainbow film mod/Inside.jpg b/misc/Casio watch NFC rainbow film mod/Inside.jpg Binary files differnew file mode 100644 index 0000000..5871647 --- /dev/null +++ b/misc/Casio watch NFC rainbow film mod/Inside.jpg diff --git a/misc/Casio watch NFC rainbow film mod/Thumbnail.jpg b/misc/Casio watch NFC rainbow film mod/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..5def80b --- /dev/null +++ b/misc/Casio watch NFC rainbow film mod/Thumbnail.jpg diff --git a/misc/Casio watch NFC rainbow film mod/W59 modded front.png b/misc/Casio watch NFC rainbow film mod/W59 modded front.png Binary files differnew file mode 100644 index 0000000..6672e22 --- /dev/null +++ b/misc/Casio watch NFC rainbow film mod/W59 modded front.png diff --git a/misc/Casio watch NFC rainbow film mod/index.md b/misc/Casio watch NFC rainbow film mod/index.md new file mode 100644 index 0000000..59e0675 --- /dev/null +++ b/misc/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 +--- + + + +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) + + + diff --git a/misc/Coded portable games/Thumbnail.jpg b/misc/Coded portable games/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..c114a8c --- /dev/null +++ b/misc/Coded portable games/Thumbnail.jpg diff --git a/misc/Coded portable games/Watchy 2048 BH 2022 badge tetris.jpg b/misc/Coded portable games/Watchy 2048 BH 2022 badge tetris.jpg Binary files differnew file mode 100644 index 0000000..e140d29 --- /dev/null +++ b/misc/Coded portable games/Watchy 2048 BH 2022 badge tetris.jpg diff --git a/misc/Coded portable games/index.md b/misc/Coded portable games/index.md new file mode 100644 index 0000000..f619848 --- /dev/null +++ b/misc/Coded portable games/index.md @@ -0,0 +1,14 @@ +--- +description: "Coded 2048 for Watchy, and tetris for BornHack badge 2022" +created: 2024-04-09 +--- + + + +I was quite fascinated with these devices and decided to do a weekend project for each of them (2 weekends total) + +Checkout the awesome [Bornhack 2022 badge](https://github.com/bornhack/badge2022) + +and the awesome E-Paper watch: [Watchy](https://watchy.sqfmi.com/) + +[Tetris code](https://git.node5.net/firmware/tetris-bornhack-badge-2022/tree/code.py)
\ No newline at end of file diff --git a/misc/Cyberdeck/Thumbnail.jpg b/misc/Cyberdeck/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..0bc55a6 --- /dev/null +++ b/misc/Cyberdeck/Thumbnail.jpg diff --git a/misc/Cyberdeck/back.jpg b/misc/Cyberdeck/back.jpg Binary files differnew file mode 100644 index 0000000..ad0f554 --- /dev/null +++ b/misc/Cyberdeck/back.jpg diff --git a/misc/Cyberdeck/index.md b/misc/Cyberdeck/index.md new file mode 100644 index 0000000..5e0a09a --- /dev/null +++ b/misc/Cyberdeck/index.md @@ -0,0 +1,50 @@ +--- +description: "Computer" +created: 2023-03-08 +--- + +[TOC] + +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. + + + + +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/misc/Cyberdeck/main.jpg b/misc/Cyberdeck/main.jpg Binary files differnew file mode 100644 index 0000000..0dead12 --- /dev/null +++ b/misc/Cyberdeck/main.jpg diff --git a/misc/Embroidery/Alderaan.jpg b/misc/Embroidery/Alderaan.jpg Binary files differnew file mode 100644 index 0000000..7d3efef --- /dev/null +++ b/misc/Embroidery/Alderaan.jpg diff --git a/misc/Embroidery/Copenhagen local trains.jpg b/misc/Embroidery/Copenhagen local trains.jpg Binary files differnew file mode 100644 index 0000000..aa9c6c6 --- /dev/null +++ b/misc/Embroidery/Copenhagen local trains.jpg diff --git a/misc/Embroidery/Death star Alderaan.jpg b/misc/Embroidery/Death star Alderaan.jpg Binary files differnew file mode 100644 index 0000000..873aaf1 --- /dev/null +++ b/misc/Embroidery/Death star Alderaan.jpg diff --git a/misc/Embroidery/Death star sketch.jpg b/misc/Embroidery/Death star sketch.jpg Binary files differnew file mode 100644 index 0000000..9183ff5 --- /dev/null +++ b/misc/Embroidery/Death star sketch.jpg diff --git a/misc/Embroidery/Skeleton bongo cat BMTH.jpg b/misc/Embroidery/Skeleton bongo cat BMTH.jpg Binary files differnew file mode 100644 index 0000000..0dab59d --- /dev/null +++ b/misc/Embroidery/Skeleton bongo cat BMTH.jpg diff --git a/misc/Embroidery/Thumbnail.jpg b/misc/Embroidery/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..64b2e6a --- /dev/null +++ b/misc/Embroidery/Thumbnail.jpg diff --git a/misc/Embroidery/index.md b/misc/Embroidery/index.md new file mode 100644 index 0000000..c587b3d --- /dev/null +++ b/misc/Embroidery/index.md @@ -0,0 +1,15 @@ +--- +description: Embroidered T-Shirts +created: 2024-02-01 +--- + + + + + + + + + +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/misc/Envelope (mathematics) generator/Envelope.png b/misc/Envelope (mathematics) generator/Envelope.png Binary files differnew file mode 100644 index 0000000..f7cf72c --- /dev/null +++ b/misc/Envelope (mathematics) generator/Envelope.png diff --git a/misc/Envelope (mathematics) generator/Thumbnail.png b/misc/Envelope (mathematics) generator/Thumbnail.png Binary files differnew file mode 100644 index 0000000..01eb49e --- /dev/null +++ b/misc/Envelope (mathematics) generator/Thumbnail.png diff --git a/misc/Envelope (mathematics) generator/index.md b/misc/Envelope (mathematics) generator/index.md new file mode 100644 index 0000000..423d750 --- /dev/null +++ b/misc/Envelope (mathematics) generator/index.md @@ -0,0 +1,35 @@ +--- +description: Generating geometric line art +created: 2024-05-12 +--- + + + +Needed a clean picture of [Envelope (mathematics)](https://en.wikipedia.org/wiki/Envelope_%28mathematics%29), +for PCB silk screen art. +I used [Python Pillow](https://python-pillow.org/) +```sh +pip install pillow~=10.3 +``` + +```python +from PIL import Image, ImageDraw + +# https://en.wikipedia.org/wiki/Envelope_%28mathematics%29 + +dim = 200 # Image dimensions (pixels) +skip = 10 # Only draw a line every X pixels +width = 1 # Line width +color = "white" + +with Image.new(mode = "RGB", size = (dim, dim)) as im: # mode="RGBA" for transparent background + draw = ImageDraw.Draw(im) + + for i in range(dim): + if i % skip: + continue + rev = dim - i + draw.line([(0, i), (i, dim)], fill=color, width=width) + + im.show() # im.save("/tmp/Envelope.png") +``` diff --git a/misc/How to - Custom handwired keyboard.md b/misc/How to - Custom handwired keyboard.md new file mode 100644 index 0000000..67d4f9e --- /dev/null +++ b/misc/How to - Custom handwired keyboard.md @@ -0,0 +1,116 @@ +--- +description: Process of how to create a custom designed hardwired keyboard +created: 2024-03-01 +--- + +[TOC] + +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 diff --git a/misc/LCD writing tablet functional principal/Tablet screen filled.png b/misc/LCD writing tablet functional principal/Tablet screen filled.png Binary files differnew file mode 100644 index 0000000..2b5f607 --- /dev/null +++ b/misc/LCD writing tablet functional principal/Tablet screen filled.png diff --git a/misc/LCD writing tablet functional principal/Thumbnail.png b/misc/LCD writing tablet functional principal/Thumbnail.png Binary files differnew file mode 100644 index 0000000..3a54e2e --- /dev/null +++ b/misc/LCD writing tablet functional principal/Thumbnail.png diff --git a/misc/LCD writing tablet functional principal/index.md b/misc/LCD writing tablet functional principal/index.md new file mode 100644 index 0000000..bccac9f --- /dev/null +++ b/misc/LCD writing tablet functional principal/index.md @@ -0,0 +1,46 @@ +--- +description: "Cholesteric liquid-crystal drawing tablet" +created: 2024-05-19 +--- + +[TOC] + + + +## Prelude + +I recently stumbled across drawing tablets seemingly works by the means of magic, +the search term is: `LCD writing tablet` +I have a thing for daylight viewable screens, so the allure was irresistible for me. + +After one quick trip to the local hardware store, and subsequently the local hacker space, +i was able to examine the technology first hand, and for low monetary cost too, i might add. + +## Properties + +The properties are as follows: + +- Daylight viewable +- Passive working principle (only requires power to clear the display) +- Pressure amount sensitivity (light pressure = thin line, hard pressure = thick line) + +## Layers + +The tablet consists of a sandwich of 3 layers: + +- A dark background +- A layer of cholesteric liquid-crystals +- A piece of translucent plastic + +## Functional principal + +The means of function of this device, is merely a property of how the cholesteric liquid-crystal work: + +[*"crystals flow at different rates, depending on the direction of pressure being applied"*](https://new.nsf.gov/news/how-liquid-crystal-displays-work-ewriter#:~:text=crystals%20flow%20at%20different%20rates%2C%20depending%20on%20the%20direction%20of%20pressure%20being%20applied) + +[*"anisotropic flow causes the molecules to order themselves to reflect light in those places where a stylus touches the plastic sheet."*](https://new.nsf.gov/news/how-liquid-crystal-displays-work-ewriter#:~:text=anisotropic%20flow%20causes%20the%20molecules%20to%20order%20themselves%20to%20reflect%20light%20in%20those%20places%20where%20a%20stylus%20touches%20the%20plastic%20sheet.) + +## Sources: +1. [How Liquid Crystal Displays Work in an eWriter - new.nsf.gov](https://new.nsf.gov/news/how-liquid-crystal-displays-work-ewriter#:~:text=The%20liquid%20crystals%20are%20surrounded,that%20they%20are%20less%20reflective.) +2. [Cholesteric liquid crystal - wikipedia.org](https://en.wikipedia.org/wiki/Cholesteric_liquid_crystal) +3. [Anisotropy - wikipedia.org](https://en.wikipedia.org/wiki/Anisotropy) diff --git a/misc/Oscilloscope/Blocks 3D B.mp4 b/misc/Oscilloscope/Blocks 3D B.mp4 Binary files differnew file mode 100644 index 0000000..70a3399 --- /dev/null +++ b/misc/Oscilloscope/Blocks 3D B.mp4 diff --git a/misc/Oscilloscope/Full frame display on.png b/misc/Oscilloscope/Full frame display on.png Binary files differnew file mode 100644 index 0000000..acba0bb --- /dev/null +++ b/misc/Oscilloscope/Full frame display on.png diff --git a/misc/Oscilloscope/Green light.png b/misc/Oscilloscope/Green light.png Binary files differnew file mode 100644 index 0000000..f4c2eac --- /dev/null +++ b/misc/Oscilloscope/Green light.png diff --git a/misc/Oscilloscope/Hurder Mouse (drift face version).mp4 b/misc/Oscilloscope/Hurder Mouse (drift face version).mp4 Binary files differnew file mode 100644 index 0000000..a6d1898 --- /dev/null +++ b/misc/Oscilloscope/Hurder Mouse (drift face version).mp4 diff --git a/misc/Oscilloscope/Thumbnail.png b/misc/Oscilloscope/Thumbnail.png Binary files differnew file mode 100644 index 0000000..15a14bd --- /dev/null +++ b/misc/Oscilloscope/Thumbnail.png diff --git a/misc/Oscilloscope/Warm light streams diverging.png b/misc/Oscilloscope/Warm light streams diverging.png Binary files differnew file mode 100644 index 0000000..04770af --- /dev/null +++ b/misc/Oscilloscope/Warm light streams diverging.png diff --git a/misc/Oscilloscope/index.md b/misc/Oscilloscope/index.md new file mode 100644 index 0000000..0778b52 --- /dev/null +++ b/misc/Oscilloscope/index.md @@ -0,0 +1,41 @@ +--- +description: Old analog oscilloscope displaying 2D images through music +created: 2024-03-11 +--- + + + +I bought an old oscilloscope some time ago, I love the monochrome analogue display, and the thoughtful dedicated input +methods. + +It does X-Y plotting, allowing it to display oscilloscope music. + +### Video showoff +**FULL DISCLOSURE** i did not create this music. If you think this is cool, go support the guys who made it, +by buying their tracks or software. +Checkout the awesome project at: +[oscilloscopemusic.com](https://oscilloscopemusic.com/) and +[youtube.com - Oscilloscope Music - (Drawing with Sound) - Smarter Every Day 224](https://www.youtube.com/watch?v=4gibcRfp4zA) +to find out more. + +I'm using the audio in a non-commercial use, in appliance with the +[Attribution-NonCommercial-ShareAlike 3.0 Unported](https://creativecommons.org/licenses/by-nc-sa/3.0/) license on their +[bandcamp releases](https://jerobeamfenderson.bandcamp.com/) + +### [Blocks 3D B](https://jerobeamfenderson.bandcamp.com/track/blocks-3d-b) + +<video controls style="width: 100%"> + <source src="Blocks 3D B.mp4" type="video/mp4"> + Your browser does not support the video tag. +</video> + +--- + +### [Hurder Mouse (drift face version)](https://jerobeamfenderson.bandcamp.com/track/hurder-mouse-drift-face-version-2) +<video controls style="width: 100%"> + <source src="Hurder Mouse (drift face version).mp4" type="video/mp4"> + Your browser does not support the video tag. +</video> + + + diff --git a/misc/Python logging/Thumbnail.webp b/misc/Python logging/Thumbnail.webp Binary files differnew file mode 100644 index 0000000..04ee667 --- /dev/null +++ b/misc/Python logging/Thumbnail.webp diff --git a/misc/Python logging/index.md b/misc/Python logging/index.md new file mode 100644 index 0000000..867dc20 --- /dev/null +++ b/misc/Python logging/index.md @@ -0,0 +1,114 @@ +--- +created: 2024-03-17 +description: Python logging with ✨pretty colors🌸 +--- + +## Logging > print +Logging is useful, because all python code can use the same standard, allowing you to centrally control: + +- Which messages you wish to see + - Every debug message, for local development + - Disable debug messages, by changing 1 line e.g. for end user deployment +- How to format them + - Do you wish to see which module and line of code this message originated from +- Where they should end up + - Printed to [STDOUT](https://en.wikipedia.org/wiki/Standard_streams) (terminal) + - A log file + - A log server + - Maybe a notification should be triggered on CRITICAL errors + +> A python [*"module"*](https://docs.python.org/3/tutorial/modules.html) is simply just the name for a .py file. +> e.g. the file `database_handler.py` is a module called `database_handler` + +```py +import logging + + +class ColorFormatter(logging.Formatter): + grey = "\x1b[90;20m" + cyan = "\x1b[96;20m" + yellow = "\x1b[33;20m" + red = "\x1b[31;20m" + bold_red = "\x1b[31;1m" + reset = "\x1b[0m" + format = "%(asctime)s,%(msecs)03d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s" + + FORMATS = { + logging.DEBUG: grey + format + reset, + logging.INFO: cyan + format + reset, + logging.WARNING: yellow + format + reset, + logging.ERROR: red + format + reset, + logging.CRITICAL: bold_red + format + reset + } + + def format(self, record): + log_fmt = self.FORMATS.get(record.levelno) + formatter = logging.Formatter(log_fmt) + return formatter.format(record) + + +logger = logging.getLogger(__name__) # Instantiate a logger to be used in this module + +# Display every message Change this to INFO to see INFO and above (filter out DEBUG) +# See: https://docs.python.org/3/howto/logging.html#logging-levels +logger.root.setLevel(logging.DEBUG) + +stream_handler = logging.StreamHandler() # This catches and handles log messages on the root handler +stream_handler.setFormatter(ColorFormatter()) +logger.root.addHandler(stream_handler) + +logger.debug("debug message") +logger.info("info message") +logger.warning("warning message") +logger.error("error message") +logger.critical("critical message") +``` + +> Code snippet is modified, but based on: +> [stackoverflow.com - How can I color Python logging output?](https://stackoverflow.com/questions/384076/how-can-i-color-python-logging-output#answer-56944256). +> Used and credited as per [stackoverflow.com - CC BY-SA 4.0 content license](https://stackoverflow.com/help/licensing) + +<pre> +$ python /tmp/1.py +<span style="color:grey">2024-03-17 14:09:06,411,411 DEBUG [1.py:37] debug message</span> +<span style="color:var(--main-color)">2024-03-17 14:09:06,411,411 INFO [1.py:38] info message</span> +<span style="color:yellow">2024-03-17 14:09:06,411,411 WARNING [1.py:39] warning message</span> +<span style="color:red">2024-03-17 14:09:06,411,411 ERROR [1.py:40] error message</span> +<span style="font-weight: bold; color:red">2024-03-17 14:09:06,411,411 CRITICAL [1.py:41] critical message</span> +</pre> + + +In subsequent modules, do the following: +```py +import logging + +logger = logging.getLogger(__name__) # Set the logger name, to the name of the module + +logger.debug("debug message") +logger.info("info message") +logger.warning("warning message") +logger.error("error message") +logger.critical("critical message") +``` + +> Wish to change the colors? +> Color codes can be found here: [wikipedia.org - ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit) + +Okay, but why do we need to do it this way? + +Because logging is hieratical, these 2 loggers will be siblings under the root logger (see following tree structure). +Therefore we set a handler on the root logger which ensures all logging will hit our formatting code. + +<pre> +$ root +├── <span class="devicons devicons-python"></span> main +└── <span class="devicons devicons-python"></span> module_a +</pre> + +You can set a breakpoint and inspect `logger.parent` to see this structure: +```pycon +>>> logger.parent +<RootLogger root (DEBUG)> +``` + +Read more: [docs.python.org - Logging HOWTO](https://docs.python.org/3/howto/logging.html) diff --git a/misc/QMK firmware keychron c1/Firmware colemak switch.png b/misc/QMK firmware keychron c1/Firmware colemak switch.png Binary files differnew file mode 100644 index 0000000..f025f96 --- /dev/null +++ b/misc/QMK firmware keychron c1/Firmware colemak switch.png diff --git a/misc/QMK firmware keychron c1/Thumbnail.jpg b/misc/QMK firmware keychron c1/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..29d7d4d --- /dev/null +++ b/misc/QMK firmware keychron c1/Thumbnail.jpg diff --git a/misc/QMK firmware keychron c1/index.md b/misc/QMK firmware keychron c1/index.md new file mode 100644 index 0000000..b03a27d --- /dev/null +++ b/misc/QMK firmware keychron c1/index.md @@ -0,0 +1,111 @@ +--- +description: "Flashing Sonix QMK on Keychron C1 plain mechanical keyboard" +created: 2023-10-21 +--- + + + +[TOC] + +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) + +--- + +## Expanding functionality + +What have i used this newfound customizability for? + +Mainly repurposing the os switcher has been into a layout switcher, +to allow switching between Qwerty and Colemak in hardware, which comes in handy when using it on someone elses computer. + + + +Also i changed the right alt to the menu button (acts like a right click) + +You can find the firmware source code here: [sonix-qmk - git.node5.net](https://git.node5.net/node5/sonix-qmk/src/branch/sn32_master_stable/keyboards/keychron/c1/plain/keymaps/default/keymap.c) + diff --git a/misc/QMK firmware keychron c1/main.jpg b/misc/QMK firmware keychron c1/main.jpg Binary files differnew file mode 100644 index 0000000..913f725 --- /dev/null +++ b/misc/QMK firmware keychron c1/main.jpg diff --git a/misc/Raspberry Pi cooling/Thumbnail.jpg b/misc/Raspberry Pi cooling/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..c1aa439 --- /dev/null +++ b/misc/Raspberry Pi cooling/Thumbnail.jpg diff --git a/misc/Raspberry Pi cooling/case.jpg b/misc/Raspberry Pi cooling/case.jpg Binary files differnew file mode 100644 index 0000000..ac00f48 --- /dev/null +++ b/misc/Raspberry Pi cooling/case.jpg diff --git a/misc/Raspberry Pi cooling/graph.png b/misc/Raspberry Pi cooling/graph.png Binary files differnew file mode 100644 index 0000000..8efbf4c --- /dev/null +++ b/misc/Raspberry Pi cooling/graph.png diff --git a/misc/Raspberry Pi cooling/index.md b/misc/Raspberry Pi cooling/index.md new file mode 100644 index 0000000..bc2b388 --- /dev/null +++ b/misc/Raspberry Pi cooling/index.md @@ -0,0 +1,12 @@ +--- +description: "Comparison of combos of stock, fan and heatsink" +created: 2022-11-10 +--- + + + +3D printed raspberry pi case with an undervolted fan, and heatsinks. + + + + diff --git a/misc/Raspberry Pi cooling/main.jpg b/misc/Raspberry Pi cooling/main.jpg Binary files differnew file mode 100644 index 0000000..c93bdae --- /dev/null +++ b/misc/Raspberry Pi cooling/main.jpg diff --git a/misc/Sharp memory display/Holding jig.jpg b/misc/Sharp memory display/Holding jig.jpg Binary files differnew file mode 100644 index 0000000..4fa7355 --- /dev/null +++ b/misc/Sharp memory display/Holding jig.jpg diff --git a/misc/Sharp memory display/Thumbnail.jpg b/misc/Sharp memory display/Thumbnail.jpg Binary files differnew file mode 100644 index 0000000..0f2ccac --- /dev/null +++ b/misc/Sharp memory display/Thumbnail.jpg diff --git a/misc/Sharp memory display/index.md b/misc/Sharp memory display/index.md new file mode 100644 index 0000000..6a6a5de --- /dev/null +++ b/misc/Sharp memory display/index.md @@ -0,0 +1,43 @@ +--- +description: LS012B7DH02 +created: 2024-01-19 +--- + + + +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) | diff --git a/misc/lightsabers/Thumbnail_.webp b/misc/lightsabers/Thumbnail_.webp Binary files differnew file mode 100644 index 0000000..3b0e026 --- /dev/null +++ b/misc/lightsabers/Thumbnail_.webp diff --git a/misc/lightsabers/emitter.webp b/misc/lightsabers/emitter.webp Binary files differnew file mode 100644 index 0000000..c89b897 --- /dev/null +++ b/misc/lightsabers/emitter.webp diff --git a/misc/lightsabers/index.md b/misc/lightsabers/index.md new file mode 100644 index 0000000..68f4ada --- /dev/null +++ b/misc/lightsabers/index.md @@ -0,0 +1,8 @@ +--- +description: "3D printed Star wars props" +created: 2025-05-25 +--- + + + + diff --git a/misc/lightsabers/lightsabers.webp b/misc/lightsabers/lightsabers.webp Binary files differnew file mode 100644 index 0000000..0841f12 --- /dev/null +++ b/misc/lightsabers/lightsabers.webp diff --git a/misc/lightsabers/rust.webp b/misc/lightsabers/rust.webp Binary files differnew file mode 100644 index 0000000..c62b52f --- /dev/null +++ b/misc/lightsabers/rust.webp |
