A printed circuit board design is a combination of art and engineering using tools that are not great at either. Not everyone who needs to make a board has the unique skill combination of creativity, electronics knowledge, and familiarity with electronics CAD tools. Those requirements change with SparkFun's new À La Carte (ALC) custom board service. Now anyone can turn their project or product prototype into a custom board. Unlike other PCB and component assembly services, ALC builds your custom PCB with modules through an interactive interface.
SparkFun is well known for their vast array of open source components and tutorials. It is probably impossible to count how many projects and products people have used SparkFun's modules to build. At some point in a project's life, it becomes time to turn those loose modules into something more permanent — such as a printed circuit board. In the past, the next step would involve learning to use an electronics CAD program and spending significant amounts of time (and money) on developing your custom board. In the best-case scenario, that transition would only require a single board spin, which is rarely the case. With each board revision, it is still necessary to add the parts to the board. That step requires the ability to solder, another skill that not every person is comfortable doing.
À La Carte offers an entirely different approach. Instead of building a board at the component level in an eCAD program, you create a PCB using pre-defined modules in a point-and-click, web-based tool. The automated builder adds support components like capacitors, arranges the modules, and takes care of the laborious trace-routing task. Each module has a cost associated with it. As you progress through the interactive builder, you can see the final board's price, including one-time charges. More at the end about those. I had a chance to try out the service before the launch. Here are some of the things I noticed.
After setting your new board's name, description, and whether you want mounting holes, you need to first select a microcontroller option. ALC only allows you to choose one controller per board. Choices include SparkFun's Artemis module, an Espressif ESP32 WROOM, a Microchip ATmega328P, and a Microchip ATtiny84. Except for the ATtiny84 option, all of the controllers are programmable from the Arduino IDE over the default onboard USB-C connector. For the ATtiny, you need to supply an external programmer.
The input selection contains input devices like buttons, joysticks, and dip switches. It could also be called the sensor section since it includes an accelerometer, air quality sensor, and a temperature / pressure / humidity sensor. An excellent module in this section is the ability to add a small, medium, or large prototyping area to your custom board.
Outputs contain more straightforward options. The modules here include motor/servo drivers, MOSFET switches to drive a load, a character LCD, single LEDs, addressable RGB LEDs, and even an MP3 module. There is also an EEPROM module in case your project needs to store data without power.
For wireless communications, there are a variety of transceivers available. Standard wireless protocols and technologies are supported, like WiFi, XBee, Cellular, Bluetooth, and even Iridium Satellite. For wired communications, you can even select an RS-232 port.
Once you have your controller and components selected, it is time to add connectors. An obvious option includes holes for 2.54mm headers or sockets. SparkFun's ALC offers a wide range of connectors like a 3.5mm jack, 2mm JST, screw terminals, and two friction terminals. One is a latch terminal, which requires no tools, while the other is called Poke-Home. These accept a wire without a tool but need a pen-like object to remove it.
The most tedious aspect of this entire process is selecting which signals connect to those connector modules. There are no shortcuts. Instead, each individual pin of the connector requires selecting either a pin from the microcontroller or one from the component blocks. Then, you need to manually assign names, even for pins with dedicated functions (like I2C or SPI.)
A puzzling choice for the ALC builder is that power is the last block to select. I found that interesting for two reasons. First, because you determine your design's power budget by which power block gets selected. This order seems strange as the last module-block, instead of first. And second, it is not clear why you would choose among the different options. For example, the "12V Car Power," USB Power, and Wall Power options do not come with an actual power supply. However, they all include a USB-C port for power. So it isn't clear, at least to me, how the power blocks get connected to the rest of the circuit.
If you are incredibly proficient at designing circuit boards, SparkFun may not be aiming ALC at you. The ideal fit is someone who wants to have a custom PCB designed, assembled, and electrically tested without using any eCAD tools. Other than the prototyping areas, ALC does not offer any support custom modules, hardware, mounting hole placement, or shapes other than rectangles.
In addition to the cost per board, the ALC builder also includes a $949* one-time design fee for each board design or board revision. Depending on when you order multiples of the board, the design fee may not apply again. While each ALC design comes with a schematic PDF and the standard PCB production files known as Gerbers, it does not include any design files. Those are available for an extra $150 fee and only available in EAGLE's format. Keep in mind; this total cost might be similar to what you would pay a professional board designer.
After finalizing your blocks, the typical lead time is three to four weeks to receive assembled and tested boards. SparkFun ensures the electrical aspect is valid but leaves software or firmware entirely up to you. Head over to SparkFun's À La Carte Service page to see the complete list of modules available and wire-up your own board.
*To encourage you to give ALC a try, SparkFun is offering all Hackster members 30% off the design fee through December 31, 2020 at 11:59pm MT with the code: ALCHACKSTER30.