Progress... 8upPiShield

A project log for 8upPiShield

Octal UART shield for RasPi (up to 32 ports, if you dare).

kbdhogkbdhog 04/05/2017 at 21:060 Comments

17-Oct-2018: Wired up the 8upPiShield to an Arduino-DUE board, for test purposes. Just started a little test-code to wiggle SPI pins and other control signals. Just need to prove out that everything works. I chose the DUE (over the standard UNO) specifically because it has 3.3V I/O, which is what the shield is designed for (as it normally connects to a RasPi).


14-Oct-2018: Received the balance of the missing parts and installed them. Ready to start functional testing. Since I don't really have the time to learn any RasPi software, I'm just going to use an Arduino-UNO to wiggle SPI pins and merely prove the DUARTs can do... something. I've also documented my initial attempt at the "default jumper wiring". See file repository.

9-Oct-2018: See pics... The 1st prototype of the 8upPiShield, and a companion YASC-DMX4 interface board, are just about completed. In my haste to order parts and some other intergoofups, there were a small handful of parts that didn't get ordered. These should all be here by Friday though. Once those are all in place, I'll be ready for some more serious checkout. Who wants to craft a "standard" Linux-compatible 32-port serial driver for this thing? By standard, I mean to support typical RS-232/485 async "TTY" serial port functionality. I have zero Linux driver expertise, so the first real user is going to have to do it. In the meantime, maybe I'll fly-wire this over to an Arduino just to wiggle some SPI signals.

16-Sep-2018: After a bit of a hiatus, I finally finished this board and sent it off for fab. I have a friend interested in driving many DMX serial ports with a Pi, so that was my motivation for wrapping up the hardware at last. It's a good thing I waited actually, because I found a lot of tweaks were necessary compared the 1st version from a year ago.

In order to drive the DMX (lighting) control links, the baud rate needs to be 250K (or 500K), so a 24MHz master oscillator divides down nicely for that purpose. It can also serve up a good range of "standard" uart baud rates with a small timing error. If you want perfect "standard" baud rates, you could easily substitute a 24.576MHz master oscillator.

The DMX physical interface for the initial application will be provided by a "YASCDMXRJ4" interface board... which I've also finished (but not uploaded yet). It merely provides 4 independant "RS485" ports, pushed out over RJ45 connectors, in the commonly accepted pinout for "DMX-over-UTP". For each 8upPiShield, you would need 2 of the YASCDMXRJ4 interface boards. The cabling is like a standard 34-pin "floppy drive" style ribbon cable.

18-Apr-2017: I added another jumper block allowing more flexibility with the 4 DUART interrupt signals. As this is my first RasPi shield - I might soon discover that my "default" signal assignments might not be optimal. Schematic & layout updated.

11-Apr-2017: Essentially done. Now I'll do my usual 2-3 days of obsessing over it, optimizing, nudging, tweaking, etc.. If anyone has a suggestion, now would be a nice time to let me know. See layout pic.

10-Apr-2017: Moving along nicely with routing the tracks. So far, no showstoppers. See pic.

7-Apr-2017: A lot of rearranging (compared to the 8upShield for Arduino). Went round & round with the layout and what to do with the serial output headers. Finally, settled on using two 2x16 headers. This will allow easy ribbon-cabling to the external YASC interface boards. Once I start routing tracks for the 1st DUART chip I'll know if this is a practical layout. Keeping this to a 4-layer board.

5-Apr-2017: Began converting the 8upShield (Arduino) layout to the 8upPiShield version. So far, seems feasible.

5-Apr-2017: Just created this project. Stay tuned!