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 Model A
Plebian GNU/Linux
  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 Model A
Plebian GNU/Linux
  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 Model A
Plebian GNU/Linux
  Reply
#5
Looks cool, man! Now all I need is some application for it... Big Grin
Cheers,
TRS-80

What is Free Software and why is it so important for society?

Protocols, not Platforms

For the most Linux-y experience on your Linux phone, try SXMO!

I am (nominally) the Armbian Maintainer for PineBook Pro (although severely lacking in time these days).
  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 Model A
Plebian GNU/Linux
  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 Model A
Plebian GNU/Linux
  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
  TPM module for rockpro64 misha64 0 77 12-03-2024, 06:19 PM
Last Post: misha64
  using spi and gpio nano2 0 569 07-09-2024, 07:16 PM
Last Post: nano2
  ROCKPro64 Battery Power Supply hoarfrosty 12 4,372 04-01-2024, 10:24 PM
Last Post: nano2
  Powering on the Rockpro64 JPT223 1 1,340 09-24-2023, 12:23 PM
Last Post: hoarfrosty
  ROCKPro64 with 16 ports SATA controller ZeblodS 19 29,445 12-18-2022, 06:25 PM
Last Post: heyghoge
  Using RPI hat on RockPro64? misterc 0 1,155 12-16-2022, 02:05 PM
Last Post: misterc
  GPIO on the RockPro64 - all pins high? colinmarc 2 2,250 11-18-2022, 10:20 AM
Last Post: colinmarc
  ROCKPro64 DOA ajtravis 8 8,307 11-08-2022, 03:40 AM
Last Post: ajtravis
  RockPro64 not booting up mvicha@gmail.com 0 1,457 09-19-2022, 07:35 AM
Last Post: mvicha@gmail.com
  RockPro64 premium aluminium casing justwantin 2 2,785 05-27-2022, 06:51 PM
Last Post: justwantin

Forum Jump:


Users browsing this thread: 2 Guest(s)