Where did the github hardware repo go?

Hi,

I’m trying to find the schematic for the petal to look at an example of how it uses a PCA9685 to drive several RGB LEDs.

But, It seems that that repo doesn’t exist anymore? Or maybe it has been moved to somewhere else?

Does anyone know what’s going on?

The schematics are now available on the product page. But since the Petal is discontinued, I think we overlooked adding its schematic on the legacy page.

Let me check in with the team. Thank you for the wait.

Thank you for the wait. Here’s the Petal Rev5 schematic.
That link can be found on the Daisy Petal’s legacy page.

Thank you very much for the super quick reply!

1 Like

Hi, it might be me, but I can’t seem to find the Field schematic - is that one still on the way?

Hi @pauldee,

Yes, it looks like it’s missing, so I will inform the team about this.
And I will let you know when it’s available on the Field’s product page. Thank you so much for the wait.

1 Like

No problem, thank you!

1 Like

Hey, a while back I was working on a guitar pedal that used the schematics in the data sheet. Iirc there was line, eurorack level and guitar level interfacing… I can no longer find this. What’s the go?

NVM found a fork of the hardware repo:

Is the field schematic going to be released soon?

I am looking for an example of how a shift register is hooked up.

I am also looking for the schematic, for the same reason!

There is enough info for the shift register and analog muxes in the pinout (which is on the product page):

I assume their intention is to replace the entire schematic with the required information on this page.

I don’t have the schematic, but would like to share something I came with to interface 4021 with the Daisy POD. It took me almost 2 months to figure all details and two of my PCBs were wasted in the process. Hopefully this will help the community.

#include "daisy_pod.h"

using namespace daisy;

// https://github.com/arduino/docs-content/blob/main/content/tutorials/communication/guide-to-shift-in/guide-to-shift-in.md

ShiftRegister4021<1> keyboard_sr_;
// uint8_t keyboard_state_[8];
bool keyboard_state_[8];

struct RGB {
  float R, G, B;
};

static DaisyPod hw;

void BlinkLEDColor(RGB rgb, int led = 0, int delay = 120)
{
  if (led == 0)
    hw.led1.Set(rgb.R, rgb.G, rgb.B);
  else
    hw.led2.Set(rgb.R, rgb.G, rgb.B);

  hw.UpdateLeds();
  System::Delay(delay);
}

void BlinkLED(RGB rgb, int delay = 120)
{
  for (size_t i = 0; i < 3; i++) {
    BlinkLEDColor(rgb, i % 2, delay);
    BlinkLEDColor({0, 0, 0}, i % 2, delay);
  }
}
/*
bool KeyboardState(size_t idx) { return keyboard_state_[idx] == 0x00; }
bool KeyboardRisingEdge(size_t idx) { return keyboard_state_[idx] == 0x80; }
bool KeyboardFallingEdge(size_t idx) { return keyboard_state_[idx] == 0x7F; }
*/

int main(void)
{
  hw.Init();
  hw.SetAudioBlockSize(8);

  BlinkLED({0, 1, 0});

  ShiftRegister4021<1>::Config keyboard_cfg;

  /** CD4021B-Q1: CMOS 8-STAGE STATIC SHIFT REGISTER
   **
   ** Supply Voltage: 3V to 18V
   ** Clock Freq: 3MHz at 5V (less at 3v3) -> 8.5MHz at 15V
   ** Pin Descriptions:
   ** - Parallel Data[1-8] - 7, 6, 5, 4, 13, 14, 115, 1
   ** - Serial Data        - 11
   ** - Clock              - 10
   ** - P/!S               - 9
   ** - Q[6-8]             - 2, 12, 3
   */

  // Physical connections
  // CD4021B PIN 9 (latch) - POD PIN 8
  // CD4021B PIN 10 (clock) - POD PIN 9
  // CD4021B PIN 3 (Q8) - POD PIN 7

  keyboard_cfg.data[0] = hw.seed.GetPin(7);
  keyboard_cfg.latch = hw.seed.GetPin(8);
  keyboard_cfg.clk = hw.seed.GetPin(9);

  // keyboard_cfg.data[0] = seed::D7;
  // keyboard_cfg.latch = seed::D8;
  // keyboard_cfg.clk = seed::D9;
  keyboard_sr_.Init(keyboard_cfg);

  hw.seed.StartLog(false);
  System::Delay(1000);

  uint32_t step = 0;

  while (1) {
    System::Delay(100);
    keyboard_sr_.Update();
    for (size_t i = 0; i < 8; i++) {
      // uint8_t keyidx = (7 - (i % 8));
      // keyboard_state_[i] = keyboard_sr_.State(i) | (keyboard_state_[i] << 1);
      keyboard_state_[i] = keyboard_sr_.State(i);
      hw.seed.PrintLine("keyboard_state_[%d] = %s", i, keyboard_state_[i] ? "on" : "off");
    }
    hw.seed.PrintLine("step=%d", step);
    step++;
  }
}

Thank you !!

I just got a 4021 up and running with probably a significant less amount of headache or time wasted than if I had tried to figure this out on my own.

very much appreciated!