From the Field: Designing Custom PCBs with SparkFun

We get by with a little help from our friends, specifically Scott Tattersall.

Favorited Favorite 1

Over the next few weeks, we’ll be letting some of our customers take over the blog to talk about how they use their favorite SparkFun tools and products in their projects, businesses and everyday lives. The best part? All the SparkFun items on their wishlist will be on sale today only!


I think the first place any aspiring hardware/IoT maker finds themselves (after buying an Arduino or Raspberry Pi) is on the SparkFun website, browsing all the various sensors, breakout boards and tutorials available. I mean the options are endless! From sound, temperature, air quality and pressure sensors; to starter kits for Raspberry Pi, the Inventor’s Kit and Retro Arcade Gaming; to IR Cameras and LiDAR, the possibilities are amazing! And really, there isn’t a better place to begin than buying a sensor or a kit, wiring it all up on a breadboard, connecting it to an Arduino and watching it do something!

Scott’s wishlist (on sale today only!):


Who am I?

As a recent hardware enthusiast, I’ve mainly been working as a software developer and business owner for the last 15 years, and have been working with the latest technologies in my own start-up companies, SMEs and in large, publicly-traded companies. I’ve written software for machine learning (e.g. using Google’s Tensorflow), computer vision (e.g. OpenCV), IoT (Arduino and RPi) and Crypto-currencies (Bitcoin, Ethereum). But a couple of years ago, having just finished a software project and bought my first Arduino, I realised just how much I didn’t know about the hardware side of things! As a firm believer that there’s no better way to learn than to dive in at the deep end, I began working on an open source hardware project to get sensors and Sigfox built into an Arduino-style board, which I called Siguino.

Why the “Siguino” project?

While I did end up buying and using many breakout boards and sample sensor kits, I realized that while it was cool to be able to get a temperature or humidity reading and send it over Sigfox via an Arduino Pro Mini, some SparkFun breakout boards, and a few wires and resistors, it was hard to go from there to what I considered a useful device or product – especially when the result looks like the below (yes, that really was sending temperature and light levels over Sigfox)!

prototype

I wanted to learn how to design my own single board that both already had some useful sensors, and also had the Sigfox comms chip and antenna on board, so once power was supplied it was already a functioning device (re-programmable later on as needed). I also wanted to make this board open source, so others could build on it or learn from it. It was from this that the concept of the Siguino board arose, and ultimately led to a purpose-designed PCB that had all the components I wanted on board.

Siguino component breakdown

Siguino component breakdown

SparkFun resources:

I really could not have completed my open source project without the knowledge and array of products available on the SparkFun site. Here’s just a small sample of the products I used for this project:

  • FTDI Header: an essential piece for programming Arduino Pro Mini (and similar) boards.
  • Kits and sensors for testing: It’s often a very good idea to breadboard up a messy but functional solution (as I did for this project) using the extensive array of sensors available. Couple this with the availability of the underlying Eagle files, and you can essentially build out a working version of the hardware without ever taking out a soldering iron! Specifically, I used the temperature breakout, accelerometer and magnetometer.
  • Adapter boards: When you get a bit deeper into the hardware and you find a particular chip that you want to try but don’t want to to send off a custom PCB for printing yet, definitely grab an adapter board. Most of the major chips you might want to use will likely be in a standard format, and the longer solder pads really help with the hand soldering, especially if you’re not a solder expert (yet!).
  • “How to” guides on Eagle: These are absolutely excellent guides if you want to get into designing your own boards. Anyone enthusiastic enough to get a messy but functional breadboarded concept up and running can go on to design their own PCBs and this series is very informative and easy to follow.
  • GitHub Eagle libs: Having all the SparkFun product schematics and Eagle designs available on GitHub is a very valuable resource. It’s easy to miss the need for a pull-up or pull-down resistor requirement when trawling through datasheets on various chips you might want to use, so to see the schematic of a working board you can test makes things very easy for the new hardware designer.
  • Arduino code libraries: Programming/communicating with the various hardware chips (such as accelerometers, temperature chips, etc.) can involve a lot of searching though the chip datasheets for SPI/I2C/UART settings, commands, etc., so it’s very useful to have sample code written for Arduino for each of the SparkFun modules that sets you up to quickly make use of the hardware.

