DIYstompboxes.com

DIY Stompboxes => Building your own stompbox => Topic started by: vigilante397 on January 25, 2022, 10:29:40 AM

Title: Ongoing Project - homebrew IR loader
Post by: vigilante397 on January 25, 2022, 10:29:40 AM
I've been working for a while on a tube-driven IR loader, because of course I am. I started out with the AMT Pangaea IR loader module, and I had designed a PCB for their module to drop into, and it worked quite well. So when I felt like my design was polished enough to sell (about 8 months after starting) I went back to AMT and asked for pricing on the modules. I was a little upset to find that the price had nearly doubled since I first purchased one. So I decided I'M GOING TO BUILD MY OWN IR LOADER WITH BLACKJACK AND HOOKERS. And here's what I came up with:

(https://i.imgur.com/lfGYogP.jpg)

I found out that AMT and Shift-Line both use the Analog Devices ADAU1701 for their DSP, so that seemed like a good place to start. I basically just copied the design of the ADAU1701 development board for the first round. I'm going to play with it like this and see what I need to make it sound good, then the next version will be more pedal-shaped to go into an enclosure. I'm missing a few SMD components that I need to add in, and hardware like pots and switches. Also I'm still waiting for my programming tool, Analog charges $200 for theirs so I got a Chinese knockoff for $45 that hasn't arrived yet.

I have a lot of weird ideas that fizzle out, but I really want this one to happen, which is why I'm sharing it here ;D I'll post updates as I go along.
Title: Re: Ongoing Project - homebrew IR loader
Post by: aron on January 25, 2022, 11:50:58 AM
That is very cool!
Title: Re: Ongoing Project - homebrew IR loader
Post by: niektb on January 26, 2022, 03:03:18 AM
Oooh that DSP I'm very familiar with! Also used that for professional products, so if you have any questions just drop them here!

You can easily roll your own programmer using an Arduino as EEPROM flasher! It's a bit more involved but definitely feasible. The only thing you lose is the capability of real-time updating the program (Yes! With the official programmer you can actually move EQ sliders on your PC and it'll update it instantly!). I believe you need to connect the Selfboot pin to either ground or Vsupply to select whether to boot from EEPROM or not.

QuoteEEPROM .hex file generation method:
(NOTE: your hardware does not need to be connected to complete this task)

- Load up your .dspproj signal flow file in SigmaStudio
- Go to the Hardware Configuration tab

- Add a USBi to the project from the communications channel list
- Add an E2Prom to the project from the IC list (usually it will be auto-named as "IC 2")
- Connect the EEPROM to the USBi communications channel (it will be assigned the address 0xA0)
- Click the Link-Compile-Download button to compile your project
- Still in the Hardware Configuration tab, right click on the SigmaDSP (usually the DSP is called "IC 1")
- Select the option "Write Latest Compilation to EEPROM"

- If your hardware is connected, the target EEPROM will be written at this time
- Now, navigate in Windows Explorer to the folder where your project is saved
- Find the sub-folder called "IC2"
- In this folder, you will find the E2Prom.Hex file

You can download this file directly to an EEPROM with an appropriate EEPROM downloader program.
Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on January 26, 2022, 11:34:48 AM
Quote from: niektb on January 26, 2022, 03:03:18 AM
Oooh that DSP I'm very familiar with! Also used that for professional products, so if you have any questions just drop them here!

You can easily roll your own programmer using an Arduino as EEPROM flasher! It's a bit more involved but definitely feasible. The only thing you lose is the capability of real-time updating the program (Yes! With the official programmer you can actually move EQ sliders on your PC and it'll update it instantly!). I believe you need to connect the Selfboot pin to either ground or Vsupply to select whether to boot from EEPROM or not.

QuoteEEPROM .hex file generation method:
(NOTE: your hardware does not need to be connected to complete this task)

- Load up your .dspproj signal flow file in SigmaStudio
- Go to the Hardware Configuration tab

- Add a USBi to the project from the communications channel list
- Add an E2Prom to the project from the IC list (usually it will be auto-named as "IC 2")
- Connect the EEPROM to the USBi communications channel (it will be assigned the address 0xA0)
- Click the Link-Compile-Download button to compile your project
- Still in the Hardware Configuration tab, right click on the SigmaDSP (usually the DSP is called "IC 1")
- Select the option "Write Latest Compilation to EEPROM"

- If your hardware is connected, the target EEPROM will be written at this time
- Now, navigate in Windows Explorer to the folder where your project is saved
- Find the sub-folder called "IC2"
- In this folder, you will find the E2Prom.Hex file

You can download this file directly to an EEPROM with an appropriate EEPROM downloader program.

