Internal I2C bus, DACs, individual pull-up/downs, other wishlist items

This looks like an route-able pin connection. Some are shorter, a few are a bit more difficult.

image

I’m going to ask the CAD guy to consider a radical departure from the current front-end layout. There are 8 traces that have to reach each set of 4 buffers. That’s a lot to drag across the board under the RP2350 (with many vias in the center pad).

Maybe all the buffers can go close to the RP2350, instead of close to the 10P connector. At minimum the buffers should all be moved towards the USB edge of the PCB, closer to the RP2350. Then we can spread out the messy analog mux related stuff crammed between the buffer sets, giving us a nicer working area for whatever comes next.

The reason I’m suddenly interested in fleshing this out is because we’re spooling up new tooling this week and it is the once-a-year chance to move the bootloader button. I feel like it should be close to the flash to keep the CS trace as short as possible. Maybe a different, smaller button is in order?

I guess you want to postpone the change to an external ADC to reduce the necessary firmware changes for the REV0 prototype and to get started soon.

I suggest to add one more change into this REV0 prototype: the planned TVS diodes on the inputs + reduction of the 330R series resistor.

This doesn’t require any firmware changes. But it would enable you to use these prototypes for the potentially destructive testing of the new input protection. Doing this as early as possible allows you to easily revise and improve this in the next prototypes if necessary.

the button is already hard to press with a finger and i guess most people already need a small tool.

So do you want to change it the opening in the case to a small hole to use with a bent paperclip? This would allow you to use a smaller button and also better protect against accidental presses.

Yes, I’m hoping the total board rework to make a lot more space for that kind of stuff that needs to connect directly to the IO pins. I want to discuss that with the CAD guy to get his input.

Yes, something like this. I also use the hex wrench that comes with the Bus Pirate to hit the bootloader button.

The main thing at the moment is to know if that is something likely to happen. The new injection molding factory is much more professional, and can design the mold for inserts that change basic things like the programming header and button hole location. It will increase the tooling costs, but it gives us long term flexibility.

Do you want to discuss TVS diodes now or do you prefer to do that once you got a rough layout with some open space for them?

I was already going to ask how you plan to deal with new cases for an existing layout like for the BP 5…

1 Like

Ian … If you do get a few of those all-side prototypes made, I’d appreciate being on a shortlist to get my hands on one … especially if it has the new plastic case with different scatter light powders.

1 Like

Sorry, I’ve been a bit scattered this week. I absolutely do want to discuss TVS diodes :slight_smile:

I’ve never worked with them, but over the last year I’ve read datasheets and app notes several times. It seems simple enough.

A bipolar TVS diode is probably our preferred device?

Reverse Stand-Off Voltage (VR): Reverse stand-off voltage is the maximum voltage that can be applied to the protector without actually activating the device. The device VR should be equal to, or higher than the peak operating voltage of the circuit being protected. This is to ensure that the protection device does not clip the normal circuit operating or signal voltage.
Breakdown Voltage (VBR): Breakdown voltage is the voltage at which the diode will begin to protect and conduct current. Generally, the VBR is specified at 1mA.
Clamping Voltage (VC): Clamping Voltage is the highest voltage that the protected circuit will be exposed to during the test waveform event. On most datasheets, the clamping voltage is given for a 1A or 2A waveform that has an 8µS rise time.
Peak Pulse Current (IPP): The peak pulse current is the maximum current the protection device can withstand.

Just looking at the first search result.

Property Value
Reverse Stand-Off Voltage (VR) >5volts
Breakdown Voltage (VBR) >5volts @ 1mA
Clamping Voltage (VC) Assume this is related to technology, size, and price
Peak Pulse Current (IPP) Assume this is also related to technology, size, and price

Any favorite go-to devices? I’ll pull some datasheets to get a feel for VC and IPP.

Of course :slight_smile: The trick is going to be where we pull the RP2350s from :wink:

1 Like

image

CBI has been a dream to work with, and their prices are really good. Here’s a unipolar TVS in SOD-523.

image

