I made an illuminated button for some reason that I don’t quite understand

I’ve spent the last couple of months in my spare time designing a button that I don’t really need.

This is the latest version of the button. It has two illuminated sections that can be contolled individually and a single push button.

It started out with some experiments to see how small I could print text using the 0.2mm nozzle using the AMS to print in both black and white and it just sort of snowballed from there.

5mm tall letters printed using 0.2mm and 0.4mm nozzle. The 0.2mm nozzle is much crisper.

Then I thought, hey those tiles look kinda like those illuminated buttons you have on an aircraft flight deck, I wonder if I print the white really thin it’ll let though any light. So I made some more tests where the white is only 0.3mm thick (3 layers)

Here’s the reverse. The tile is 1mm thick printed at 0.1mm layers. The white is 3 layers (0.3mm). Light transmission is not great. It works with a bright light but the white PLA is too opaque for a couple of LEDs to penetrate. If I make the white thinner it becomes too fragile and either sticks to the bed or cracks.

I tried printing with transparent filament but the only stuff I had to hand was PETG and that doesn’t bond well with PLA. The letters would pop out when you lift the print off the bed.

Also whilst multimaterial prints are awesome they are also really, really time consuming. So I thought maybe a better idea would be to print just the black tile shell and fill the voids with something else such as UV resin! Off to aliexpress I went…

In the meantine in Fusion 360

I had an Idea to create some buttons that could be used to play Kerbal Space Program. Years ago I had made a an external navball using a plugin that sends data out via serial and I recalled that you could also send data back in. I thought it might be fun to have a minimal control panel for lights, gear, brakes, SAS and RCS.

I did some reasearch and found out that this type of illluminated button seems to be called a “Korry switche” after the manufacturer Korry who makes them for commercial airliners. I decided to create a design similar to their 433 series 1-inch switchlight they have a datasheet that gave me a starting point for sizing.

I wanted my switch to be simple to assemble from mostly 3d printed parts. I also wanted it to be self contained so I decided to design a PCB to hold the button and LEDs. I also thought it might be nice to use proper mechanical keyswitches for the action. They have a decent amount of travel – around 3.5mm – and give a satisfying click. I just happened to have a cherry keyswitch in my parts box so I could get started with that whilst also ordering some new switches (again from Aliexpress)

Here’s what I came up with after a bit of work. Fusion tell me this is version 99.
  • The switch is designed to be panel mounted in a 24mm square hole.
  • All parts are printed in PLA or PETG using a 0.4mm nozzle. No supports needed.
  • 1 entire set of parts prints in approx 50 minutes on Bambu A1
  • The body of the switch projects 24mm behind the panel face.
  • The front face projects 8mm out from the panel face.
  • The button has a travel of approx 3.5mm (with a nice click if you choose a clicky switch).
  • The inner shell (the part that moves) is designed to printed such that the layer lines are perpendicular to those of the outer shell to reduce binding.
  • The PCB carries 6 LEDs in two strings of 3. Each string can be independantly switched.
  • The mechanical switch is also mounted to the PCB (in reverse if you like) to simplify electrical connection.
  • A 4 pin 1.25mm JST connector carries GND, Switch, Led 1 Anode. LED 2 anode.

Face tile developments

Alixepress delivered a whole bunch of different UV-curing resins in various colours plus some pigments that are supposed to work with resin (but maybe not with UV-curing resins)

I didn’t want to remove the parts from the build-plate before filling them with resin, that would be far too likely to end up in a mess. I was hoping that the printed plastic’s bond to the build-plate would be enough to keep the resin contained. Also I thought that the heat left from after the printing would help the resin to flow more easily. But I wasn’t sure if the resin would bond to the build-plate. I did some tests and it seemed ok, but to play it safe I initially printed on top of a layer of polyimide tape (Kapton) which I could always peel off the build-plate.

Here are some early samples using translucent coloured resins the PLA prints came out well enough for this test but I think my filament needs drying out or something as they are not as clean as my earlier tests.

