Logos Productions:   ensembles    projects   concerts worldwide  logos public domain

This page is for internal use and reference

Godfried-Willem Raes

PIC firmware diary

features implemented board used processor composers manual Go to Godfried-Willem Raes' homepage
1.1

<Aeio>: midi parser

last update: 25.09.2010, version 1.6 - now obsolete

midi I/O parsing and lites Amicus board 18F25K20
1.2

<Aeio> : Midi parser

Version 2.0: 07.11.2017
last update: 07.12.2020, version 2.1

midi I/O parsing with double buffering

keyboard display

Aeio-parser board

pcb

circuit

24EP128MC202
1.3

<Aeio>: Lights processor

last update: 22.10.2017, version 1.0

6 lites with flashing

Aeio-parser board

pcb

circuit

18F2520
1.4

<Aeio>: Radar interface for gesture sensing

Version 1.0: 07.11.2017
last update: 07.12.2020, version 1.1

Radar sensor with 12-bit ADC

midi I/O parsing

5 embedded compositions

Radar_3_2017 board 24EP128MC202
1.5- 1.16

<Aeio>: dsPIC boards - string drivers

coded by Johannes Taelman

last update: 2010

2-phase PWM

hammer driver

damper driver

dsPIC30F3010
2.1 <Bono>: Hub board lights midi-hub 18F2525
2.2 <Bono>: Valve board

valve lookup

pulse timing

pulse-hold board 18F2525
3

< Bomi>: Hub

last update: 29.05.2011

tremulant and valve positioning midi-hub 18F2525
4.1

<Thunderwood>: Extra board

last update: 28.05.2011

PWM squaekers

P-channel Mosfets

prototype 18F2520
4.2

<Thunderwood>: Storm wind controller

update: 28.05.2017
last updated: 07.12.2020

3-phase 400Hz motor control

pcb

circuit

24EP128MC202
5

<Pedal> - version 2005 - obsolete

updated version: see under nr.37.-11 (2016)

PWM

Light

LPT Board 18F2525
6 <Puff>: sensor & eyes board

4 digital Input, PIR sensors

stepper motor positioning control

midi-hub 18F2525
7 <Ob>

positioning control

analog tilt sensor

bipolar motor drive

midi-hub 18F2525
8

<Korn>: horizontal movement

last update: 29.05.2011 , version 1.4

two analog Namur proximity sensors

two PIR sensors

stepper motor positioning

midi-hub 18F2520
9 <Vibi>

rotation and positioning of tremolo valves

4 PWM lights + key pressure flash

dual processor prototype board 2 x 18F2520
10.1

<Fa>, movement & lites

Version 1: 25.05.2011 (positioning control, analog tilt sensor, bipolar drive)

last update: 09.03.2020 (Version 2)

source code

automated eyes

lights

midi-hub 18F2525
10.2

<Fa>, valves

last update: 20.01.2012 -Version 1.7

source code

valve control

fingered vibrato

28-output board

rev.2, 03.2007

18F4620
10.3

<Fa> movement and motor control

last update: 02.11.2016

source code

positioning control analog tilt sensor

bipolar DC motor drive

motor control board

circuit

PCB

18F2525
11.1

<Spiro> Midihub board

last update: 16.07.2011

2x PWM

Lights

midi-hub 18F2525
11.2-5

<Spiro>, velo/hold boards

each board controls 14 notes.

last update: 31.07.2011 - JT coding

pulse/hold pulse/hold board rev.2, oct.2006 18F4620
12

<IcePal>, Ijspaleis robot for Laura Maes

source code at:

www.logosfoundation.org/elektron/IcePal/

last update: 02.11.2011 - Version 1.4

3 drippers

5 FSR's analog in

Motor control PWM

Midi I/O

Amicus board 18F25K20
13.1

<Synchrochord> autotuner board

controls the autotuning mechanism

last update: 14.11.2011

1 tacho analog in

1 frequency counter

Midi I/O

PID regulation

prototype board 18F2525
13.2

<Synchrochord> velo/hold board

controls the 12 fingering solenoids on the frets

last update: 24.01.2012- Version 1.2

12 solenoids

global PWM

Midi I/O

Lookup tables

pulse/hold board rev.2, oct.2006 18F4620
13.3

<Synchrochord> midi-hub board

controls the damper and the amplitude solenoids

last update: 24.01.2012

2 softshift solenoids with PWM

Midi I/O

midi-hub 18F2525
13.4.0

<Synchrochord> synchronous motor control board with H-bridge drivers

last update: 05.02.2012

firmware o.k. but hardware fails on the bridge drivers. Replaced with an IB106 motor controller (13.4.1)

3 phase frequency generator with controllable phase and PWM

Midi I/O

Intel 82C54 timer

prototype board 18F4620
13.4.1

<Synchrochord> synchronous motor control board for steering a motor controller with ramping and braking.

last update: 07.03.2012

precision frequency generator

stroboscope

Midi I/O

Intel 82C54 timer

prototype board 18F4620
14

3-channel frequency synthesizer/ 3-phase motor controller

Laboratory tool - uncommissioned yet

Midi I/O

Intel 82C54 timer

etched single sided board 18F4620
15

