Sunday, 30 December 2018

Resistor arrays

I'm in the process of building a logic circuit that called for the use of a resistor array.
There was no BOM so I was left to try to work it out myself.
What is a resistor array & why would you use one?

They appear to be a network of fixed resistors set to a specific value.
The value can't be changed.

As Ive discovered you can also have arrays of diodes & capacitors. !!! Wow !!!

Above is a resistor array. Below is a diode array.
Notice they all share a common connection.

Usually, they don't come in these formats.
They come in packages like this:
There is usually a dot at one end which indicates the common terminal.
They come in many different configurations.. series, parallel, etc etc.

There is a code for identifying resistor network values:

I just purchased the A09 104 on ebay. This is a series array of 100K resistors.
A09 : A=series, 09 = 9 pins, 104 = 100K

Resistor arrays are very useful if you need a network of resistors all connected to one piont.
(EG: 8 pull-down resistors, each connecting microcontroller pins to a common ground).

So if you can't find the array you need, it looks like you can build it, if you know its specs..

Saturday, 29 December 2018

The most infulential Integrated Circuits of all time

I've been experimenting a lot lately with CMOS ICs and was asked the question by one reader which chips should he buy for his war chest?
This lead me to ask the question "which are the most popular ICs?"

Here is a list of not just CMOS chips, but other chips I commonly reorder & use in my
DIY projects (and for the electronic history buffs, chips that I think changed the world).
You probably won't ever need to buy the old microprocessor chips, but its fun to see how
things develop over the years.

The list will probably change over time.
Let me know if you think I have missed any important chips.

1. 555 Timers. The 556 is a dual 555.
    The Signetics NE555 was nvented in 1971 by Hans Camenzind.  More than a million are sold every year.
    The 555 is a simple IC that can function as a timer or an oscillator.

2. 741 & LM324 op-amps
    The 741 was invented in 1968. It requires both positive and negative voltage.
    The LM324 was introduced in 1972 & consists of four separate op-amp circuits
    The LM324 doesn’t require a bipolar power supply.

3. Texas Instruments 5400 & 7400 logic family (these have been in production since 1964)
     TTL -- transistor transistor logic.74-series logic is such a important part of today's digital world.

4. 78xx / 79xx voltage regulators.

5. The 40XX CMOS family

6. µA723 linear regulator (Bob Widlar, Fairchild, 1967)

7. Fairchild Semiconductor μA741 Op-Amp (1968).
   Designer: David Fullagar

8. Intel 4004. (1971)
      The world's first microprocessor. This led to the famous 8080 CPU and then
      the IBM PC's 8088, 80286, 486 etc.

9. Motorola 6800 (1974).  8-bit microprocessor
    Synthesizers using the 6800 & its variants:
    The 6800 was used in the Fairlight CMI series II. The IIx used the later 6809.
    The Fairlight series III used the 6809 & 68000
    Ensoniq EPS-16 (68000),
    Oberheim Xpander, Oberheim Matrix, ( 6809)
    PPG Wave 2.x , PPG Waverterm A (6809)
    Ensoniq SDP-1  , Ensoniq ESQ1, Ensoniq SQ80 (6809)
    Quasar M8 (6800)

10. Intel 8080 (1974)
      The first "real" microprocessor. This 8-bit CPU ignited the PC revolution as a part
      of the MITS Altair 8800, the first mass-produced personal-computer kit.

11. MOS Technology 6502 Microprocessor (1975)
      It's the main brains of computers like the Apple I & II, the Commodore PET, and game
      systems like the Nintendo and Atari.

12. Zilog Z80 microprocessor. This was used in many home computers of the early 1980s
      like the Dick Smith System 80 which was my first computer.
      The z80 CPU is an 8-bit microprocessor (1976)
      It was also common in military applications, musical equipment,
      such as synthesizers, and in the computerized coin operated video games of the
      late 1970s and early 1980, the arcade machines or video game arcade cabinets.

      Synthesizers that used the Z80 include: Roland Jupiter 8, Sequential Circuits Prophet 5 & 10,
      Sequential Circuits Prophet 600, Roland MC4, E-mu 4060, Roland MSQ700, Oberheim OB-8,
      MemoryMoog, Emulator I and II, Akai 2700, E-mu SP-1200, E-mu Drumulator,
      Sequential Circuits Drumtraks.

