GPIO Expander HAT for ROCKPro64 and Quartz64
#1
Hello,

I'm currently working on a GPIO expander HAT that fits the ROCKPro64 and Quartz64. Here's a 3D render of the current prototype board:

[Image: 3d%20render%20rev%201.png]

It uses the I²C pins to provide an additional 16 GPIOs, and can be stacked up to 8 times for a total of 128 GPIOs. Each board has an interrupt pin for bank A and B (8 pins each), which can be configured to fire when the input on a pin changes.

The terminal block is a screwless terminal, and can be accessed even when multiple boards are stacked on top of each other.

The boards are based on the MCP23017 chip from Microchip, which can run at up to 1.7 MHz. Each I/O pin can provide 25 mA.

It'll be a while before I have some prototypes assembled as the IC is on backorder for the next few weeks, but I wanted to gauge whether there's any interest in doing an actual production run of these boards using surface mount components and improvements discovered while using the prototype run.

So if you're interested, let me know in the thread, and name what price you'd be willing to pay per board. I'm currently aiming for maybe $15/board as a target.

Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64
  Reply
#2
Hey.  switch over to smt parts instead of through hole parts.  It will be cheaper and easier in the long run.
  Reply
#3
I know, but I'm not going to hand-solder smt parts

Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64
  Reply
#4
A short update because I completely forgot about this project until now, I did solder up some prototype boards and discovered that my choice of pin headers don't seem to stack with themselves quite right, so I'll have to pick a different part. I'll also be using 90° bent pins for the interrupt pins, as they wouldn't be very useful in a stacked configuration otherwise. I really do enjoy the screwless terminal though.

I haven't tried to fire it up yet, but I guess I can do that today.

[Image: IMG_20220423_162407.jpg]

EDIT: I got it to work but realised I routed the pins wrong, i.e. the silkscreened numbers were off. Time for a second revision, I guess!

EDIT2: Second revision made and ordered.

EDIT3: Second revision production completed, will arrive in a week.

Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64
  Reply
#5
Looks cool, man! Now all I need is some application for it... Big Grin
  Reply
#6
TRS-80 Wrote:Looks cool, man! Now all I need is some application for it...  Big Grin

Thanks! I'm sort of in the same boat, I don't have a direct application for making these other than wanting to dabble in PCB design and device tree overlays.

The usual applications are either controlling a bunch of LEDs individually, or having a number of external buttons. Linux for example has a device tree binding and driver for something called "gpio-keys" which allows for buttons attached to GPIO pins to act like regular keys on a keyboard. Useful for e.g. industrial control applications, where you need maybe a dozen very reliable buttons to send key commands to some piece of controller software. For LEDS there's gpio-leds, which allows the kernel to control the LEDs with functions like disk activity, or, bizarrely, to notify the user of... mail?. Of course you can also simply have the GPIOs exposed and let user space deal with controlling LEDs, or reading buttons.

I really do like the 2x10 pin stackable header form factor though, I might make boards for other I²C chips in the future, e.g. fan controllers or DACs. I wish I could also use SPI to make something like a CAN interface board, but the SPI broken out on the RP64 is already used by the SPI flash chip.

Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64
  Reply
#7
Revision 2 soldered up and ready to be tested.

[Image: IMG_20220530_202236.jpg]

The new pin headers work well.

If anyone is interested in building one themselves, I've got a number of leftover PCBs, and if there's enough interest I'll put them on my Tindie shop with a BOM list for the components.

Update: tested and it works!

Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64
  Reply
#8
This is a cool project! My RP64 is finally built in the NAS box properly but I could see getting another to tinker with if I can figure out what do do with it Smile
------
it doesn't get happy
it doesn't get sad
it just runs programs
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  ROCKPro64 DOA ajtravis 7 1,976 07-19-2022, 02:45 AM
Last Post: ajtravis
  RockPro64 premium aluminium casing justwantin 2 336 05-27-2022, 06:51 PM
Last Post: justwantin
  charging 3 rockpro64 from single source rpt312 1 316 05-16-2022, 02:34 AM
Last Post: dukla2000
  help or suggestions removing RockPro64 Playbox please? jahway603 2 557 03-22-2022, 12:17 PM
Last Post: jahway603
  rockpro64 13 megapixel camera Aycaramba 9 8,229 01-24-2022, 02:47 PM
Last Post: solbs
  RockPro64 doesn't boot when PCIe to M.2 adapter is installed Cerberus 3 1,395 11-27-2021, 11:38 PM
Last Post: Cerberus
  ROCKPro64 with 16 ports SATA controller ZeblodS 17 15,682 10-21-2021, 01:16 PM
Last Post: fieni
  Rockpro64 Sata Card kills itself jerry110 33 28,319 10-20-2021, 04:36 AM
Last Post: fieni
  RockPro64 has bad Memory (Software sogfaults and kernel panics) kop316 20 14,505 08-04-2021, 07:42 PM
Last Post: t4_4t
  Using GPIO interrupts antonlyap 3 2,019 06-30-2021, 01:32 PM
Last Post: antonlyap

Forum Jump:


Users browsing this thread: 1 Guest(s)