Quote
Since i have a couple of LPC17 here around… and there is a project where i only need one CV… i thougt making a small little box, with custom code…
well lets try…
I saw on the LPC17 shematic:
That on J5A - A3 a DAC is aviable @ I assume 0-3.3V?for CV I need a level shifter to get 0-5V (Analog) >>> I assume _ OP-AMP will do the job_
I will use some pins from the DIO-MATRIX as GATES , so i need no Logical Level-Shift - (0V and 5V)
Most of UI and the GATES is done by DIO-Matrix:
Features (very minimalistic)
a ADR and a midiclock-synced-LFO mixed to one CV-Output,
5 Real Encoders (4 Menue Encoders, 1 Menue-Encoder to cycle thru the Pages)
4 Virtuel Encoders on 4 Menu-Pages (= 16 V-Encoders),
4 LEDs to indicate Menue-pages,
4 Encoders / 2 Displays SHOW ing / DO ing:
Page 0:
ENVELOPE
ENCODER
0.A / 10 Switch = curve type
1.D / 11 Switch = curve type
2.R / 12 Switch = curve type
3.+-/ 13 Switch = long/short time
Display 1: Scope: ADR - Curve
Display 2: Scope: Mixed real CV ADR+LFO
Page 1:
LFO
ENCODER
0.Rate / 10 Switch = ...
1.Wave / 11 Switch = ...
2.x/4 / 12 Switch = ...
3.+- / 13 Switch = ...
Display 1: Scope: LFO - Curve
Display 2: Scope: Mixed real CV ADR+LFO
PAGE 2
MOTION SEQUENCER
ENCODER
0.LENGTH / 10 Switch = Activate Motionsequencer
1. / 11 Switch =
2.x/4 / 12 Switch =
3.BPM / 13 Switch = Activate internal MidiClock
Display 1: MSQ-Length-Progress Bar + Length in Steps
Display 2: Tact System BPM and MasterLoop Progress-Bar
Page 3:
DISK
ENCODER
0.Load Preset Nr / 10 Switch = DO
1.Save Preset Nr / 11 Switch = DO
2.Letter / 12 Switch = Small-Big-Letter
3.Cursor-Position/ 13 Switch = clear Name
Display 1: Preset NR
Display 2: Preset Name
Page 4:
SYSTEM
ENCODER
0.set MidiCH / 10 Switch = single Channel/all Channels
1.set CV-Trigger-Note / 11 Switch = single note/all notes (automatic assigned to Gate 1)
2.set Gate2-Trigger-Note / 12 Switch = single note/all notes
3.set Gate3-Trigger-Note / 13 Switch = single note/all notes
Display 1: Midi Monitor - showing Notes-Nr. and MidiChannel
Display 2: Midi Monitor - showing Notes-Nr. and MidiChannel
Panel-Layout - and in real world:
the case is also “very” diy ;) see the thru Welt-point…
@ the moment waiting for M1.6 Screws (a wire holds the displays at the moment)… searching for Level-Shifters…
before compiling the first code i have to set my environment variables from STM32F4:
PATH="/home/inet-stick/midibox/gcc-arm-none-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/inet-stick/program:/home/inet-stick/Schreibtisch:/home/inet-stick/Schreibtisch/test:/snap/bin"
MIOS32_PATH=~/midibox/mios32
MIOS32_BIN_PATH=$MIOS32_PATH/bin
MIOS32_GCC_PREFIX=arm-none-eabi
MIOS32_FAMILY=STM32F4xx
MIOS32_PROCESSOR=STM32F407VG
MIOS32_BOARD=MBHP_CORE_STM32F4
MIOS32_LCD=universal
to LPC1769 (linux… sudo nemo… etc/environment… restart linux… have fun doing coding…)
PATH="/home/inet-stick/midibox/gcc-arm-none-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/inet-stick/program:/home/inet-stick/Schreibtisch:/home/inet-stick/Schreibtisch/test:/snap/bin"
MIOS32_PATH=~/midibox/mios32
MIOS32_BIN_PATH=$MIOS32_PATH/bin
MIOS32_GCC_PREFIX=arm-none-eabi
MIOS32_FAMILY=LPC17xx
MIOS32_PROCESSOR=LPC1769
MIOS32_BOARD=MBHP_CORE_LPC17
MIOS32_LCD=universal
(the SSD1306 is a “universal”)
since there was already a mios application in the FLASH, i uplodadet with MiosStudio the actual Bootloader
In Mios-Studio - there is the Terminal - where i typed help, and set following:
and i noticed that i mounted my G-LCDs 180° wrong… so i choose the ROTATED VARIANT, now its all right… these are all commands:
set usb_name CV
set lcd_type GLCD_SSD1306_ROTATED
set lcd_num_x 2
et lcd_num_y 1
set lcd_width 128
set lcd_height 64
store
how ever, num xy and width height will be later overwritten in the app itself…:
#define APP_LCD_NUM_Y 1
#define APP_LCD_NUM_X 2
#define APP_LCD_WIDTH 128
#define APP_LCD_HEIGHT 64
#define APP_LCD_LINE_OFFSET 0
#define APP_LCD_COLOUR_DEPTH 1





















