Help Wanted Making a Tayda General Parts List

beachbum

Active member
So I just found out today Tayda has a quick order form for parts if you have the correct item numbers. I'd like some help filling it out, I don't think I have the time to complete my list in a timely manner. If anyone is interested in helping out, please continue reading.

Before anyone asks, I already contacted Tayda, they do not have a spreadsheet with all the item codes available to share. :(
Would have made my job a lot easier. Unfortunately, the only to do this is to manually search for the parts one by one and copy the SKUs manually into the spreadsheet.

I'm trying to make a similar form to the one I use for Mouser where you can copy the pdf info from the pedalpcb BOM and boom, your cart is ready to go.

This is the form I use currently for Mouser - I've added a second page for Tayda.
Here is the Master parts list that needs the Tayda codes for parts. Very partially completed.

Notes on which parts to select:
For the mouser parts list, I used the parts recommended by AionFx (the template is originally modified from their BOM spreadsheet), so it was easy enough to decide. For Tayda, I'm not always sure on the best part selection - especially for caps. See below:

Resistors: I've used the high quality ones -1/4w, although I know some use 1/8w, I haven't included the smaller ones
CAPS: For Tayda, I'm unfamiliar with the film and electro cap brands. I used Wima on mouser, but Tayda selection of Wima is very limited.
Generally I want to put the best ones available and try to have them valued at least 35v in case 18v power is available without a charge pump. I haven't run into space issues yet on pedalPCB boards going up to 50v on caps.
More than one kind can be included, but I need to decide on a nomenclature when the form looks up the value. i.e. C1 1uf-35v, C1 1uf25v, etc... No spaces can be used or it messes up the lookup filter when copying from the Pedalpcb PDF BOMs.
ICs: Tayda has much more limited stock than mouser, so there's usually only one available of each. This is probably the easiest one to finalize.
Diodes & Tantalum Caps: same as above
Pots: I've put 6.35mm Alpha pots whenever possible, they're not all there, especially the larger values and dual gang. *Watch out: Tayda has seemingly the exact same pots with and without dust seals, for the same price. I've put whenever possible the ones with dust covers.
Switches and misc.: I am going with the SPDT switches Tayda has marked "Tayda Highly Recommends - Quality Guaranteed " with the longer throw.

If I think of anything else, I'll add it in another post, but I'm interested to know if anyone else thinks the work is worth pursuing.
 
Last edited:
I didn't realize that Tayda had a quick order option like that. I'd like to help out as I get most stuff from them and this would be really handy, but will likely wait until the has some parts in it that I can see so I don't screw up the formatting.

When getting electros from Tayda I will try for either Panasonic or Nichicon. If they aren't available I will get the JB ones. For film caps I will usually go for Kemet.
 
So I sorta did this already, but it's not in a state where I was really willing to share it yet. I took the AionFx spreadsheet you linked to in some other post a long time ago and started modifying it (a good amount). In retrospect I should have kept the parts list separate from the BOM spreadsheet, but that's easy enough to fix. I replaced a lot of crazy formulas for parsing the raw part descriptions with AppScript for better or worse (it's more flexible, but slooooooow). There are also some strings that don't currently parse correctly. There are some things about the Aion sheet that I hate and would love to change, but I got lazy. A put together a ton of Tayda part numbers, but the cap selections are most definitely not going to be to your standards :) Here's a copy of the what mine currently looks like:


You can add a new supplier to Criteria tab and extend the columns on each sheet and it should just work, which is nice, but not all suppliers have handy part numbers you can link to directly or quick import shopping carts, so the value is questionable. I got bitten myself by the Tayda pots without dust covers in my last order, so I had to fix up a few part numbers. Doh! There's a lot of half baked things in there, but maybe I did something that might be interesting to you. Inventory management was one of those. If I don't have enough of something the Quantity column turns red, but it doesn't change the list on the Importer tab and there's no way to subtract parts for a build yet. A nice idea, but I haven't gotten back to it. Feel free to steal ideas or part numbers as you see fit. If you want to try and settle on a consolidated parts list that could maybe be shared, then I'm all for it, but I suspect everyone will have their preferences and thus it may never be possible.

Robert
 
Thanks for the link I think I can copy a lot of that data. I also took the idea from you to have a consolidated supploer BOM so you can mix and match. I'll work on that tomorrow...
 
OK I've updated the table with most of Robert's values. I haven't included his new parts yet.

I think you are right that making it to esoteric will mean it won't do any good for anyone. Robert's table is the kitchen sink approach, complete pedal BOM, Dynamic Inventory and Master Parts list.

In terms of being more accessible, I can assume the following:
1) Most parts for pedals will be purchased on Tayda, Mouser or Small Bear
2) Most guitar PCB sellers, or BOM lists available online are published with location value following part value, like so: R1 100k, C1 47uF, IC1 TL072 etc...