<Polymetronome>

last update 29.05.2012

Midi I/O

Centronics port

etched single sided board, 05.2012 18F2525
16.1

<Klar> fingerboard

last update 06.09.2012- Version 1.1 source code

fingering lookup tables

fingered vibrato

lights

28-output board

rev.2, 03.2007

 

18F4620
16.2

<Klar> midihub board

07.09.2012- Version 1.1

last update 14.10.2021- Version 1.2 source code

Tilt Sensor input (10bit ADC)

Stepper Motor control

lights + PWM

midi-hub

 

18F2525
16.3

<Klar> wave generator

Arm discovery board ARM STM32F407
17.1

<Temblo> midihub board

last update 19.02.2013 - Version 1.0

source

lights + PWM

power relay

midi-hub, rev.3 18F2525
17.2

<Temblo> pulse board

last update 24.02.2013 - Version 1.1

source

12 pulse outputs

multitasking code

midi-pulse 16 output board

18F2525
18.1

<Horny> midihub board

last update 05.07.2013 - Version 1.4

source

bidirectional movement solenoid (PWM)

valve solenoids

lights

midi-hub, rev.4, 05.2013 18F2525
18.2 <Horny> wave generator Arm discovery board ARM STM32F407
19.1

<Asa> midihub board

last update 13.06.2013 - Version 1.0

source

movement solenoids (PWM)

lights (4)

midi-hub

rev.4, 05.2013

18F2525
19.2

<Asa> fingerboard

last update 16.06.2013 - Version 1.0

source

fingering lookup tables

fingered vibrato

lights (4)

28-output board

rev.2, 03.2007

18F4620
19.3 <Asa> wave generator   Arm discovery board ARM STM32F407
20.1

<Whisper> midihub board

last update 12.12.2019 - Version 1.6

source

2 motor PWM

6 periodic timers

1 AC relay

midi-hub, rev.4 18F2525

20.2

20.3

20.4

20.5

<Whisper> Quad PWM board

update: 20.08.2013 - Version 1.3

update 23.04.2015 - Version 1.4, Updated compiler, Whisper repair

update 12.12.2019 - Version 1.6

8 motor PWM

2 shakers (PIC4 only)

quad PWM Whisper board, version 1.0 4 x 18F2525
21

<Ice 2> audio art installation by Laura Maes

last update 23.09.2013 - Version 1.2

source

4 solenoid valves

4 analog input

1 digital input

midi I/O

midi-hub, rev.3 18F2520
22.1

<Vacca> midihub board

28.10.2013: Version 1.0

last update:

source

power relais

5 lights

2 PWM

midi-hub, rev.4 18F2525

22.2

22.3

22.4

<Vacca> pulse boards

programmed by Johannes Taelman (2005)

source

16 pulse solenoids midi-pulse 16 output board 18F2525
23 <Rodo>      
23.1

<Rodo> midihub board

no longer used since 2017 as we now pass midi through the radar boards.

metacontrol

2 PWM

midi-hub, rev.4 18F2525

23.2

23.3

23.4

23.5

<Rodo>: pulse boards beaters

13.03.2014: Version 1.2

<Rodo>: pulse boards dampers

15.03.2014: Version 1.2

31 beater solenoids

lights

31 damper solenoids

lights

 

28-output board

rev.2, 03.2007

18F4620
23.6

<Rodo>: e-drive board

programmed by Kristof Lauwers

Version 1.0: 04.04.2014 [ now obsolete and removed in 2017]

midi synth AXOLOTI board

ARM

STM32F407

23.7

<Rodo>: e-drive board

Version 1.3: 21.03.2017
Version 1.4: 07.12.2020

12-bit ADC

note generator

ADSR

Rodo board

circuit drawing

PCB

24EP128MC202

23.8

23.9

<Rodo>: radar gesture sensing boards (2)

Version 2.0: 07.12.2020

12-bit ADC

midi parser

Rodo Radar Board

circuit drawing

PCB

24EP128MC202

 

24.1

<Snar_2>: Midi Hub board

snares - pwm

rimshots

lights

midi-hub, rev.4 18F2525
24.2

<Snar_2>: beaterboard

13 beater solenoids

 

28-output board

rev.2, 03.2007

or pulse/hold board

rev.2,10.2006

18F4620

25.1

25.2

25.3

25.4

<4 Digit Display> (2 copies made, A and B)

29.07.2014 Version 1.5

4 7-segment displays with dot

counter

ASCII-mode

stopwatch

bargraph

special display board

version 1.0 - gwr

PC-board

02.05.2014

version 2.0 - gwr

PC-board

29.07.2014

4 x 18F2525

26.1-6

26.7-11

<Zi>

10.07.2014: Version 1.1 [this version was unworkable for hardware reasons, the firmware is o.k.]

08.11.2015: Version 2.0

bidirectional solenoids for plucking strings with hold.

bidirectional solenoids with permanent magnet hold

6 pulse/hold boards rev.2.10.2006

 

 

5 8-output bidirectional H-bridge boards

PC-board

rev.1.0 03.10.2015

6 x 18F4620

 

5 x 18F2525

26.7

<Zi> hub board

 

pwm

lights

