Hi, all. I'm brand new here. This question seems dumb, and so forgive me for that. I did a word search on the forums and didn't find an answer within the first few pages.
Anyway, I'd like to build a device that incorporates 3 different wings: ethernet module, music player, and eInk display. Can I do this from one board (e.g. Huzzah32)? If not, do I need 3 boards, or is there some sort of multiplexer (e.g. https://www.adafruit.com/product/2717)? I don't know why this isn't obvious to me from perusing the website. It just seems like it's not possible from one board. Any links/advice is appreciated, thank you.
Beginner: stack different wings?
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- michaelmeissner
- Posts: 1821
- Joined: Wed Aug 29, 2012 12:40 am
Re: Beginner: stack different wings?
You have to check whether the boards use the same pins as the other boards, with the exception of I2C and SPI.
I2C is a shared bus, and as long as each device on the bus has a different address, things will be compatible.
SPI is another shared bus. Unlike I2C, devices don't have addresses, but they have different pins to control their behavior. The 3 standard SPI pins (SCLK, MOSI, and MISO) will be shared among each SPI device, but the other pins must be unique.
There are feather doubler, tripler, and quad boards that allow you to mount the feather processor and each of the wings. Or you can use stacking headers and stack them vertically:
Alternatively you could put stacking headers on the middle of the tripler. Put one featherwing underneath with either stacking headers (if you want to mount it on a breadboard) or male headers. Then mount the other 2 wings and the feather board on the top of the tripler. You could also mount the feather board as the board on the bottom, but often you want access to the reset button (but some wings give you the reset button also).
I2C is a shared bus, and as long as each device on the bus has a different address, things will be compatible.
SPI is another shared bus. Unlike I2C, devices don't have addresses, but they have different pins to control their behavior. The 3 standard SPI pins (SCLK, MOSI, and MISO) will be shared among each SPI device, but the other pins must be unique.
There are feather doubler, tripler, and quad boards that allow you to mount the feather processor and each of the wings. Or you can use stacking headers and stack them vertically:
- Tripler: https://www.adafruit.com/product/3417
- Doubler: https://www.adafruit.com/product/2890
- Quad side-by-side: https://www.adafruit.com/product/4254
- Quad 2x2: https://www.adafruit.com/product/4253
- Stacking headers: https://www.adafruit.com/product/2830
Alternatively you could put stacking headers on the middle of the tripler. Put one featherwing underneath with either stacking headers (if you want to mount it on a breadboard) or male headers. Then mount the other 2 wings and the feather board on the top of the tripler. You could also mount the feather board as the board on the bottom, but often you want access to the reset button (but some wings give you the reset button also).
- adafruit_support_bill
- Posts: 88092
- Joined: Sat Feb 07, 2009 10:11 am
Re: Beginner: stack different wings?
As michaelmeissner says above, there are lots of options for connecting things together. What you need to be concerned with is any conflicts over the usage of pins.
On the product description page you should find links to the documentation for each board. And in the documentation, you should find a 'pinouts' page describing which pins are used and what they are used for. With that information, you should be able to determine if there are any conflicts over pin usage.
On the product description page you should find links to the documentation for each board. And in the documentation, you should find a 'pinouts' page describing which pins are used and what they are used for. With that information, you should be able to determine if there are any conflicts over pin usage.
- hiya_pals
- Posts: 10
- Joined: Tue Dec 06, 2022 3:35 am
Re: Beginner: stack different wings?
Thank you both. That was what I was afraid of but with admittedly no knowledge of the SPI bus. If I may (and in case someone else could benefit)...
So, in my case: 1) the Ethernet wing uses the MOSI/MISO/SCK pins, and the unique pin required is chip select (CS), which would connect to pin 33 on the HUZZAH32; 2) the Music wing uses the MOSI/MISO/SCK pins, and the unique pins required are 14,15,32,33 on the HUZZAH32, so there is a pin 33 conflict already; 3) and the eInk wing (item 4814) appears to have the same requirement as the Music wing.
I think the easiest thing to do is use 3 total HUZZAH32s and place them on the same network. But just so I understand the SPI comments, if I wanted to try and multiplex the GPIO pins (14,15,32,33) in order to use only one HUZZAH32, it's correct that multiple devices can be connected to the HUZZAH32's MOSI/MISO/SCK pins?
Thanks again.
So, in my case: 1) the Ethernet wing uses the MOSI/MISO/SCK pins, and the unique pin required is chip select (CS), which would connect to pin 33 on the HUZZAH32; 2) the Music wing uses the MOSI/MISO/SCK pins, and the unique pins required are 14,15,32,33 on the HUZZAH32, so there is a pin 33 conflict already; 3) and the eInk wing (item 4814) appears to have the same requirement as the Music wing.
I think the easiest thing to do is use 3 total HUZZAH32s and place them on the same network. But just so I understand the SPI comments, if I wanted to try and multiplex the GPIO pins (14,15,32,33) in order to use only one HUZZAH32, it's correct that multiple devices can be connected to the HUZZAH32's MOSI/MISO/SCK pins?
Thanks again.
- adafruit_support_bill
- Posts: 88092
- Joined: Sat Feb 07, 2009 10:11 am
Re: Beginner: stack different wings?
SPI is a bus. And the MISO, MOSI and SCK pins are shared by all devices on the bus. You just need a unique CS pin to select which device is the active one at any given time.
On the Ethernet Wing, it is possible to re-map the CS pin: https://learn.adafruit.com/adafruit-wiz ... ns-1873813
Modifying the E-Ink wing is a little less convenient, but the CS pins can also be re-routed via the jumper pads on th board: https://learn.adafruit.com/adafruit-2-1 ... ns-3085376
On the Ethernet Wing, it is possible to re-map the CS pin: https://learn.adafruit.com/adafruit-wiz ... ns-1873813
Modifying the E-Ink wing is a little less convenient, but the CS pins can also be re-routed via the jumper pads on th board: https://learn.adafruit.com/adafruit-2-1 ... ns-3085376
- tonynunan
- Posts: 7
- Joined: Wed Apr 26, 2017 6:58 pm
Re: Beginner: stack different wings?
Depending on what you plan using the display for (song titles?) you might need to use a different one since the specs say that it shouldn't be changed more than once every 3 minutes.
https://learn.adafruit.com/adafruit-2-9 ... pectations
https://learn.adafruit.com/adafruit-2-9 ... pectations
Please be positive and constructive with your questions and comments.