13. Texas Instruments TMC0281 Speech Synthesizer (1978).
      The TMC0281 was the world's first single-chip speech synthesizer 

14.  Intel 8088 Microprocessor (1979).
       It's a 16 bit CPU that established what is today known as the x86 architecture.
      Almost all the world’s PCs are built around CPUs that can claim the 8088 as an ancestor.

15. Motorola 68000 (1980). 16-bit.
      Initially this powered Unix servers and workstations but its 
      breakthrough application was the  Apple Macintosh in 1984.
      The processor also saw significant use in the Atari ST and Amiga computer lines.
     The Buchla 700 used this processor in 1978.
     The Atari ST was used to write the Buchla 700's software (called MIDAS VII).

16. Texas Instruments TMS32010 Digital Signal Processor (1983)

17.  Intersil ICL8038 Waveform Generator (circa 1983).
      The chip generates sine, square, triangular, sawtooth, and pulse waveforms
      It's used in the Moog Synth. It's great for DIY function generators and theremins.

18. Acorn Computers ARM1 Processor (1985)
      More than 10 billion ARM cores have been  manufactured over the decades.
      It's used in all sorts of equipment including one of Apple’s  iPhone.

19. Toshiba NAND Flash Memory (1989).
      Designer: Masuoka-san.
      NAND flash is found everywhere... USB drives, caneras, smartphones, etc etc

20. Microchip Technology PIC 16C84 Microcontroller (1993)
      The PIC 16C84, used a new type of memory called EEPROM
      (electrically erasable programmable read-only memory).

21. AMD Opteron 240 (2003)
      This marked the move from a 32-bit world to 64-bit.
      All desktop-PC microprocessors manufactured today use Opteron's x86-64 instruction set.

      You will find this type of memory used in lots of drum machines from the 90's

This is by no means a full or comprehensive list of important or useful ICs. There are many more to list.

Thursday, 27 December 2018

Plumbutter 2 - repairing faulty jacks

Hi, this is a quick reference to a post made back in 2016 by my mate Paul (Cobramatic/Allinaire). 

I first experienced Paul's Plumbutter back in 2016. Here is the link:
It was a New Sound Waves meeting in Redfern Sydney 

Here is a video from that meeting:

The mixer is a zone DB4.
Excellent effects !!!!
As you can see, this is one of the rare dual Plumbutter 2's
I love the Ciat Lonbarde concept... beautiful is somewhat mysterious. But this is part of its beauty.

Back to the repair.
two jacks ... actually many of the jacks wern't working.
Much of the initial prob was that the mysterious nature makes it difficult to know if the prob is technicial or a user error.

this is part of the muffs article:

"Hi All, I’m relatively new to the Plumbutter world but I wanted to share my initial experience with others because the simple repair work I did this weekend has just brought a whole new life to my PB2.

Basically, like everybody else, it takes some time to figure out what is happening when you are patching. I mean the instrument is well known for its unpredictability compared to so called ’traditional’ synths – this is clearly part of its charm and appeal. I totally get that. That’s why you get one!

Tricky thing is – when an instrument is known for its quirkiness then how do you know something is actually working as it is intended to?? I mean, other than reading all the posts and watching some of those amazing videos by many of the Wigglers here, I had no clue to start with. Then as I started to understand I wondered why some things didn’t do what I might have hoped they would...

For example – you would expect those purple FM inputs to give you some type of FM modulation when a jack is plugged in – but because the knob already changes the sound on its own, and differently depending on the direction of turn, I couldn’t be sure I was getting a result. Basically I wasn’t getting a result!"

Rollz – I knew I should be able to mix things up with the browns to effect the rhythms if I connected them together – but for me several of them did nothing when connected. Blue Verso and Inverso jacks – ditto there, some of them seemed to do nothing no matter how hard I tried with them

For a while I thought it was me, then I noticed that some jacks responded if I wiggled them juuuust right, or pushed the nana in part way only. So finally I decided to take things apart and have a look. 

 It is very easy on the PB2 to unscrew all the front screws and then just pop out the front section and PCB from the base to reveal the board in all its glory. If you look at the picture here you can see that the soldering looks fine on the Jack I'm pointing to - Nope, actually there is no electrical connection. The reality is I had at least 8 (yes EIGHT !!) jacks that were not connecting properly thru to the PCB ring around each hole. Presumably a cold or cracked joint? 

 I pulled out the multimeter and soldering iron and tested every one and resoldered the faulty jacks – it was easy as pie to do. Put it all back together and it works like a dream come true – suddenly things work like I wanted them too. 

