DWM3000 Breakout Schematic/PCB

I’m attempting to design a highly compact DWM3000 breakout board (made in Altium) and was seeking some verification that I am on the right track. I will include images of the schematic and the incomplete PCB so far and would appreciate any advice if I have made a mistake. I would also appreciate advice on making the PCB more compact if possible, such as the removal of unnecessary signal lines (i.e. which of the 24 pins are not important, if that is

even the case).

You probably need to pull the SPI bus signals out to the connectors.
You may also want to add the required transistor / resistor circuit so that the reset pin can be driven with a standard 3.3V logic signal.
And just a minor suggestion - shorting 3v3 and GND together is not normally considered best practice :wink:
Minor detail, your signal direction arrows are wrong. MISO is an output, MOSI is an input.

I’d be tempted to make it a bit wider to allow you to get the capacitor closer to the power pins if possible but it depends if there is a certain standard pitch you’re aiming for.

In theory all you need to connect up are 3V3, GND and the SPI bus. All of the other pins can be left unconnected, whether to connect them depends purely on whether you need the functionality they offer.
if you have space it makes sense to pull them all out to make the board more generic. If you don’t then skip them. The GPIO pins all have some form of special function, I’d drop them in the order you think it’s least likely you’ll need those functions. As a minimum GPIO8 should normally be broken out since that is the one with the interrupt pin functionality.
Also I’d recommend a minimum of two GND pins, one by the power, one near the SPI bus pins.

Cheers for all so far, may need me hand held a bit through this, sorry to say.

  1. I’ve got the pads in the PCB layout (which is very incomplete in the image) for soldering, how would one add these to the schematic?

  2. Wasn’t entirely sure how to make the transistor/resistor circuit for this, but here is my attempt nonetheless:

  3. Regarding the size, I need to get it to at most 26 x 16.8mm and I’ve only managed to get it to 26 x 20mm. I’ve racked my brains trying to shave off the millimetres (the device needs to sit inside a 31mm diameter sphere). If you’ve got any idea on how i can possibily make it narrower I’d be only too happy to hear, be it removing unimportant components, shrinking the pads etc.

  1. Assuming two rows of 7 pins then I’d find a schematic symbol for a 1x7 connector and then use one for each set of pins. You can then associate them with a suitable pitch 1x7 connector in the PCB libraries. and place them to give the desired separation.

  2. In terms of the reset circuit I’d use a FET rather than a bi-polar transistor. If you want a digital switch they are normally a far better choice. Plus you then don’t need current limiting resistors.
    Something like
    When reset in goes high it switches on the transistor pulling DW3000 nReset low.
    When the input is low the FET is off and the pull up takes the part out of reset.

Note- this inverts the signal, so a high input is reset, a low input is run.

Just about any n channel MOSFET would work as long as the threshold voltage is low enough, assuming a 3.3V control signal a threshold of 1 to 1.5 V would be best.

  1. If you need to make it narrower then there are 3 options - 1) Use smaller pins, 2) only put pins on one side (and possibly the end), 3) use a surface mount connector on the opposite side of the board to the module.
    None of these are ideal.
  2. there is a limit to how small through hole pins can get, it may not save you enough space.
  3. has mechanical stability implications, you would need some additional way to help stabilise the part or any vibration will cause the solder joints to fail over time.
  4. would require connectors that don’t require mounting holes in the PCB. Which is possible but then you either a) only have one large connector which would allow the board to wobble or b) two connectors, one on each side but without mounting holes their alignment won’t be great meaning getting things to all line up mechanically gets trickly. Plus either way without locating posts into the board or space for other mechanical mounting methods you’re relying on surface mount solder joints for mechanical assembly, never a good plan.

I’d probably look at a single surface mount connector under the module and then use some of the board area this frees up at the sides to add some sort of additional mechanical support/alignment. There probably isn’t space for screw holes but maybe some blank space at the edge that a clip or washer can use to hold the board.

  1. Are you suggesting 2 1x7 connectors as opposed to the soldering pads, like female header pins? Considering the lifetime of the soldered joints dwindles due to the fact that the system will be subject to a bit of movement/vibration, is the pin connection likely to be more reliable?
  2. Regarding your preference with the single surface mount connector under the board, might you have an example as I wouldn’t know where to start? If you mean that it frees the sides from needing any connectors at all, I think all my problems will be solved in terms of sizing.

Something like TSM - .100" Surface Mount Terminal Strip | Samtec would give you a completely standard pitch header much like you currently have but without the need for holes in the board.
You no longer have metal posts going through the PCB so mechanically they aren’t as strong and if possible you should look at other mechanical supports. But as long as you stick to fairly large pitch parts like 0.1" / 2.54mm you may be able to get away with them depending on the environment.

The reason for preferring 1 large connector over 2 smaller ones is that without any mechanical pins to locate them surface mount connectors can move around a little on the pads. If you have only 1 connector then it’s always going to match the pins on the other side. If you have two separate connectors then the spacing between them can vary slightly board to board and rarely exactly matches the board it connects to. Which means when you connect them, assuming you can, you put a permanent strain on the solder joints.

Regarding the MOSFET transisitor, how would I go about selecting the correct Vds, Id, Rds, Vgs, etc for the 3.3V control signal? I can’t find any solid information on selecting these, only that the general rule for Vds is that it should be ~1.5 - 2x the max input voltage.

This is for simple logic signal control so to be honest most of the specs you won’t need to worry about.

Vds(max) needs to be greater than the voltage on the part when it’s off. When off it’ll have 3.3V across it and you don’t want to be right on the limits so as you said, 1.5 to 2x the supply voltage is a good lower limit to aim for.

Id is the current draw through the part. If you assume that when on the transistor is on it’s 0 ohms then you can easily work out the current based on the supply voltage and pullup resistor. Technically you should also allow for the current draw into the reset input but that will be tiny. Assuming a sensible pull up any part will be fine for this.

Rds is the resistance when switched on. This combined with your pull up resistor and the current draw of the input will decide how low you can pull the reset line. However this is typically under 1 ohm which means the pull up is going to normally be several thousand times higher. In other words it doesn’t matter much for this application.

The Rds multiplied by the expected current draw when on will give you the power dissipated in the part. For this sort of application the result will be tiny and not something to worry about. For higher current applications this can sometimes be a limiting factor.

Vgs(threshold) is the one to worry about. Keep in mind that the value in the the data sheet is the point where the transistor starts to switch on. You are are using it as a switch rather than an amplifier so you don’t want it just starting to switch on, you want it fully on. The data sheets will give you charts showing how Rds or Id change with the applied gate voltage so you can work out how solidly on the part will be with your signal.
Generally for 3.3V logic you want the headline Vgs number in the data sheet to be 2V or less for this sort of application. Lower is better, if you can easily get a part with a 1.2-1.5v value then go with that. As long as your processors output when low is below the threshold (which it’s going to be) then it can’t be too low.

If the Vgs is too high then the transistor won’t be on fully. Which means Rds will be higher than the minimum. Which means the voltage on the reset line won’t be pulled down as low as you would like and the power loss in the transistor will be higher. Whether these numbers are high enough to matter depends on the parts and the voltages involved.

1 Like