Sunday, March 27, 2011

1165 lines of code..

..though a bunch of it was copy pasted. I figure I'm about 95% done the new hollow earth, at least programming-wise. Hardware-wise, an AVR dev board, a few rotary encoders, a trimpot, an led and a 5x7 led matrix is all I've been staring at these past few weeks.

Four knobs is probably all you'll need! They're all multi-function. Turn for one thing, hold down and turn for another, tap for another, etc.

A bit of tech info. I'm using an atmega644 uC. It's got 64KB program memory but so far I'm using only 17% of it. I needed the 2KB of eeprom it offered for preset storage. When recording custom LFO shapes, it samples at 10 a second for up to 18 seconds. And then it's interpolated times 20 to smooth it out. Speed is full adjustable while recording and after, obviously. 10sps is plenty for slow human hands, but I'll offer the user to fine tune this in a sort of "preferences" mode.

Let's see, checklist. What's done, and to-do..

-expressive display
-hook up PWM output (with freq doubling)
-do custom LFO record/playback
-x20 interpolation!
-speed control
-depth control
-random blend
-preset saving/loading
-square/triangle/ramp/sine/saw hard preset LFOs

-shape edit
-trigger mode
-multimode tap footswitch

-LDR biasing
-power filtering
-clean tl074 buffer
-CV out
-polarity protection

Saturday, March 19, 2011

led matrix visual feedback

clicky encoders are annoying. ordered some non-clicky ones.

with the push-for-secondary-function knobs and the display now offering an expressive level of visual feedback, I've been able to simplify the next hollow earth pedal to just 4 push-knobs and one toggle at the back of the enclosure!

this was a huge priority because it means I can PCB mount everything on a single board this time!

Sunday, March 13, 2011

LED matrix app

So I got myself a couple tiny 5x7 LED matrix displays to tinker around with. I thought they might be a nice replacement to 7-segment displays. On the new Hollow Earth, I'm using a microcontroller with a greater number of pins, so I think it's doable. Might make for some neat animation, too!

Then my mind caved in at the thought of manually typing binary data for each PIXEL. It's pretty daunting to do by hand, because each LED in the matrix does NOT have its own pin. Instead it's a row and column array where you have to carefully "render" the LEDs, line by line, applying positive power to cathodes where you *don't* want pixels, and so on. Arrrrghhhhhhhhhhhhhhhhhh..........

Too much, I said, so what do I do? I install something I haven't used in like ten years, Visual Basic 4.0.

An hour later, I have made an app where I can draw a number, letter or graphic just by clicking on squares, and then automagically spits out code and/or raw binary data I can simply paste in my micro!

Whatta time saver!

Writing a program that writes code for you. How zen!

Wednesday, March 2, 2011

Redesigning a fundamentally awkward design..

so yeah..

I've started a complete Hollow Earth redesign. I really want to see it being sold again and the old design was just so difficult. Being on two PCBs, socketed ribbon cables, wired switches, hacks and tricks giving each build it's own little quirks. I've had enough of all that. The old one was designed when I was just beginning to understand microcontrollers almost two years ago and I've learned a lot since. Time to do it right, this time.

-single PCB design
-everything PCB mounted, except jacks
-rotary encoders instead of pots, with double functions
(turn does one thing, push and turn does another, or just push, like tapping the speed knob for tap tempo)
-less parts (no "shape" stompswitch for one)
-in-program interpolation, no more smooth knob
-and so on

Probably no more vactrols either. They were a pain to bias properly so that CV-out and the actual tremolo effect played nicely together. Gonna try digital potentiometers instead.

UPDATE: I'm afraid trigger mode will probably go the way of the dodo. It never worked THAT great, and it's one of the major roadblocks in my simplifying.