With those two things in mind, it would be pretty straightforward to make a shopping list spreadsheet that works for a large portion of pedal DIY enthusiasts.

The list can now be filtered for Mouser OR Tayda parts, so if one supplier doesn't stock the item, or if it does but is out of stock, you can switch to the alternative. You can copy and paste shopping lists without overlapping parts this way. For most BOMs available online, it will be a matter of copy and pasting them into the spreadsheet.

The only other thing to do to make it more user friendly is for the lookup to work with wildcard values so 100p works just as well as 100pf and 47uf50v=47u/50v=47uf-50v. That kind of programming is a bit beyond my ability. I think I can do it, but it would be a hot mess of formulas...
 
I didn't take the time to look through @flemming 's spreadsheet so apologies if there's overlap. I made a list of Tayda 16mm + 9mm right angle pcb mount 6.35mm shaft potentiometers after getting frustrated with their search a while back. They've started introducing some white label Tayda branded potentiometers since I made this and I haven't updated it with those.

I have web script installed on my localhost (php) that generates component counts from Pedalpcb BOMs for printing on 3x5 notecards. From writing that one of the more important things I noticed was making sure your script handles both notations, ie 1k5 vs 1.5k, 1n5 vs 1.5nf, b500k vs 500kB, etc. There's not really any mixing with PedalPCB build docs that I can remember but I also wanted my script to work with other pedal BOMs.

One way you can handle 100p vs 100pF is to replace all pF, nF, uF with just p, n, u - which is how I handled my component counter.

Also in case it's helpful, here's how my component counter works so that I can copy and paste the component page into it:
- Runs a regex match on each line checking for: prefixes, component number, component values - each in a named regex group, like so. the P<group-name> syntax is from php.
Code:
(?P<type>^R|C|D|IC|Q|LDR)(?P<num>\d+)\s?(?P<val>.+)
- For each line with a match (so it filters out the headers like "Resistors 1/4w") it sorts matching prefixes (R, IC, D, C, etc) into corresponding arrays with the component number as the key, and normalizes the component values
From there it just counts the unique values in each array and spits em out.
 
Last edited:
That link is awesome for finding the right pots! I'm with you on everything, only wanted the wildcard script to make it idiot proof for other users. I do a ctrl+f replace for my BOMs to match the search queries.

For basic functionality, I think the setup is as good as it's going to be without making it overly complicated. I'll try to populate Tayda parts in my spare time. Some missing SKUs for resistors, ICs and pots. The big job left is the caps.
 
That link is awesome for finding the right pots! I'm with you on everything, only wanted the wildcard script to make it idiot proof for other users. I do a ctrl+f replace for my BOMs to match the search queries.

For basic functionality, I think the setup is as good as it's going to be without making it overly complicated. I'll try to populate Tayda parts in my spare time. Some missing SKUs for resistors, ICs and pots. The big job left is the caps.

Caps are the reason I decided not to build a version of this myself a while back lol. Didn't want to bother with all of the different units each different site uses for the same value. Plus, my parts cabinet is pretty well stocked now and if I don't have a cap value for a build I'll usually know I don't have it ahead of time and then just buy 10.
 
It's my OCD kicking in. I've spent more time organizing the BOMs and shopping for parts than making pedals so far...

One thing I've thought of is making the part selection a drop down list, so users can browse for different values without knowing the exact way the parts are named.
 
It's my OCD kicking in. I've spent more time organizing the BOMs and shopping for parts than making pedals so far...

Lmao I know what you mean. That component count notecard generator took a day to write the backend and design the print css to let me print it to 3x5 straight from the browser. I print them off for each build but I still just mostly end up going off the board silkscreen for everything 🤣
 
I have about 30 pedals on the backburner so the next step is to sift through all my parts to make little packages for each project. Your card would come in handy for that ;)

