<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CC-by-NC-4.0 on Tom Webster</title><link>https://www.samurailink3.com/licenses/cc-by-nc-4.0/</link><description>Recent content in CC-by-NC-4.0 on Tom Webster</description><generator>Hugo</generator><language>en-us</language><copyright>CC-BY-4.0</copyright><lastBuildDate>Sun, 28 Jun 2026 00:00:00 -0500</lastBuildDate><atom:link href="https://www.samurailink3.com/licenses/cc-by-nc-4.0/index.xml" rel="self" type="application/rss+xml"/><item><title>BEEG BUTTON</title><link>https://www.samurailink3.com/projects/2026-06-28-beeg-button/</link><pubDate>Sun, 28 Jun 2026 00:00:00 -0500</pubDate><guid>https://www.samurailink3.com/projects/2026-06-28-beeg-button/</guid><description>&lt;h2 id="disclaimer-before-we-get-started"&gt;&lt;strong&gt;DISCLAIMER BEFORE WE GET STARTED&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;I &lt;em&gt;did not&lt;/em&gt; come up with this idea or the 3D prints or initial design. According
to the &lt;a href="https://printkits.com/blogs/news/march-2025"&gt;Print Kits page&lt;/a&gt;, the
&lt;a href="https://www.printables.com/model/1224711-giant-mechanical-keyboard-switch"&gt;models&lt;/a&gt;
were made by &lt;a href="https://calebkraft.com/"&gt;Caleb Kraft&lt;/a&gt; (who is the wonderful human
running &lt;a href="https://thecontrollerproject.com/"&gt;The Controller Project&lt;/a&gt;), but posted
by &lt;a href="https://cocoapress.com/"&gt;Cocoa Press&lt;/a&gt; on &lt;a href="https://www.printables.com/@CocoaPress_86286"&gt;their Printables
profile&lt;/a&gt;. Then the &lt;a href="https://www.youtube.com/watch?v=vYeaIpYOoHA"&gt;assembly
video&lt;/a&gt; and
&lt;a href="https://printkits.com/blogs/news/march-2025"&gt;guide&lt;/a&gt; were posted by &lt;a href="https://printkits.com/"&gt;Print
Kits&lt;/a&gt;. Links to the source models, guides, and videos
will be posted below, along with their licenses (if applicable).&lt;/p&gt;
&lt;p&gt;While my contributions may be licensed under &lt;em&gt;&lt;a href="https://unlicense.org/"&gt;Public
Domain&lt;/a&gt;&lt;/em&gt;, the models and guides I used &lt;strong&gt;are not&lt;/strong&gt;.
Please respect the respective licenses of the original creators.&lt;/p&gt;
&lt;p&gt;What I&amp;rsquo;m bringing to the pile is: Simplified keyboard code (licensed under
&lt;em&gt;&lt;a href="https://unlicense.org/"&gt;Public Domain&lt;/a&gt;&lt;/em&gt;) and a sleuthed-out bill-of-materials,
including spring sizes and button dimensions.&lt;/p&gt;
&lt;h2 id="where-to-get-it"&gt;Where to get it&lt;/h2&gt;
&lt;h3 id="what-i-used-but-did-not-make"&gt;What I used, but did not make:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.printables.com/model/1224711-giant-mechanical-keyboard-switch"&gt;Giant Mechanical Keyboard Switch Printable Parts | Printables | Cocoa
Press&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Licensed under
&lt;a href="https://creativecommons.org/licenses/by-nc/4.0/"&gt;CC-BY-NC-4.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://printkits.com/blogs/news/march-2025"&gt;Print Kits - Project: Giant Mechanical Keyboard Button - Parts List and Link
to YouTube Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=vYeaIpYOoHA"&gt;YouTube - Print Kits - Big Button
Instructions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-i-madedocumented"&gt;What I made/documented:&lt;/h3&gt;
&lt;h4 id="simplified-circuit-python-code"&gt;Simplified Circuit Python Code&lt;/h4&gt;
&lt;p&gt;The original &lt;a href="https://www.printables.com/model/1224711-giant-mechanical-keyboard-switch"&gt;Printables
page&lt;/a&gt;
has a zip file of code, but it seemed overly-complicated for my use-case (&lt;em&gt;just
press spacebar&lt;/em&gt;), so I wrote my own Circuit Python script:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://codeberg.org/SamuraiLink3/raspberry-pi-pico-spacebar"&gt;Raspberry Pi Pico
Spacebar&lt;/a&gt;&lt;/strong&gt; -
Licensed under &lt;em&gt;&lt;a href="https://unlicense.org/"&gt;Public Domain&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dependencies are on the Readme on that page.&lt;/p&gt;
&lt;h4 id="improved-bill-of-materials-and-dimensions"&gt;Improved Bill-of-Materials and Dimensions&lt;/h4&gt;
&lt;p&gt;The original pages don&amp;rsquo;t include any specific sizing information for the springs
or button, so I did some semi-educated guessing and found the answers:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Springs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quantity: 2-4x
&lt;ul&gt;
&lt;li&gt;Use more springs to increase resistance. 4 felt right to me.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Outer Diameter: 13mm&lt;/li&gt;
&lt;li&gt;Length: 45mm&lt;/li&gt;
&lt;li&gt;Wire Size: 0.8mm
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DO NOT BUY 1.6mm WIRE!!&lt;/strong&gt; If you do, you will need the strength of the
GODS to depress the BEEG BUTTON.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I bought: &lt;a href="https://www.amazon.com/dp/B0CGZSGYQB"&gt;Amazon - Compression Spring 13mm OD, 0.8mm Wire Size, 45mm Free
Length&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Arcade Button&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quantity: 1x&lt;/li&gt;
&lt;li&gt;Total Size: 33x26mm&lt;/li&gt;
&lt;li&gt;Note: Be sure to get one of the &amp;ldquo;shorter&amp;rdquo; buttons. A button that is too tall
can make the wire routing annoying.&lt;/li&gt;
&lt;li&gt;Note: These are often listed as &amp;ldquo;30mm Arcade Button&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I bought: &lt;a href="https://www.amazon.com/dp/B07XYW58HV"&gt;Amazon - 30mm Game Push Button
Switch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multicolor Dupont Wires&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quantity: At least 2x (depends on your soldering ability, mine is &lt;em&gt;bad&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Note: These are just generic wires. You don&amp;rsquo;t necessarily need dupont
connectors, but they allow just plugging in one side into the Pi&amp;rsquo;s
pre-soldered connectors, so that saves a step.&lt;/li&gt;
&lt;li&gt;You can buy these just about anywhere. Amazon, AliExpress, doesn&amp;rsquo;t matter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I had these laying around from an old project, but you can find a similar kit
&lt;a href="https://www.amazon.com/dp/B0BRTJXND9"&gt;here on Amazon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If you need a soldering iron: PINECIL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This little thing has been fantastic. I&amp;rsquo;m just a beginner here, but I&amp;rsquo;ve been
happy with it so far.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pine64.com/product/pinecil-smart-mini-portable-soldering-iron/"&gt;You can buy one from Pine64 right
here.&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="what-i-failed-at---do-not-buy-this-one"&gt;What I Failed At - DO NOT BUY THIS ONE&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Raspberry Pi Pico&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quantity: 1x&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DO NOT BUY THIS ONE&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Seriously, it functions, but I had to hot-glue this into the bottom of the
key case because it doesn&amp;rsquo;t fit the mounting profile.&lt;/li&gt;
&lt;li&gt;I have &lt;em&gt;no idea&lt;/em&gt; where the &lt;a href="https://www.youtube.com/watch?v=vYeaIpYOoHA&amp;amp;t=12s"&gt;super-tiny Raspberry Pi comes from in the Print
Kits video&lt;/a&gt;. I tried to
find it, but haven&amp;rsquo;t been successful. If you know, please &lt;a href="https://bsky.app/profile/samurailink3.com"&gt;reach out on
BlueSky&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I bought (&lt;strong&gt;THAT YOU SHOULD NOT BUY UNLESS YOU ALSO WANT TO HOT GLUE THIS
COMPONENT INTO THE KEY CASE BOTTOM - YOU HAVE BEEN WARNED&lt;/strong&gt;): &lt;a href="https://www.amazon.com/dp/B08X7HN2VG"&gt;Amazon -
Pre-Soldered Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="neat-trick"&gt;Neat Trick&lt;/h2&gt;
&lt;p&gt;So, how did I figure out what springs I needed? Did I have to just buy a large
pile of variously-sized springs and try them one at a time? &lt;em&gt;Thankfully, not.&lt;/em&gt; I
was able to get the size pretty-damn-close by using the &lt;code&gt;Cut&lt;/code&gt; and &lt;code&gt;Add Shape&lt;/code&gt;
tools in PrusaSlicer. Let me show you:&lt;/p&gt;



&lt;div&gt;
 &lt;a href="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_01.png" target="_blank" rel="noopener noreferrer"&gt;
 
 &lt;img src="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_01.png" alt="A screenshot of PrusaSlicer showing the &amp;#39;receiving-button&amp;#39; part."&gt;
 
 &lt;/a&gt;
 
 &lt;footer&gt;
 &lt;p&gt;
 &lt;small&gt;
 &lt;i&gt;
 So.. Here&amp;#39;s the original part in PrusaSlicer.
 &lt;/i&gt;
 &lt;/small&gt;
 &lt;/p&gt;
 &lt;/footer&gt;
 
&lt;/div&gt;




&lt;div&gt;
 &lt;a href="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_02.png" target="_blank" rel="noopener noreferrer"&gt;
 
 &lt;img src="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_02.png" alt="A screenshot of PrusaSlicer showing that one of the cylinder-shaped sockets, meant to hold the springs, has been cut in half."&gt;
 
 &lt;/a&gt;
 
 &lt;footer&gt;
 &lt;p&gt;
 &lt;small&gt;
 &lt;i&gt;
 Now, we use the &amp;#39;Cut&amp;#39; tool to cut through one of the slots meant to hold the springs.
 &lt;/i&gt;
 &lt;/small&gt;
 &lt;/p&gt;
 &lt;/footer&gt;
 
&lt;/div&gt;




&lt;div&gt;
 &lt;a href="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_03.png" target="_blank" rel="noopener noreferrer"&gt;
 
 &lt;img src="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_03.png" alt="A screenshot of PrusaSlicer showing a cylinder that appears too small for the socket, sitting in the half-cylinder of the cut part."&gt;
 
 &lt;/a&gt;
 
 &lt;footer&gt;
 &lt;p&gt;
 &lt;small&gt;
 &lt;i&gt;
 Next, we use the &amp;#39;Add Shape&amp;#39; tool on the part and make a cylinder. Resize it using the bottom-right panel. Then move it into the socket.
 &lt;/i&gt;
 &lt;/small&gt;
 &lt;/p&gt;
 &lt;/footer&gt;
 
&lt;/div&gt;




&lt;div&gt;
 &lt;a href="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_04.png" target="_blank" rel="noopener noreferrer"&gt;
 
 &lt;img src="https://www.samurailink3.com/img/content/2026-06-28-BEEG-BUTTON_04.png" alt="A screenshot of PrusaSlicer showing a cylinder that is a perfect fit for the socket, sitting in the half-cylinder of the cut part."&gt;
 
 &lt;/a&gt;
 
 &lt;footer&gt;
 &lt;p&gt;
 &lt;small&gt;
 &lt;i&gt;
 Next, just resize the cylinder to fit the socket. Use the number-keys to take advantage of some good pre-set camera angles to check your fit. This looks pretty spot-on.
 &lt;/i&gt;
 &lt;/small&gt;
 &lt;/p&gt;
 &lt;/footer&gt;
 
&lt;/div&gt;

&lt;p&gt;The size of that cylinder gives us a target size for our spring. STEP files and
CAD software is another way we could solve this mystery, but the slicer is
pretty powerful in odd ways when you need it to be.&lt;/p&gt;
&lt;h2 id="how-it-works"&gt;How it works&lt;/h2&gt;
&lt;p&gt;As the big key is depressed, a stem travels downwards to push a mounted arcade
button. That button is connected to a Raspberry Pi Pico via the GP7 pin. The Pi
is programmed to emulate an HID Keyboard. The script sends the &lt;code&gt;SPACEBAR&lt;/code&gt;
keycode when GP7 pin is triggered. The big button is just a weirdly-shaped
spacebar.&lt;/p&gt;
&lt;h2 id="background-aka-story-time"&gt;Background (aka story time)&lt;/h2&gt;
&lt;p&gt;So, what is this all for? &lt;a href="https://store.steampowered.com/app/774181/Rhythm_Doctor/"&gt;Rhythm
Doctor&lt;/a&gt;! Which is one
of the best rhythm games I have &lt;em&gt;ever&lt;/em&gt; played. It wants you to smash your
keyboard to the beat, and it &lt;em&gt;feels so good&lt;/em&gt; to do. It really gets you into the
music and gets you moving, like the very best rhythm games do. The issue is I
kept hitting other keys next to the spacebar, changing window-focus away from
the game, and breaking my flow (I get &lt;em&gt;really&lt;/em&gt; into rhythm games). Also, I&amp;rsquo;m
sure it wasn&amp;rsquo;t great for the keyboard either.&lt;/p&gt;
&lt;p&gt;So: BEEG BUTTON - If I could wail on that instead, it would be:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cool as hell.&lt;/li&gt;
&lt;li&gt;Functional.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Those are the two best reasons to do &lt;em&gt;anything&lt;/em&gt;. So I put one together. And how
did it end up working? Well&amp;hellip; Its not exactly eSports-rated.&lt;/p&gt;
&lt;p&gt;The accuract really depends on the angle in which you hit the button. Wailing on
it produces &lt;em&gt;many&lt;/em&gt; misses and late beats. This could be a skill issue on my
part, or too long of an actuation-distance, but it means you do have to slow
down and try to be accurate. I&amp;rsquo;m sure these issues could be solved with some
slight modifications to the design.&lt;/p&gt;
&lt;p&gt;The sound of PETG-on-PETG contact is just not nice. I need to sand or lube-up
the contact areas to cut down on this noise. With good headphones, its not a
problem, but otherwise its kind of grating.&lt;/p&gt;
&lt;p&gt;That said: &lt;em&gt;Its fun as hell.&lt;/em&gt; Its goofy, looks cool, and is somewhat-functional.
It was a worthwhile project and I&amp;rsquo;m happy just &lt;em&gt;looking&lt;/em&gt; at the thing. It also
has some great future possibilities. My Raspberry Pi Pico doesn&amp;rsquo;t have
networking built-in, but other micro-controllers do. You could hook this thing
up to APIs to do some absolutely wild stuff. If you were truly insane, you could
even start to craft a BEEG KEYBOARD, but that would be a pretty steep expense.&lt;/p&gt;</description></item></channel></rss>