midi-hub, rev.4 18F2525
27

<Bug>

board test and evaluation code: pluckers/shakers

20.11.2016: This board used for the <Bug> robot (valves and lights)- see nr. 45 now.

bidirectional solenoids

10-output pulse/hold board GWR

PC-board

06.08.2014

18F4620
28

<Hybr> hub board

Hybr also has 20 ARM discovery boards with firmware developped by Kristof Lauwers and Johannes Taelman. This runs on STM 32F407 processors and generates 40 sinewaves.

06.12.2014 : Version 1.1

power on relay

lights

midi-hub, rev.4 18F2525
29

<BalMec> - 5 modules

 

   
29.1

12.02.2022: Version 1.2

pwm

analog in

lights

Propeller board V1.1

PC-board

2015 / 2022

18F2525
29.2

pwm

analog in

lights

Propeller board V2.0

PC-board

2015

18F2525
29.3

pwm

brake control

analog in

lights

Propeller board V3.0

PC-board

2015

18F2525
29.4

<Bello> , Bell machine

31.03.2015: Version 1.0

autorepeat

pwm

lights

Hub board 2015

PC-board

12-output pulse board 2015

PC-board

18F2525
29.8

<Balsi>
siren control

hardware failure. Firmware is o.k.

3-phase induction motor controller

PC-board

Circuit

24EP128MC202
30

<HybrHi> hub board

HybrHi also has 18 ARM discovery boards with firmware developped by Kristof Lauwers and Johannes Taelman. This runs on STM32F407 processors and generates 36 sinewaves.

11.02.2015 : Version 1.0

power on relay

lights

midi-hub, rev.4 18F2525
31

<Harma> motor control board

22.02.2015: Version 1.1

Motor controls for Siemens controller Motor control board V1.0 - Harma 18F2525
32

<HarmO> motor control board

25.02.2015: Version 1.0
05.04.2021: Version 1.1
27.11.2022: Version 1.2

Motor controls for Siemens controller Motor control board V1.1 - HarmO 18F2525
33

<Dripper> pulse board

15.07.2015: Version 2.0

priority timers

16 solenoid valves

16-output pulse board 18F2525
34.1-6

<Tinti>

12.09.2015: Version 1.2

bidirectional solenoids for shaking bells with velo and hold. 6 pulse/hold boards rev.2.10.2006 6 x 18F4620
34.7

<Tinti> hub board

12.09.2015: Version 1.2

pwm

ctrl.66, power relay, ultrasound synthesizer, vca

lights

midi-hub, rev.4 18F2525
35

<Psch>

18.11.2015: Version 2.1
14.10.2023: Version 3.0

12 shakers with repeats

4 lights

auto-lights CC69

16-output midi-pulse board (2004) 18F2620
36.1-2

<Klung>

22.11.2015: Version 3.0

bidirectional shakers and lights 28-output midi-pulse board 2 x 18F4620
37.1

<Player Piano>

power supply control (PWM)

lights

PCB PS2016 gwr 18F2525
37.2-10

<Player Piano> pp2-2016

  • board 1
  • board 2
  • board 3
  • board 4
  • board 5
  • board 6
  • board 7
  • board 8
  • board 9

29.01.2016: Version 3.1

pulse-velo + hold

priority timers

velo-lookup tables

10-output midi pulse hold board 2005, rev.2 JT 18F2525
37.11

<Player Piano> pp2-2016 Pedal

07.02.2016: Version 3.1

2 channel PWM

2 lights

velo,hold, pwm and slow release

PCB Pedal2016 gwr 18F2525
38.1

<Chi> Ultrasound demodulation board

18.03.2016: Version 1.1

US-PWM

VCA

Lights

PCB Chi_US 18F2525
38.2

<Chi> motor control

08.06.2016: Version 1.1

linear movement (Dunkermotor) with position tracking

2 analog inputs (Namur sensors)

2 digital inputs

1 light

bidirectional solenoid

2 AC relays

PCB_Chi_Mot 18F2525
39.1

<Flex>

hub board

power relay

lights

2 DC motors

PCB Flex-Hub 18F2525
39.2

<Flex>

Frontal motor bow assembly

22.06.2016: Version 1.2

stepper motor IB106 driver (with ramping)

2 PWM bi-dir-solenoid

sensor

clutch

4 lites

Circuit drawing 18F2525
39.3

<Flex>

Back motor bow assembly

21.06.2016: Version 1.2

stepper motor IB106 driver (with ramping)

2 PWM bi-dir-solenoid

sensor

clutch

4 lites

Circuit drawing 18F2525
39.4

<Flex>

e-blade bending movement

11.07.2016: Version 1.2

stepper motor IB106 driver (with ramping and position tracking)

3 sensors

2 PWM motor beaters

2 beaters

Circuit drawing 18F2525
39.5

<Flex>

Pi-blade bending movement

11.07.2016: Version 1.2

stepper motor IB106 driver (with ramping and position tracking)

3 sensors

2 PWM motor beaters

2 beaters

Circuit drawing 18F2525
40

PIC24 development board

04.08.2016: Version 1.0

12-bit ADC

3 PWM channels

Circuit drawing

PCB

24EP128MC202
41

