2023-06-09 (F) Weekly Summary

I started cutting early, and it took most of the day between the processing times and redesigning parts. I may have more laser work before this is finished, but I can continue wiring. The bottom has some inconsistencies, but it's okay since it's not visible.
Unpainted wood parts

I cut and installed a cross-member to match the keyboard's length. I added key plates and diode leads, which need shrink-tube protection. I also shored up the back pieces.
Front and back

I ran wires from the IO expander to the keyboard using shrink tube for protection. I repeated the process on the other side and connected the rows with another wire bundle. In hindsight, I should have used an IO expander on the first side. I may need to add a booster and level shifter for the microcontroller and LED cluster.
IO expander and microcontroller wired up

I installed Adafruit's library for PCF8574 and PCF8575 and ran the "pcf8575_read16buttons" example. I scanned all inputs and received a message when I triggered an input. After some troubleshooting, I confirmed that all 75 buttons worked.
Serial monitor showing button presses

I added Adafruit's NeoPixel library to my sketch and tested the LED cluster with 3.3V, adding a startup routine. I discovered that the IO expander required clean power cycles. The keyboard works well without debouncing, and the center LED lights up when a key is pressed.
Switch states seen through the serial monitor

I spent hours assembling the keyboard case because it was too fragile, with everything exposed and the PCBs dangling. I fastened the microcontroller, added a rechargeable battery, and installed new keycaps with side legends for easy reading.
In one piece

The rest of the summary posts have been arranged by date.
First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7
Completed projects from year 8

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.