Chanelyzer - Loop/pedal switcher

Stompboxes circuits published in magazines, books or on DIY electronics websites.
Post Reply
User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Hi!

I'm from Slovenia, so you have to excuse my bad english. I choosed to build a programmable pedal switcher on my own, because I have too much pedals on my setup and wanted to simplify switching between presets (pedals, whatever).
The design is basically very simple. Switching between bypass and the loop is done by DPDT relays. Relays are controlled by an AVR microprocessor. Because there is a shortage of I/O pins on the AVR, I included a shift register for the relay controlling. I also included a tuner output, which can be used as a second output (think programmable AB box).
Here's a partial schematic (some names are in slovenian):
Image
And here's a picture of the prototype:
Image

Cheers

User avatar
Da Cat
Information
Posts: 31
Joined: 25 Oct 2008, 05:25
Been thanked: 1 time

Post by Da Cat »

RiZsho ROCKS!

fellow Slovenian! :mrgreen:

User avatar
guiddruid
Breadboard Brother
Information
Posts: 103
Joined: 14 Aug 2009, 12:18
Has thanked: 15 times
Been thanked: 12 times

Post by guiddruid »

You could use an i2c port expander instead of a shift register; http://focus.ti.com/docs/prod/folders/p ... f8575.html
Gives a lot more flexibility.

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Sure it gives flexibility, but why waste money on that and complicate programming? I mean it's not that hard to communicate with I2C but routines and functions for I2C waste a lot more memory than simply giving a strobe and a serial stream to a shift register. Basically, that expander is some sort of a shift register with better buffered outputs that the 74ls164.
But it's a good idea. Cause i want to add a midi module and i'm pretty sure i'm gonna run out of IO pins.

Thx

User avatar
RonaldB
Information
Posts: 34
Joined: 18 Sep 2007, 07:10
Has thanked: 4 times
Been thanked: 1 time

Post by RonaldB »

Hi,
looks good, are you willing to share the code for this?
Ronald

User avatar
rbstep
Breadboard Brother
Information
Posts: 88
Joined: 17 Apr 2008, 18:26
Location: Riviera Beach, Florida USA
Has thanked: 88 times
Been thanked: 8 times

Post by rbstep »

OUTSTANDING!!!!!!!

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Thanks for the positive comments. I will probably share the code, but I have to finish it first. It's not my priority project at the time, so be patent.

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Hello again!