*Warning* Excel nerding follows:
Regarding my idea for drop down menu for specific part. I've hit a wall because the part list and BOM are in separate spreadsheets and data validation only works for existing sheet from what I can see. The name manager in excel is a workaround but the one in google sheets isn't as robust.

Basically, I want that when user selects part type (resistors, Film caps, etc...), they can choose from the master parts list for that part and see what is in the database. So for resistors, they would be able to see the list of all the resistor values currently entered into master parts list. This would help overcome different voltage values for caps and help find the correct naming convention for more obscure parts (pin headers, dual pots etc...)

If you have any ideas, I'm all ears...

*edit* I've also included another sheet for the 1/8w because why not...
 
Last edited:
@finebyfine that pot site you made is one of the greatest things I've seen, thank you for sharing that.

You computer wizards are amazing. If you need help with entering parts manually I can help with that, but programming anything is beyond me.
 
The only other thing to do to make it more user friendly is for the lookup to work with wildcard values so 100p works just as well as 100pf and 47uf50v=47u/50v=47uf-50v. That kind of programming is a bit beyond my ability. I think I can do it, but it would be a hot mess of formulas...

This was the reason I dumped the formula for doing the text abstraction and switched to AppScript. There's a lot more flexibility there at the cost of speed. It doesn't look like you can see the AppScript in the copy I shared, but it does stuff like this:

Code:
/* Format Cap values to match Xuf, Xpf, Xn, XnY, X.Yuf */
function formatCapValue(value) {
  if (value.map) {
    return value.map(formatCapValue);
  } else {
    // These are all okay values
    if (value.match(/^(\d+u[fF]|\d+p[fF]|\d+n\d*|\d+.\d+u[fF])$/)) {
      return value;
    } else {
      // Xu -> Xuf or Xp -> Xpf
      if (value.endsWith("u") || value.endsWith("p")) {
        return value + "F";
      }
      let match = value.match(/(\d+)\.(\d+)n[fF]?/);
      if (match) {
        return match[1] + "n" + match[2];
      }
      // Xnf -> Xn
      if (value.match(/\d+n[fF]$/)) {
        return value.slice(0, -1);
      }
      // XuY -> X.Yuf
      match = value.match(/(\d+)u(\d+)/);
      if (match) {
        return match[1] + "." + match[2] + "uF"
      }
      // We can't figure it out
      throw("Could not format value: " + value);
    }
  }
}

There are formatting functions for each of the major part types and which one is used depends on which type of part is selected. There's probably ways to be more efficient by I was in proof of concept mode at the time, and I've been too busy to revisit it.

Robert
 
@finebyfine that pot site you made is one of the greatest things I've seen, thank you for sharing that.

You computer wizards are amazing. If you need help with entering parts manually I can help with that, but programming anything is beyond me.
This is basically the extent of my skills! I wish I knew more to do anything really useful with computers but alas

I think there's some room now for simple data entry for Tayda SKUs now. Some of the sheets are partially complete so they should be easy to follow along- there's usually only one correct Tayda part for these:
1/4w Resistors - Brand: Royal Ohm - Metal Film
1/8w Resistors - Brand: Royal Ohm - Metal Film
Semiconductors - usually only one that fits description
Potentiometers - Alpha brand PCB mount 6.35mm with Dust Cover

Potentially do another pot list for solder lugs or find a way to incorporate it into existing table
 
This script will scrape tayda urls for SKUs and product image urls:


05042021-042653PM.png

If there's any other values that seem worth grabbing let me know and I'll add them, it's really easy this took like 5min to make.

edit: added data sheet url
 
I've finished the 1/8w resistor SKUs with the exception of a couple that didn't exist at Tayda and fixed a couple of errors I found. There's also a few funky numbers/repeats at the bottom of that sheet I wasn't sure what to do with so I just left them blank.

I feel like most of the common values that we use are in there, but if anyone notices any common values that are missing feel free let me know and I'll get them updated.
 
This script will scrape tayda urls for SKUs and product image urls:


View attachment 11555

If there's any other values that seem worth grabbing let me know and I'll add them, it's really easy this took like 5min to make.

edit: added data sheet url
Im not sure it would make the process any faster. If I still have to manually punch in the urls, it’s just as fast as manually scrolling through a generic search query.
Would that be possible? Like search 6.35mm knob and punch up a list of the links with the name, description and sku? I know there’s an xml function in sheets that does something similar but I don’t know enough HTML to understand it.
 
Back
Top