In the end it turns out that the resin doesn’t bond at all to PEI build plates. It just flicks off nice and easy once it’s cured so there was no need to the extra hassle with the tape. Later tiles were printed directly onto a smooth PEI plate

Various different attempts at producing translucent face tiles. The group on the left are the earlier multi-color 3d prints. The rest are all made with resin of various colours.

Mini Kerbal control panel

This is starting to wander off into the woods now. I wanted to see the buttons actually doing something so I designed and printed a simple box to house 4 buttons for use as a control panel. Gear, SAS, RCS, Lights… Oh and Brakes too. I Should have made it 5. Nevermind.

I grabbed a Waveshare RP2040-Zero board that I had hanging around and used the KSP Serial IO plugin I had used before to build this simple controller.

I forgot to add supports and only realised half way into the print but they came out perfectly!
Here is is all crammed together. You don’t want to see the wiring in there.

If you are at all interested the code is up here GitHub Catmacey/KerbalButtons.

Here’s a quick video of it in action.

I tried to edit out all my mumbling…

That’s it. Time well spent I think…?

Drum machine version 3.1 (Circa June 2019)

I haven’t worked on my Drum machine for a long time. So in order that I don’t forget what I did I’m writing it down

I really liked the look of those backlit silicone button sequencers you see all over the place – such as this Adafuit Trellis kit – and wanted to try using them with my drum machine. So I ordered a bunch of them and broke out Eagle CAD

Continue reading

Measure, print, measure, print again

Just a quick photo of some of the many earlier revisions of the different parts of my quick-release mechanism for the Logitech G920.

Each one is a different revision with slightly adjusted dimensions to get a better fit. Some of the parts were deliberately stopped mid-print once I had enough printed out for the test fit I needed. This saves a lot of time.

At the back are some tests of the threads. I orginally went for a two part ring but simplified it later on to a single part. The threads in Fusion360 need to be manually adjusted to allow a decent amount of clearance. The exact amount depends on your printer and the filiment that you’re using. I used this tutorial as a guide

Logitech G920 quick release

I recently bought myself a Logitech G920 Racing wheel it’s great fun for a bit of Dirt Rally but storing it afterwards is a bit tricky because of it’s akward shape.

So I thought I’d have a go at making a quick release mechanism to allow the wheel to detach from the base unit. At least that way I’d have two slightly smaller things to find a place for rather than one massive, heavy and akwardly shaped one.

What is that and why is it so dusty?
Continue reading

Drum Machine Version 2.1 (circa June 2018)

I haven’t worked on my Drum machine for a long time. So in order that I don’t forget what I did I’m writing it down. As I write these posts I realise what a lot of dead-ends I have gone down…

This design was created in early 2018 and was intended to be an expanded version of the first PIC32 design with a some specific goals.

  • Create larger device with a less cramped interface than earlier versions
  • Use a better/bigger display for both for better visibility and also to display more information
  • Add a rotary encoder for additional input (I hacked one in as a test on the old design and it was quite useful)
  • Use a “proper” Digital to Analogue Convertor (DAC) in place of Pulse Width Modulation (PWM) plus R/C filter used in the previous design for better quality audio
Continue reading

ChipStomp – Source code

IMG_0972

A quick update to say that I have released version 1.0 of the source code for the ChipStomp.

I’ve spent a fair bit of time making sure that the source is documented in the areas that are less clear and I have removed all redundant/experimental code in an attempt to avoid confusion with things I haven’t finished yet.  That took a lot longer than I would ever have imagined.

You can find the entire project including the Eagle CAD schematics and Layout up on GitHub.

Chipstomp assembly – Analogue side

Fully assembled and working Chipstomp

Fully assembled and working Chipstomp

It’s done.  I’ve assembled the analogue side of the Chipstomp and finally have a fully working device.  There were no errors to fix this time which was a nice surprise.  Just lots of fiddly 0805 surface mount components to place.

I’ve made a quick video of the project to demonstrate what it can do.