Chanelyzer is right about finished (except cosmeticaly). Menu language is Slovenian for now (hadn't had the time to translate). I decided im not gonna share the code, but i can send you the programmed Atmega for a lousy 20€ + shipment costs. This is not final, it's just the fact i'm deciding on making more and selling them officialy, so bare with me. Schematics and other stuff on PM.

Pictures of a working prototype:
Image
Image

Demo video:

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Hello again!
I decided i'm gonna share the code.
Here's the .hex for the Atmel (english). Let me know if it's buggy so i can optimize it.
If you want the source, PM me!
Attachments
CHANELYZER_V1.2_ENG.rar
Hex file for Atmega16
(4.84 KiB) Downloaded 246 times

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Hi!

It has been a long time since I made any progress on this project due to my time shortage. I am thinking however in another way. I would like to go opensource with this project, since I don't have a lot of spare time. Code and schematics would be all open source under GPL. Pcb files wouldn't be exactly opensource since they are already developed by a program that's not open source + it's a two sided board with 0.6/0.3 vias an 10 mil lines. Not designed for homemade pcb brewing. I would like to know if there is anyone interested in such a thing. As a user or developer (soft or hard) or anyone who has ideas or just wants to contribute. I already developed a board with the following features:
-LPC1227 Cortex-M0 microcontroller - programmed via SWD or ISP
-USB to serial
-MIDI
-7 relays for 6 loops + AB switching
-2x16 LCD with optional backlight (PWM modulation for stepping brightness)
-5 footswithces + LED for every foot switch
-2 switches,1 pot and 7 LEDs on interface board
-switching power supply 12V to 5V and 3.3V

Thanks, Tomaz

User avatar
defaced
Information
Posts: 48
Joined: 07 Feb 2010, 17:52
Been thanked: 1 time

Post by defaced »

I'm not familiar with that MCU, what language is this programmed in? Assembler, C...?

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Hi defaced!

It's relatively new on the market. I use them at work and so I included it in this project. Let's make this clear. Any microcontroller can be programmed in assembly, because assembly language corresponds directly with the processor. However! As microcontrollers tend to be different from each other by architecture and so on. So assembly is different from architecture to architecture. Now we're at C. Any microcontroller can be programmed in some type of C, as long as you have a compiler for it. There may be subtle differences in some atributes, but C is easily portable in most cases.
To answer your questions: Yes and Yes.
It can be programmed in assembly - but I don't recommend it. My plans where that this processor can be programmed via JTAG (or SWD). That means you can run debugging sessions from the computer, you can step the code to see where you made a mistake. Really helpful and offcourse - low price.

Check these two:
http://si.farnell.com/nxp/om13000/board ... dp/1825878
http://si.farnell.com/nxp/om11048/kit-d ... dp/1777673
They both are development board with separable JTAG/SWD proframmer for low $ or €. You can start to program with them. And when you get bored you can hook up chanelyzer and programme it!

Here's the link to the IDE site:
http://ics.nxp.com/lpcxpresso/
And here's where you can download the IDE:
http://lpcxpresso.code-red-tech.com/LPCXpresso/

Finally some PDFs to get you started:
http://www.nxp.com/documents/data_sheet/LPC122X.pdf - data sheet
http://www.nxp.com/documents/user_manual/UM10441.pdf - user manual
http://www.nxp.com/products/microcontro ... FBD48.html - Site at NXP

If you got some further questions, shoot!

Tomaz

User avatar
defaced
Information
Posts: 48
Joined: 07 Feb 2010, 17:52
Been thanked: 1 time

Post by defaced »

Thank you for the thorough response. I guess I should have asked my question a little better. You're going to release this as a GNU project, who's source code is going to be available for people to play with. When they download your code, what language will it be in?

I ask because I think this is a great idea and I think the language is going to be a big factor in how far it goes. I've done a similar (and more simplified) project for an amp I am building, and though I'm no programmer, I was able to choke through BASIC to get it going. So I was hoping your project was going to be released in a language us mortals could understand. C is doable, Assembler though.... forget about it.

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

The language that is going to be released is C. BASIC compiler, as far as i know, is not available for Cortex-M0 (maybe i'm wrong). My plan is to develop a working "framework" which will include all the low level stuff. So basically you will have a working set of functions for all the hardware that's on this board. You won't have to worry about low level stuff like PLL values, UART divider and multiplier values, etc. That will be taken care of. Example: You want to send a midi program change to a device on channel 1 with a value 45. The only thing to do is use the libraries provided and write MIDI_Out_Programchange(1,45);
I hope you understand what i'm trying to say and do. With a sample project you will be given libraries, documentation and main.c :) From there on it's your choice what's it gonna do. Offcourse there will be a version which will demonstrate all the features that you can do with this pedal. You can connect it with a PC via usb-to-serial and do anything with it: reprogram it, change settings. All depends on your imagination.

User avatar
defaced
Information
Posts: 48
Joined: 07 Feb 2010, 17:52
Been thanked: 1 time

Post by defaced »

Perfect. If all the hard stuff is done, then doing the logic is within my very limited C abilities.

User avatar
KB
Information
Posts: 48
Joined: 06 Sep 2007, 08:19
my favorite amplifier: JMP50
Completed builds: Not in any particular order: Tweed delux, JMP50, 1987
Blue box, King of clones, Neovibe, P90, Cupcake, little green wonder, Honey bee, Fulldrive, lovetone brown sauce, Mayo type bigmuff, fuzz factory, box of rock, super hard on corel chorus.
PT80 x2
Location: At the back of beyond and halfway to my elbow
Has thanked: 27 times
Been thanked: 1 time

Post by KB »

Živio RiZsho
Dobro da vidite se z vračal se k temu projektu.....
Še vedno napiti se na šmarnica?

Sorry if I got it wrong.
Govorim slovensko še vedno kot jamski človek :?

I will be watching this one... just got my leds to flash on an arduino so this project is a little beyond me for the moment.

lep Posdrav iz Vrhniki

Kevin

User avatar
RiZsho
Information
Posts: 30
Joined: 29 Sep 2008, 16:04

Post by RiZsho »

Serbus prijatelj!

Actually your Slovene is improving. Maybe a little more šmarnica will do some help :D

And yes, i'm getting back on the project. My job takes quite some time from me and i'm writing my "diploma" right as we speak. So slowly but surely, at the end of summer, this project will hopefully bloom ;) Although i'm getting little response from people about it, i'm gonna do it anyway. Schematics and source code will be available, however the PCB files, for practical reasons won't. It's a relatively crowded 2 layer board with 0603 devices and so on. Not DIYable from my point of view anyway.

See you soon Kevin!

BTW: You're programming out of fun or going to any electronics related school?

User avatar
KB
Information
Posts: 48
Joined: 06 Sep 2007, 08:19
my favorite amplifier: JMP50
Completed builds: Not in any particular order: Tweed delux, JMP50, 1987
Blue box, King of clones, Neovibe, P90, Cupcake, little green wonder, Honey bee, Fulldrive, lovetone brown sauce, Mayo type bigmuff, fuzz factory, box of rock, super hard on corel chorus.
PT80 x2
Location: At the back of beyond and halfway to my elbow
Has thanked: 27 times
Been thanked: 1 time

Post by KB »

RiZsho wrote:Actually your Slovene is improving. Maybe a little more šmarnica will do some help :D
Hvala.... ampak

Any more šmarnica and the wife will be throwing me out.....

Programming for fun...
I'm a little to old for more University.... Po poklicu sem Geolog. Currently studying Slovenian at the university language school (LJ).

I have some ideas that I think would be easier with a micro controller. Like a switcher and a digital controller retrofit for old analog pedals - but these are just my ideas so I decided to bite the bullet and start to learn to program. Probably a professional programer would knock out these programs in a day or so, but I am enjoying learning the process.

I chose AVR over Pic as there seems to be better "free" software and then the Arduino as it does away with the need for a dedicated programmer, which I think for small scale hobby use easier, although I may regret this later as I will be limited to the ATMega328, but for now I am learning a little and flashing led's keeps me occupied. I understand some C, although I am more used to Python so getting the program to run sometimes takes a little fiddling...

I looked at the Cortex M3 arm chips when I started to think about programing. It seemed a good option as it comes with a dedicated debugging programer but the instruction set is a lot larger than for an AVR controller. frightened me off, I think this is one for the pros or programing orientated people ... One is used for the Midibox core module if people are interested to see what it is capable of here's a link

http://www.ucapps.de/mbhp_core_lpc17.html

and for those in Europe they can be had quite cheaply at

http://www.watterott.com/index.php?page ... 9895c5788f
RiZsho wrote: It's a relatively crowded 2 layer board with 0603 devices and so on.
Hmmm make it 0805 and I would have a go at soldering my own... I don't own any 0603 components.... but if I did I would try it.

If you do decide to make a run of boards later in the year then I may be interested in one for personal use rather than development of product.

LP
Vrhnika
Kevin

Post Reply