Control board 2.0

Pins

  1. CH_5DA & CH_SCL = I2C
  2. LIM_SW1/2/3/4 = Limit Switches (No reason not to use Decoder probably have 8 options cuz y not)
  3. Step1/2 = Step pin Motor Driver (1 each)
  4. Dir1/2 = Direction Pin Motor Driver (1 each)
  5. LCD/TP_SI/TP_SO/LED/TP_SCK/LCD_RST/LCD_CS/TP_CS = LCD connect pins (run straight through)
  6. MAG_PWM = Magnetometer (Connects to MOSFET)
  7. MOT_SDO = Motor Serial Data Out (one total)
  8. MOT_SDI = Motor Serial Data In (one total)
  9. MOT_CS1/2= Motor Chip Select (Only Required thing for each driver and only needs one high, can be done efficiently to run many on only a few pins with 2^n) ✅✅

(important: to make it more efficient with the required number of lines we will NOT use the lowest step level S3 for the cheap motor driver and it will instead be held at a high constant unless later we should add an alternative in physical)

  1. MOT_SCK = Serial Clock line
  2. ID_SDA/SCL = EEPROM (Try not to use)
  3. LED_DATA = Sending stuff to neopixels

CLR (Motor) Hard Reset (optional) What if we combine the motor chip select and reading limit switches into 1 multiplexer

Combining 2 and 9. Bare mimimum is 4 pins

But what if you make a stupid ass decoder that also includes the thing to read the specific gates

Control-board 3.0

Needs to

  1. power
    1. 20V
    2. from USB-C
    3. Fuses to protect
    4. needs to be constant
    5. Stepper driver/electromagnet driver = 20v
    6. rasberry pi = 5V
    7. Chessboard, 5V
  2. Connects stepper pins to Stepper Driver
  3. Connects LED’s/stepper driver/chessboard
  4. Power LED’s
  5. Protection on all
  6. Limit Switches Use ADC
  7. 3v3