GIF image of Eagle 4.14 schematic by yerpa58

Schematic file from Eagle 4.14 by yerpa58

PC board layout file from Eagle 4.14 by yerpa58


What is it?  The fraktal synth is an electronic musical instrument designed by Eric Boger, who has kindly made the design files available to anybody who is interested in this unique design. The circuit is very simple, based on Microchip's PIC chip.  Many sample sound files are available along with Eric's original source code and schematics at:

http://www.gjcp.net/~catweazle/PICsynth/

 

The following text is copied from the Electro-Music forum . You will notice that many of the links are already broken, that is why I have copied some of the text and files to my server.  Eric's stuff is in orange text. My stuff is the yerpa 58 stuff.  Enjoy!

catweazle

 Joined: Feb 25, 2008

 Posts: 15

 Location: germany

Posted: Wed Apr 09, 2008 4:17 pm

 Post subject: fraktal synth

 Hello everyone! I've developed that thing with the intention to have a versataile simple lofi audio hardware to realize some unusual sounds.

Hardware: - a cheap (yes, samples) 8bit microcontroller to be real lofi Smile
- 8 analog inputs / pots for parameters (CV in 0..5Volt)
- 1 analog output (Pulse with modulation) / audio out
(output is not filtered very well, add additional Filter / EQ + FX)

Software: (sourcecode is available) http://etecnic.fh-pforzheim.de/~catweazle/F-Synth/

Documentation: Ok, sourcecode could have more comments Embarassed ask if questions
however it really makes crazy sounds Wink and I'm very interested of your experiences (pics/sounds) ... gtz Eric

Edit: use this schematic if you build it http://etecnic.fh-pforzheim.de/~catweazle/F-Synth/PICsynth_V11_schematic.JPG



Posted: Sat Apr 12, 2008 3:53 pm Post subject:fraktal synth

 I'm glad you got it working Ole. Quote: neighbor came downstairs to see if something was wrong with the washing machine Very Happy

yes, that would be cool if a little "open source community" evolves, sharing patches/plugins (or whatever we call them)

The UART (serial port Rx/Tx, also usable for MIDI Wink and SPI-/I2C-Bus pins are free for use.

Connecting a SPI EEPROM 25LCxx or MMC/SD card if a lot memory is needed. 2 analog input ports are free for use, too. one word: audio input...

I've choosen the LED display because of easy/cheapness and it needs very little performance to interface (compared to an LCD).

allways remember: the PIC is no PC nor DSP, all should be kept as simple as possible.

One word (or more) about the programming language choosen Why C ? - Assembly is much more efficent.

- code is readable and can be understood a few years later
- structurized code (not "sphagetti code" with a lot of jumps and gotos)
- much more faster development (idea to algorithm)
- coding a PIC in assembly is not funny
- porting algorithms to other microcontrollers (code recycling)


if much more performance is needed better choose a faster controller
like ARM, Propeller, PIC32, DSP ... Nintendo GBA/DS, PSP, PocketPC ...


but inline assembly packed in a C function is a good idea to
gain maximum performance out of an time critical part of a
synth plugin.

in the moment the PIC is running with the internal oscillator (32MHz),
I had overclocked a PIC up to 100MHz (factor 2.5 , 40MHz is normal)
and it worked Cool
but this is not recommended because some of the internal periphericals (RAM...)
cannot operate at that clock rate, missfunctions occur ...
Maximum clockrate may vary from device, temperature, shielding...
but that can be very interessting thinking of circuitbending.
Errors can be very musical Wink

The original fraktal synth by Eric Boger (catweazle)

catweazle
Posted: Sun Apr 13, 2008 1:03 pm Post subject: fraktal synth
In the "Application.c" a 2kByte Buffer is allocated (array), this is not needed yet.
You can of course delete this lines or comment them out if another PIC is used.


Code: #define BUFFER_SIZE 2047 int8 BUFFER[BUFFER_SIZE+1];

Sequencer usage:

If you change the Step-number pot, the Step-value pot is locked.
To unlock it you have to fetch the old value with the Step-value pot.
Turn pot from left to right (or in the other direction).
If the pot-value and the stored value (old value at the selected step)
are the same the Step-value is unlocked and the Step-value-pot
changes now the selected step value.


Be sure if you use another PIC that it has a internal 8MHz oscillator.

Here is the zipped file with Eric's original source code. There is also a jpg of Eric's original schematic.


From the circuitbenders forum:

Sequencer usage: If you change the Step-number pot, the Step-value pot is locked.
To unlock it you have to fetch the old value with the Step-value pot.
Turn pot from left to right (or in the other direction).
If the pot-value and the stored value (old value at the selected step)
are the same the Step-value is unlocked and the Step-value-pot
changes now the selected step value.


Be sure if you use another PIC that it has a internal 8MHz oscillator.


FM step selection problem:
Pot values toggle on some positions between two values, what is normal and no error.
This could be seen on the display if the Step-select-pot is "between" two steps.
The display shows a mixture of both values (flickers).
Therefor the selected step toggles.
I've tried different possible solutions to solve that.
I've used a common method often used in commercial synths/sequencers.
If you change the Step, the Step-value pot is locked.
To unlock it you have to fetch the old value with the Step-value pot.
Turn pot from left to right (or in the other direction).
If the pot-value and the stored value (old value at the selected step)
are the same the Step-value is unlocked and the Step-value-pot
changes now the selected step value.


It is a bit stressy to fetch the old value with the pot to unlock the value but
this has some advantages against other methods, and it is very easy to implement in software.
When the pots get older there could be jumps in the values (like crackling on audio amplifiier pots)
which ignores the "fetch old value"-method.
Since the performance is limited I have to implement all as simple as possible. It's no DualCore Pentium Wink


Another new feature is that the displays shows symbols for the selected synth:


Fraktal1   Fraktal2   FM-Seq   WSG
                      _             _            _
      | |                            |_|           _
      _              | |             _           |_|


Here's the bugfix
http://etecnic.fh-pforzheim.de/~catweazle/F-Synth/PICsynth_Betaversion04a.hex

yerpa58's fraktal synth experiences...