2023-10-03 (Tu) EWC_Cyberdeck Basic programming on left side

I wanted to assemble the keyboard yesterday but soldered the Arduino on the wrong half of the PCB, which obstructed the USB port. I used a razor saw to remove the interfering wood. I also had to use shorter standoffs on the protoboard, or I could not fit the top and bottom together.

I added my selection of black and yellow keycaps along the paint lines. Again, I used blank keys for the spacebars with yellow stickers where appropriate.
Both halves constructed

I powered the unit up, and there were no short circuits. I uploaded the most recent code from the right-hand sketch, and the LEDs came on. I modified the code supporting the IO expanders because, in the old code, I read from both units, but in this half, I use the second chip for row outputs.

I confused pin names with IO addresses, but after I sorted that out, I successfully read every key, which meant there were no wiring errors in the diode matrix or lights.

Like last time, I mapped out the keys according to their addresses and then assigned them keyboard actions. I made them all work in typical typing mode. The mode buttons set the currentMode variable and turn one of the lights red, indicating the active mode. Only the first is programmed. The four switches on the handle will do the same thing but return to the first mode when released.
Working light bar displaying Mode04

GitHub repo for EWC_Cyberdeck.

The rest of the posts for this project 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
Completed projects from year 9
Completed projects from year 10

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.