# Help Wanted Making a Tayda General Parts List



## beachbum (May 3, 2021)

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 part__s_*.* 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.


----------



## peccary (May 3, 2021)

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.


----------



## flemming (May 3, 2021)

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:









						WIP Parts List
					

BOM  Item,Pedal,Category,location,value,No location,Full description (must include location and value),description,Total Quantity,Mouser,Tayda 1,Sea Monk,Resistors,R1,1K,1K,R1 1K,Metal film resistor, 1/4W,10,<a href="https://www.mouser.com/Search/Refine?Keyword=603-MFR-25FTE52-1K">603-MFR-25FTE52...




					docs.google.com
				




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


----------



## beachbum (May 3, 2021)

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...


----------



## beachbum (May 4, 2021)

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...


----------



## finebyfine (May 4, 2021)

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. 

```
(?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.


----------



## beachbum (May 4, 2021)

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.


----------



## finebyfine (May 4, 2021)

beachbum said:


> 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.


----------



## beachbum (May 4, 2021)

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.


----------



## finebyfine (May 4, 2021)

beachbum said:


> 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 🤣


----------



## beachbum (May 4, 2021)

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...


----------



## peccary (May 4, 2021)

@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.


----------



## flemming (May 4, 2021)

beachbum said:


> 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:


```
/* 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 (May 4, 2021)

peccary said:


> @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.



no problem! glad it's useful.

I also just updated it with the Tayda branded 16mm pots.


----------



## beachbum (May 4, 2021)

peccary said:


> @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


----------



## finebyfine (May 4, 2021)

This script will scrape tayda urls for SKUs and product image urls:



			tayda scraper
		






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


----------



## peccary (May 4, 2021)

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.


----------



## beachbum (May 4, 2021)

Awesome! I’ll try to get on the caps tomorrow or Friday in my spare time.


----------



## beachbum (May 4, 2021)

finebyfine said:


> This script will scrape tayda urls for SKUs and product image urls:
> 
> 
> 
> ...


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.


----------



## peccary (May 4, 2021)

beachbum said:


> Awesome! I’ll try to get on the caps tomorrow or Friday in my spare time.


I should be able to take care of MLCC tomorrow.


----------



## beachbum (May 5, 2021)

flemming said:


> 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:
> 
> 
> ```
> ...


This is what I was looking for, but if it slows down the page, I'll try to implement a formula first. 
It should be possible. 
If it has a P, it searches for pf, if it has u, it searches for uf, for pots, if it has a, b or c, it searches through the appropriate type. I think it's doable anyways...


----------



## beachbum (May 6, 2021)

peccary said:


> I should be able to take care of MLCC tomorrow.


I've updated the film caps. I've only put Wima and Kemet so far and the voltages are in the higher range, so not sure if they match the existing parts from mouser. Only way around it is to include voltage in cap part unfortunately. Height and body width might have to be added when pcb spacing is tight.


Copying a search result list from Tayda's website produces a fairly legible list in excel, but it's not possible to sort the data in a useable way so it's still copying 1 by 1 each piece of data (I spent all day trying to sort through a pasted Tayda search list without any success).


----------



## peccary (May 6, 2021)

beachbum said:


> I've updated the film caps. I've only put Wima and Kemet so far and the voltages are in the higher range, so not sure if they match the existing parts from mouser. Only way around it is to include voltage in cap part unfortunately. Height and body width might have to be added when pcb spacing is tight.
> 
> 
> Copying a search result list from Tayda's website produces a fairly legible list in excel, but it's not possible to sort the data in a useable way so it's still copying 1 by 1 each piece of data (I spent all day trying to sort through a pasted Tayda search list without any success).


I did the MLCC and some hardware odds and ends yesterday. I think the electros will be the toughest to complete. 

I think just having the info in one place for people will be handy, even if your'e not able to get something working. I'm sure one day someone will see it and be able to use it or do something with it. 

As it is I don't do full BOMs because I tend to have most parts on hand already and I find it quicker to get the SKU from the Google sheet and plug it in to the quick order form along with the quantity rather than searching the site and adding it to a cart. I'm sure others will be able to find ways to use it as well.


----------



## beachbum (May 11, 2021)

Update: I've finished some of the Film Caps. 
First, question for experienced builders: How does the size of those 100v Wima caps fit on pedalPCB boards?
I'm not sure of the quality of the non-wima/kemet brand parts. Anyone know if they're ok or if it's worth sourcing elsewhere?

I will do the ICs soon, a bit busy with work this week. 

@peccary appreciate all the help . I think it's already coming together enough to easily make a spreadsheet with a big order without having to search individually on tayda.com for each part!

@flemming Thanks as well, I used your list whenever I saw part coherence and used your idea for having both stores available on one sheet. Maybe small bear to come soon, but I find their parts inventory and organizing to be much more volatile/unorganized. 
The other thing I was thinking of doing to make the sheet work better is to put the parts list in the same doc as the order form. The best thing I think would still be to keep each build on a separate doc to keep the page from lagging too much.

@finebyfine After looking at your programming skills, I'm jealous because it actually would be much easier to do this as an 'order form' web page with a drop down list that goes through an SQL DB (or that shows realtime result searches through keywords) and generate a TXT order page based on that.


----------



## fig (May 11, 2021)

Great spontaneous team effort folks!


----------



## jubal81 (Jun 24, 2021)

I've got an idea, but I'm not exactly a wizard with Excel/Google sheets.

Any of you know if you can have a master list in one tab and have other tabs that pull in specific rows from that list based on the value in one cell?
Like, if you have 10K resistor in a row on the master list, could you have another tab 'Tubescreamer' that automatically pulls in that row and they always match/dynamically update?


----------



## fig (Jun 24, 2021)

jubal81 said:


> I've got an idea, but I'm not exactly a wizard with Excel/Google sheets.
> 
> Any of you know if you can have a master list in one tab and have other tabs that pull in specific rows from that list based on the value in one cell?
> Like, if you have 10K resistor in a row on the master list, could you have another tab 'Tubescreamer' that automatically pulls in that row and they always match/dynamically update?


Sure, you can use cell values from one worksheet to another. What would trigger the update?

Edit: Oh I think I see...if you import a Tube Screamer worksheet it would populate part numbers and counts for a shopping list?


----------



## fig (Jun 24, 2021)

beachbum said:


> Update: I've finished some of the Film Caps.
> First, question for experienced builders: How does the size of those 100v Wima caps fit on pedalPCB boards?
> I'm not sure of the quality of the non-wima/kemet brand parts. Anyone know if they're ok or if it's worth sourcing elsewhere?


Typically, the electrolytic is 2mm spacing (but you can stretch that) and the film caps are 5mm spacing.


----------



## jubal81 (Jun 24, 2021)

fig said:


> Sure, you can use cell values from one worksheet to another. What would trigger the update?
> 
> Edit: Oh I think I see...if you import a Tube Screamer worksheet it would populate part numbers and counts for a shopping list?


Yes, something like that. Keeping a master list of the parts helps a lot because part numbers, links and lots of stuff can change over time and it's a lot easier to update the master part list than all the individual build part lists.

I put in a lot of effort making shared Mouser BOMs a few years ago and now they're mostly useless because some stuff goes out of stock or gets discontinued, etc.


----------



## fig (Jun 24, 2021)

I see..yes that would not be difficult. Maybe a sheet (tab) for each component type?


----------



## fig (Jun 24, 2021)

I'll do a scaled version to see if it fits. Tomorrow though.


----------



## fig (Jun 24, 2021)

Okay, I did an example tonight...It's an Excel spreadsheet. If you enter a part into the column, it will fill in the correct part number from the respective sheet. I made up part numbers and just did a few. I didn't add autocomplete but it can be done. I _think_ I can share it...it just uses the LOOKUP() function and references the appropriate columns. If not, I can email it.


----------



## fig (Jun 24, 2021)

Okay, here is the link. You can edit it as well. 

https://1drv.ms/x/s!AonIK7PdNQrHgldosyCVJvcoKOYS?e=8RMr5x


----------



## jubal81 (Jun 24, 2021)

Man, that's pretty slick! I put in a part number and sure enough it populated the corresponding number.
Now I'm wondering if there's a way to do this across workbooks. If the part numbers could be extracted from the PDFs in CSV or something, they could be pasted into another spreadsheet that draws the info from the master list. That'd keep the tabs from getting out of control on the master.


----------



## fig (Jun 25, 2021)

If you can get me some samples, I'll take a look. Delimited files are pretty straightforward. PDFs have come a long way, and form data to Excel libraries are available for Perl, and likely other languages.


----------



## beachbum (Jul 2, 2021)

Just an FYI for those using the sheet. I removed all instances of MLCC caps from Tayda, I didn't realize they don't use the C0G type that is preferred for Pedals. So no use for the parts list. I've also only used Kemet and Wima film Caps, and the values available are limited, so for the most part, I will continue to get caps from mouser if possible.


----------

