Building Two Spark Cores by Hand

I’m taking on the effort of hand building two spark cores and I have all of the parts sourced from Digikey except for the following 4 parts. If you could help me with a more equivalent US part that would be great!

  1. Chip Antenna 2.4GHz, Ceramic 8mm x 1mm A1 ACX “US PN = 2500AT44M0400E
    Asia PN = AT8010-E2R9HAA”

  2. RGB LED 3528 RGB LED 3528 LED2 Wenliang WLRGB3528C/R

  3. RTC Crystal 32.768KHz, 12.5pF RTC Crystal 2-SMD Y1 Song Ji SJFC1332K12P20

  4. USB Micro B Connector USB Micro B, SMT with TH Board Guides USB-MICROB X1 Kaweei CMCUSB-5BFM2G-01-D

At one point I could get the chip antenna from Mouser, but I waited too long and now they are all gone… you guys probably bought them all up! :wink: My fall back plan is to use the uFL connector, but it’s not my first choice to keep it a simple build and test.

I ordered my v0.2 PCBs from OSHPark so it’s been taking a while, but they should be here any day now!

I think the first part I’m going to try and solder down is the Wifi module. I’m going to preheat the board a little and use solder paste and hot air… hope it works! I’m probably building a $31.80 brick, but it should be fun and with little luck I’ll have something working.

I’ll be sure to post updates here as I have them, and will post my BOM as well.

:sunglasses: Here’s the updated v0.2 BOM all filled in now.
Updated link for the v0.2 BOM.


Hey BDub,

I just started building a board myself. If you could post that BOM, that would be greatly appreciated. Also, from experience, you can always fix a board after it’s made. I have cut numerous traces and soldered a lot of jumpers to save a board. It happens.


@imagiro1 Here’s the [v0.20 BOM I’ve marked up][1] [Updated link for the v0.2 BOM.][2] with alternate parts as best I could… trying to find the lowest cost parts as well. Where did you order your boards from? I guess I’m going with the uFL connector, because I just ordered a bunch of stuff from Adafruit and along with it I got a SMA to uFL adapter cable and a 5dB 2.4GHz omni antenna. Trust me I’m not worried about cuts and jumpers… just a little worried about frying the CC3000 with too much heat, or not getting it completely soldered. I even considered buying a reflow oven but couldn’t find the one I was looking for. I have a coffee cup warmer that I measured up to about 250°F that should help preheat the board well enough to help me not fry the CC3000. It’s not like I’m getting a lot of practice though :wink:

edit: updated BOM

Ok based on the layout dimensions 2.8mm x 3.2mm and common anode, I think this is my best choice from Digikey for the RGB LED

Also got the 32.768kHz crystal: NX3225GD-8MHZ-STD-CRA-3 644-1178-1-ND DigiKey

Got the micro B USB connector for the v0.2 as well… pretty sure it should work fine.

:sunglasses: Here’s the updated v0.2 BOM all filled in now.
Updated link for the v0.2 BOM.

Thanks. I haven’t ordered it yet. I also plan on using OSHPark. I’ve had good results with them. I’m just starting to put the board together with some (~256) LEDs. I’m basically making a scrolling marquee. We have a ton of LEDs sitting around at work that I’m hoping to use. I plan on using the chip antenna. Distance isn’t as important on this project.

I’m fortunate enough to have both a reflow oven and hot air station at work. I prefer the oven for bigger footprints. Bigger footprints like the CC3000 are harder to heat evenly. I had to solder a GPS a while back that was about the size of the CC3000. I used the oven, but the chip moved while placing it in the oven. I ended up having to heat it up with the hot air to fix it. The good news was how resilient IC’s are. I heated up a few times even though the datasheet said to only heat it once. Works fine.

I’ve heard of people using toaster ovens to do the reflow. I wouldn’t bother with the stencils. They sell some low temp solder that we squeeze through a needle onto the board. Works great. I’m pretty sure we buy it at digikey.


@BDub and @imagiro1 please be sure to share some photos of the process and of course finished results!

Unfortunately it does look like the chip antennas are out of stock :disappointed: If you can find another chip antenna that’s roughly the same size 8mm x 1mm it should work well enough for prototyping; or you could use the u.FL connector instead

RTC Crystal:
USB Micro B Connector:

I’m not 100% sure about the USB connector there, but it should be close enough.

Thanks for the reply Zach! I already have all my parts on the way though :slight_smile: I did end up finding everything at digikey, minus any kind of chip antenna. I’m just going to go with high gain uFL solution and focus on the application… and worry less about connectivity.

The USB you linked to I think would work for v0.21, but v0.2 is still SMT from what I could tell, at least the one I ordered on July 8th was. Either way it should be good enough to coax it into working.

@Steph roger that!

Yep you’re right, v0.2 was SMT. Good luck with the build!

Thanks @zach I’m going to need it!

Parts are in!!

Ok after much practice (about 6 hours) and trial of different techniques soldering down all kinds of different components with a hot plate and hot air tool, I decided to go for mounting the CC3000 module!

Here’s a nice gallery of mounting the CC3000 Wifi module using hot air and a hot plate.

