Skip to content

Works on the rpi pico (32 bit ARM board) #5

Description

@james1236

I saw on your wishlist in the README that you wanted to see if it works on 32 bit ARM boards. I can confirm that the PMW3360DM-Camera example works on a RPi Pico.

RPi Pico PMW3360 Breakout
VBUS VI
GND GD
GP5 MT
GP16 MI
GP17 SS
GP18 SC
GP19 MO

The relevant part of the code from the PMW3360DM-Camera example with changes is below

//Set this to a pin your interrupt feature is on
#define Motion_Interrupt_Pin 5 //Gp5 pin 7
#define Btn1_Interrupt_Pin 1  // left button
#define Btn2_Interrupt_Pin 0  // right button


const int ncs = 17;  // This is the SPI "slave select" pin that the sensor is hooked up to
//const int reset = 8; // Optional

unsigned long lastCheck = 0;
byte initComplete = 0;
volatile byte readflag = 0;

//Be sure to add the SROM file into this sketch via "Sketch->Add File"
extern const unsigned short firmware_length;
extern const unsigned char firmware_data[];

void setup() {
  Serial.begin(9600);
  delay(1000);

  pinMode (ncs, OUTPUT);
  //pinMode(reset, INPUT);
  
  pinMode(Motion_Interrupt_Pin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(Motion_Interrupt_Pin), UpdatePointer, FALLING);

  Serial.println("PIN_SPI_MISO");
  Serial.println(PIN_SPI_MISO); //16
  Serial.println("PIN_SPI_MOSI");
  Serial.println(PIN_SPI_MOSI); //19
  Serial.println("PIN_SPI_SCK");
  Serial.println(PIN_SPI_SCK); //18
  Serial.println("PIN_SPI_SS");
  Serial.println(PIN_SPI_SS); //17
  Serial.println("SPI_MISO");
  Serial.println(SPI_MISO); //16
  Serial.println("SPI_MOSI");
  Serial.println(SPI_MOSI); //19
  Serial.println("SPI_SCK");
  Serial.println(SPI_SCK); //18

  SPI.begin(); //SPI = spi 0 , SPI1 = spi1
  SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3));
  //SPI.setDataMode(SPI_MODE3);
  //SPI.setBitOrder(MSBFIRST);
  //SPI.setClockDivider(4);
  Serial.println("ON");

  performStartup();

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions