SparkFun recently unveiled its new printed circuit board (PCB) design service: À La Carte (ALC). ALC is an online tool that lets you quickly design a PCB and have it made using SparkFun as a manufacturer. This service includes both the PCB fabrication and board assembly (soldering parts). In this tutorial, we’ll show you how to get started with SparkFun’s ALC service to create and order a board.
If you’d like to watch this walkthrough in video format, see here:
SparkFun’s ALC service is similar to what other contract manufacturers offer, but with a few twists. The biggest twist is that the board design process is done through an online, automated tool. The process is extremely fast, but you are limited in the components you can select. This helps SparkFun maintain inventory that it knows it can successfully populate on the board.
Additionally, you do not have control over where the electronic parts are located on the board, as the automated tool figures out where to place things for optimum trace routing. Once again, while this limits your board shape and size, it makes the process extremely fast.
If you've designed your own PCBs in the past, these automated features might seem limiting. However, I urge you to consider where ALC might fit into your overall product design process. While it might not be optimal for designing your final product (with form factor constraints), it can offer a great starting point for a series of prototypes that can be produced extremely quickly. For example, you might want to try out a few different sensors on a node board for your upcoming IoT service.
Finally, if you are a software or business person that is not familiar with PCB design tools, ALC might be a great fit for quickly producing a board for you.
Create a Board
Head to alc.sparkfun.com. Click the Get Started button, and click on the New Project button. I recommend giving your project a name and a description. This can help you remember what you ordered later down the road, like on a business receipt.
The first phase of board creation is to select a microcontroller. You have a few options to choose from, and I expect SparkFun to add more options later. For this example, I’m going to try out an ESP32 (I’m thinking I want to test an IoT node with a few sensors). Click Add to add the ESP32 to your board.
Click on the Components tab. Here, you can add a variety of sensors, buttons, LCDs, LEDs, and prototyping areas that will be automatically connected to your microcontroller. I’m going to add a 5-way joystick (easy way to get 5 user bush buttons or navigate a menu), a BME680 environmental sensor, a CCS811 air quality sensor, a GPS receiver, and a small prototyping area in case I need to add anything.
Scroll down, and you should see an Outputs section. In there, I’ll add an LCD and an LED. Note that there is also a Transceiver section, in case you want to add some communication devices to your board. As the ESP32 comes with WiFi and Bluetooth, I think I’ll skip the transceiver for now.
Head to the Connectors tab. This is where you can add a number of headers and ports to the board to let you connect external devices to the microcontroller or other components. I’m going to add a simple 10-pin GPIO header so that I can use jumper wires to connect to other sensors I might want to try out.
When I click to add the GPIO header, I’m presented with a configuration pop-up that asks me to connect the pins. I’d like to break out the ESP32’s primary communication protocols: UART, SPI, I2C, and a single ADC/DAC pin (GPIO 25) so that I can test other sensors. I’ll also throw on a 3.3V and GND pin that lets me power another sensor.
Finally, let’s head to the Power tab. All boards should come with a USB-C connector by default, which allows you to power the board and upload code to the microcontroller. If you’d just like to stick to the USB connector, you should select the USB Power option, which will set a power budget.
The power budge gives you a (very conservative) estimate of the current draw of all the components on your board with a maximum allows by your power option (e.g. USB power).
I’d like to test running my board with a LiPo battery, so I’m going to select the Battery Power option. Note that this option keeps the USB-C connector on the board for charging the battery and uploading code.
Note that you can search for components within a tab by using the search bar. There’s also a global search option in the upper-left corner of the page that will let you search through all of the components.
If you’d like to remove components, you can click the X button next to each component’s name in the Project Blocks list on the right side of the page.
Board Size and Shape
The board’s shape is limited to a rectangle, and its minimum size is determined by the components you’ve added to the project.
In the upper-right corner, click on Layout Options. Here, you have a few options to change the size and shape of your board. By clicking on one of the X or Y dimensions, you can edit that dimension. For example, I’ll make my PCB just wide enough so that the LCD fits. The tool will not let you set any dimension (or overall shape) that is too small to fit all of your selected components.
I like having mounting holes, so I’m going to leave Standoff Holes selected. Finally, the Group Connectors option tells the tool to move all of your connectors/headers to one side of the board, where possible. This can be handy if you’d like to mount the PCB in an enclosure and have just one access port to your connectors. I'll leave that option off for my board.
The tool will give you a general idea of where the components (and supporting electronics) will be placed.
Note that your project will be automatically saved throughout the design process. If you click on My Projects, you can see a list of previous projects. You can resume working on any previously saved project or clone it.
Important! Once you add a project to your cart, it locks the design process. You will no longer be able to modify (or “resume”) that project. However, you can remove it from your cart and clone the project to essentially modify it.
Back on my IoT project, I can add the project to my cart by clicking on the Proceed to Checkout button. You will need to be signed in to your SparkFun account to finish the ordering process. Note that there is a one-time design and tooling fee that SparkFun charges per design. However, you can order multiple copies of the same board.
You can re-order copies of a previously ordered design by contacting firstname.lastname@example.org up to 18 months after the initial order. Additionally, you may also contact them to order the original Eagle schematic and layout design files (.BRD and .SCH) so that you can modify the design or use another manufacturer.
If you need help with ALC, I recommend first checking out the FAQ page to see if SparkFun has already answered your questions. If you cannot find what you are looking for there, I recommend heading to the SparkFun forum and posting your question in the ALC section.
I hope this has helped you get started with SparkFun’s ALC service!