Getting USB master working on a Pi Pico

A project log for Rusty Maschine

Repurposing a Maschine Mikro Mk2 controller to drive a Microcontroller MIDI sequencer or CV/Trigger outputs (and learn Rust)

Tim SavageTim Savage 08/23/2021 at 02:050 Comments

With the driver from the PC working and all of the buttons, LEDs, encoders and display working the next step is to get the sequencer and DAC side of things going.

This is where I have started running into problems...

The first issue, the interface would partially startup but the micro would crash, suspected this might have been a power issue, and yes adding a separate 5V power supply solved that.

The second issue, when plugged into the micro the Maschine controller doesn't identify as a HID device. This is an issue I've not yet been able to solve. Have used Wireshark to capture all comms when plugged into the PC and the 2 USB Interface descriptors are returned one a custom interface and the second being HID, however connecting to the Pico only the custom interface descriptor is reported. Am at a loss to work out why.

If anybody has more expertise on the behaviour of USB I'd be interested to hear, I have picked up a lot about the ins and outs of USB but there is a lot of details I'm sure I've missed with the breadth of details that go into the protocol. I've also learnt a lot about the TinyUSB stack which may necessitate some contributions to the USB master side of things.