All Projects → kitspace → 1clickBOM

kitspace / 1clickBOM

Licence: other
A browser extension to quickly fill shopping carts with electronic components.

Programming Languages

HTML
75241 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to 1clickBOM

google-sheets-wrapper
Lightweight wrapper around the official Google Sheets API that makes it easy to read/write rows
Stars: ✭ 36 (-52.63%)
Mutual labels:  spreadsheet
Turn-Off-the-Lights-Firefox-extension-WebExtensions
Firefox extension (WebExtensions)
Stars: ✭ 19 (-75%)
Mutual labels:  firefox-addon
sim8085
Online 8085 simulator
Stars: ✭ 83 (+9.21%)
Mutual labels:  electronics
nrf52-IR
Decoding and saving carrier modulated IR signals and sending modulated IR signals using NRF52 SoCs
Stars: ✭ 17 (-77.63%)
Mutual labels:  electronics
pipeworld
Dataflow 'spreadsheet' desktop environment
Stars: ✭ 118 (+55.26%)
Mutual labels:  spreadsheet
locale-switcher
Browser Extension to quickly change your browser locale.
Stars: ✭ 75 (-1.32%)
Mutual labels:  firefox-addon
Publisher-Extension-for-Unity3D
Access your Unity3D publisher information in a click.
Stars: ✭ 25 (-67.11%)
Mutual labels:  firefox-addon
TMS9918A
TMS9918A video card for RC2014
Stars: ✭ 104 (+36.84%)
Mutual labels:  electronics
Marconi.jl
A Julia Library for DC to Daylight
Stars: ✭ 15 (-80.26%)
Mutual labels:  electronics
spreadsheet
TypeScript/javascript spreadsheet parser, with formulas.
Stars: ✭ 40 (-47.37%)
Mutual labels:  spreadsheet
aspace-import-excel
Import resources, archival objects, etc. into ArchivesSpace using Excel spreadsheet files
Stars: ✭ 39 (-48.68%)
Mutual labels:  spreadsheet
savescreenshot
Save Screenshot Add-on for Firefox. Simple website screenshot maker for Firefox.
Stars: ✭ 16 (-78.95%)
Mutual labels:  firefox-addon
return-youtube-dislike
Chrome extension to return youtube dislikes
Stars: ✭ 10,634 (+13892.11%)
Mutual labels:  firefox-addon
xlsx-renderer
Render xlsx from template
Stars: ✭ 21 (-72.37%)
Mutual labels:  spreadsheet
paper
Instapaper addon for Firefox
Stars: ✭ 28 (-63.16%)
Mutual labels:  firefox-addon
cyclonedx-dotnet
Creates CycloneDX Software Bill of Materials (SBOM) from .NET Projects
Stars: ✭ 110 (+44.74%)
Mutual labels:  bom
infy-scroll
A web extension for Chrome, Edge, and Firefox. Add customized infinite scrolling to websites and auto load the next page. Supports the AutoPagerize Database. (Beta)
Stars: ✭ 70 (-7.89%)
Mutual labels:  firefox-addon
grist-core
Grist is the evolution of spreadsheets.
Stars: ✭ 3,549 (+4569.74%)
Mutual labels:  spreadsheet
yt-restore-dislikes
👎 A browser extension for restoring the dislike count on YouTube videos.
Stars: ✭ 24 (-68.42%)
Mutual labels:  firefox-addon
cyclonedx-node-module
creates CycloneDX Software Bill of Materials (SBOM) from node-based projects
Stars: ✭ 104 (+36.84%)
Mutual labels:  bom

Summary

1-click BOM is a browser extension that fills your shopping carts for you on sites like Digikey and Mouser. Its main purpose is to work with the electronic project sharing site kitspace.org. But you can also use it from a spreadsheet or load an online .tsv file from any other site.

Table of Contents

News

Which distributors?

Currently supported distributors are:

  • Digikey
  • Mouser
  • Farnell/Element14
  • Newark
  • RS
  • LCSC

Check the roadmap for more details on planned features.

Usage

Making a 1-click-BOM

Eagle

  1. In the schematic window, select "File -> Export -> BOM". Select "List Type" values and "Output Format" CSV (see image) and press save.
  2. Open the .csv in a spreadsheet program (LibreOffice, Excel). Select a semi-colon seperator when importing.
  3. Adjust the description column to be more informative, e.g. "10uf 0603 X7R" for a capcitor or "1k 0805" for a resistor or the MPN for ICs and transistors. The description will be used for auto-completing.
  4. Select everything in your spreadsheet program, copy and paste into the extension.
  5. Open a new spreadsheet and paste into it. Save it as tab-seperated values, with a .tsv extension and UTF-8 encoding.
  6. Check over all the part numbers and make sure they are correct. Put them into your shopping cart using the extension to confirm they have the right minimum order quantity etc.

