I'm currently wondering if I could have one of the Tetrinsics as a "master" IC, instead of requiring a seperate microcontroller for use in #Tetent [gd0090]. The current IC of choice clocks in at a speedy 48Mhz, but the 16K of RAM is a bit of a concern.
I went to Digikey to see what other options are out there, and this chip is convinient:
The M031TD2AE seems to be a 64KB version of the initial chip I found in the previous log. I then looked into the memory sizes of popular DIY keyboard microcontroller choices, and quite a few of them are 32KB, so 64KB should be large enough to upload a full input device firmware.
Another cool thing is that it seems that JLCPCB's SMT service has it in stock too.
For a 4x4 package, it sure comes with a lot of juicy features. The money saved from omitting the multiplexer has gone straight into a more ideal microcontroller chip, as my ex-VAT chip total is currently £133.
I've also missed the deadline for the XIAO keyboard contest, so using their microcontrollers is no longer a soft requirement.
I2C Device Addressing
Yesterday, I determined that I was going to use I2C as the communication protocol between Tetrinsics. The only concern was how I was going to set the device addresses.
Right now, I'm hoping that I can have a "sense" line on the ribbon cable and detect the resistance between the I2C data line or something like that. If each Tetrinsic adds a set ohmic value to the resistance, firmware should be able to determine how far down the daisy chain it is. For example, if 5k resistors are used, 15k resistance detected between the data and sense lines would mean that the firmware gives the current Tetrinsic the 3rd valid device address.
Along with now having to learn about the large world of microcontrollers (at least enough to create a working schematic for it) I'm thinking of creating PCBs for Tetent and #Tetent Timespy [gd0136] to save on shipping costs. I'm also thinking of having 1 large Digikey order instead of 2 or 3 seperate ones.