Product suggestions/improvements:

  • Power analysis: As I was trying to build a ultra-low power board that would last on a battery for months, accurately determining both the constant as well as spiking power profile was very important, and it turns out this is trickier than you might imagine. In the end, it was a specialist board and software I found from Nordic Semi-conductor that worked the best given the micro power requirements I wanted to accurately measure (down to a few microamps), but this was not an easy module to work with, and I think there should be better solutions available for open source hardware building (a RPI shield or something?).
  • RF analysis: Another very difficult thing to assess for the most part when dealing with radio comms (Sigfox, LoRa, Bluetooth, etc.) is whether or not the board is transmitting at the correct frequency and at what power level. Believe me, trying to tailor an RF net for your antenna and attempting to impedance-match your feed line is a dark art! Anyway, most RF analysers are made for professional hardware companies and come at a correspondingly high price point, but I found an independent device that works very well for an affordable price. It would be great to see it as an option on the SparkFun site.
  • More mainstream low level components: I did occasionally find a SparkFun module for a purpose I was interested in (recently, the GPS breakout board, since my next project will incorporate GPS) where the underlying chip (in this case the SkyTraq Venus634FLPx) doesn’t seem readily available from many suppliers. There are a great many GPS chips from different manufacturers, so it would be great if chips that were more readily available were chosen for the SparkFun modules.
  • Further chip adapter boards: I found the adapter boards for the standard SSOP chips very useful, but there is such a vast array of formats for the various chips (with SMD components in particular) from TQFP, QFN, VFLGA, etc., that it would be great of each of these were catered for also.

Final Thoughts

There are a lot of options available at SparkFun, both for the first-time hardware tinkerer (as I was at the start of my project) to the experience hardware engineer, and to those in the former category all I can recommend is to get stuck in building something! Then, if you want to take it further, check out the more in-depth articles on getting started with Eagle schematics I linked to earlier. My own detailed journey from breadboarding to manufactured PCB is available at my website here.


Special one-day pricing available to customer and guest checkouts only. Prices expire at 11:59 p.m. on the day each post is published.


Comments 2 comments

  • First, I hope that you take all of this as I mean it, to wit, as constructive comments. I’ve been “doing” electronics for over half a century, and “doing” computers since shortly after Neil Armstrong took his “one small step” on the Moon. I worked as an engineer for over 20 years for a company that built testers for computer chips (we joked that they were multi-million-dollar voltmeters). I’ve also been involved in Amateur (“Ham”) Radio for more than a quarter century.

    I, too, have done many projects that use “breakout” boards, both from SparkFun and from Adafruit. I’ve been tinkering off and on for the past several months with Adafruit’s HUZZAH ESP8266 breakout combined with sensors from SparkFun, and a few miscellaneous parts from DigiKey.

    I’m more-or-less retired now, but at my last “paying” job (with a small start-up company - I was doing for them what we both do for a hobby, but the best part was that someone else was buying the “toys”!), I was forced to use [or as I would say, be abused by] Eagle. I’m not at all fond of Eagle. The SparkFun tutorials made it “do-able”, but still not enjoyable. I much prefer KiCad, or gEDA, as they are FAR more “intuitive” than Eagle (and they’re both free without the limitations of the “free” version of Eagle).

    Always, always, always verify every single “library” part for what ever CAD system you’re using, no matter what the source. I’ve learned that the hard way! I’ve even seen the wrong pinout for something as old as the 2N2222 transistor, and the wrong spacing for a “standard” castellated subassembly.

    I have a whole box full of adapter boards from SparkFun, Adafruit, and DigiKey. I just now did a search on DigiKey for “adapter boards” and found 927 results. (Adding “Normally Stocking” reduces it to 475.)

    From my days working on IC testers, I’m aware of how hard it is to measure currents down in the single-digit microamps or even nanoamps. One of the really big problems at those levels is RF noise – you really need to shield as much of the circuit as possible. (One of the things we did was to measure “quiescent current” in CMOS chips operating “at speed” – this involved measuring currents that were supposed to be in the high nanoamp range in time windows on the order of hundreds of picoseconds, as opposed to currents of many milliamps when the part was actually switching. You can guess why we called them multi-million-dollar voltmeters!)

    On the issue of spectrum analyzers, I’ve been involved for over 25 years with a local “club” that maintains several “repeater” sites that are on the 2m, 1.25m, and 70cm bands, and to do “site alignments” we have to have instruments that can work as spectrum analyzers. Being on the “tech committee” for many years, I can occasionally borrow these instruments to work on my own radios or other projects. Also, in the past few years, the “professional” instruments have become much more compact, lighter weight, and easier to use. This means that the older, bulkier, heavier, and harder-to-use ones have been showing up at larger “Ham fests” (Amateur Radio swap-meets) at much lower prices. So, if you’re not too picky about having an in-date calibration and not wanting to drag it around to remote sites, you might find something you can afford. (Look for something called a “station monitor”.)

    Two final thoughts – actually, “pet peeves”: It seems like the data sheet for every chip that can do I2C spells out what that interface is in painful detail, and most of them BURY the I2C addresses in it (though there are a few exceptions that mention it up at the top). And, most of the processors that are used in the “hobbyist” market don’t include Real Time Clock Calendars – there are many on the market, especially MicroChip’s PIC processors, that have RTCCs built-in, all you have to do is add a 32.768 kHz crystal and a battery. Most of my projects either have an absolute requirement for an RTCC or would benefit from having one. (Yes, there are a few, such as Teensy 3.5 that have a built-in RTCC, but not many!)

    • One additional thought: I think, though am not certain, that some Software Defined Radio (SDR) modules can be used as “spectrum analyzers”, although they have limitations.

Related Posts

Recent Posts

Tags


All Tags