PIC24 Synthesizer board (Prototype)

  • 3-outputs/notes with ADSR

26.08.2016: Version 1.0

3 voices with ADSR   24EP128MC202
42.1-4

<HybrLo>

07.12.2020: Version 1.1
17.12.2020: Version 2.0

6 PWM channels

5 Timers

individual ADSR's

Circuit drawing

PCB

24EP128MC202
42.5

<HybrLo>

01.01.2021: V1.1

1 relay

4 lites

midi parser

Circuit drawing

PCB

18F2525
43 Mirrored-X midi mirror for player piano   24EP128MC202
44

<Bourdonola>

23.09.2016: Version 3.1

parallel bus driver with latches

10-bit PWM

  18F2525
         
45.1

<Bug>

Valves and lights board (cfr. nr 27, 2014)

Version 1.0: 29.12.2016
Version 1.2: 09.12.2020

3 valves (solenoids)

7 lights

10-pulse/hold board

PCB

18F4620
45.2

<Bug>

Midi Hub board

Version 1.0: 29.12.2016
Version 1.1: 09.12.2020

2 stepper motors

3 analog inputs

midi parsed out

Single sided hub board

PCB

18F2525
45.3

<Bug>

Waveform generator - membrane compressor driver

Version 1.0: 30.12.2016
Version 1.2: 09.12.2020
Version 1.3: 19.01.2021

16-bit mono synth with adsr, FM and AM

PCB

Circuit drawing

24EP128MC202
46.1

<Melauton>

25-notes board

24.01.2017: Version 1.0
26.11.2022: Version 2.1

25-notes on/off

functions & procedures coding

Single sided hold board 26 outputs

PCB

18F4620
46.2

<Melauton>
Midihub and DC motor control board

01.02.2017: Version 1.0
26.11.2022: Version 2.0

wind pressure sensor (10 bit ADC), 10-bit PWM motor control

Single sided hub board

PCB

Circuit Drawing

18F2525
47.1-15

<Pi>

Wave generator with digital ADSR

12.03.2017: Version 1.6
07.12.2020: Version 1.7

  • Source code (compile 15 times with different metacompiler commands for each microcontroller).

 

4 x 6 PWM channels

4 x 5 Timers

12 ADSR's

Each board has 4 microprocessors to serve a full octave, in total 15 microprocessors

Circuit drawing

PCB (3 versions)

24EP128MC202
48.1

<Balsi>

Version 1:

3-phase mains power induction motor drive

31.08.2017: Version 1.0 (never got the driver hardware to work properly)

3-phase induction motor

1 ADC 12-bit channel

1 Tacho input

abandonned for Balsi

Circuit drawing

PCB

(different versions available, all with serious hardware problems)

24EP128MC202
48.2

<Balsi>

DC-motor drive for large siren (24V / 260W) with PID feedback

Version 1.1: 15.01.2019
Version 1.2: 07.12.2020

3 PWM outputs

1 DC motor

1 bidirectional solenoid

1 Tacho input

1 analog input

motor control board 1

Circuit drawing

PCB

24EP128MC202
48.3

<Balsi>

DC-motor drive for universal 230V motor
Motor drive for motorized bell
Motor drive for 24V siren

Version 1.1: 15.01.2019
Version 1.2: 07.12.2020

3 PWM outputs

1 Universal motor pwm

2 DC motor drives

1 horn

 

motor control board 2

Circuit drawing

PCB

24EP128MC202
48.4

<Balsi>

midi-hub board with midi parser

Source code

Version 1.1: 15.01.2019

1 relay

7 mosfet outputs (2 PWM)

hub board

PCB (single sided)

PCB (double sided)

18F2620
49.1

<Llor>

16.10.2017: Revision V2.0

8 bidirectional solenoids midi-pulse 16 output board (2004) with autorepeat 18F2525
49.2

<Llor>

17.10.2017: Revision V2.0

16 pulse out midi-pulse 16 output board (2004) with autorepeat 18F2620
50.1
50.2
50.3
50.4
50.5

<Pos>

pulse-hold valve control, with automated note repetition

