You've already forked torvalds-GuitarPedal
mirror of
https://github.com/torvalds/GuitarPedal.git
synced 2026-07-17 01:04:20 +00:00
The old audio jack board actually works quite well, and I've used the same board now in a few different form factors, which is a good sign. However, I do want to try doing a stereo board, and the old one was using mono audio jacks. That was partly historical, but also partly a size issue: the particular mono jacks I use are just smaller than the stereo jacks I have. And there are obviously fewer components in the mono setup. However, exactly because the form factor has worked fairly well, I felt like I could avoid the whole separate TAC5112 board that I had used with the (quite nice and compact, but a bit of a pain to route out of) BM28 connector. The TAC5112 is actually easier to route on its own than using the codec board - the advantage of that separate board was that I could then do various test variations using it, and re-use the CODEC board when those variations failed. Which they certainly have done - I've tried a lot of different form factors. So now that I feel more comfortable with the form factor and think it works, I might as well put the codec chip directly on the board, which makes things easier and more compact. As a result it's not a problem to fit the larger dual op-amp for buffering the input signal, and the other extra analog components. There are a few other changes than just switching to stereo jacks and a dual op-amp. The big one is that this uses the TAC5242 instead of the TAC5112. It doesn't do i2c for control, it's set up with hardware strapping of five control pins instead. I liked having i2c for testing things, but again, now I basically know what my setup is. The FFC cable still brings in i2c from the controller board, but now it's only connected to the EEPROM. And since that's the only thing it is used for, I decided to upgrade it a bit - from a 2kbit EEPROM to a 64kbit one. The 2kbit one worked fine, but I didn't expect to have as much config data as I do. For all the best kinds of reasons: there are just more effects available, and right now one of the things holding more effects back is literally "it becomes a pain to save the state". The bigger EEPROM will need changes to programming, but not big ones: it basically takes two bytes of address rather than one, and the page size is larger. The changes for stereo support are going to be a lot bigger. (Assuming everything works - which is not given - the board *should* be a plug-and-play replacement for the old board, in that it should work with just ignoring the right channel, and the eeprom won't load and save effects settings. But for basic testing it should still come up even with old firmware on the MCU board). There are a few fixes to the board too: the previous board left IN- floating on the codec, which was not correct. I was confused by the single-ended configuration: the _output_ is left unconnected, but the input should have been connected to ground through a capacitor. The miswiring appears to not have actually had any bad effect, but it isn't what the datasheet says you should do. Maybe that IN- wiring doesn't really matter - or maybe it made the input a bit noisier than it should have been, but if so it wasn't noticeable. Possibly because it's a guitar pedal, possibly because the front-end op-amp buffer hid any issues the miswiring could have caused? Another change is that this just uses a traditional voltage divider for the initial signal biasing. The switch to a TAC5242 made the MICBIAS voltage no longer programmable, and as a result could no longer be used to bias the op-amp input to close to the middle of the rail. Hopefully none of the changes cause new issues. The TAC5242 technically has has a better noise floor, and maybe the wiring of IN- does matter, so the new design is at least in theory an improvement in not just capabilities but also in audio quality. Not that I really have any complaints about the previous design in that respect. And "improvement in theory" might hit some nasty unexpected snag if I screwed something up in the new version. I'll know in two weeks... [ This also adds a new USB-C connector footprint - which this board isn't using, but I'm adding it as an option for a future MCU board. ] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>