Motto of the story – if you are having any of the problems I described, or if any of your in's or out's don't seem to respond - then don’t be afraid to pop it open and fix it yourself. I can’t believe how much more fun I’m having now.

I dont personally own a ciat lonbarde but am considering getting one soon.
The Tetrax looks like a good entry point;

A post shared by jono (@dj_jondent) on

Plumbutter Manual
Plumbutter - C-L
Ciat Lonbarde - Paper Circuits
Plumbutter test procedure - from the great man himself (Peter B)

Tuesday, 11 December 2018

Castle Patching 001

This is a patch I read about on the LZX community site.

The aim is to digitize a video source and create a posterize effect.

It's really simple.
I'm using the visual cortex to input the video. It is a luma source.
It's also supplying a sync signal to to the Cadet I.
If you don't have a Visual Cortex, use a Cadet III for the video input. 

"The Gain control on the ADC goes from non-inverted on the left through zero to inverted on the right. Set the gain to around 9 o’clock. Adjust the Bias control on the ADC " (PBalj)

Patch 001a

The Luma input is plugged into the Castle ADC.
The ADC's 3 outputs are plugged into the 3 inputs of the DAC.
And the single Lumin output of the DAC goes into the Cadet II (RGB encoder)
The Cadet II is an output module.
It has 3 inputs ... red , green & blue. Plugging the lumin input into each colour will give the corresponding colour out.

If you plug the lumin into a mult and put each out into the R,G & B input you will get a B/W image.

LZX - Castle
00_000 ADC - Analog to digital converter
01_001 DAC - Digital to Analog converter
02_010 Clock VCO
03_011 Shift Register
04_100 Multi Gate
05_101 Quad Gate
06_110 Counter
07_111 Flip flops

Video Index page

Sunday, 9 December 2018

LZX Patches - Castle Shift register - module 011

Some additional patch notes for using the LZX 011 shift register module.
This is a DIY module in Eurorack format.
The patch is a basic experiment using this module. Please let me know if you have any other patches worthy to document.

The lumen out of the Visual cortex  is going into the input of the ADC module.
The ADC has 3 outputs. Take one of these (experiment with each as each has a different feel)
and plug into the shift register input. Clock the shift register with the VCO clock module .
The three outs of the shift register are plugged back into the VC (channel B)..... thats it!

patch video

LZX - Castle
00_000 ADC - Analog to digital converter
01_001 DAC - Digital to Analog converter
02_010 Clock VCO
03_011 Shift Register
04_100 Multi Gate
05_101 Quad Gate
06_110 Counter
07_111 Flip flops

+ LZX Shift register patch 1
+ LZX industries
+ Vimeo - video
Video Index page

Buchla MArF - Manual interperation

The Buchla 248 Marf manual can take a bit of time to digest and understand.
Here is the link to the manual:

There are 3 sections to programming the beast.
They start from right to left (of course).

Level 1 programming
    2a Output voltage levels
    2b Internal Time

Level 2 Programming
    3a Output pulses
    3b Output voltage
    3c Operating Mode
    3d Time Range

Level 3 Programming
    4d. Output voltage ports
    4c. Time multiplier
    4b Mode
    4a Stage Address




Analog control voltages are established by the slide pots. These are initial levels which may be
modified by LEVEL 2 digital programming. Access to the voltages are from the programmed
outputs (LEVEL 3) voltage output. The associated LED provides visual monitoring of the output
voltage levels.


These slide pots establish time (period) each stage will be active. Like the output voltages, the
interval times set by these pots may be modified by LEVEL 2 programming. Voltages proportional
to interval time are available from the time outputs on each of the programmed outputs



This section of the 248 attaches digital commands to the analog voltages set by the slide pots. These
commands are given by pushing the spring-loaded switches up; a programmed command will be
acknowledged by the associated LED. The command is removed by pushing the same switch down.
Each stage of output voltage or interval time can receive independent sets of commands, which are
only attached to that particular stage address.

