2026-06-16

prototype case print 5.5

for this print i wanted to add more chamfer everywhere so the edges of the case are easier on the grip.
i'm recycling old print pieces where possible so this is definitely not color coordinated. but i do think a red (for accidentals), white (for naturals), and blue version (for the case) would look really nice.

on the bottom, i was morally obligated to make it look cool by transitioning from a larger chamfer in the front to a smaller chamfer in the back (where the shoulder buttons are). this was a lot more finicky than i thought, and even once i had a good looking build123d file, it was having issues turning it into a 3mf mesh. (for some reason i need to not generate the top parts of the case when building the bottom part of the case, even though they should get sliced apart at some stage.)
i'll have to move the case-split z-offset down a bit because it's hard to snap the front/back together due to the keyboard crossbar right above the shoulder buttons. i also spent a little time centering the joystick properly and adding the correct number of pins on the pico.
i want to make a button on the back of the case to access the bootsel button without opening the case. this may be tricky with the battery that i want to stick in there.

some other name ideas...
  • portano (portable piano)
  • octano (octave piano)
  • pp (pianissimo, or portable piano)

2026-06-13

prototype case print 5 with a mock PCB

i more or less finished the print from 4.5 with an improved keyboard fit. the keyboard looks really good in gray and red actually.
on the inside i'm doing new things! i've printed a mock PCB with some stilts for the approximately correct height. my initial version put the accidental switches near the bottom of their notes, and the natural switches somewhere in the middle:
i didn't think it would matter too much where i put these, but being a former scientist i know it's important to actually verify your assumptions. also, printing these mock PCBs isn't very expensive (in either time or materials), so i printed out a couple other versions to test: one where the switches were all in a line (i assume that might make wiring them up a bit easier) and one where i put the switches further up for accidentals and further down (near the bottom of the notes) for the naturals. mostly i wanted to test low/mid/hi for naturals and low/mid for accidentals (since they're small), so i could do that with just three versions (and just pick the best version for each note type).
i was surprised to find that where the switches are makes a big difference on how pressing the key feels. this one where the key switches were all in a line felt the worst, at least for the natural keys. they felt too goopy, or like they flexed in an unintuitive way.
the position that feels the best is when the switches are near the bottom of their respective notes. i think this will also help with reducing the amount of stress on the "key wiggle bridge" that flexes when the note is pressed. however, this may make finding space for other PCB components challenging but i think i have enough space. it will also reduce the amount of negative space available for the speaker cutout but that's probably not something i need to optimize for. (you can see i'm going to try and put the pico2 on the *back side* of the PCB, which either makes me very smart or very stupid.)

this thing is really shaping up to look very nice and feel good to hold, but it would be a shame if it didn't also feel good to play. unfortunately it feels super clicky right now based on the tactile switches that i'm currently using. i think i will try these silicon tipped tactile switches, but those will probably still be clicky, so something like the soft touch switches might be better.

for the shoulder buttons, i will likely try out right angle switches, but if i want those to be soft as well i'll likely need to do a bit of a breakout like on the PIGRRL zero. might not be too bad for one-off prototypes but might get annoying if i ever try to produce a lot of these.
interior of PIGRRL zero with focus on shoulder button.

2026-06-09

button interactivity with the pico2

had to start somewhere with a basic circuit, and because the pico2 already has a built-in LED, i figured putting in a button and reading that for the LED was the best path forward:
the example code is here. i'm using interrupts to check if the button state rises/falls (i.e., changes), but i think the code can get a bit confused if the toggle happens quickly.

i think the only confusing part was not realizing i needed to set the GPIO to pull up (gpio_pull_up(BUTTON_PIN)); i was wondering if i had wired up the button wrong. this encouraged me to set the LED to default on (so pressing the button turns it off), so that at least i knew the board was powered up :/.

thanks to Ramji for a basic tutorial here, which helped me build out the C version, and the pico-examples for interrupts which made the code more "elegant" than just checking state and sleeping.

2026-06-06

prototype case print 4.5

i didn't do a full print; i've adjusted the keys a bit so the old ones don't fit perfectly, but good enough to get a sense of what it will look like. you can see OCTANO here which really matches the red.
this is not my favorite colorway but i do like the red and gold together. might look good with white or black natural keys. i also switched out my case mechanism for a snap fit, which is a definite improvement on the "no snap castle turrets", at least in terms of functionality, but in terms of aesthetics it's leaving wrinkles on the outside.
on the plus side, i did figure out a really cool V cutout for the joystick area in front, which helps with printability since there's less area to print across horizontally. i also tried making the case split go at an angle, which looks really sick in CGI:
but does not look good in real life, because the 3d printer has to step:
i'll see if i can't fix both problems for the next print but i'm also trying to figure out tolerances for the nuts so that may not happen. under the hood, i got a spot ready for the speaker:
definitely feels like it's coming together, but i know the journey ahead is still long. i still need to start on the software and such, but i have noticed some existing Pico I2S synth libraries that i can lean on if necessary. would love to also have an emulator so we can try out sounds on the computer before getting them on the OCTANO.

2026-06-03

prototype case print 4

alright got another prototype case put together. this is in the royal color scheme!
notes as usual...
  • i made it a bit thicker in case i need more room internally for things. it's about 31 mm thick (~1.25") which feels a bit plump but holds well. (it may actually be easier to hold for longer durations than a thin case.) not sure i'll need it but good to test.
  • this is the first prototype i've tried out with a back/bottom chamfer (for pinkies), and it's much nicer to have that angled bottom surface to hold.
  • the speaker grill and inset logo turned out great. in the program i've tried putting OCTANO right below the speaker grill and i don't love it so i may move it to the other side.
  • the joystick really looks nice. some questions about constructability from the previous post were not super applicable with changing to a conical hole, but i would like to increase the angle at the front of the case to improve 3d printing without supports. i also probably need to increase the size of the hole
  • the place where the nut will go is hard to clear out supports for, so i'll need to make it "open on both sides"; so there'll be a silver rectangle on the top of the device (not the front where you'd see it all the time). i don't think it will be too annoying.
i'm going to need to start printing mock PCBs so i can start laying out switches and stuff...

2026-06-02

logo and joystick work

nothing too much to report, but did add in the logo here along with a speaker grill here:
the logo also looks ok in the upper left corner, but i worry i won't be able to combine it with the synth name in a cool way. current best name so far is actually the OCTANO, OCTAVE + PIANO. apparently it's also the word for octane in Spanish, which might be a little too much gas for how fast this thing will go, but maybe not!

i'm also starting to add the negative space for the joystick. i think i'll have a third piece slide in to lock everything in place, otherwise constructability will be hard...

2026-06-01

bolting in the keyboard

been wanting to come up with a solution to keep the keyboard in place so i borrowed some inspiration from the Oskitone Scout and put in a square nut and bolt.
i'm experimenting with a few things, including speaker grills on the left, as well as bringing back the joystick.
here's the same view from the first pic, but upside down, so that's the way you'd be screwing the bolt in. you can see the staggered accidental and natural tactile switches here.