0
\$\begingroup\$

I want to have a grid of faders/sensors/LEDs/buttons (with ATtiny85s) that I can move around, and that all talk to an ESP that sends data over the network.

The idea is to have a PCB with traces for 4 lines and then have the ATTinys communicate over those lines (connection via pogo pins) with the ESP.

I've come to understand that for 100+ nodes and a 50 x 50 cm grid, I2C wasn't the way to go, so I'm looking at RS485 with XL65HVD08P transceivers.

What I am having trouble finding is details on how I can design the grid (I'm new to PCB design).

My preferred option would be to have A 4-layer PCB with the 4 layers being GND, +3.3V, signal 1 and signal 2 (traces on the last layer), with vias all over the place to get from the layers to the top traces that the pogo pins latch on to. But I'm not sure making huge planes, and having lots of branching for signals is a good idea.

I'd like to able to solder up new grids to expand, so if possible I'd like avoid the standard backbone layout.

Any advice on the design of the grid PCB would be appreciated, as well as any comments on the concept.

\$\endgroup\$
1
  • \$\begingroup\$ Can you edit the question to clarify what communication the "traces for 4 lines" are intended for? E.g. is that full-duplex over two differential pairs? \$\endgroup\$ Commented Nov 14 at 14:48

1 Answer 1

1
\$\begingroup\$

Officially, RS-485 is a linear bus. So each 50cm long strip adds 50cm of length to the bus. So 10 strips is 5 meters.

Officially both ends of the bus must be terminated, so if you add strips later, they should be added in the middle or some termination block needs to be moved to the end of the bus on the new strips.

Unofficially, for slow baud rates, a star or grid bus may work, but it also requires the signal edges are slow. Also for slow baud rates, termination might not be needed.

The chip you are looking at is limiting the slew rate, however it is a 10 Mbps capable so it likely has too fast edges for a star network or unterminated linear network.

After that, each your module needs to be identified by some address, maybe by serial number or some DIP switches or firmware configuration, or you can't communicate with them via only four pogo pins.

The RS-485 chips also cost money.

If you use I2C, you can maybe split each 50cm strip or a few of them into separate bus segments. And you have the same problem of how each node knows their I2C address. But, at least you can have same 4 pins per module, have easily have 20-30 modules per segment, and the I2C addresses need to be unique only per one segment.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.