3.a. OUTPUT PULSES (Level 2 Programming)

Each time the 248 moves to a new stage, a pulse is sent to the all pulses output of each
programmed outputs. Pulses may be assigned independently to pulse outputs 1 or 2 by
programming output pulse command on any selected stage. If a pulse is to appear at pulse output
1 on a particular stage, that stage is addressed (see section 5) and a pulse command is given. The
pulse is then stored at that address and will be activated only when that stage is addressed.

3.b. OUTPUT VOLTAGE (Level 2 Programming)

These commands qualify or modify the output voltage levels set by the pots and each stage can
carry its own set of commands.

3.b. (1) QUANTIZE/CONTINUOUS (Level 2 Programming)
The normal function of each output voltage level pot is to provide an analog sweep normalized
between 0 and +10 volts. A quantize command will divide the voltage range into twelve equal
intervals. Assuming control of frequency, the exact interval to be quantized is determined by
further LEVEL 2 programming and by the control voltage processor on the module receiving the
output voltage (see section 3.b 3). The command is removed, returning the status to continuous
mode, by pushing the switch down.

3.b. (2) SLOPED/STEPPED (Level 2 Programming)
The 248 output voltages normally step from one voltage level to the next, producing a digital
sequence of control voltages:
A sloped command integrates the output voltage, enabling the 248 to slope into the established
voltage level. The slope time is equal to the programmed interval time, reaching the established
output voltage level at the end of the period.
Sloped functions are useful for generating envelopes, pitch portamenti, filter sweeps, panning
patterns, etc. Sloped and stepped stages may be freely intermixed.

3.b. (3) RANGE (Level 2 Programming)
The normal (full) range of the output voltage levels (0 to +10) may be compressed to a 2 volt
range assigned to a reference offset by the switches marked +0, +2, +4, etc.
+0 = a stage bearing this command now has a voltage output range of from 0 to +2 volts.
+2 = +2 to +4 volt output
+4 = +4 to +6 volts
+6 = +6 to +8 volts
+8 = +8 to +10 volts

Full range is re-established by switching the range switch up to full range. The 248 is designed so
that if each 2 volt division is octave in terms of pitch control, the quantize command will then
provide 12 equal tempered divisions of the octave. The output voltage can, of course, be
processed to any desired interval range. Only one range command can be attached to a single
stage. For example, a +0 to +4 volt range would have to be accommodated by a 257 Control
Voltage Processor or by the processing pots on the module under control.

3.b. (4) SOURCE (Level 2 Programming)
The normal status of this switch is internal, meaning the initial voltage levels are established by
the output voltage level sliders.

An external command ignores the voltage level setting and allows
the 248 to accept an externally applied voltage and transfer it to the voltage output port. When
the stage carrying this command is addressed, the 248 will accept one of 4 external voltages
appearing at the external input ports marked A, B, C and D.

 The port to be addressed by a particular stage is selected by setting that output voltage level slider horizontal with the front panel markings A, B, C or D.

If the first four stages carry external commands, stage 1 set at "A", 2 at "B", 3 at "C" and 4 at "D" the 248 will output the voltages appearing at ports A, B, C, and D in that order, as those stages are addressed.
The external voltages may be quantized, sloped or range limited in the same manner as the internal voltage levels. In this mode the 248 can be used as a flexible control voltage processor.


3.c. OPERATING MODE (Level 2 Programming)

These five commands deal with specific operations of the programmed voltages.

The 5 commands are Cycle, Stop, Sustain & Enable.

3.c (1) CYCLE (Level 2 Programming)
Cycle determines the first and last stage of a sequence. The total number of available stages (16
or 32) can be divided into sub-sequences and each sub-sequence may be addressed manually or
by analog address with external voltages (see section 4.a 3, 4 and 5).

 The beginning and ending stage of each sequence is defined by a first and last command attached to the appropriate stages. Such commands are removed by pushing the switch down. For example, the 248 could
be programmed for several different sequences. A first command could be issued on stage 1 and
a last command might be issued on stage 5. Stage 6 could then carry a first command and stage
12 could carry a last. A final sequence could be established between 13 and 16 in the same
manner. The 248 is then programmed for three sequences. The last command tells the 248 to
return to the closest numbered first command so the various sequences can be independently
cycled without overlapping each other.