Same part in SOD-323. Slightly different test condition. Significantly more leakage (or more likely, a poorly stolen datasheet? I mean look at the font difference for the VF and IF lol)

Bipolar version, SOD-323. Much larger reverse current for the bipolar version, makes sense.

Same bipolar device in SOD-523. I suspect these specs are straight out of somebody else’s datasheet…

Here is a genuine Diodes INC part for comparison.

Nexperia has some tiny and not too expensive parts that seem better qualified/characterized.

Tentatively, it seems like USON8 Winbond flash chips are widely available again. We stick with SOIC8 (8x5.28mm) because it’s always available and the cheapest option. For a while the USON package (6x5mm) was either hard to source or double the price.

I’m not sure its worth inviting that choke point into our supply chain to save 2mm of space.

image

This kind of placement should simplify the routing and open up a lot of space. May not even need to move the button.

1 Like

image

Bootload and Reset switch effect using the 2N7002DW already on the BOM.

2 Likes

I’ve seen you don’t have 10µ in 0402 in the schematics yet. You could probably change it to the 4.7µ you already have and change the resistor to like 820k to compensate. Or switch the 4.7µ over to 10µ, I guess the voltage regulators won’t mind a bit more capacitance. These values are all just nominal in the end, at the real voltages most of the capacitance is gone.

Will write my thoughts about TVS & input protection later.

There is an 0805 10uF for the new I2C DACs, but I had also thought about trying to use the 0402 4.7uFs.

image

This is the final outer diameter of the bosses on the new case, 6.8mm. So we probably need a 7mm keep-out. That’s a huge improvement.

The inside circle (red arrow) is the new keep-out. The outside circle is the old keep-out. The adjustable power supply can move up quite a bit and take advantage of the new space.

A draft board with proposed component placement is in progress now.

1 Like

As we may well have a REV0 prototype assembled by end of next week, a few items:

  1. We’re limited by RP2350 chips. We will have to pull some off donor boards. I will have 2-4 prototypes made, so I can share a couple boards. They will be available strictly to active developers because they are not FCC/CE tested end user products. It looks like PICO2 is available in China now, so we’ll probably pull chips from those.

  2. Something that has been on my mind a bit: any ideas how to implement control for the pull-X resistors?

>pullx up 1.2K 0 1 2 3 4
Requested: 1.2K pull-up on IO 0 1 2 3 4
Closest value: 1.3K
Pull-up enabled

Seems a bit clunky. Maybe separate commands pullup and pulldown.

I feel the P/p command should remain as it is, with a quick 10K pull-up on all pins.

Value
1M X X X X X X X
10K X X X X X X X
4.7K X X X X X X X
2.2K X X X X X X X
1.3K 3.1K 1.8K 1.5K 1.3K 9.9K 4.6K 2.2K 3.2K 1.8K 1.5K

1.3K, 1.5K, 1.8K, 2.2K, 3.2K, 4.7K, 10K, 1M

Using combinations of the values we’ve selected gives a nice range of potential pull-up or pull-down values.

1 Like

It might be more complicated in software, but someone could ask for a value, and the software selects the closest value and reports what was selected.

1 Like

That’s my thought too, closest value like PSU and PWM.

I agree the pullx up (R) Pin [Pin [Pin ...]] is not as clear as having distinct commands for pullup vs. pulldown … so my vote is to split the verb into two distinct commands.

Would it make sense to also have this with a noun prefix(*), such as:
pin pullup (Resistance) Pin [Pin [...]]?

Two related questions:

  1. Is at least one pin required, or is there a default set of pins if the user does not provide a list of pins? If no default, is there a shorthand for setting all pins at once? (e.g., all instead of the list of pins?)
  2. After it’s enabled, how does one then disable the pullup/pulldown? (e.g., pin pullup disable Pin [Pin [...]]?)

(*) IIRC, you mentioned you liked the noun verb model of commands … an here it’s an immediate but volatile (not saved between resets) setting, so the noun verb concept would read reasonably well.

To the first point - I assume there would be some sane default behavior, but it is completely up to us what that is.

Hum. I was so busy thinking about the all the options to enable that I didn’t even consider disabling.

1 Like