And that's a reasonable option for me to do, but it's a bit involved to ask a customer to do in my opinion. Maybe I was just spoiled by how easy AMT made it, but I know my customers will want to be able to drag a .WAV file in without having to learn how to use new software.
Title: Re: Ongoing Project - homebrew IR loader
Post by: Ice-9 on January 26, 2022, 11:48:14 AM
Very cool idea Nathan, I watch with interest.  8)
Title: Re: Ongoing Project - homebrew IR loader
Post by: niektb on January 26, 2022, 12:30:00 PM
Quote from: vigilante397 on January 26, 2022, 11:34:48 AM
Quote from: niektb on January 26, 2022, 03:03:18 AM
Oooh that DSP I'm very familiar with! Also used that for professional products, so if you have any questions just drop them here!

You can easily roll your own programmer using an Arduino as EEPROM flasher! It's a bit more involved but definitely feasible. The only thing you lose is the capability of real-time updating the program (Yes! With the official programmer you can actually move EQ sliders on your PC and it'll update it instantly!). I believe you need to connect the Selfboot pin to either ground or Vsupply to select whether to boot from EEPROM or not.

QuoteEEPROM .hex file generation method:
(NOTE: your hardware does not need to be connected to complete this task)

- Load up your .dspproj signal flow file in SigmaStudio
- Go to the Hardware Configuration tab

- Add a USBi to the project from the communications channel list
- Add an E2Prom to the project from the IC list (usually it will be auto-named as "IC 2")
- Connect the EEPROM to the USBi communications channel (it will be assigned the address 0xA0)
- Click the Link-Compile-Download button to compile your project
- Still in the Hardware Configuration tab, right click on the SigmaDSP (usually the DSP is called "IC 1")
- Select the option "Write Latest Compilation to EEPROM"

- If your hardware is connected, the target EEPROM will be written at this time
- Now, navigate in Windows Explorer to the folder where your project is saved
- Find the sub-folder called "IC2"
- In this folder, you will find the E2Prom.Hex file

You can download this file directly to an EEPROM with an appropriate EEPROM downloader program.

And that's a reasonable option for me to do, but it's a bit involved to ask a customer to do in my opinion. Maybe I was just spoiled by how easy AMT made it, but I know my customers will want to be able to drag a .WAV file in without having to learn how to use new software.

ah yes! I just mentioned it as an option for development purposes, so you don't have to wait :)
Title: Re: Ongoing Project - homebrew IR loader
Post by: iainpunk on January 26, 2022, 06:25:20 PM
is this IR loader only for cab-sim or does it also support longer impulses for reverb use?
i have a lot of reverb IRs on my computer that i'd love to use on guitar, and i havent found a capable pedal yet.

cheers
Title: Re: Ongoing Project - homebrew IR loader
Post by: niektb on January 27, 2022, 03:07:11 AM
Quote from: iainpunk on January 26, 2022, 06:25:20 PM
is this IR loader only for cab-sim or does it also support longer impulses for reverb use?
i have a lot of reverb IRs on my computer that i'd love to use on guitar, and i havent found a capable pedal yet.

cheers

I very much doubt it, this particular DSP doesn't have enough memory to do this... The datasheets specs it has 40ms worth of delay memory, and I think that's when the program doesn't use anything else...
Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on January 27, 2022, 10:50:37 AM
Quote from: iainpunk on January 26, 2022, 06:25:20 PM
is this IR loader only for cab-sim or does it also support longer impulses for reverb use?
i have a lot of reverb IRs on my computer that i'd love to use on guitar, and i havent found a capable pedal yet.

cheers

As niektb says probably just cab sim. Some of the reverb IRs I've seen get close to 1s, and that would take a ton of memory. They do have some other ICs in the same product line like the ADAU1462 that, if I understand correctly, can handle up to 1400ms, and something like that could work for reverb IR.
Title: Re: Ongoing Project - homebrew IR loader
Post by: iainpunk on January 27, 2022, 06:16:04 PM
euhhh, some of my IRs are up to 6500ms, so even the 1400ms isnt enough, haha

guess ill keep searching

cheers
Title: Re: Ongoing Project - homebrew IR loader
Post by: niektb on January 28, 2022, 04:14:34 AM
even for cab sim irs it can be difficult, many IRs you find are 200ms or 500ms :/

Yes to the ADAU146x, but still 1600ms is in mono and is still on the short side of reverbs (no cathedral irs  ;))
The ADAU145x can connect to an external SPI Flash, but even then it's difficult to find SPI flashes that are thát big :(
Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on January 28, 2022, 10:59:13 AM
So this isn't really progress, but I added some bits to the board last night. I still need to add all the 10uF caps that the board house was out of, and I'm waiting on a digikey order for the last regulator, then I just need to find some time to play with it.

The programming tool is in the right country, and it was at our post office yesterday then was rerouted to a bigger office and now is on its way back. I'm hoping I see it in the next couple days.