3.c (2) STOP 3) SUSTAIN  (Level 2 Programming)
When a stop command is attached to a stage, the sequence will stop and hold that voltage level
until a pulse is applied to the start input on the programmed output.

The start command may be manually activated by the start/stop switch (see section 3.b 2).
Stop commands are required for non-repetitive functions such as pulse activated envelopes. 
The programming for such a function would be:

Time intervals may be set as desired.
Without the stop command the 2 stage sequence would continue to cycle. With the stop
command on stage 2 the envelope will not re-cycle until a start command (manual or pulse) is

3.c.(3) SUSTAIN  (Level 2 Programming)
The sequence will stop and hold on any stage bearing this command as long as the start pulse is
high. When a start pulse is not present, the sequence will move through that stage, ignoring the
sustain command. One obvious application is a sustained envelope.

A start pulse (perhaps from a keyboard) initiates the envelope. Stage 1 determines attack time by
programming stage 1 time interval to the desired period. Stage 1 also determines the attack
amplitude by adjusting the output voltage level. Stage 2 determines the initial decay time and the
sustain voltage level (output voltage level). The sustain command one stage 2 will hold the
envelope at this level until the pulse is released. Stage 3 will then determine the final decay or
release time. The stop command on stage 3 inhibits re-cycling of the envelope until another start
pulse is issued. This function could be expanded to give voltage control of attack time, initial
decay time, sustain level and release time by programming external voltages in the appropriate
stages and addressing the desired external input ports. Repetitive envelopes can be generated
by removing the stop command.

4) ENABLE   (Level 2 Programming)
This command is a "reverse stop". The stage bearing this command will stop unless the start
pulse is high. If the start pulse is high, the sequence will continue to run or cycle until the pulse is
removed. This is needed for programming dynamic functions that always begin with a specific
value and continue for variable lengths of time. For example, suppose one needed to play trilled
pitches that always began with the upper auxilliary note (the standard Baroque ornament). This
can be done with square wave FM or a free running 2 stage sequence. There is, however, no
guarantee that the beginning of each pitch will coincide with the higher voltage level of the trill
program. An enable command can solve this problem.
Stages 1 and 2 provide the repetitive function for the trill (outputted by Programmed Output 1).
Stages 3 and 4 provide a sustained envelope for a Lopass Gate (outputted by Programmed
Output 2). When no start pulse is present, the trill function holds on stage 2. As a pulse is applied,
the function is enabled and will continue to cycle as long as the pulse is present. The same start
pulse takes the envelope function out of the stop mode, stage 3 serving as an attack and hold
due to the sustain. When the pulse is released, stage 4 acts as a decay with a stop and the trill
stops due to the enable command. (This application is useful when the durations are long enough
to let the voltage function cycle to the stage carrying the enable command. In other cases analog
address techniques [see section 4.a 5] may be more applicable).


3.d. TIME RANGE   (Level 2 Programming)
These commands modify the interval times in the same manner output voltage range commands
qualify output voltage levels.

3.d.  (1) DIVISIONS   (Level 2 Programming)
Each stage has an initial period of 2 to 30 seconds as established by the slide pots. Each interval
time can be divided by:
10 = a ".2" to "3" second command
102 = a .02 to .3 second command
103 = a ".002" to ".03" second command

A "2" to "30" command re-establishes the original full time range. Time scale expansion and
contraction is facilitated by the time multiplier pot (see section 4.c).

3.d.   (2) SOURCE    (Level 2 Programming)
The period of any stage may be determined by any voltage applied to the external inputs. The
external input ports are addressable by moving the time interval slider horizontal with the A, B, C,
or D panel markings. External voltages used for interval times may be processed by the time
range divisions. A 10 volt control could equal .03, .3, 3 or 30 seconds, depending on the
programmed command. External time interval controls can be used to program voltage controlled
envelopes. The program used in section 3.b 3 can be expanded to include voltage controlled

A keyboard is used to provide pitch control for an oscillator; a start pulse to two Programmed
Outputs and keyboard pressure voltages are applied to External Input B. The Output Voltage from
Programmed Output 2 is attached to External Input A. Function 1-3 is an envelope with voltage
controlled attack and decay times.

