Buchla 248 MARF Multiple Arbitrary 
Function Module V1 & V2 and Expansion

I have built and repaired the Buchla 248 MARF V1.  The module has been redesigned with a microprocessor and is quite complex.  


The build is fairly fast as only the panel components need to be assembled but V1.0 does require a number of SMT modifications.  Programming and calibration is straightforward.


The V1.0 PCBs have several SMT resistor and capacitor parts to be changed on the front and rear.  The silk screen is difficult to read and I have helped several people repair their MARFs when they changed the wrong parts.  These two reference diagrams highlight in color the required component to modify.

MARF V1.0 front component changes

MARF V1.0 rear component changes




V2 is designed on two PCBs with thru-hole parts. I made reference diagrams from the PCBs.

248 V2 PCB1 Front reference


248 V2 PCB1 Rear reference


248 V2 PCB2 Rear reference


The silk screen reference numbers are way too small and it is hard to tell 3, 6, 8, and 9 apart in some areas on PCB1. I made a higher resolution image of just the component area to refer to when I couldn't read the silks screen.

PCB1 component reference numbers

The BOM has several errors which I corrected.

248 MARF V2 PCB1 BOM Rev 2.0 corrected

248 V2 PCB2 BOM Rev 2.0 corrected



Here is PCB1 assembled without the LEDs installed. I added a 15mm FF and 12mm MF standoff in the mounting holes between the sliders and the circuitry to mount PCB2. There is not a panel hole for the 15mm but it will sit flush against the panel.

The small dots near the switches indicates the momentary side.  I installed about 6 switches at a time and then installed the panel and mounted it with two screws and a couple of switch nuts to line up the switches correctly before soldering. It took time but all the switches are correctly aligned.

I have the potentiometers only soldered by one pin until I mount the panel. Once the potentiometer is fastened to the panel I reflow the one pin to relieve any stress.  Then I solder the remaining pins.  The flatted side of the LED silk screen indicates the cathode side of the LED. I install the LEDs but do not solder them until after the panel is installed.  They I can push the LEDs flush with the panel and solder.


I use the female board-to-board connector on the rear of the PCB with the power cable attached.  That way if the power cable were connected there are no live male pins on the rear. This is typically the opposite of the BOM.


Here is PCB2 with the ST Card installed. The power cable routes towards the PCB and interferes with the electrolytic capacitors (see below).


There are components under the ST Card on PCB2.


The power cable isn't very well thought out.  It routes into the row of electrolytic capacitors so if you tie strap the cable to the PCB it puts stress on the capacitors.  One option is to mount the capacitors on the backside of the PCB.  The spacing is very close so they might have to be mounted 90 degrees to the backside.  I chose to make a standoff to raise the power cable over the capacitors.


Here is the final assembled V2 from the rear.


Programming is straightforward using ST Link.  I have instructions for loading ST Link on my 218 page as they use the same STM32F505 processor. However, once programmed, the Time Multiplier and Stage Address controls and the Output Voltage Level sliders did not function. The build thread mentioned bad eeproms affecting the Time Multiplier and Stage Address controls. This doesn't make a lot of sense to me as the eeprom is directly connected to the ST32F405 processor and lack of data shouldn't affect reading the controls and sliders. I did buy additional eeproms in two different varieties and neither made any difference as I expected.

I thought I would try reprogramming the firmware.  However, once programmed, ST Link could no longer connect to the target.  I don't understand why.  Typically this would be due to the program redefining the SWDIO, SWCLK or SWO pins, but these pins are only used by the ST Link programmer so it doesn't make sense they would be reprogrammed.  The various help files say to use a hardware reset but I could never detect ST Link driving the NRST line going low.  I manually pulled it low and that made no difference.  Finally I found one hint about pulling BOOT0 high.  Boot0 is pin 60 and tied low through a 10K resistor.  Vdd is pin 64 so I simply jumper the two.  I could then connect, erase, and reprogram the processor.  That also made no difference in correcting the faults.

That left me with either a bad build or a bad PCB. I find it easier to verify soldering, parts, and orientation by reviewing a high resolution photo and verified the build was good.  That left a bad PCB as the only viable fault. The 0.03 switch was inoperative and that was a missing run on the switch on PCB1.  Adding a wire corrected the switch and also verified I had a bad etch.

I started a the wiper of the Time Multiplier potentiometers and traced the signals back. That is extremely difficult with these black solder masked PCBs.  I don't know why designers use black solder mask other than to make sure their boards are unrepairable and destined for recycling.  However, with enough diligence I found more missing runs, this time on PCB2. What are the odds of bad etch on both PCB1 and PCB2?  That solved he remaining issues and I shipped the module to the customer.




I did not build this 248 Expansion but had to verify it with the 248 V2 MARF. The sliders on the Expansion are powered from a reference supply through pin 9 on the expansion cable. This pin is unconnected on PCB2 so the Expansion was never verified with V2.  On V1 this reference supply is 5V and on V2 it is 3.3V. It also powers all the logic on V2 so connect IC31 pin 16 to To Slider IDC connector pin 9.



I was never able to get the V1 Expansion working with the V2 MARF.  The Voltage Level sliders worked correctly but the Interval Time sliders corrupted the analog data. The processor reads the 68 analog controls using a series of 74HC595 shift registers which address CD4051 analog multiplexers. The last 74HC595 in the chain always has its last output, pin 7 low which enables the CD4051 to always have its data on the analog bus which corrupts it. If the sliders are lowered then it puts 0V on the bus through a 1K series resistor which then attenuates the analog data by half.  In addition, Time Interval sliders 17 and 25 seem to put their data on the analog bus at the wrong time, thus also corrupting the data. This serial data stream is asynchronous to the sequencer operation and has a lot of jitter which I suspect are delays caused by interrupts. This particular board set had open runs but I believe they are corrected and the Voltage Level sliders work using the same mechanism. The other possibilities are a V1 Expander doesn't work correctly with V2 firmware, or perhaps there is a bug in the V2 firmware. There is no documentation or debug software to investigate any further. If you have a V1 or V2 expander working with a V2 MARF send me an email so I can update this information.