KiCAD

  1. Download the Python files from the output_scripts/kicad directory. Put them all together into a directory where you want to keep them.
  2. In Eeschema, the schematic tool, select Tools -> Generate Bill of Materials then Add Plugin and then Generate Select:
    • 1-click-bom_description.py to try and extract a description for auto-complete
    • 1-click-bom_fields.py if you have fields in your symbols that 1-click BOM will understand (see below).
  3. To sync any changes back into your schematic you can use KiField.

Any CAD Program

You can copy and paste into the extension from a text editor or spread sheet program (LibreOffice, Excel). You must have a column for references, one for the quantity and at least one of: decription, part number or a distributor column. You can have multiple part number columns for specifying multiple possible manufacturer part numbers per schematic reference.

When saving files from your external editor or spreadsheet save them as tab-seperated values with a .tsv extension with UTF-8 encoding.

Here is a small example:

References Qty Description Part Number
C1 1 1uF 0603 X5R
C2 1 10uF 0603 X5R
D1 1 1N4148WS
Q1 1 IRF7309PBF
R1 1 10k 0603
R2,R4 2 100k 0603
R3 1 300k 0603
SW1 1 4-1437565-1

You can find this and other examples in TSV format in the examples directory.

Field Matching

The examples are mostly in the format that the extension will output. Reading is less strict. Below are tables of title aliases 1-click-BOM recognizes. If you have any more suggestions please get in touch. (Capitalisation is ignored, characters within brackets, like(s), denote they are optional.)

References Quantity Description MPN
ref(s) qty(s) comment(s) part(-)number(s)
reference(s) quantity(s) description(s) partnumber(s)
line-note(s) cmnt(s) part number(s)
line note(s) descr(s) m(/)f part(s)
part(s) manuf(.) part(s)
mpn(s)
m(/)f part number(s)
manuf(.) part number(s)
manufacturer part(s)
manufacturer part number(s)
Digikey Mouser RS Newark Farnell
digi(-)key mouser rs newark farnell
rs(-)online fec
rs(-)delivers premier
radio( )spares element14
rs( )components

Loading an online BOM

If you visit a page on kitspace.org or one that ends in .tsv and has data in the right format available 1clickBOM will show a blue badge and button with an arrow. Clicking the blue button will load the data into the extension.

Load from page

Let's go shopping!

Once the data is added you can use 1clickBOM to add the items to your carts using the buttons on the popup. You can also quickly view and empty your carts.

Completion

1-click BOM can try and complete an incomplete BOM for you by selecting resistors and capacitors from the CPL and searching Octopart and Findchips. A complete BOM is where every part has a manufacturer part number and a part number for every distributor. Simply press the button labeled 'Complete' and 1clickBOM will use other fields to search for the fields that are left blank. You should always check over the parts it has selected for you.

Auto-completion works best if you have limited text in the description. Try and reduce the description column down to the bare-minimum or add an MPN field. "1uF 0603 X5R" is a good description while "C Capacitor 1uF 1 micro Farad SM0603 0603 SMD" isn't.

Issues

If you need any help or think you found a bug please get in touch via GitHub, email or visit the Kitspace chat room.

Roadmap

  • 1.8

    • Ability to add components to BOM from distributor site
    • Make requests cancelable
    • Improve user interface
  • 1.9

    • Add distributor preference ranking
    • Add function to reduce BOM (and add to cart?) according to distributor preference
  • 1.10

    • Additional distributor support
      • AVNet
      • Adafruit
      • Allied
      • Arrow
      • Conrad
      • CPC
      • Rapid
      • Seeed
      • Sparkfun
      • TME
  • 2.0

    • Support for direct loading from Google docs pages
    • BOM details and editing page
    • Display cart summaries
    • Function to minimize order cost + shipping
    • Allow adding components to BOM from the component page
  • 3.0

    • 3D-chip-printer support
  • 4.0

    • Communicate through quantum entanglement

Development

Build and Test Requirements

The code is available on GitHub. To get started you will need:

  • Chrome or Chromium
  • Firefox version 52 or higher
  • Ninja Build
  • sed
  • yarn

The rest of the dependencies can be retrieved via yarn install.

Build and Test Instructions

Build

  • Get dependencies above and make sure executables are on your path then:
  • yarn install
  • yarn build

Load

  • For Chrome enable developer mode in chrome://extensions and load the unpacked extension from build/chrome
  • For Firefox go to about:debugging#addons select "Load Temporary Add-on" and load the build/chrome/manifest.json

Test

Tests are written in QUnit 1.11 and can only be run in Chrome/Chromium. Open a console on background page and execute Test() or test a specific module, e.g. Farnell, with Test('Farnell')

Most of the tests are functional tests that require interaction with the various distributor sites and they make a lot of network requests to test across all the different possible locations. Sometimes they will fail because they are not an accurate representation of actual extension use. If a test fails or doesn't complete, run it again before investigating. Try and re-create the issue manually before trying to fix it.

License

1clickBOM is free and open source software. It is licensed under a CPAL license which means you are free to use the code in your own applications (even proprietary ones) as long as you display appropriate attribution and share your code-improvements to 1clickBOM itself under the CPAL as well. This also applies to software you are solely making available to users over a network i.e. software as a service. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].