(https://i.imgur.com/aRERVpa.jpg)
Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on January 31, 2022, 12:52:42 PM
My programmer arrived, but I'm still missing my regulator to finish up the board. I just finished my January orders and don't need to start my February orders yet so hopefully I'll finally find a minute to play with this thing this week.
Title: Re: Ongoing Project - homebrew IR loader
Post by: niektb on February 01, 2022, 03:49:11 PM
Nathan! Did you add a microcontroller to interface with the DSP? 😇
Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on February 01, 2022, 04:45:06 PM
Quote from: niektb on February 01, 2022, 03:49:11 PM
Nathan! Did you add a microcontroller to interface with the DSP? 😇

Not yet, that will hopefully come later :P I have a separate board I designed with an STM32 that should be here in the next week or so (delayed due to new year) that I'm planning to play with. I did put an EEPROM on the board with the ADAU1701 for now, but the eventual goal will be to use the STM32 to interface with a computer via USB and store IR files in flash memory which can then be communicated to the DSP. Basically my plan is:

I talked to a friend of mine in the firmware development team at work and he gave me some pointers, I'm still going to try to do this myself but will definitely use him as a reference. I'm still waiting on my last regulator to come in so I can get this DSP board finished up and start playing with it, but I think my digikey order came today so hopefully I can get it wired up tonight and start experimenting!
Title: Re: Ongoing Project - homebrew IR loader
Post by: niektb on February 02, 2022, 08:47:59 AM
Aah OK haha! Just checking cause you mentioned you wanted to drag n drop wav files straight to the board, but I couldn't see any chip other than the DSP on the board :P
Title: Re: Ongoing Project - homebrew IR loader
Post by: Ice-9 on February 28, 2022, 08:46:14 AM
Sorry a little OT for the Homebrew IR Loader but The new TC Electronic IMPULSE IR LOADER pedal looks very good value. I wonder what they are using inside this one?
https://www.guitarworld.com/news/tc-electronic-impulse (https://www.guitarworld.com/news/tc-electronic-impulse)





Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on February 28, 2022, 10:54:11 AM
Quote from: Ice-9 on February 28, 2022, 08:46:14 AM
Sorry a little OT for the Homebrew IR Loader but The new TC Electronic IMPULSE IR LOADER pedal looks very good value. I wonder what they are using inside this one?
https://www.guitarworld.com/news/tc-electronic-impulse (https://www.guitarworld.com/news/tc-electronic-impulse)

I saw the release on that one, it looks great. I've picked up a handful (I'm up to 5) of IR loaders for investigative purposes, trying not to pick up the TC :P
Title: Re: Ongoing Project - homebrew IR loader
Post by: mdcmdcmdc on February 28, 2022, 11:12:44 AM
Quote from: iainpunk on January 27, 2022, 06:16:04 PM
euhhh, some of my IRs are up to 6500ms, so even the 1400ms isnt enough, haha

guess ill keep searching

cheers

I was recently searching for something similar and it seems like the Polyend Beebo is one of the only options.
Title: Re: Ongoing Project - homebrew IR loader
Post by: Ice-9 on March 01, 2022, 04:25:24 PM
Quote from: vigilante397 on February 28, 2022, 10:54:11 AM
Quote from: Ice-9 on February 28, 2022, 08:46:14 AM
Sorry a little OT for the Homebrew IR Loader but The new TC Electronic IMPULSE IR LOADER pedal looks very good value. I wonder what they are using inside this one?
https://www.guitarworld.com/news/tc-electronic-impulse (https://www.guitarworld.com/news/tc-electronic-impulse)

I saw the release on that one, it looks great. I've picked up a handful (I'm up to 5) of IR loaders for investigative purposes, trying not to pick up the TC :P

yeah but you know you will get one just to test out. I will be looking at it as soon as they are in stock, maybe we could all take a peek inside and learn if we have a different or even better DIY option to look at.
Title: Re: Ongoing Project - homebrew IR loader
Post by: vigilante397 on April 14, 2022, 02:31:10 PM
Mmkay, super quick update on this project:

I was able to get the ADAU1701 part figured out. I have a dev board with just that chip and an EEPROM, and I can successfully load an IR (using Shiftline's "WAV to FIR" tool for the coefficients) into the EEPROM and have the ADAU1701 self-boot, so I can now implement a single, unchangeable IR into a pedal (which I've already done, should be here next week). The next step is figuring out how to make it easy to swap.

The vast majority of my microcontroller work has been Arduino/ATMega/ATTiny so STM32 is foreign to me, and I've been struggling with the firmware. So I jumped on fiverr to see if I could find someone to write the USB mass storage part of the code for me, and it took all of 10 minutes to find someone who said it would be a piece of cake, so I'll see how it goes in a week or so.

Once I have the storage bit setup I get to the hard part, converting WAV files to IR coefficients inside the STM32, then the other hard part of generating a .hex file for the ADAU1701 with those coefficients plugged into the FIR block to send to the ADAU1701 from the STM32.

But at least I was able to get the easy part working :P