Motor Feather wing without headers

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
sebastienperth
 
Posts: 113
Joined: Fri Jan 15, 2021 4:21 pm

Motor Feather wing without headers

Post by sebastienperth »

Hey, just wondering if/how I could use the DC motor/stepper Wing with a Feather (nRF52840 express) without stacking them?
I read on the Wing's page that it only uses SDA and SCL pins... so I wired those from Feather to Wing.
But when I try a known working code, I get
No pull up found on SDA or SCL, check your wiring
.

Is there more connections to be made? Is it possible to use those two without stacking them?

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Motor Feather wing without headers

Post by adafruit_support_bill »

You need power and ground also.

User avatar
sebastienperth
 
Posts: 113
Joined: Fri Jan 15, 2021 4:21 pm

Re: Motor Feather wing without headers

Post by sebastienperth »

Oh yes yes, I have those as well.
I have a 12v power source split in two, going to the wing, and to a buck converter to bring it down to 3.3v.
From the buck I am going into the USB and GND pins. I have used this power configuration before, actually for a stacked nRF/dc motor wing combo, which works fine.
I just don't have stacking headers and would like to go without if possible.

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Motor Feather wing without headers

Post by adafruit_support_bill »

From the buck I am going into the USB and GND pins.
You need a ground connection from your processor board. The ground connection serves as both a current return path and a signal reference. With no ground connection to the processor, you have no stable voltage reference for the control signals.

User avatar
sebastienperth
 
Posts: 113
Joined: Fri Jan 15, 2021 4:21 pm

Re: Motor Feather wing without headers

Post by sebastienperth »

Yes, I have that.
There's wires under the board connecting SDA and SCL between the feather and wing, and connecting 3V and GND from the buck to the feather. As well as making the connection between the 12v/GND coming from the barrel connector, and the wires going to the wing and buck.
PXL_20230526_170748437.jpg
PXL_20230526_170748437.jpg (1006.85 KiB) Viewed 142 times

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Motor Feather wing without headers

Post by adafruit_support_bill »

Please post the code that you are using.

User avatar
sebastienperth
 
Posts: 113
Joined: Fri Jan 15, 2021 4:21 pm

Re: Motor Feather wing without headers

Post by sebastienperth »

Code: Select all

from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.nordic import UARTService

from adafruit_bluefruit_connect.packet import Packet
from adafruit_bluefruit_connect.button_packet import ButtonPacket
from adafruit_motorkit import MotorKit
import time
import board


ble = BLERadio()
ble.name = "Clamp device"
uart = UARTService()
advertisement = ProvideServicesAdvertisement(uart)
kit = MotorKit()
while True:
    ble.start_advertising(advertisement)
    while not ble.connected:
        pass

    # Now we're connected

    while ble.connected:
        if uart.in_waiting:
            packet = Packet.from_stream(uart)
            if isinstance(packet, ButtonPacket):
                if packet.pressed:
                    if packet.button == ButtonPacket.BUTTON_1:
                        kit.motor3.throttle = 1
                        time.sleep(0.8)
                        kit.motor3.throttle = 0
                    elif packet.button == ButtonPacket.BUTTON_2:
                        kit.motor3.throttle = 1
                        time.sleep(0.03)
                        kit.motor3.throttle = 0
                    elif packet.button == ButtonPacket.BUTTON_3:
                        kit.motor3.throttle = -1
                        time.sleep(0.8)
                        kit.motor3.throttle = 0
                    elif packet.button == ButtonPacket.BUTTON_4:
                        kit.motor3.throttle = -1
                        time.sleep(0.03)
                        kit.motor3.throttle = 0
                    elif packet.button == ButtonPacket.UP:
                        pass
                        # kit2.motor4.throttle = 0.7
                    elif packet.button == ButtonPacket.DOWN:
                        pass
                        # kit2.motor4.throttle = 0
                    elif packet.button == ButtonPacket.LEFT:
                        pass
                        # kit2.motor4.throttle = 0.3
                    elif packet.button == ButtonPacket.RIGHT:
                        pass
                        # kit2.motor4.throttle = 1


    # If we got here, we lost the connection. Go up to the top and start
    # advertising again and waiting for a connection.

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Motor Feather wing without headers

Post by adafruit_support_bill »

We can't see all the connections there. But it looks like you are feeding 3v power to the EN pin - which has no connection to the circuitry on the Wing. I also don't see any connection to the 3v pin on the Feather board.

User avatar
sebastienperth
 
Posts: 113
Joined: Fri Jan 15, 2021 4:21 pm

Re: Motor Feather wing without headers

Post by sebastienperth »

I'm not sure what to tell you, but the connections are fine...

3v is going to the USB pin of the Feather, not the EN pin.
3v is NOT going to the 3v pin of the feather because:
3V: This pin is connected to the output of the on board 3.3V regulator. It can be used to supply 3.3V power to external sensors, breakouts or Feather Wings.
https://learn.adafruit.com/introducing- ... r?view=all
I read this to mean the 3V pin on the Feather is OUT only, not in.
But also, I have a couple other projects that use one power source for both wing and feather and this is how I have them wired and I have not had any issues.

I am curious about this section in the Feather learning guide:
I2C Pins
I2C pins on the nRF52840 require external pullup resistors to function, which are not present on the Adafruit nRF52840 Feather by default. You will need to supply external pullups to use these. All Adafruit I2C breakouts have appropriate pullups on them already, so this normally won't be an issue for you.
It says I2C breakouts from Adafruit have pullups already... but is that the case for wings too?
Could this be the issue?
I have attached a picture of the backside.
Attachments
PXL_20230526_195727388 (1).jpg
PXL_20230526_195727388 (1).jpg (153.9 KiB) Viewed 109 times

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Motor Feather wing without headers

Post by adafruit_support_bill »

From what I can see, you have a connection from the 3.3v output of the buck converter to the USB pin of the Feather. That is probably functional, but less than ideal, since that feeds into the 3.3v regulator which has a small, but non-zero dropout voltage. If you want to power the Feather with a regulated 3.3v source, it should be applied to the 3.3v pin.

However, I see no connection whatsoever between the 3.3v pin of the Feather and the 3.3v pin of the Wing. the logic circuits in the Wing will not work if not powered.

User avatar
sebastienperth
 
Posts: 113
Joined: Fri Jan 15, 2021 4:21 pm

Re: Motor Feather wing without headers

Post by sebastienperth »

Ok, I misunderstood your first reply.
But this last one made it clear what my problem was.
Supplying 3v and GND to the wing, from the feather, fixed the issue.
Thank you for the help.

Locked
Please be positive and constructive with your questions and comments.

Return to “Feather - Adafruit's lightweight platform”