more than 8 programs?

Hardware questions and issues with the FV-1

Moderator: frank

Post Reply
MacroMachines
Posts: 71
Joined: Fri Dec 12, 2014 10:45 pm
Location: Detroit,MI
Contact:

more than 8 programs?

Post by MacroMachines »

Has anyone found a reliable way to supply more than 8 programs?

I know the Tiptop Z-DSP used cards with little eprom chips, seems to work well, I am wondering if there are ways though to have built in additional programs.

In my dream the impossible dream, I would hack a micro controller to supply programs on the fly, possibly to one slot of eprom as a "middle man" but I was curious if this had been attempted by anyone yet?

I think it would be cool to use a wireless chip in a module to allow downloading and adding programs for the FV-1 as well as the micro controller itself, it would open up a whole world pf possibilities for interplay.

but yes, to reiterate, my main question is just if there had been any reliable ways to allow more than 8, as I am creating a pretty big library of effects with this and would love to have as many as possible.
http://MacroMachines.net
Digital Control for your Analog Soul.
ice-nine
Posts: 192
Joined: Thu May 24, 2012 9:03 am

Post by ice-nine »

There are a number of way to add more than 8 programs, the simplest method would be to use more than one eeprom on the i2c bus this would provide multiples of 8 ie 3 eeproms =24 programs.

Another way would be to use a micro controller which has internal eeprom space which would send the selected program to the FV-1, the amount of programs available would be the maximum that the selected micro controller eeprom size can hold.
amz-fx
Posts: 38
Joined: Wed Sep 06, 2006 7:06 am
Location: Louisiana, USA
Contact:

Post by amz-fx »

There are 512 bytes per program so the micro needs 4k bytes of eeprom just to hold 8 programs. The Atmega328 has 32k of flash memory and if you take off about 8k for the program and bootloader, then it could hold 6 banks of 8 programs each = 48 patches. Not too bad.
MacroMachines
Posts: 71
Joined: Fri Dec 12, 2014 10:45 pm
Location: Detroit,MI
Contact:

Post by MacroMachines »

Thank you :)
I am curious how to go about this, if anyone has tried or knows of some info on how I would send the data from the micro controller or how the eeprom of the fv1 gets its address read. I would assume I need to use a few digital pins of the micro i2c and find a way to have it emulate an EEPROM.

alternately I am using an external EEPROM with more memory space on another project, I wonder if I can use the micro to simply add an address offset, OR I think a decent way would be to have sockets that user can add, and use the micro to simply switch between : i guess a mix of the two ideas.

I also thought it would be pretty insane to have short parts of programs and use the micro to spit out different programs that are combinations of small programs. like a very simple delay line and filter etc that could be pieced together... that might be a bit too ambitious though and more easily done with a micro controller on its own, like the stm32.
Last edited by MacroMachines on Mon Jul 11, 2016 4:22 am, edited 1 time in total.
http://MacroMachines.net
Digital Control for your Analog Soul.
slacker
Posts: 116
Joined: Tue Feb 01, 2011 1:13 pm

Post by slacker »

MacroMachines wrote:Thank you :)
I am curious how to go about this, if anyone has tried or knows of some info on how I would send the data from the micro controller or how the eeprom of the fv1 gets its address read. I would assume I need to use a few digital pins of the micro i2c and find a way to have it emulate an EEPROM.
The FV-1 reads the eeprom using sequential reads, the 24LC32A datasheet explains how this works. Each program on the eeprom is 512 bytes long, the first one starts at address 0, the second at address 512, the third at address 1024 and so on.
If you have a microocontroller with a I2C slave peripheral it shouldn't be too difficult to make it emulate the eeprom using the info from the 24LC32 datasheet.
igorp
Posts: 65
Joined: Tue May 19, 2015 6:10 am
Location: RU

Post by igorp »

it could work normally work with AVR and PIC, but not sured about STM32.
I heard, STM have limitations for hardware i2c sequences, about 1024 bits, or so on.
amz-fx
Posts: 38
Joined: Wed Sep 06, 2006 7:06 am
Location: Louisiana, USA
Contact:

Post by amz-fx »

Just saw this article on how to intercept i2c messages and rewrite the address bits to allow larger eeproms:

http://morethanuser.blogspot.de/2016/07 ... nject.html

regards, Jack
slacker
Posts: 116
Joined: Tue Feb 01, 2011 1:13 pm

Post by slacker »

Thanks for sharing that Jack, pretty neat and looks easy enough to implement.
seancostello
Posts: 74
Joined: Mon Sep 11, 2006 10:04 pm

Post by seancostello »

Just saw that the ATMega328 is available in SMD:

http://www.mouser.com/ProductDetail/Atm ... GNmQ%3D%3D

Question: If the FV-1 ROMs were part of a program that was flashed to the ATMega328, and I2C was used to write the programs directly to the FV-1 (i.e. no intermediate 24LC32 in between), would this offer a greater degree of code security? How hard is it to read data that has been flashed onto an ATMega328?

Sean Costello
amz-fx
Posts: 38
Joined: Wed Sep 06, 2006 7:06 am
Location: Louisiana, USA
Contact:

Post by amz-fx »

seancostello wrote:would this offer a greater degree of code security? How hard is it to read data that has been flashed onto an ATMega328?
Quite hard but not impossible. There is a lock bit that you can set that allows the flash code to run but does not allow it to be read from the chip. It is reasonably good security.

regards, Jack
ice-nine
Posts: 192
Joined: Thu May 24, 2012 9:03 am

Post by ice-nine »

I don't think the Atmega 328 offers much eeprom space to save programs in, you would be better off going the PIC route maybe.
gbiz
Posts: 5
Joined: Sat Jan 17, 2015 5:40 am

Post by gbiz »

seancostello wrote: Question: If the FV-1 ROMs were part of a program that was flashed to the ATMega328, and I2C was used to write the programs directly to the FV-1 (i.e. no intermediate 24LC32 in between), would this offer a greater degree of code security? How hard is it to read data that has been flashed onto an ATMega328?
The ATMega has no way of confirming that the device issuing the read request is the FV-1. If you attach another device onto the I2C bus & issue a bunch of reads, the ATMega would have to respond to those in the same way as it would to the FV-1.
amz-fx
Posts: 38
Joined: Wed Sep 06, 2006 7:06 am
Location: Louisiana, USA
Contact:

Post by amz-fx »

True. Even though the chip is locked down, you can snoop on the buss and capture the bytes being sent across it.

That's a lot more trouble than just clipping onto the pins of the 24LC32 and reading it directly, and takes more technical know-how than many hobby builders possess, but a determined person with the right gear can do it easily.

It is also possible to glitch the power rails of many micros to bypass the lock code. I've never tried it on the ATmega328 but it might be possible.

regards, Jack
bcnx
Posts: 16
Joined: Fri Mar 17, 2023 2:49 pm

Re:

Post by bcnx »

ice-nine wrote: Thu Jun 23, 2016 1:14 pm There are a number of way to add more than 8 programs, the simplest method would be to use more than one eeprom on the i2c bus this would provide multiples of 8 ie 3 eeproms =24 programs.

Another way would be to use a micro controller which has internal eeprom space which would send the selected program to the FV-1, the amount of programs available would be the maximum that the selected micro controller eeprom size can hold.
Hi, how would you go about addressing the different EEPROMs as we are using a serial communication? How would you switch between them? By using the addressing pins on the EEPROMs? Will the FV-1 be able to read them on the fly?

Thanks!

BC
Post Reply