Close

[E1][L] Designing the bluetooth BLDC controller

A project log for Tetoroidiv [gd0152]

A Ø17mm, water resistant BLDC servo with BT v5.2 and zero cogging.

kelvinakelvinA 07/30/2024 at 07:520 Comments

I've been working on the brushless motor PCB for the past 4 days. I'm starting to write this log when its not completely finished (I've still got the power nets to connect and the UWV pads to place), but it's to a point where I can say that a 14 x 15mm controller PCB is probably possible:

Planning the PCB size and placement

My expectation since the start of June was that I was going to have the 11 pin connector on the left and the 7 pin on the right, with test pads in the lower right. The 11 pin FCC should be 12mm, so that's what I set the height as. Additionally, I was thinking that the microphone was just going to complicate matters with waterproofing so I decided against it.

However, when I drew the dimensions of the MS51SF1, I saw 2 things:

  1. The edges of the PCBs are on the 16mm curve of the motor, conveniently enough
  2. There is a lot more space between the bottom of the module and the bottom of the board, potentially meaning that I could have both FFCs (flexible flat cables) coming out from the bottom (similar to the placement of wires on other BLDC motors).
That 0.45mm circle is the size of a via, for a point of reference. The pads are 0.6 x 2mm.

The 2nd point was even more important as the motor and gearbox bearings go edge-to-edge, meaning that the FFCs would stick out.

I zoomed out till the PCB was 1 : 1 scale and decided to reduce the height of the pads from 2mm to 1.8mm.

Then I had a think about how these cables were actually going to route out, and if the 7P was on the bottom, it would only be able to terminate on the other side of the motor. If I put it on the top, I could terminate on either side. It also had other benefits, like the FSR pin being neighbours to an analog input pin, or being able to fit a testpad array:

The vertical spacing between each pad is 1.27mm (as breadboards / through-hole pins are 2.54mm standard). I looked up the standard testpad size and one article went with 1mm ( 40 mills ). Conveniently, a 14mm wide board and 1mm spacing between pads means that the pads perfectly fit in the space.

There also needs to be a mechanical way of keeping the PCB in place, so I converted the 4th-pad location into a 60 degree V cutout:

I did tweak the chamfer so that the bottom edge was 12mm. In this image, it's a bit less than 11.5mm IIRC.

Creating the MS51SF1 schematic component

So I drew all the pins and labelled them, but then scrolled down in the nRF52833 and found out that there are 3 different packages for it and they each have different pins that are slow or are recommended for the SPI clock. I looked in the SF1 schematic and deduced that they were using the WLCSP variant, which has a lot more "low frequency I/O" pins than the aQFN I was initially looking at.

A = Analog, S = Slow, C = SPI Clock, R = (configurable as) Reset.

I'm hoping I don't actually need that reset pin. I don't think I do:

Then I started the tedious process of placing pads. It didn't take long to see how KiCAD did things, but it doesn't look like grass is greener on that side. It's just a lot of addition and data entry to get the pads in the right places, and the reason why I decided to keep everything in the positive-quadrant instead of trying to make a footprint centered around the origin.

I turned on mirror mode before doing anything, because the image shown is the dimensions on the actual module, not the footprint.

After making the footprint with the correct pad numbers, I duplicated it and deleted the pins I knew I wasn't going to use (USB and VDD):

Then I placed some starter gear on the board to confirm everything actually works like how it was planned:

This time, I decided to keep the BT module on the "Top" layer.

The DRV8311P (BLDC controller) and MT6701 (magnet sensor)

For some reason, I can't just copy part of the old schematic and place it in the new one, so I had to "Insert Electronic Design" and then delete the other parts of the schematic. This also imports the PCB apparently:

I had to first unlock the lines before I could delete them:

Additionally, I still felt like the 8SOP version of the MT6701 would be better than the smaller 16-QFN because the pins would be more spaced out.

So then I had to move the DRV and it's bundled passives around to find a solution which I could tap out. After exhausting the search space for 90 degree options, I looked into diagonal placement and that's when a solution existed. The magnet sensor also needs a capacitor and an optional protection diode.
Continued routing and was having space issues, and then I noticed that I wasn't using pin 5 on the 6701 for anything (it's the PUSH output) so I removed the pad:
You can also see here that ARGB was easily routable because the VDD pin of the SF1 module was omitted.
Unfortunately, I still didn't have enough space to place this via where I wanted it.
Other than that, the PCB was looking like it was coming together nicely.

Something that I didn't see when I made the first PCB was that the CSAREF pin actually needs a reference voltage source and read by the ADC:

I decided to connect it the the 3.3V LDO, as well as the 6701 since its IO logic levels are derived from it:

Routing pads

I had the idea of adding a spare "XTRA" pad since pin 25 on the SF1 was unused and right next to a potential pad location. 
There wasn't enough space to route, so I initially used 0.16mm traces here. However, I decided to increase the radius of the cutout curve from 1 to 1.2mm and that was enough to fit 0.2mm traces:
Notice how I've tried to keep traces far apart if possible.
I was also able to improve the routing (and aesthetics) by moving the vias of the 11P to the top:
Lastly, I rotated the topmost capacitor and moved the topmost ground via down so that I have as much space as possible to add the UWV pads. Why "U, W, V" not the alphabetical "U, V, W"? Well W looks like double V's yet is called "double-U" in English, so it's like the blend of U and V.

Next Steps and Conclusion

I think it's kind of nifty how a bluetooth BLDC controller could probably enter into the Square Inch Challenge and look aesthetically designed at the same time:
It's almost like one of those artistic PCBs I've seen in the past:
AZPR EvBoard
Flex of placement skill.
[14:15]

Fully traced and copper pours added

The pads are 3.2 x 0.8mm and are spaced 4mm apart. It's hopefully enough space to solder the 0.35mm wires. It isn't ideal that these pads are so close to the PCB antenna, but they look nice.
[Aug 3]
I've had to do some slight tweaks, such as 
Some of the changes can be seen below:
I also tried to see if I could move the UWV pads someplace else but there's nowhere that could fit pads remotely as large or well spaced apart.

Discussions