Tag: Arduino

Controlling 8 digital potentiometers using shift register to save pins

digPotCluster class is part of imbAVR.SynthControl library, in imbAVR.ArduinoSynth GitHub repository. It controls 8 digpots (MPC410-10) using shift register (74CH595N). Purpose of shift register is to reduce number of pins used for CS (chip selection): Normally, you would use 2 (SCLK, MOSI) + 8 (CS for each MPC410-10) = 10 pins Like this, you use…

Doing SPI.Write from class constructor will brick Arduino Pro Micro

I had a small class to manage digpots (MPC410-10), and it all worked well. Until I’ve introduced write call in class constructor (now commented out). void DigPotUnitClass::Write(byte value) { digitalWrite(ChipSelectPin, LOW); SPI.transfer(B00010001); // This tells the chip to set the pot SPI.transfer(value); // This tells it the pot position digitalWrite(ChipSelectPin, HIGH); } DigPotUnitClass::DigPotUnitClass(byte chipSelectPin) { ChipSelectPin…

imbAVR.BassZero: MIDI synth based on Arduino

  Project goal To build USB Midi, monophonic, Bass line synth based on Arduino Pro Micro board. Concept Waveforms are analog modulations of single digital frequency source (digital pin, Arduino tone() method) with pure square waveform. Key (hardware) components: Arduino Pro Micro Microchip MPC 410 10 CP digital potentiometers (10kOhm, 8bit / 256 values) UL741…