I received the v.04 PCBs, but I unfortunately discovered a design error which causes a strange problem.
After soldering a pair of PCBs and running some tests, I noticed the RS485 IC would not send a differential signal after power-on the device from a cold start (ex: 12V power adapter is initially unplugged).
I first thought it was an issue with the power-on sequence due to the 5V and 3.3V DC-DC converters, but checking those voltages and ramp-up with the oscilloscope showed there's no issue. Also, the blue LED on both boards light up perfectly, which means sufficient power is sent at power on (at least 6.5V).
I then monitored the different signals individually, and noticed the DE (driver enable) line was not being driven high after that power-on sequence. It was hovering around 1.28V, although it needs at least 2V to be considered high.
A quick look at the schematic shows the culprit: a voltage divider! *facepalm*
I tied DE and RE together to GND with a 10K pull-down resistor. I also added a DIP switch (JP3) to connect DE/RE to 3.3V through a 10K pull-up resistor. This creates a voltage drop that's too large for the IC to see a high on DE. I guess I'll fix that by replacing the 10K pull-up with a 4.7K.
In the meantime, the temporary fix (if using the board as a Driver) is to add a jumper wire between the DE/RE and 3V3 pins on the 2x4P (8P) 2.54mm connector. It's also possible to drive DE/RE high using an MCU if there's an available GPIO pin.
Since I'm back in KiCad, I'll use that opportunity to add some much needed test pads under the PCB.
Otherwise, I'm pretty happy with the way the PCBs turned out, and don't plan on making other changes in the near future.
More details in a future post.