Feedback on my first schematic

I’ve always wanted to try creating my circuit, so I figured I’d give it a shot. I want to create something to drive a BLDC at low speeds with high accuracy, so I’ve designed something centered around an IC TI provides: MCF8316A.

Features of the MCF8316A:

  • Sensorless field-oriented-control (FOC) of BLDC
  • Integrated FET and charge pump
  • Integrated current sense
  • FOC is implemented in hardware
  • “Offline” motor parameter discovery (measures inductance, resistance, etc.)
  • I2C (among other control schemes)
  • Other nice things I might use in the future

So to keep things simple, I’m designing something that connects to power, a 10-15W BLDC, and an Adafruit Feather or similar over I2C, and allows me to control the motor using CircuitPython or similar.

TI has a good app note, so I’ve mostly just been following that. Since this is my first time using KiCAD, I’m not sure I’ve entered things correctly. I haven’t even started placing traces, but I figured maybe it’s a good time for feedback. I’m looking for any/all feedback, but some specific things:

  • Is there anything that might prevent a PCB house like OSH Park, PCB Unlimited, PCBWay from manufacturing?
  • Would it be safe to plug this into a benchtop power supply and an Adafruit Feather’s I2C port?
  • … would I be able to communicate over I2C?
  • … assuming I issue the right I2C commands, could it at least make a BLDC turn?
  • Are there any additional protections I should add? The IC has many of these built-in, but maybe I need something else?
  • Besides the test points I’ve already added, are there any other diagnostic features I should add?
  • It seems like a hybrid grounding topology is best: separate star grounding for analog and digital tied together with a single via. Any pointers on how to route the traces / pours for this? It sounds complicated.
  • Did I chose the right bulk and bypass capacitors for VM (motor)?

Here’s the schematic:


image
image

And the PCB layout I’ve started - with no traces:

Things I know need to change:

  • XTAL needs bypass capacitors - I wanted one with this functionality integrated, but the only ones I could find came in super duper tiny packages.

KiCAD files are here: BLDC controller.zip (51.4 KB)

1 Like

I’ll try and look it over sometime this weekend.

1 Like

Sorry, took me longer to get to this than I expected.

Comments:

  1. You have a lot of error and warning flags. You should understand and resolve these.
  2. I see where you define power, but I don’t see how it gets onto the board. I’d expect to see a connector of some sort. You also tie the motor supply to Vcc, which I’m guessing is unlikely to work for your motor.
  3. I think what you are IDing as a “Stemma QT” is a JST SH connector. There’s a library for these in KiCAD
  4. It looks like you haven’t included library parts in your schematic, so I see a lot of these:
    image
    1.Not a strict requirement, but I find it useful to have at least one grid of wire on each component lead. This includes labels. You also run wires through components and have labels overlap wires and components. This make it harder to read and more prone to mistakes.
    image
    I’d do this:
    image
    Running a bit of wire has several advantages. It’s clearer that you’ve actually made a connection - though solder dots are a good indicator. It also makes it easier to drag and edit things. The reason for a wire on a label is that it’s clearer where it connects. In your version AVDD could connect to SCL. That makes no sense, but it’s an extra step to figure that out - and an opportunity for confusion.
  5. A bypass on the oscillator is a good idea.
  6. You have FG and nFAULT as outputs. You can drive an LED through a buffer or FET with nFAULT and FG can drive an LED through one-shot to indicate motor movement. Anything more than that is going to have to come over I2C to your Micro.
  7. This is a pretty complex part for a first effort. It might be smart to bite the bullet and get the evaluation board to learn about the part. MCT8316AEVM Evaluation board | TI.com

Questions:

  1. Why have you put the buck compnents and TCXO on separate schematic sheets?

All for the moment.

2 Likes

Thanks so much for the feedback, @ozindfw!

I’m on vacation now, but wanted you to know I’ve skimmed through your feedback and am processing it. I really appreciate your time - thanks so much! Will reply soon.