MidiALF!


#581

@mmarch 52 HP


#582

@kvitekp

On the “through” schem, your inverting the midi signal for the LED, is there an easy way to do it without the schmitt trigger?


#583

@altitude – you can use another transistor as inverter, something like this:


#584

Perfect. I can just tap this right off the opto coupler (in) and uC (out) lines and not have to worry about loading the signal?


#585

@altitude – I did not try it myself, however I believe it should work w/o affecting MIDI signals.


#586

I’ll give it a whirl shortly and report back. There is a certain satisfaction with midi indicators for some reason


#587

so the circuit works but it is SUPER dim regardless of the current limiting resistor, should I change the 10k parts to something smaller?


#588

So, finally my Odyssey to bring my MidiAlf to v.0.94 ended successfully!

I first tired a cheap USBasp clone - which didn’t work.

Then I finally gave up and ordered an original AVRISP mkII - which DID work!

Thanks to the instructions by Loopino the flashing on Mac OS X worked.

But not quite… After flashing the Atmel it still booted into v.0.93!

I got his from Terminal:


-> avrdude -B 100 -V -p m644p -c avrispmkII -P usb -e -u -U efuse:w:0xfd:m -U hfuse:w:0xd6:m -U lfuse:w:0xff:m -U lock:w:0x2f:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e960a
avrdude: erasing chip
avrdude: reading input file "0xfd"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: reading input file "0xd6"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: reading input file "0x2f"
avrdude: writing lock (1 bytes):

Writing | | 0% 0.00s *****failed;
Writing | ################################################## | 100% 0.08s

avrdude: 1 bytes of lock written

avrdude done. Thank you.

-> avrdude -B 1 -V -p m644p -c avrispmkII -P usb -U flash:w:midialf_094_cv.hex:i -U flash:w:muboot.hex:i -U lock:w:0x2f:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e960a
avrdude: NOTE: “flash” memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "midialf_094_cv.hex"
avrdude: writing flash (50810 bytes):

Writing | | 0% 0.00savrdude: stk500v2_command(): warning: Command timed out
avrdude: stk500v2_paged_write: write command failed
Writing | ################################################## | 100% 105.37s

avrdude: 50810 bytes of flash written
avrdude: reading input file "muboot.hex"
avrdude: writing flash (65420 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 65420 bytes of flash written
avrdude: reading input file "0x2f"
avrdude: writing lock (1 bytes):

Writing | | 0% 0.00s *****failed;
Writing | ################################################## | 100% 0.06s

avrdude: 1 bytes of lock written

avrdude: safemode: Fuses OK (H:FD, E:D6, L:FF)

avrdude done. Thank you.


Luckily I had ordered a replacement Atmel with the AVRISP and so I popped that one in and it flashed fast and OK.
Conclusion: something must be wrong with the Atmel I got from Peter.

So, success finally. :slight_smile:

And with the AVRISP at hand maybe I’ll even start hacking firmwares now!


#589

Here’s an indication that flash was not written:

avrdude: erasing chip
avrdude: reading input file “midialf_094_cv.hex”
avrdude: writing flash (50810 bytes):

Writing | | 0% 0.00savrdude: stk500v2_command(): warning: Command timed out
avrdude: stk500v2_paged_write: write command failed
Writing | ################################################## | 100% 105.37s

This must be faulty flash, I have never seen this before.

I’ve reimbursed you for the cost of pre-programmed MidiALF MCU.


#590

You´re welcome!


#591

I like the view…


#592

Two ALFs…


#593

Posted on the midibox forums also but would like to inquire for a completed cv-alf with case, if someone possibly has one for sale. I’m in sweden. Peace + love.


#594

Hi Pete!
Thank you very much for the implementation of the sequence switching at the end of the sequence.

It took a while to make the update from 0.92 to 0.94 as it didn’t work with Sysex and MIDI-OX with 250ms delay. So I had to dig out my AVR programmer and had to program it that way - but now it works fine.

The new sequence swithcing at the pattern end works fine on the audio side but the display is not updated when the sequence is switched to the next pattern. You have to press the SEQx button again to get the pattern displayed. Maybe you could correct this behavior in one of your next versions!
Greetings and thanks again!
Peter


#595

Thank you for reporting, Peter. I could not repro this right away using the version I ran here, it might be already fixed, i’ll check it out.


#596

MidiALF firmware update 0.94a available here .

Changes:

v0.94a

  • fixed screen update problem after sequence switch on end (thanks to Peter_Ullrich @ MI forums)
  • send CC1/2 CV if incoming CC matches CC1/2 controller number
  • added aftertouch CV mode
  • added pitch bend CV mode

With this update MidiALF/CV can be used as pretty decent MIDI to CV converter: 4 x CV channels can be assigned to:

  • Note (1V/Oct with per note tuning)
  • Velocity
  • CC1/2
  • LFO1/2
  • After touch
  • Pitch bend

Each of 4 x Gate outputs can be set to:

  • Gate (on while key is down)
  • Strobe (pulse on key down)
  • Clock (pulse 24 PPQN)
  • Start (on while sequencer is running)
  • Seq (pulse on sequence start)
  • LFO1/2 (pulse on period start)

It’s very convenient to use with modern analogues synths (like Korg MS-20 Mini or Moog Phatty) which accept note events over MIDI but lack adequate modulation support using MIDI CCs. With MidiALF/CV you can send notes via MIDI and use CVs send modulation info.


#597

Hi Pete!
Thank you for the very fast correction of the sequence switch problem - works very well!
While testing even further I found that there are two other situations where the pattern switching could also be improved:

  1. Loading a sequence switches immediately to the new sequence - even if the sequence switch mode is set to “end”. Could you please change that to switching at the end of the current pattern as with the SEQx switches?
  2. Pressing RUN/STOP switches also immediately, in sequence “end” mode this could also be done after finfishing the current pattern. Bit OK, this is maybe not everybodies taste…
    Peter

#598

Yes for (1), probably no for (2)


#599

Just thought I’d share an image of one of my MidiALFs in Frank’s plexi case with skirtless knobs found here – they don’t need any cutting and fit very well:


#600

I have a weird problem. . .
Sometimes a few of my 8 encoders don’t react to turning them. the first few work pretty much right off the bat, the rest, are either slow, or just don’t react. Any one have any ideas? also of note: I have to hold the 8 buttons for extra long for them to register a press.
I just updated to the most recent version firmware and the same thing happens.

Also, @altitude did you post the Euro case file? That looks awesome.