Not shown is the stage of actual reflow, I had the hot air in my left hand and some tweezers in my right hand and I could tap on the side of the CC3000 and it would move and snap back into place due to the surface tension of the solder. It sits basically a couple mils above the board. After that point I removed it from the hot plate. The piece of aluminum is kind of nice and allows for an easy way to pick up the PCB off the hot plate, as well as letting the PCB cool down quickly, but gradually enough not to shock the part.

SPOILERS!!! Last image in gallery


Very cool @BDub do you have all this equipment at home ?

Thanks @Rockvole :wink: yeah basement lab. I have been acquiring pieces here and there. I can make double sided boards at home as well, albeit not as nice as this 4-layer board from OSH Park. I would love to get a solder paste dispenser (next on the list) and a reflow oven (when I start ramping up some kits). Feels good to be mostly self sufficient.

My first Spark Core is all done!

Some notes about the build:

  1. Ohm out your board power rails FIRST and while your CC3000 is on the hot plate! I had a short from 3.3V to GND under the CC3000 and I didn’t find out until I had the STM32 down as well… doah! Had to desolder the STM32 and reflow the CC3000, wiggle it, squash it and ohm it out on the hot plate until the short went away. Luckily I was able to do all of that in under 30 seconds so I think it will be fine.

  2. Some of the components are tricky to solder by hand, especially the STM32 and USB connector, but as you can see it’s doable. Everything was hand soldered with an iron except for the CC3000.

  3. C3 got put down by mistake, but I don’t think it will hurt.

  4. I haven’t put down C9 and C10 yet because I want to make sure 22pF load caps in place of 12.5pF load caps is good enough.

  5. [Kim Tech Kimwipes][1] would be MUCH nicer to have than paper towels.

  6. The buttons on my BOM are a little wider than they should be, but fit just fine as you can see.

  7. I put down an 0805 blue led, instead of the proper 0603… it’s just what I had on hand.

  8. I really beefed up the solder on the USB connector tabs, and also under the front lip of the connector by the edge of the board. I don’t think it’s going anywhere but I’ll let you know if it does. Might be wise for the beta testers to beef up the solder on those tabs just in case, unless it already is.

  9. I’ll build up my second Spark Core once this one is up and running.

That’s about it, I still have a bunch of steps to get this little guy programmed. With a little help from @zachary I’m sure it will go smoothly :wink:



Doing a little programming… I can program the STM32 ok, but there is an issue with the CC3000 :frowning:

Currently debugging, and thinking I may end up putting the CC3000 up on little 0.050" stilts to be able to solder it by hand.

Here’s a few pics of the programmer interface and first life from the Spark Core:

1 Like

I added two pics of last night’s debugging session… Here I’m tapping onto the WIFI module’s control signals, but in the process of doing that it started working! So I might have just had an open connection on one of those STM32 pins. Soldering those by hand is not super easy… but keep in mind I had to remove it once with hot air, and then put it back down…

So far I’ve patched the CC3000 firmware to the latest using the STM32… and programmed the USB bootloader. Next it’s OTA bootloader and on to blink an LED!!! After that… it’s time to take over the world >:-| … :slight_smile: haha.

Made a breakthrough tonight. Hope you enjoy!

So to recap… I got my very first hand built Spark Core to work and was completely going nuts when I decided to try the web app I put together earlier and it all just worked… like magic.

@ghawkins you’ll be glad to know I used a custom AES key when setting up the wifi credentials with the SmartConfig app :wink:

First time I used the app it made the blinking LED on the Spark Core turn off, but didn’t seem to wanna finish… I stopped the app, started it again and the Spark Core LED stopped blinking, and moments later came back on solid. That’s when I started to get a little emotional… for it was at that moment my Core had sync’d up with the Cloud, specifically Spark’s Server. Yes the little Core that could dialed home and had the parents on the phone… so to speak.

Let me just tell you all, that there were a TON of things I did to turn a bag of parts into a fully working Spark Core… and while I haven’t been getting much sleep, that’s nothing compared to what the Spark Team has created here. The amount of work they have done on this project up to this point to make this all comparatively easy for me to build, program and enjoy is nothing short of Amazing. Great job guys!

Yep, it’s take over the world time!


That’s super awesome.

I got to play with some early versions of Spark stuff, and for anyone who hasn’t tried it out, the amount of joy you can get from toggling a lamp or LED or whatever with your phone or laptop cannot be overestimated. I’m almost surprised you were able to make a video where you only clicked it on/off for a few seconds.

Great job!

Thanks @kudos! Video was shot and edited on my iPhone, so I wanted to keep it short and to the point :wink: But yes, it’s pretty addictive just sitting there toggling the I/O. Although half of me is drooling at the pretty colors, and the other half is trying to see what the round-trip time of the POST requests being made are… and if there are ever missed requests. As you can hear and see it’s pretty fast, and sometimes requests are missed… but I think a callback system with acknowledgement from the Core will fix that. I never did try controlling it from my iPhone, but I’m sure it would work equally as well.

For the Johanson antenna you could always get in touch directly with Johanson Technologies directly!