├── .gitignore ├── LICENSE ├── README.md ├── fusion └── Banana Split 1.1.f3d ├── kicad └── banana_split.zip ├── pcbs └── banana_split.zip ├── pdfs ├── BananaSplit_MechanicalDrawing 1.1.pdf └── BananaSplit_PCBDrawing 1.1.pdf └── stls ├── battery_clip.stl ├── bottom_left.stl ├── bottom_right.stl ├── fruit_slice.stl ├── top_left.stl └── top_right.stl /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Dan Bostian 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Banana Split 2 | 3 | ## Intro 4 | Everyone’s favorite potassium packed, slightly radioactive, 105 calorie macropad is back! This time in a split wireless version. 3d print your own today! 5 | 6 | ![imgur](https://i.imgur.com/SoshcnY.jpg) 7 | ![imgur](https://i.imgur.com/ID31t6S.jpg) 8 | 9 | ## FAQ 10 | **Q) [Again](https://github.com/dbostian/banana)?** 11 | 12 | A) The opportunity was ripe for the taking. 13 | 14 | **Q) How will I know if a split macropad is right for me?** 15 | 16 | A) You’ll peel it in your bones. 17 | 18 | **Q) Should I lube my switches?** 19 | 20 | A) Go for it, but try not to slip! 21 | 22 | **Q) Is this ortholinear?** 23 | 24 | A) I would argue it is the most ortholinear of all the fruit. 25 | 26 | **Q) How do I introduce myself in polite banana company?** 27 | 28 | A) “Yellow, everyone.” 29 | 30 | **Q) What’s your favorite programming language?** 31 | 32 | A) Not sure if I have a favorite, but Javascript is `('b' + 'a' + + 'a' + 'a' + 's')` 33 | 34 | **Q) This FAQ is causing me physical pain.** 35 | 36 | A) You can plantain all you want, but the puns will not stop. 37 | 38 | 39 | ## Thanks 40 | A big thank you to [Keebio](https://keeb.io/) for releasing an [awesome set of KiCad libraries](https://github.com/keebio) for keyboard components. This saved me a ton of work. 41 | 42 | ## Tools + Materials 43 | ![imgur](https://i.imgur.com/d2F4gDC.jpg) 44 | 45 | ### Printed Parts 46 | - [ ] 1x top_left.stl - [https://github.com/dbostian/bananasplit/blob/main/stls/top_left.stl](https://github.com/dbostian/bananasplit/blob/main/stls/top_left.stl) 47 | - [ ] 1x top_right.stl - [https://github.com/dbostian/bananasplit/blob/main/stls/top_right.stl](https://github.com/dbostian/bananasplit/blob/main/stls/top_right.stl) 48 | - [ ] 1x bottom_left.stl - [https://github.com/dbostian/bananasplit/blob/main/stls/bottom_left.stl](https://github.com/dbostian/bananasplit/blob/main/stls/bottom_left.stl) 49 | - [ ] 1x bottom_right.stl - [https://github.com/dbostian/bananasplit/blob/main/stls/bottom_right.stl](https://github.com/dbostian/bananasplit/blob/main/stls/bottom_right.stl) 50 | - [ ] 2x fruit_slice.stl - [https://github.com/dbostian/bananasplit/blob/main/stls/fruit_slice.stl](https://github.com/dbostian/bananasplit/blob/main/stls/fruit_slice.stl) 51 | - [ ] 1x battery_clip.stl - [https://github.com/dbostian/bananasplit/blob/main/stls/battery_clip.stl](https://github.com/dbostian/bananasplit/blob/main/stls/battery_clip.stl) 52 | 53 | ### Electronics 54 | - [ ] 1x Banana Split PCBs - [https://github.com/dbostian/bananasplit/blob/main/pcbs/banana_split.zip](https://github.com/dbostian/bananasplit/blob/main/pcbs/banana_split.zip) - I ordered mine from Osh Park 55 | - [ ] 1x nice!nano - [https://nicekeyboards.com/nice-nano/](https://nicekeyboards.com/nice-nano/) 56 | - [ ] 1x 301230 Battery, with JST connector 57 | - [ ] 1x JST Pigtail 58 | - [ ] 1x SPDT Switch (PCM12SMTR - Digikey 401-2016-1-ND) 59 | - [ ] 2x 12 pin Machine Sockets, Standard Length (Mill-Max 310 - Digikey ED11164-ND) 60 | - [ ] 24x Machine Pins (Mill-Max 3320 - Digikey ED1134-ND) - order some extras 61 | - [ ] 2x TRRS Jacks (PJ-320A) 62 | - [ ] 8x Diodes (1N4148) 63 | 64 | ### Components 65 | - [ ] 8x Switches - Cherry MX or compatible 66 | - [ ] 8x Keycaps 67 | - [ ] 1x TRRS Cable 68 | - [ ] 1x USB C Cable 69 | - [ ] 1x Sticker (not optional) 70 | 71 | ### Hardware 72 | - [ ] 6x M3 x 16mm Socket Cap Machine Screw 73 | - [ ] 6x M3 Heat Set Inserts 74 | 75 | ### Tools / Misc 76 | - [ ] 3d Printer + Filament 77 | - [ ] Soldering Iron + Solder 78 | - [ ] Multimeter 79 | - [ ] Wire Cutters / Strippers / Flush Cutters 80 | - [ ] Hex Drivers 81 | 82 | ### Firmware 83 | - [ ] ZMK Shield - [https://github.com/dbostian/bananasplitfirmware](https://github.com/dbostian/bananasplitfirmware) 84 | 85 | ![imgur](https://i.imgur.com/ZUsIklv.jpg) 86 | 87 | ## 3D Printing Notes 88 | I printed mine in PETG at 0.20 mm layer height and with 15% infill. Enable support material for the shells. I used [ironing](https://help.prusa3d.com/article/ironing_177488) to get a nice finish on the fruit slices. 89 | 90 | ## Soldering Notes 91 | The [nice!nano documentation](https://nicekeyboards.com/docs/nice-nano/getting-started) recommends a cool-ish soldering iron temperature - and also recommends triple checking your battery polarity. Please give this a read. 92 | 93 | ## Assembly 94 | First, install the heat set inserts into the top shells. The ones nearest the middle should be installed deep enough so that they clear the PCB. 95 | 96 | ![imgur](https://i.imgur.com/LIgOknD.jpg) 97 | 98 | Solder the diodes, TRRS jacks, and power switch to the PCBs. 99 | 100 | ![imgur](https://i.imgur.com/vXUvEQH.jpg) 101 | 102 | Next, solder the machine headers to the board. I used the MCU to establish position as I soldered the corner pins into place, then removed it before soldering the remaining header pins. Then, solder the MCU to the pins. Use tape as suggested in [this socketing guide](https://www.40percent.club/p/socketing-pro-micro.html) to prevent permanently attaching things. Note that the tiny b+ and b- holes are not used. 103 | 104 | ![imgur](https://i.imgur.com/IKyvBmO.jpg) 105 | 106 | Attach the JST pigtail to the PCB. Leave the battery disconnected during this step. Trim the back side of the wires flush. 107 | 108 | ![imgur](https://i.imgur.com/zQQ3jkQ.jpg) 109 | 110 | Gently pry the MCU from its socket, and set aside. Snap your switches into the top shells and solder the PCBs in place. Reinstall the MCU. 111 | 112 | ![imgur](https://i.imgur.com/hDfkkjr.jpg) 113 | 114 | Now’s the time to flash your favorite firmware and test. I am using [ZMK](https://zmk.dev/) - you can clone my sample firmware repo [here](https://github.com/dbostian/bananasplitfirmware). Running other firmware? The switches are wired into a 2x4 grid, connected to digital pins 8 & 9 (rows) and 4, 5, 6, & 7 (columns). 115 | 116 | Connect the battery and secure it into the base with the clip. Assemble the 3d printed shells using M3 screws. Don’t forget the decorative fruit slices! 117 | 118 | ![imgur](https://i.imgur.com/Er1oeVY.jpg) 119 | 120 | Lastly, add your keycaps, apply the sticker, connect the halves with the TRRS cable, and enjoy! 121 | 122 | ![imgur](https://i.imgur.com/XxVJOgu.jpg) 123 | 124 | 125 | -------------------------------------------------------------------------------- /fusion/Banana Split 1.1.f3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/fusion/Banana Split 1.1.f3d -------------------------------------------------------------------------------- /kicad/banana_split.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/kicad/banana_split.zip -------------------------------------------------------------------------------- /pcbs/banana_split.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/pcbs/banana_split.zip -------------------------------------------------------------------------------- /pdfs/BananaSplit_MechanicalDrawing 1.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/pdfs/BananaSplit_MechanicalDrawing 1.1.pdf -------------------------------------------------------------------------------- /pdfs/BananaSplit_PCBDrawing 1.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/pdfs/BananaSplit_PCBDrawing 1.1.pdf -------------------------------------------------------------------------------- /stls/battery_clip.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/stls/battery_clip.stl -------------------------------------------------------------------------------- /stls/bottom_left.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/stls/bottom_left.stl -------------------------------------------------------------------------------- /stls/bottom_right.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/stls/bottom_right.stl -------------------------------------------------------------------------------- /stls/fruit_slice.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/stls/fruit_slice.stl -------------------------------------------------------------------------------- /stls/top_left.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/stls/top_left.stl -------------------------------------------------------------------------------- /stls/top_right.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbostian/bananasplit/0c6e0978f2384cfa408a9d3df3aaf4f5a2db5fe9/stls/top_right.stl --------------------------------------------------------------------------------