Currently the main site is Dippy.
If top bit set, then JSR to remaining 9 bit address.
If next bit set, load immediate the lower 8 bits (possibly sign extended)
Everything else is 3 bit conditional (1, lt0, le0, eq0, ne0, ge0, gt0, 0)
If top bit set, then JMP the remaining 4 bits (-8 to +7)
else have a 4 bit instruction space (IN, OUT, RET, D2R/R2D/R, DROP,SWAP, NOT, INC/DEC, AND/OR/XOR/ADD/SUB/ADDc/SUBc - yes that's already 18).
At about 3cm2 for a DIP switch (8 or 10 bit plus a LED to show that switch is active) then
That's a pain as 8 bits not enough for instruction set any more.
Maybe 10 bit data, 9 bit address space?
Build around 40kHz devices. To start with, power from Pi and then can set the frequency and number of pulses. .
You can drive 40kHz at higher frequencies.