DIYstompboxes.com

DIY Stompboxes => Digital & DSP => Topic started by: bean on August 03, 2020, 11:32:19 AM

Title: A tale of two 9's
Post by: bean on August 03, 2020, 11:32:19 AM
On the left we have the EHX Synth 9, PCB rev.E and on the right the B9, PCB rev.B.

Looks like the two boards are nearly identical with the rev.E having possibly additional decoupling caps. Also, the Rev.E has a dry mute option. Both have Macronix MX25L6445E flash memory chips (on the left it's the one with the purple dot). https://datasheetspdf.com/pdf-file/927690/MACRONIX/25l6445E/1 (https://datasheetspdf.com/pdf-file/927690/MACRONIX/25l6445E/1)

You see where I'm going with this? I don't know too much about digital but I guess it's safe to assume there's going to be some kind of code protection on the memory to prevent copying. But, I'm wondering about removing both and setting up a selector switch in a single unit for hot swapping (or, at worst, swap with power cycling).

(https://i.postimg.cc/2LVSSZJy/Screenshot-2020-08-03-MX25-L6445-E-Google-Search.png) (https://postimg.cc/2LVSSZJy)


(https://madbeanpedals.com/misc/ehx9s.jpg)

Title: Re: A tale of two 9's
Post by: imJonWain on August 03, 2020, 11:33:13 PM
Maybe?  I'm sure someone more knowledgeable then I will chime in but it's gonna depend.  I doubt hot swapping would be possible. 

What's U7?  and U1?
Title: Re: A tale of two 9's
Post by: bluebunny on August 04, 2020, 03:20:09 AM
This is way beyond my pay grade, Brian (I did some VLSI stuff for my degree, but that was soooo last century...), but that chip select pin looks like a good way to choose between two chips?  Dunno whether those I/O pins sit on something that constitutes a "bus", but assuming the un-select makes them go high-impedance, then I would make a wild guess and say piggy-back two chips.
Title: Re: A tale of two 9's
Post by: bean on August 04, 2020, 12:13:50 PM
I did a little more reading and it looks like the chip select pin can be used in slave configurations. So, you set the CS pin to a high impedance output and it basically turns it off, if I read that correctly. So, I'm thinking rather than a selector switch maybe a PIC type control which mutes the effect output, does the chip swap and then cycles the power all in one go via a pushbutton momentary. I'll need to spend a bit more time to see if that's "in my pay-grade" as you put it :)
Title: Re: A tale of two 9's
Post by: bluebunny on August 04, 2020, 12:31:10 PM
Does the power need to be cycled?  Are you talking about the flash chip?
Title: Re: A tale of two 9's
Post by: Digital Larry on August 04, 2020, 10:49:18 PM
Quote from: bluebunny on August 04, 2020, 12:31:10 PM
Does the power need to be cycled?  Are you talking about the flash chip?
Just a guess, it's only being read when you change patches.  I'd start by just having something that drives CS alternately high or low for each chip and see what happens.
Title: Re: A tale of two 9's
Post by: bean on August 05, 2020, 10:36:09 AM
Quote from: Digital Larry on August 04, 2020, 10:49:18 PM
Quote from: bluebunny on August 04, 2020, 12:31:10 PM
Does the power need to be cycled?  Are you talking about the flash chip?
Just a guess, it's only being read when you change patches.  I'd start by just having something that drives CS alternately high or low for each chip and see what happens.

Thanks. I think that is probably the easiest thing to do. Do you think I should include a pull-up resistor for each CS pin or just connect straight to (assuming) 3.3v?
I'll report back if I make any progress.
Title: Re: A tale of two 9's
Post by: Digital Larry on August 05, 2020, 04:10:59 PM
Use pullup resistors and switch to ground.
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 06, 2020, 03:20:30 PM
How would the code protection work? The bits need to get sent over the line, so I would think the flash is readable?
Unless there's some kind of encryption in place, with decryption on the DSP.
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 06, 2020, 03:25:00 PM
To reply to myself:

Quote from: pruttelherrie on August 06, 2020, 03:20:30 PM
Unless there's some kind of encryption in place, with decryption on the DSP.

In that case, just copying encrypted code would work. So to be able to fully protect the data, the DSP needs to send a key, with which the memchip encrypts it data.
But as far as I can tell from the dtasheet linked, the data protection concerns accidental overwrites, and ways to make it read-only.
So it looks like it might be copy-able?
Title: Re: A tale of two 9's
Post by: hgamal on August 06, 2020, 11:12:31 PM
Quote from: pruttelherrie on August 06, 2020, 03:25:00 PM
In that case, just copying encrypted code would work. So to be able to fully protect the data, the DSP needs to send a key, with which the memchip encrypts it data.
But as far as I can tell from the dtasheet linked, the data protection concerns accidental overwrites, and ways to make it read-only.
So it looks like it might be copy-able?

The Analog Device DSP can be booted in some ways. Using internal ROM code or just by download an external flash ram.

If DSP uses the internal ROM, which must be ordered from Analog Devices with that, the ROM code can decode the data inside the external flash ram and load it as DSP code.

If this ROM is not used, it is very probable that the DSP just downloads the flash and runs it as a DSP code program.

If the code is encrypted and those two products use the same key, they can be switched.
Title: Re: A tale of two 9's
Post by: hgamal on August 06, 2020, 11:18:14 PM
Maybe the DSP code is not encrypted after all:

https://www.musicradar.com/news/electro-harmonix-wins-copyright-infringement-case-against-mooer

Maybe this pedal can be cloned with some effort. Looking at its construction seen to be just a DSP, boot flash, and CODEC. But I have not seen the other side of the board and if it has other boards.
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 07, 2020, 01:26:08 PM
It has no other boards; check my pictures of the guts at https://imgur.com/gallery/W1GQnxx
or the thread about this pedal here https://www.diystompboxes.com/smfforum/index.php?topic=124047.0

I'm not actually interested in cloning, but merging all pedals into one, with MIDI control, would save a LOT of board space!
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 13, 2020, 08:31:56 AM
Quote from: bean on August 05, 2020, 10:36:09 AM
Quote from: Digital Larry on August 04, 2020, 10:49:18 PM
Just a guess, it's only being read when you change patches.  I'd start by just having something that drives CS alternately high or low for each chip and see what happens.

Thanks. I think that is probably the easiest thing to do. Do you think I should include a pull-up resistor for each CS pin or just connect straight to (assuming) 3.3v?
I'll report back if I make any progress.

Any news on this?
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 12, 2021, 12:10:06 PM
But I *DO* have news on this!

All of the flash chip's pins are available on the header in the top left. So my thinking was to remove the flash from the board, put it on a small piece of perfboard with a header that plugs into the programming header.

Yesterday I did a 'brain transplant' (or, better said: a 'memory transplant') by desoldering the flash of a C9, putting it on a SOP->DIP adapterboard (I'm a through-hole guy) and making a makeshift adapter that plugs in the header. See photos below.

Well, this works :icon_cool: - Next step is to do the same to a different pedal and check if this adapter works in that pedal. So today I removed the Synth9 flash, put it on a SOP->DIP adapter and plugged it into the C9. Whaddayathink: the C9 now is a Synth9 pedal! The reverse also works: placing the DIP into the perf into the Synth9 board makes it a C9 pedal  :icon_cool: :icon_cool:  :icon_cool:

So now the next step is to put both DIPs on a perfboard with a /CS selector switch. I'll keep you guys posted.

Just some more random thoughts: there might be a connection from the header to the /RESET of the BlackFin. We could use that to reset the DSP and load the new programs after switching /CS. I'll have to probe those connections.

Also, I opened up a MEL9. This one has a different chip, the MX25L12833F. This is a 16Mbyte flash, much bigger than the 1Mbyte flash of the C9/Synth9. It's probably holding all the wavetables. We'll see if that one is compatible later on.

(https://i.postimg.cc/FY2VBhNM/21-08-11-22-01-08-0338.jpg) (https://postimg.cc/FY2VBhNM)

(https://i.postimg.cc/YLq6W9zW/21-08-11-22-01-30-0339.jpg) (https://postimg.cc/YLq6W9zW)
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 12, 2021, 03:04:03 PM
Short update.

I put both chips on the perfboard, everything connected bus-like, except for the /CS.
These I pulled up to 3.3V and also to a SPDT to ground. This did not work.

Then I connected the /CS from the header to the SPDT, and that to the flash chips. This worked: I can switch the pedal between C9 and Synth9 with the switch but I do need a reset of the DSP (disconnect power for now).

So it seems the flash really needs the /CS signal from the BlackFin. How do we do this with an MCU-controlled selector? MOSFETs in the lines which are switched by GPIO's? Putting relays in there seems a bit overkill, we should be able to do it with silicon i think? [edit] Doh, I need an AND gate. [edit2] But do I? I need a selector/de-multiplexer.

[edit] connecting one /CS to +3.3V and the other /CS to GND does not work, it really needs to be connected to the BlackFin.
Title: Re: A tale of two 9's
Post by: free electron on August 12, 2021, 04:05:21 PM
Small SOT23-6 two channel demultiplexer like this one:
https://assets.nexperia.com/documents/data-sheet/74LVC1G18.pdf

Blackfin's /CS goes into A (3)
1Y(6) to /CS of the 1st Flash
2Y(4) to /CS of the 2nd one.
Pull up on S (1) + a switch shorting it to gnd to select the active flash.
The deselected output is floating/3-state, so both /CS lines should have a pull up resistor.
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 12, 2021, 04:22:29 PM
Followup.

The /RESET of the BlackFin is also on the header, so after switching the /CS to a different flash, pulling down that pin forces a reboot of 2~3 seconds after which the programs have switched. Yay.

For the people at home following along, this is the pinout of the header on the pedal-PCB:


EHX9 header -  MX25L6445E  - Function

    5       -  1           - CS
    6       -  2           - SO/MISO
   10       -  3           - NC/WriteProtect
    9       -  4           - GND
    7       -  5           - IS/MOSI
    8       -  6           - SCLK
   10       -  7           - NC
   10       -  8           - VCC

    3       - 53 on DSP => /RESET on DSP

EHX header pin counting:
    -----   -----
    | 2 4 6 8 10|
    |           |
    | 1 3 5 7 9 |
    -------------


Also, I decided that with a 74HC138 I can make a selector for the /CS signal.

[edit] (after reading free electron's post): Yep, that would work too! For two chips. The 9-family consists of 6 pedals at the moment, I was thinking of designing a PCB for that maximum of flash chips, addressable with a microcontroller.
Title: Re: A tale of two 9's
Post by: free electron on August 13, 2021, 04:37:40 AM
The '138 will not work here. You still need the Blackfin to control the /CS line, the chip has to route it to the selected flash. '138 is a 3 to 8 line decoder. The 3 address inputs control where the '1' will show up. There is no data input (/CS coming from the Blackfin) as on the LVC1G18.
74HC4051 could work, although i'm not sure how or if the switching/propagation delays would impact the SPI timings.
Title: Re: A tale of two 9's
Post by: vigilante397 on August 13, 2021, 09:58:21 AM
I don't own any 9 series pedals but I think they're neat. So while I don't anticipate ever needing this information I'm still enjoying following along ;D Thanks for sharing @pruttelherrie, and please continue to keep us posted!

Question that got me thinking: has anyone tried copying the flash to another chip with something like a bus pirate so you could build a big combo pedal without ruining the other units?
Title: Re: A tale of two 9's
Post by: Govmnt_Lacky on August 13, 2021, 11:35:58 AM
Quite exciting. Reminds me of the Digitech XP-series mods. Following closely  8)
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 13, 2021, 11:49:57 AM
Quote from: free electron on August 13, 2021, 04:37:40 AM
The '138 will not work here. You still need the Blackfin to control the /CS line, the chip has to route it to the selected flash. '138 is a 3 to 8 line decoder. The 3 address inputs control where the '1' will show up. There is no data input (/CS coming from the Blackfin) as on the LVC1G18.
74HC4051 could work, although i'm not sure how or if the switching/propagation delays would impact the SPI timings.
Aha, but we're running the Blackfin to one of the enable inputs of the '138.

Check the logic table on page 4 (section 6) of this datasheet: https://assets.nexperia.com/documents/data-sheet/74HC_HCT138.pdf

We're gonna do the following:
* E1 pulled Low,
* The Blackfin is connected to E2,
* E3 pulled High
* A0..2 are the address (determining which flash is selected)
* Y0...Yhowevermany are connected to /CS of howevermanyFlashchips.

Now the signal from the Blackfin is 1:1 passed to the selected Y output, all the otherY's are kept High. :icon_cool:

If this will work SPI timing-wise depends on the implementation at the DSP side. Normally /CS is not switched at DMA-speeds, but I have no idea what delays there are between switching and clocking. I'm trying to get this sorted out later this weekend, will keep you posted.
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 13, 2021, 11:57:16 AM
Quote from: vigilante397 on August 13, 2021, 09:58:21 AM
Question that got me thinking: has anyone tried copying the flash to another chip with something like a bus pirate so you could build a big combo pedal without ruining the other units?

Yeah I'm kinda torn here. Everything done so far is 100% ok. Building a combo pedal with the desoldered chips of a bunch of pedals I've bought is 100% ok. Reading the chips and writing them to other chips and then sell is 100% _not_ ok (see the Mooer case). But in between those cases there's a whole lot of grey!

Personally, I don't have a problem with copying the data of 3 chips to build 3 combo pedals. But where does that end?
In the case of XP-ALL, these are discontinued pedals so even if legally it's not ok to copy, I don't have a moral problem with that. In the case of EHX9 that's different.
I would really like to hear all your opinions on this!
Title: Re: A tale of two 9's
Post by: vigilante397 on August 13, 2021, 02:53:42 PM
Quote from: pruttelherrie on August 13, 2021, 11:57:16 AM
Personally, I don't have a problem with copying the data of 3 chips to build 3 combo pedals.

That was really what I was wondering about. Otherwise you're spending $200+ on pedals that you're really just buying for the firmware then throwing away the hardware, just seems wasteful. I'm not saying you should start a business selling combo builds with ripped memories, that feels sketchy, but just trying to figure out how not to waste otherwise perfectly good hardware.
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 14, 2021, 04:31:08 AM
Quote from: vigilante397 on August 13, 2021, 02:53:42 PM
Quote from: pruttelherrie on August 13, 2021, 11:57:16 AM
Personally, I don't have a problem with copying the data of 3 chips to build 3 combo pedals.

That was really what I was wondering about. Otherwise you're spending $200+ on pedals that you're really just buying for the firmware then throwing away the hardware, just seems wasteful. I'm not saying you should start a business selling combo builds with ripped memories, that feels sketchy, but just trying to figure out how not to waste otherwise perfectly good hardware.

True.

There's just a huge grey area and it's not always clear where the line is.

Putting the programs on github is a no-no, but if someone were to put them on Mega.io or so, I'm not hesitating to use them in my own pedals/enclosures (19" anyone?).
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 15, 2021, 06:54:15 AM
Hey guys,

Quote from: pruttelherrie on August 13, 2021, 11:49:57 AM
We're gonna do the following:
* E1 pulled Low,
* The Blackfin is connected to E2,
* E3 pulled High
* A0..2 are the address (determining which flash is selected)
* Y0...Yhowevermany are connected to /CS of howevermanyFlashchips.

I'm happy to report that this works! Did a quick test with an Arduino board and a simplistic program.

Next thing is waiting for the ordered MX flash chips and try to write those. Then design a PCB and we are go!

(https://i.postimg.cc/gnxFHWKF/21-08-15-12-29-55-0342.jpg) (https://postimg.cc/gnxFHWKF)

(https://i.postimg.cc/cKMVL4dY/21-08-15-12-30-37-0344.jpg) (https://postimg.cc/cKMVL4dY)
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 19, 2021, 02:44:45 PM
VICTORY!

Successfully copied the original C9 to a brand new chip. Short demo movie will follow.

Now it's time to design a PCB.
Title: Re: A tale of two 9's
Post by: vigilante397 on August 19, 2021, 03:23:11 PM
Excellent! Thanks for keeping us posted, looking forward to seeing the results :)
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 20, 2021, 12:41:01 PM
I was thinking along these lines. The J1 header on the 3D view is on the rendered wrong side but that's no problem, just solder the other way around. I just *LOVE* the push-and-shove routing of KiCAD!

There's a spot for an ATTiny, but the RST line and address lines are also router to a header, if you want to have control from another board (like my sandwich board). Just leave the ATTiny out in that case. The ATTiny can be programmed with a simple switch + LED-readout, for WYSIWYG mode (LED(s) show what flash is selected), but I was also thinking about commanding the ATTiny with just a serial line, because I'm as good as out of pins on the blackpill STM32 board on my sandwich board...

It has footprints for a maximum of 6 flash chips, since that's the number of EHX6 pedals (for now?) and also  since there's not much room left :icon_biggrin: (I need some room on the left for the MIDI socket)



(https://i.postimg.cc/DJgLvpXk/ehx9-flash-pcb.png) (https://postimg.cc/DJgLvpXk)

(https://i.postimg.cc/8fzWjdRF/ehx9-flash-schem.png) (https://postimg.cc/8fzWjdRF)
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 21, 2021, 05:39:57 AM
Small update.

Cleanup, labels, a couple of decoupling caps, etc. All ATTiny pins are now broken out for future use if needed. Unused pins and ATTiny (depending on application) can be left vacated if not needed.

(https://i.postimg.cc/phzXqDry/ehx9-flash-pcb.png) (https://postimg.cc/phzXqDry)
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 21, 2021, 12:39:29 PM
Another update. After a DOH! moment, I started to put the ATTiny on the *bottom* of the board. Also, I switched from the 84A to the 2313. This one has an UART, so we could also have it receive MIDI. But my experience is that it needs a crystal for stability if you want to receive at 31250.
The Tiny is programmable over the header, the SPI lines are the ones I used for A0..A2.

These changes make it much more compact, see pictures. Please note that you can still drive it from an external MCU if needed.

Another review later tonight then the design goes out to JLCPCB.

(https://i.postimg.cc/8FVDMN0V/ehx9-flash-pcb-top.png) (https://postimg.cc/8FVDMN0V)

(https://i.postimg.cc/XXvWw2QX/ehx9-flash-pcb-bottom.png) (https://postimg.cc/XXvWw2QX)
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 06, 2021, 12:56:32 PM
Update.

Received the PCB's from JLCPCB, populated with the flashes and the 74HC138, wrote a simple program on the Arduino Due in order to control the PCB.

Short crappy video (can't be bothered to put time into that right now ;) here: https://youtu.be/ek83jL4IOa4

Next level: internal control with the Attiny2313. Stay tuned.
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 07, 2021, 02:17:32 PM
Another quicky.
Now I added the ATtiny2313 to the bottom side of the board for "internal" control of the selection, which brings us to "Level 2".
A pushbutton on the side to switch to the next, an LED to show which one is active, for a WYSIWYG experience.

Another craptastic short demo video here: https://youtu.be/pFx3OJI5Fcs

Note:  these are the original flash chips of the 4 pedals of the previous video, desoldered and put on one board.
As stated before, there's a 3 second mute as the DSP loads the next program.

As-is this already saves a lot of space on your pedalboard, if you only use an effect here and there.
Title: Re: A tale of two 9's
Post by: vigilante397 on September 07, 2021, 02:22:20 PM
Quote from: pruttelherrie on September 07, 2021, 02:17:32 PM
As stated before, there's a 3 second mute as the DSP loads the next program.

Does it need to be that long? 3 seconds is an eternity in a live scenario. Would be a pretty tedious guess-and-check to figure out the minimum time needed though.
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 07, 2021, 02:30:42 PM
Quote from: vigilante397 on September 07, 2021, 02:22:20 PM
Quote from: pruttelherrie on September 07, 2021, 02:17:32 PM
As stated before, there's a 3 second mute as the DSP loads the next program.

Does it need to be that long? 3 seconds is an eternity in a live scenario. Would be a pretty tedious guess-and-check to figure out the minimum time needed though.

That's how long the DSP takes to reboot and load the program, it's not in my hands... [edit] listen closely to the video, you can hear the plinging of the strings while it reboots.
Normally it happens during power-up of the pedal/board, and then it's no problem.

In practice you'll have to "prepare" the pedal (mode and settings) and then use the bypass footswitch. That one's instantaneous.

Right now I'm working on Level 3: integration with the previous work to make it programmable. Stay tuned.
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 08, 2021, 02:38:21 PM
Level 3: the board is now controlled by the BluePill board of that other project. since I'm running out of memory, I had to switch to a smaller font (ok for the demo) and there's no "Presets" in this version.

Short video: https://youtu.be/diUQOLxw-JE

I'm working on a new board, for use with a BlackPill with an STM32F401 MCU on it. Much more flash and RAM. This will take a couple of weeks, in the meantime I'll put up the development files (notes, KiCAD files and gerbers) for the switcher board somewhere.
When the STM32F401 is operational, there's also going to be a better 'tweak' mode. When that's all done, I'll try to record a better video to show off the usability.

The only drawback of this mod is the 3 second mute when switching pedals. Of course, when switching programs *within* a pedal it's no problem! In my own (live) setup I'm using a matrix/loop switcher and I'll have to "prepare" the program to be used during the song. It's anyone's own responsibility to think of solutions that fit their own circumstances! Ifyouknowhwatimean...
Title: Re: A tale of two 9's
Post by: vigilante397 on September 08, 2021, 04:01:42 PM
Well I'm having a great time ;D Keep the updates and videos coming!
Title: Re: A tale of two 9's
Post by: bean on September 08, 2021, 11:04:48 PM
I'm really happy to see someone else take this up. I actually ended up selling my B9 several months ago when I went through a gear purge so I never pursued it further. And, no way I would have accomplished what pruttelherrie has done here!
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 09, 2021, 02:11:49 AM
Quote from: bean on September 08, 2021, 11:04:48 PM
I'm really happy to see someone else take this up. I actually ended up selling my B9 several months ago when I went through a gear purge so I never pursued it further. And, no way I would have accomplished what pruttelherrie has done here!

Hahaha don't backpedal, you started all this madness!!!   :icon_biggrin:
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 22, 2021, 03:37:05 PM
Ok, got it mostly working the way I want it in a standalone pedal.

So I have the multiplexer board plugged in the boxed header. I have a purple PCB sandwiched with a blackpill (stm32f401cc) plugged in it. There's a MIDI-in going to the blackpill, the MIDI-out goes to the multiplexer board. The Attiny on the multiplexer board reacts to the MIDI from the blackpill and resets the Blackfin on the EHX board.

There's 5 encoders: 1 for the menu and 4 for the regular parameters.

Depending on the selected chip (max. 1-of-6) and program (1-of-9), the parameters shown on the display will change.
The UI has basically two modes: the WYSIWYG mode and a menu mode for a few additional functions like settings and store. There's still some bugs in the code, but it mostly works as intended.

Another demo video showing off some of the handling here:  https://youtu.be/hHlw6phnWmI
This video does not show all the possibilities of the firmware, for example it is possible to change pedal and program when you're in WYSIWYG mode but this is not demoed.

I'll clean up the PCB files (KiCAD + gerbers) and firmware and then upload it somewhere. I'm thinking GitHub.
I'll also add some instructions on how to read and write EEPROMs with a Pickit2 and the 'flashrom' program. Everything I've shown so far is 100% legal. However depending on your jurisdiction making a copy of the code in the EEPROM of a pedal you own may or may not be legal, most probably it will not be legal but I'm not a lawyer and this is not legal advice ;)

Attached a picture from the inside, the purple wire on the left is the MIDI out from the blackpill to the multiplexer board.
The other pictures show the two modes of the firmware.

(https://i.postimg.cc/T5PQHR89/21-09-21-20-27-32-0462.jpg) (https://postimg.cc/T5PQHR89)

(https://i.postimg.cc/RqCP0T3H/21-09-21-20-28-41-0463.jpg) (https://postimg.cc/RqCP0T3H)

(https://i.postimg.cc/TppCVYJ2/21-09-21-20-29-49-0464.jpg) (https://postimg.cc/TppCVYJ2)
Title: Re: A tale of two 9's
Post by: vigilante397 on September 22, 2021, 04:04:04 PM
Quote from: pruttelherrie on September 22, 2021, 03:37:05 PM
Another demo video showing off some of the handling here:  https://youtu.be/hHlw6phnWmI

Well that was pretty freaking great. Really excellent job, looks amazing!
Title: Re: A tale of two 9's
Post by: bean on September 22, 2021, 04:45:19 PM
Quote from: vigilante397 on September 22, 2021, 04:04:04 PM
Quote from: pruttelherrie on September 22, 2021, 03:37:05 PM
Another demo video showing off some of the handling here:  https://youtu.be/hHlw6phnWmI

Well that was pretty freaking great. Really excellent job, looks amazing!

Yeah, I mean...holy hell!
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 22, 2021, 05:16:56 PM
Thanks guys!

Stuff can be found here: https://github.com/pruttelherrie/Ehx9-All/
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 24, 2021, 02:58:45 PM
Sooooo.... I started to do a complete walkthrough of the modification, starting with an unmodified pedal, making pictures and notes etc. but I'm all out of headers...  :icon_frown:

So now it's waiting for Tayda. Will keep you posted.
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 25, 2021, 09:26:29 AM
Hehehe so there were a few instabilities in the software, caused by me cheaping out and leeching the 3.3V power from the mainboard. Especially the TFT backlight takes quite a bit and this week I put more SPI flash chips on the flashmultiplexerboard so the screen would freeze now and then.

Nothing a good ol' LM317 can't fix, so after adding a piece of perfboard with a 3.3V regulator dedicated for the TFT and the blackpill, all is fine again.

"Should have put that on the controller board from the start." - Yeah I know *sigh*
Title: Re: A tale of two 9's
Post by: Leetut on August 30, 2022, 03:25:24 AM
Amazing work!
How did you copy the eeprom chip?
Title: Re: A tale of two 9's
Post by: pruttelherrie on August 30, 2022, 01:33:01 PM
You can read them out like any other SPI EEPROM, using 'flashrom' and a suitable programmer.
You can either desolder the chip or read it out in-place, by keeping the DSP in reset by pulling pin 3 of the programming connector low (see multiplexer-pcb schematic in the github linked above). Keeping the DSP in reset prevents it from using the SPI bus so you can read the chip uninterrupted.
Title: Re: A tale of two 9's
Post by: Ben N on September 01, 2022, 08:30:17 AM
But what if 9 turned out to be 6?
I'll let myself out.
Title: Re: A tale of two 9's
Post by: bean on September 01, 2022, 09:02:36 PM
Quote from: Ben N on September 01, 2022, 08:30:17 AM
But what if 9 turned out to be 6?
I'll let myself out.

Everything sounds groovy in the Upside Down.
Title: Re: A tale of two 9's
Post by: Leetut on September 03, 2022, 07:04:06 AM
Quote from: pruttelherrie on August 30, 2022, 01:33:01 PM
You can read them out like any other SPI EEPROM, using 'flashrom' and a suitable programmer.

I used a CH341a usb programmer, saved mel9 data as 8mb bin file
Title: Re: A tale of two 9's
Post by: Leetut on September 13, 2022, 03:14:51 AM
String 9 uses a MX25L12833F
Title: Re: A tale of two 9's
Post by: pruttelherrie on September 13, 2022, 01:02:07 PM
Quote from: Leetut on September 13, 2022, 03:14:51 AM
String 9 uses a MX25L12833F
Good to know, same as the MEL9 it seems. How do they do the freeze function in the String9? Is it a momentary footswitch? Main PCB might differ from the others in that case. (true bypass? etc)
Title: Re: A tale of two 9's
Post by: Leetut on September 13, 2022, 03:03:52 PM
it just the same 3pdt switch as the rest,
the freeze function either freezes your note until you play another, then it freezes the new note,
or it freezes until you turn the effect off,
led flashes when not froze,
Title: Re: A tale of two 9's
Post by: chouxglaze on March 17, 2024, 10:00:08 PM
Quote from: pruttelherrie on August 12, 2021, 04:22:29 PMFollowup.

Also, I decided that with a 74HC138 I can make a selector for the /CS signal.

[edit] (after reading free electron's post): Yep, that would work too! For two chips. The 9-family consists of 6 pedals at the moment, I was thinking of designing a PCB for that maximum of flash chips, addressable with a microcontroller.

If one wasn't worried about controlling the pedal with midi/a microcontroller, could this mod be done with a sp6t and some pull up resistors for the /cs signal and a "take" switch connected to the reset pin? I don't see myself adding midi to my board, and as nice as presets would probably be I'm mostly looking to mash my Mel9 and B9 together for space.

Sp6t only in case I expand in the future, don't see myself ever wanting the bass9 though.
Title: Re: A tale of two 9's
Post by: chouxglaze on March 25, 2024, 02:53:19 PM
Interestingly, it seems my Mel9 has an MX25l6445E in it, unlike the 128 previously reported. I'm wondering if the actual contents of the chip are different or if they just used whatever suitably sized chips they had laying around. It's not a super modern revision either, judging by the lack of a dry mute switch. Still waiting on parts to arrive but I've opted to use the same demultiplexer chip pruttelherrie uses and a BCD rotary switch to choose a setting over just a straight sp6t to limit how many wires I need to run, and a reset button of course. We'll see if it works once i have the parts 😬.
Title: Re: A tale of two 9's
Post by: pruttelherrie on March 30, 2024, 11:15:57 AM
Quote from: chouxglaze on March 17, 2024, 10:00:08 PMcould this mod be done with a sp6t and some pull up resistors for the /cs signal and a "take" switch connected to the reset pin?
Sure!

QuoteI've opted to use the same demultiplexer chip pruttelherrie uses and a BCD rotary switch to choose a setting over just a straight sp6t to limit how many wires I need to run, and a reset button of course.
Cool. Please keep us posted!
Title: Re: A tale of two 9's
Post by: chouxglaze on April 04, 2024, 12:25:39 PM
It works! The PCB I ended up making has the footprints a little too small which made for some annoying soldering but otherwise things have mostly gone off without a hitch using the bcd knob and switch.

The only hiccup I ran into was finding out all the new pedals with the dry mute switch seem to have MX25L12833Fs instead of the MX25L6445Es I mostly ordered. The chip only seems to be using about 10% of its memory though, and I was able to truncate the file from the 128 to fit it onto the 64 and everything seems to be working despite that.

Gotta say that I really appreciate y'all doing the legwork in this thread, really wasn't too hard of a mod once I got my mind wrapped around what needed to be done! Excited to start playing with this thing at gigs again.

Not my best solder job by a longshot but here are the guts. https://i.postimg.cc/mDJqJW17/IMG-4771.jpg