The attack time (stage 1) is controlled by External Input B,
pressure voltage from the keyboard. The harder the key is pressed, the longer the attack (up to 3
seconds as programmed by the time divisor). Stage 2 is the initial decay set for 1/2 second into a
sustain level which can be manually adjusted as needed. Upon release of the start pulse, stage 3
is activated, determining the final decay time of the envelope. This Interval Time is controlled by
External Input port A, which receives a sequence of voltages from functions 4 through 7 from the
other Programmed Output. Stage 4 provides a 3 second decay, stage 5 a 2 second decay, stage
6 a 0.5 second decay and stage 7 a 0.2 second decay. Each decay time is called up sequentially
due to the "stop" command on each stage of this function (see section 4.a 3 and 4 for techniques
on non-sequential access to various stages). Interior Times for stages 4 - 7 are not needed due to
the "stop" commands. In this case the period is controlled by the start pulses.

 Level 3 Programming

The Programmed Outputs are played in real time and used to address the various voltage functions
programmed into the 248. Each Programmed Output can independently address and output any
programmed function, and visual display of the data being outputted is possible with the "display"
switch. In addition, each Programmed Output has its own local clock so it may operate on an
independent time base. The programming in Level 1 and 2 then comprises a library of functions called
forth synchronously or asynchronously by the different Programmed Outputs.

This section determines what stage number the Programmed Output will select and also defines
the nature of the command used to make the selection.
Activation of this switch displays all of the data of the function being addressed at that moment.
The different Programmed Outputs can be displayed at any time to check the address and data
and fgr monitoring before re-programming (see section 5). The top red LED in Programmed
Outputs section indicates which Program Output is being displayed.

This switch resets the stage address for that Programmed Output to stage 1 (not especially the
first stage of a function).

"int" - the addressing is controlled by the Stage Address pot.
"ext" - the Stage Address pot is defeated and address is governed by an external voltage applied
to the Stage Address "ext" input - higher voltages address higher numbered stages.

This is a three position switch with the lower pole being spring-loaded with return to the central
position. The "cont" position defeats the local clock making stage address manually selectable if
in "int" position, or voltage selectable if in "ext" position.
Note that the 248 will not go into the "start" mode if in "cont" mode (see section 4.b 2). "Strobe" is activated by a pulse applied to the "strobe" input or by manual contact with the switch. This can be described as a "stage address sample and hold". With this switch in the middle position a stage can be selected by the Stage
Address pot ("int" or by an external voltage - "ext") and a strobe command (either manual or
pulse) will then address that stage.

To clarify this function, try the following procedure: set the
Stage Address section to "display", "cont" and "int". The various stages can now be dialed up by
the pot. Apply a floating random voltage from a 265/266 Uncertainty Source to the Stage Address
"ext" input and set the switch to "ext". The random voltage will now move the stage address
around in a random manner.

A post shared by jono (@dj_jondent) on
Set the "cont/strobe" switch to the central position (keeping it in
"ext" mode). The Stage Address is still scanning the external input, but it will not react to the
input voltage until a strobe command is given. Upon receipt of a manual or pulse strobe
command, the Stage Address will regis ter the external voltage present at that point in time and
make the appropriate stage selection. In this mode the Programmed Output will react only to an
external voltage when a strobe command is given. Once the strobe is issued, if in "start" mode,
the 248 will continue to function with the programmed Interval Times and associated data.

 The Buchla catalogue for the MARF  states that it's offered in several versions of different densities but identical function, and that expansion to larger versions can be done at any time.

Version Number     Stages     Outputs
248-1602                16            2
248-1606                16            6
248-3206                32            6
248-3210                32            10

I have never seen a MARF 248-1606, 3206 or 3210. I'm more familiar with the 248-1602.
I can only imagine that the 248-1602 had an extra output board ... maybe in 2U panel size ??

So these pics are just wild stabs at what each would look like.
Please email me if you have one or can help me out on these details

The standard 248-1602 first. It has 16 stages & 2 outputs

The 248-1606 . This has 16 stages & 6 outputs
Consists of  a normal 1602 + a 4 output expansion module? 

 The 248-3206. This has 32 stages & 6 outputs

Finally the 248-3210. This has 32 stages & 10 outputs

What a monster.

This page will be under constant revision ... I will try to add to it as I learn more about this module.