03.05.2018: Version 1.0
08.12.2019: Version 1.1 - 21.02.2021: 1.1, no changes.

  • Source code (compile 5 times with different metacompiler commands for each microprocessor
14 pulse-hold outputs

5 pulse-hold boards with autorepeat

Circuit drawing

18F4620
50.6

<Pos>

03.05.2018: Version 1.1 Hub board - Motor control & parser

slow pwm motor control

Circuit Drawing

PCB

18F2525
51.1

<Per>

14.08.2018: Version 1.1 hub board

dual slow pwm motor control

Circuit drawing

PCB

18F2620
51.2

<Per>

14.08.2018: Version 1.1 12-out HV pulse-hold board

12 pulse/hold Circuit drawing 18F4620
52.1-10

<2Pi>

Wave generator with digital ADSR

30.08.2018: Version 1.0
07.12.2020: Version 1.1

  • Source code (compile 10 times with different metacompiler commands for each microcontroller).

 

5 x 6 PWM channels

5 x 5 Timers

15 ADSR's

Each board has 5 microprocessors to serve 15 notes, in total 10 microprocessors

Circuit drawing

PCB

24EP128MC202
53

<Pyro1>

PIR detector board for movement sensing

05.02.2019: Version 1.0
07.12.2020: Version 1.1

Source code

2-channel 12 bit ADC channels

midi IN & OUT

Circuit drawing

PCB

24EP128MC202
54

<HEX-2019>

Midi to Centronics printer port interface

10.04.2019 Version 1.0
12.05.2020

LPT-port (bidirectional)

Midi In

Midi Out

Circuit Drawing

PCB

18F4620
55.1

<Rumo>

Midi-hub board

22.05.2023: Version 1.2

1 relay

7 mosfet outputs

1 optorelay

Circuit drawing

PCB

18F2620
55.2

<Rumo>

27.06.2020: 12-pulse/hold output board - Version 1.0 - now used for <RorO> - see nr.56.4

new version available for <Rumo> - not yet used

12 outputs

PCB 12 out pulse/hold board

Circuit drawing

18F4620
55.3

<Rumo> - coffee roaster Nestor Martin

source code

08.10.2020: DC-motor control board - Version 1.3
07.12.2020: Version 1.4
23.05.2023: Version 1.5

14-bit PWM motor control with ramping

PCB

Circuit drawing

24EP256MC202
55.4

<Rumo> Whisper2-component 8-channel PWM-Fan driver

Version 1.0, 25.05.2020

Version 1.1: 23.05.2023

quad PIC board

8 8-bit.25kHz PWM

2 shakers

Circuit Drawing

PCB

4 x 18F2525

55.5

was 68 = 62.2

<Rumo> Clay bell motor (2023)

(same board as used for hunting horn - Belimo motor)

pcb made 25.12.2020

Source code

Version 1.0 - 19.03.2023

 

2 bulbs

2 relays

Circuit drawing

PCB

18F2525
55.6

<Rumo> - hooter module synth 1

Version 1.0: 20.05.2023

source code

3 hooters

ABT416 drivers

Circuit drawing

PCB

24EP128MC202
55.7

<Rumo> - hooter module synth 2

Version 1.0: 22.05.2023

source code

3 hooters

IR2104 drivers

Circuit drawing

PCB

24EP128MC202
55.8

<Rumo> - claxons and shakers module

Version 1.0: 23.05.2023

source code

8 pwm channels

2 pwm channels

Circuit drawing

<Sire> board

18F2620
55.9

<Rumo> - pulse board

 

 

Circuit drawing

<Sire> board

18F2620
55.10 <Rumo> Radar1      
55.11 <Rumo> Radar2      
56.1

<RorO>

midi hub board: relay, tremulant, motor control, lights

07.04.2021: Version 1.0
03.05.2021: Version 1.1

source code

1 relay

7 mosfet outputs

Motor control

Circuit drawing

 

18F2620
56.2

<RorO> pulse-hold boards - roerpijp register

03.05.2021: Version 1.0

source code (with metacompile statements for 4 boards)

14 pulse/hold outputs   18F4620
56.3

<RorO> pulse-hold boards - salicional register

03.05.2021: Version 1.0

source code (with metacompile statements for 3 boards)

14 pulse/hold outputs   18F4620
56.4

<RorO>

Low-windchest controller board: 12 output pulse/hold board (Cfr. 55.2)

07.04.2021: Version 1.0
03.05.2021: Version 1.1

source code

12 outputs

PCB 12 out pulse/hold board

Circuit drawing

18F4620
57.1

<Tubo>

frontal demper board (notes 48-65)

source code

10.12.2019 Version 1.2

18 high current outputs with timers

3 lookup tables

PCB 26 output board 18F4620
57.2

<Tubo>

source code

midi-hub board

Version 1.1

1 relay

7 mosfet outputs

PCB (double sided) 18F2620
57.3

<Tubo>

frontal beater board (notes 48-65)

source code

08.12.2019 Version 1.1

18 high voltage outputs with timers PCB 18 output board 18F4620
57.4

<Tubo>

source code

high beater board, notes 66-91

08.12.2019: Version 1.1

26 output board PCB 26 output board V1.1 -24.09.2019 18F4620
57.5

<Tubo>

source code

high damper board (notes 66-91)

Version 1.2, 10.12.2019

26 output board

4 lookup tables

PCB 26 output board V1.1 -24.09.2019 18F4620
57.6

<Tubo>

source code

low vibrato DC-motor control

V1.1 - 07.12.2020

14-bit PWM motor control

PCB

Circuit drawing

24EP128MC202
57.7

<Tubo>

source code

high vibrato DC-motor control

V1.1 - 07.12.2020

14-bit PWM motor control

PCB

Circuit drawing

24EP128MC202
58.1

<Flut>

midi-hub and parser board

 

PCB

Circuit drawing

18F2620
58.2

<Flut>

valve control board

14-pulse/hold board with lookup tables and fingered vibrato

PCB

Circuit drawing

18F4620
58.3

<Flut>

Version 1.0: 10.02.2020
Version 1.1: 07.12.2020
Version 1.2: 19.01.2021

waveform generator

 

16-bit mono synth with adsr, FM and AM

PCB

Circuit drawing

24EP128MC202
59.1

<So>

Version 3.0, 17.02.2020
Version 3.1, 07.12.2020
Version 3.2, 19.01.2021

waveform generator

16-bit mono synth with adsr, FM and AM

PCB

Circuit drawing

24EP128MC202
59.2

<So>

Version 3.0, 18.02.2020

midihub board

bidirectional solenoids

lights

PWM

Circuit drawing 18F2620
59.3

<So>

Version 3.0, 18.02.2020

display driver board

synth in version 2, now only display driver Circuit drawing 30F3010
60.

Booter and Hub parser board for Hybr and HybrHi

Source code

Version 1.0, 26.02.2020

drives 5 power relays (230V)

cold-boots the Hybr robots

midi-parser

lights

9-bit PWM

Circuit drawing

PCB - 5V version

PCB - 12V version

18F2525
61.1

<Autosax> Version 5 - key-control boards (fingering)

Source code

Version 1.0, 16.03.2020

each board steers 8 high voltage solenoids

Circuit drawing

PCB

18F2620
61.2

<Autosax> Version 5- Membrane compressor driver

Source code

Version 1.0, 16.03.2020
Version 1.1: 07.12.2020
Version 1.2: 12.12.2020
Version 1.3: 19.01.2021

16-bit mono synth with ADSR, FM, AM

Circuit Drawing

PCB

2 x 24EP128MC202
62.1

<Hunt> - hunting horn compressor driver

Membrane compressor driver board

Source code

Version 1.0 - 19.01.2021

16-bit mono synth with ADSR, FM, AM

Circuit Drawing

PCB

2 x 24EP128MC202
62.2

<Hunt> - hunting horn - Belimo motor

Source code

Version 1.1 - 18.01.2021

2pos mercury switch with debouncing

2 bulbs

2 relays

Circuit drawing

PCB

18F2525
62.3

<Hunt> midi hub board

Source code

Version 1.0

midi-parser   18F2620
63

3-phase synth board

as yet uncommissioned

     
64.1

<Trumpeter>

Membrane compressor driver board (same board as used for <Hunt>)

Source code

Version 1.1: 12.07.2021

16-bit mono synth with ADSR, FM, AM

Circuit Drawing

PCB

2 x 24EP256MC202
64.2

<Trumpeter>

Valve control board and midi hub

source code

Version 1.1: 12.07.2021

hub board with power relay and velo/pulse outputs for valves Circuit Drawing 18F2620
65.1

<Cornalto> Waveform generator / membrane compressor driver

source code

Version 1.0: 10.10.2021

dual PIC wavegenerator board

Circuit Drawing

PCB

2x 24EP256MC202
65.2

<Cornalto> Valve control and midi hub board

source code

Version 1.0: 10.10.2021

hub board with power relay and velo/pulse outputs for valves

Circuit drawing

PCB

18F2620
66.1

<Pianet> Pulse/Hold boards ( 5 x 12 notes)

Pianet_PH1.hex

Pianet_PH2.hex

Pianet_PH3.hex

Pianet_PH4.hex

Pianet_PH5.hex

12-output pulse hold high voltage boards

Circuit drawing

PCB

18F4620
66.2

<Pianet> Hub and parser board

Version 2.0: 22.01.2024

source code

hub board with power relay and velo/pulse outputs

10-bit PWM for Vactrol VCA

  18F2620
67 <Sperrhak> Pulse/Hold boards ( 4 x 14 notes)      
68 now = 55.5 - used for <Rumo>, Clay bell      
69

<Shak>

Source code

Version 1.0: 02.11.2021

hub board with power relay and velo/pulse outputs for 4 solenoids

Circuit drawing

PCB

18F2620
70

Uncommitted as yet (uses the Sire PCB)

4 - 2 Phase Aiwa motors

  Circuit drawing 18F2620
71.1

<Steely>

Source code

Version 1.2: 10.01.2022

Uses Sire board and L298 bridge drivers

8 solenoids with velo and dead-time

autorepeats

Circuit Drawing 18F2620
71.2

<Steely>

Radar board

Version 1.0: 01.2022

24GHz radar   24EP128MC202
72.1-72.10

<3Pi>

Wave generator with digital ADSR

20.03.2022: Version 1.0

  • Source code (compile 10 times with different metacompiler commands for each microcontroller).

 

5 x 6 PWM channels

5 x 5 Timers

15 ADSR's

Each board has 5 microprocessors to serve 15 notes, in total 10 microprocessors

Circuit drawing

PCB

24EP128MC202
73.1-72.18

<4Pi>

Wave generator with digital ADSR

16.05.2022: Version 1.0
04.08.2022: Version 1.2 - with pitch shift implemented

  • Source code (compile 18 times with different metacompiler commands for each microcontroller).

 

6 x 6 PWM channels

6 x 5 Timers

18 ADSR's

Each board has 6 microprocessors to serve 18 notes, in total 18 microprocessors for 56 notes

Circuit drawing

PCB

24EP128MC202
74.1-74.2

<Troms>

10.07.2000: Version 1.0 by Johannes Taelman
15.12.2022: Version 2.0 - gwr

2 x 16 pulse outputs

with death time

  18F2525
75.1

<Kazumi>

midi-hub board

06.04.2023: Version 1.1

stepping motor control - sensors

softshift solenoid 10bit PWM

lights

power relay

Circuit drawing

PCB

18F2620
75.2 - 75.3

<Kazumi>

synth board

source code (compile 2 times for pitch and ampli)

05.04.2023: Version 1.0

dual PIC wavegenerator board

Circuit drawing

PCB

2 x 24EP256MC202
76.1

<Teno>

midi-hub, motor and valve control board

source code

14.02.2024: Version 1.0

board with 4 puilse/hold outputs and 3 lites

slow PWM for motor control

Circuit drawing

PCB

18F2620
76.2

<Teno>

synth board

source code (compile 2 times for pitch and ampli)

14.02.2024; Version 1.0

dual PIC wavegenerator board

Circuit drawing

PCB

2 x 24EP256MC202

Notebook:

25.09.2010: Proton Compiler version 3.5.0.6.
21.08.2013: The code for the periodic timers written for <Whisper> is superior to all previous implementations. So this should be applied to earlier firmware.

23.09.2013: Periodic timers and random functions applied in <Ice2> for Laura Maes.

31.07.2014: The code for the displays contains a mechanism to let the four PIC's communicate with each other, using busy and acknowledge signals. This code also makes use of multiple main program loops.

21.04.2015: Compiler upgrade performed. Proton version 3.5.7.1 now. Proton24 compiler (version 1.0.2.8) installed as well. [ www.protonbasic.co.uk ]. Previous code needs some minor changes such as removing Reserve_Ram 256 and the High_Interrupt_Start and High_Interrupt_End lines in the IRQ driver code. Also the new compiler version does not support dword operations in an interrupt handler.

11.09.2015: The manual states an incorrect upper value for the PWM frequencies as set with the HPWM command. Further remarks in the source code for <Tinti> hub.

12.04.2016: Changing the PWM frequency changes the PWM values on both channels.

08.06.2016: Implementing different analog input channels is well implemented in the Chi_Mot firmware. Proton Compiler version is now 3.5.8.1

24.06.2016: Key pressure command applied on note repeats is well implemented in the source for <pp2>, <Flex>-blade bending processor.

01.08.2016: For the PIC24 and dsPIC33 microcontrollers we are using the Proton24 compiler ( Version 3.6.0.2) with a PicKit3 programmer.

10.12.2016: The code for the <Bug> generator is a nice prototype for a monophonic synthesizer using variable sampling rate for tone generation.

19.02.2017: The code for <Pi> uses a full digital approach to 3-channel waveform synthesis with ADSR.

21.03.2017: The code for <Rodo> e-drive implements a 12 bit sampler as well as full digital audio power output.

04.04.2017: The code for <Rodo> radar has gesture recognition implemented as well as full buffered midi merging. It also uses the external interrupt feature.

29.05.2017: The code for Thunderwood's storm wind controller is a good prototype for a 3-phase ac induction motor controller.

31.08.2017: The code for Balsi, version 1.0 is a generic 50Hz 3-phase induction motor controller.

10.09.2017: Suspicion of a SWORD implementation bug in the Proton24 compiler. (cfr. dev. of code for 3 phase motorcontrol)

18.10.2017: All 18F2525 processors can be replaced with 18F2620 types.

24.10.2017: The compiler no longer supports the MIN and MAX functions.

03.05.2018: The hub board for <Pos> has a nicely working motor controll for a monophase asynchronous motor.

09.12.2018: The <Balsi> motor control board has frequency measurement and PID for the large siren pitch control.

10.12.2018: Newest version of the Proton compiler ordered from Crownhill. Newest manuals downloaded as well.

18.12.2018: Compiler version 3.6.2.7 (Proton8) and 1.0.5.3 (Proton24). The Proton8 compiler now gives problems with our IRQ coding replacing HSRin and HSRout. The code for Balsi hub is the new supposed to be compatible version for use with the new compiler version. First tests on the oscilloscope looks like it's working again...

15.01.2019: The <Balsi> robot is the first one using only the newest compiler versions.

24.09.2019: Serious problems in getting our multitasker to work with the compiler upgrade. The Balsi trick doesn't seem to work when applied to the 18F4620 damper board for Tubo. Adding a single HRSout instruction in the code appears to be a condition for the serial-in procedures to function.

06.11.2019: Compiler upgrade downloaded. Proton8 is now version 3.7.3.1, Proton24 is version 1.0.6.4. So far, it does not seem to entail source code changes.

08.12.2019: A small change in the coding, but a great improvement on timing precision: see code in the new timer0 interrupt handling for 8-bit PIC's. (example: all Tubo boards) With this code, timing jitter is less than 5 promille. (average jitter is ca. 5us , worst case jitter occuring rarely is 200 us). This coding change also applied to the velo/hold boards on our <Pos> robot.

11.12.2019: Compiler upgrade performed. Proton8 is now version 3.7.3.3 and Proton24 version 1.0.6.6. From now on, if we want HPWM to work on two channels, we have to add declares in the config file!

Declare HPWM1_Pin = PORTC.2

Declare HPWM2_Pin = PORTC.1

12.12.2019: Firmware for Whisper rewritten.

08.02.2020: Firmware for <Flut> is a very good example for a driver for robots. Same principle applied in <So>, version 3.

15.02.2020: Firmwares for Autosax 16-bit pics spread the load over two processors, with simple data exchange between chips. However, this did not fully solve the problem of the glitches we seem to have.
03.05.2020: New mono-synth board made, also using two processors, for experiments and research. This board, october 2020, used for the hunting horn in the <Rumo> robot.

06.10.2020: Board and firmware made for roaster motor in <Rumo>. We had a 22uH inductance in the Vcc+ analog lead, but this caused oscillations! 100uH cured the problem.

08.10.2020: There seems to be a limit in the nesting of if-then constructions in Proton24 code. <Rumo>-roast code with if-then in the midi-parser does not work. We must use a select-case construction apparently. Ramping works nicely now in this code.

09.11.2020: Switch debouncing, using sampling in the low IRQ and a shift register is handled very well in the code for the horn-motor in the <Rumo> robot. Look into the firmware for the mercury switch version. This is now the <Hunt> robot.

07.12.2020: A bug plaguing almost all code we wrote using the 24EPxxxMC202 processors solved: to read a combined 32 bit timer, first the lsb should be read (time.word0 = TMR2) , than the msb via the hold register: (time.word1 = TMR3HLD). Firmware for <Hunt> , <Bug> and <Pi> newly uploaded.
12.12.2020: New implementation for ADSR on 24EPxxxMC202 chips: using tmr2 as sample frequency generator. So far, applied to <Hunt>,<Autosax>,<Bug>,<Flut>. To be done for <So> as well.
15.12.2020: Applied to <So> as well
17.12.2020: Major rewrite of the 3-channel code for HybrLo. Now at version 2.0
23.12.2020: Three new test and debug boards made for 18F and 24EP series microprocessors. These new boards have 5p DIN midi connectors for in and out, as well as an on board power supply.

24.12.2020: Compiler upgrade: now Proton8 version 3.7.3.6 and Proton24 1.0.6.7. At first sight, no changes in the source code seem required. Soldering...
19.01.2021: Firmware for the pitch chips (24EP-series) updated on <Flut>,<Hunt>,<Autosax>,<So>,<Bug>. Vibrato is now reliable on all of them.
10.03.2021: PIC firmware still to be uploaded in the 24EP chips on the following robots (cfr. bug cured 07.12.2020): Tubo (motors), Rumo (motor), 2-Pi, Balsi, Pi, Mirrored-X, HybrLo, Rodo (sensor and e-drive), Thunderwood (Storm), Aeio (parser and radar). The source code is allready upgraded.
01.04.2021: Start coding for <RorO>. Finished july 2021.
30.06.2021: <Trumpeter> finished. Delayed vibrato implemented.
10.10.2021: <Cornalto> finished. Note attack wave implemented.
14.10.2021: Revision and upgrade of the hub code for <Klar>
02.11.2021: Coding for <Shak> - compilation o.k. with the latest compiler
03.11.2021: Compiler upgrade. Proton8 has become Positron8 and Proton24 became now Positron16. Required changes: 'Optimiser_level = 3' has to become DECLARE Optimiser_level = 3
12.01.2022: Coding for <Steely>: here we implemented dead-times after pulses to protect duty cycle restrictions.
13.01.2022: Shouldn't we start studying and using the dsPIC33FJ128GP802 This exists in 28 pins DIP, has 12 bit ADC and 16 bit DAC (stereo) on board...

06.02.2022: MPLAB upgraded.Now we are using version IPE and IDE 6.00. Previous version was 3.35. The new version supports the PICkit4 programmer, which we also bought and installed.
20.03.2022: 10 16 bit PIC's for <3Pi> programmed and tested o.k.
16.05.2022: 18 16 bit PIC's for <4Pi> programmed and tested.
11.11.2022: Further work on 3-channel synth code for hooters in Rumo.
26.11.2022: Firmware for the Melauton PIC's upgraded. (10-bit PWM and better motor control algo). This code no longer uses Gosub's but has procedures and functions instead.
15.12.2022: Firmware for <Troms> redesigned. Now also with dead-times after pulses.
20.03.2023: New hub board made for <Kazumi>. Firmware o.k. with Positron compiler.
23.05.2023: 8-channel PWM code written and tested for the sire board used in <Rumo>.
14.10.2023: Code for PSCH rewritten. Now version 3.0
22.01.2023: Hub code for <Pianet> rewritten. Now using 10-bit PWM for Vactrol VCA control.
05.03.2024: <Teno> added, version 1.0 Valve board with pulse/hold and 2-chip synth board. With note wave attack and delayed vibrato as on Cornalto. New implementation for controller 17 and for velocity.

Compiler website for downloads and upgrades:

Debugging and programming board made (for 18F series controllers):

2002 PCB

Programmer: Microchip PICkit 2, USB & Microchip PICkit 3, USB.

Debugging and programming board made (for 24EP and ds33EP series controllers):

01.08.2016 PCB

Programmer: Microchip PICkit4 or Microchip PICkit 3, USB

A short article describing the latest debugging and programming boards we designed can be found here.