Monday 4 February 2019

Microcontrollers & Synths

This page is an index relating to microcontrollers (MCU - microcontroller unit) and how they relate to synthesizers.
It will grow over time so keep coming back

I'm seeing  these chips time and again when building synths.

They usually take the form of a single IC that contains these basic parts:
1. CPU - a microprocessor (4-bit or more)
2. non-volatile flash memory --- this holds the program to be run.
3. RAM - random access memory (volatile memory for data storage)
4. EEPROM - Electrically erasable programmable read-only memory 
    used for non volatile storage of program data
5. GPIO pins - General purpose in/out pins - used to interface with switches, LEDs etc etc.
    These can be configured to be either inputs or outputs.

Microcontrollers are basically tiny computers.
They perform things one step at a time and use a clock to trigger each step.
The clock is an oscillator (usually 1MHz to 20Mhz).

The GPIOs are very flexible ... can be ins or outs because they are controlled with software not hardware
unlike CMOS for example where the pins have a fixed function.
They are limited only by the speed and memory of the chip ( and the ability of the programmer)

Microcontrollers are also able to bridge the divide between digital and analog. So we can use them in the
world of analog synths.

There are plenty of examples of the use of microcontrollers in synthesizers.

Intel produced the 4004 in 1971 Arguably, this was the world's first microprocessor.
This led to the famous 8080 CPU and then the IBM PC's 8088, 80286, 486 etc.

The Buchla Series 300 system was introduced around 1973. It was a marriage of Series 200 modules and a computer system comprising an 8080 eight-bit CPU, a floppy disk drive, video monitor, interfaces to the synth modules, and a music language called Patch IV (developed specifically) for the system.

Buchla 360 - octal signal source

Motorola  produced the 6800 in 1974. It's a 8-bit microprocessor
    Some of the synthesizers using the 6800 & its variants were:
    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)

Fairlight IIx

 Texas Instruments produced the TMC0281 Speech Synthesizer in 1978.
 The TMC0281 was the world's first single-chip speech synthesizer.

Zilog  made the Z80 microprocessor in 1976.
This was used in many home computers of the early 1980s  like the Dick Smith System 80 which was my first computer.  

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.

Microchip Technology  introduced the PIC 16C84 Microcontroller in 1993.
      The PIC 16C84 used a new type of memory called EEPROM
      (electrically erasable programmable read-only memory).
      You will find this type of memory used in lots of drum machines from the 90's

These are some of the most common microprocessors used in modern synths. (It's by no means a full list).

Arduino

+ Snazzy Fx Ardcore
   I believe its powered by an Arduino Uno
+ Circuit Abbey Euroduino module.
 


Atmel (AVR, ARM, Arduino, ATtiny, ATmega, ATxmega, AT89, AT90, AT91)
+  Mutable Instrument
      Branches (ATMEGA88PA), Grids (ATMEGA328P), Edges (ATXMEGA32A4U)
      Shruthi - ATMega644p , CVpal
+  ADDAC -  VCC (Voltage Controlled Computer) Atmega2560
+ Elby AVR synth (AT90S8535)
+ Modular Synthesis AVR synth ATMEGA32
+ Bastl Grandpa - Atmega328-PU
+ Buchla Format - Sputnik 244 (ATtiny88 & 84)
+ Buchla Format - 204r ATtiny84A
+ Buchla Format -227r (rev2) ATTINY84A

+ Monome Teletype AVR 32 (32-bit)
ATMEGA88PA

Seeeduino.
+  meng qi voltage memory
Seeeduino V4.2

STM32 
+ Mutable Instruments
     Tides, Peaks, Streams, Yarns, Braids, Frames (STM32F103CBT6)
     Clouds, Elements STM32F405RGT6
+ Owl modular - STM32F4
+ PER|FORMER sequencer STM32F405RGT6
+ Buchla Format - 248r MaRF & 218r
+ DAFM synth - STM32
+ Axoloti -  168MHz STM32F427 microcontroller
STM32


 Teensy
 + Ornament and Crime (Teesny 3.2)
 + 16n Faderbank (Teensy 3.2)
 + Radio Music / chord organ (Teensy 3.2 with internal DAC as the audio output)
 + Temps Utile (Teesny 3.2)
 + Malekko Varigate8+ ???
 + Orgone Accumulator
 + TELEX Teletype
 + Euroshield from 1010music

Teensy is a brand of microcontroller development boards created by PJRC and designed by the co-owner, Paul Stoffregen.  Arduino +  32 bit ARM-based microcontrollers = maximum I/O capabilities

Teensy 3.2


PIC (MIcrochip)

Microchip has created its own family of MCUs and baptized them as dsPICs.
The name PIC initially referred to Peripheral Interface Controller
They are also known as digital signal PI controllers.
Early models of PIC had read-only memory (ROM) or field-programmable EPROM for program storage
All current models use flash memory  

The device families: 
+ PIC10 and PIC12 - 12 bit
+ PIC 16 - 14 bit
+ PIC 17 & 18 (21bit)
+ PIC 24
+ dsPIC - released in 2001
    (PIC24 devices are designed as general purpose microcontrollers. 
     dsPIC devices include digital signal processing - DSP - capabilities  in addition.)
 + PIC 32

Silabs (Silicon Labs)

+ Buchla 259e, 260e, and 261e use a C8051Fxxx (Model 120 ??)

---------------------------------------------------------

Useful Links
+ AVR synth video
+ Snazzy Effects ArdCore -Installation Demo
+ Microcontroller... What you need to program a MCU 
+ Microcontrollers... Programmers


Please let me know if there are any mistakes or omissions.

To be continued .........................

 ---------------------------------
-------------------------------------

No comments:

Post a Comment