Building Two Spark Cores by Hand

Thanks @zach I’m going to need it!

Parts are in!! http://imgur.com/a/Y4sr5

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

3 Likes

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! http://imgur.com/a/GWMIA

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:


[1]: http://www.amazon.com/Kimtech-Science-KimWipes-Delicate-Wipers/dp/B0013HT2QW/

7 Likes

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: http://imgur.com/a/zEcPk

1 Like

I added two pics of last night’s debugging session… http://imgur.com/a/zEcPk 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!

10 Likes

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!

True, they may have some samples… however samples usually come with reps calling you constantly about your project and your EAU. When I build up #2, I’ll check digikey and then think about calling Johanson. Thanks :wink:

Quick question: where did you manage to find the Haoyu buttons from? not the simplest part to get your hand on :slight_smile:

@chibuk there were quite a few substitutions that I had to make to get the parts, or to get cheap parts in low quantities. For the Buttons I used this part which is a little wider, but fit just fine:
http://www.digikey.com/product-detail/en/KMR231NG%20LFS/CKN10246CT-ND/2176497

Check my BOM in the first post (and scroll to the right inside of it) to see all the parts I used, with links to Digikey for pretty much everything.

If you are building one, good luck! :smile:

Somehow I missed that note! Most appreciated, and for the super fast response.

I can’t stress enough how awesome I think it is you were able to assemble this yourself, practically all at home. Congrats and keep up the good work.

2 Likes

Thanks @henriquepss :smile: I love being able to do it as well. I really love making things, especially electronic ones. If the PCB wasn’t double sided and fine pitch with so many thin tracks, I could have made it down in the basement lab as well. I have a special lamination machine and use the toner transfer method on tracks down to 6 mils, but it’s much easier to stay in the 8 mil and above range. I even silver plate the tracks and add black silk screen using the toner transfer method again. You really can make PCBs at home in little to no time at all for about 25 cents per square inch, but OSHPark.com is super convenient if you don’t want to invest in the materials and equipment for making your own PCBs. Etching a small PCB like the spark core would literally take about 1 minute per side using the sponge-wipe technique. When you design it to be surface mount and one sided, it gets really fun because there’s no drilling, jumpers, and it’s super fast. If you need something start to finish on the weekend, being able to make it at home is worth every penny.

2 Likes

Hey @BDub , Great work , the web app that u created is amazing. Thankss alot . I have a question, am trying to follow your steps to build my spark core. I’m using stm32 and the cc3000, where did you get the stm32 port for the cc3000 host driver ? I can’t find it anywhere , could you please give me a link or something where I can get that host driver? or some guidlines on how you went about the software part of the project ? the firmware and that kind of stuff
Thanks

@m2theTaz thanks! If you are ready for software, you’ll need some help from the Spark Team. I was sent some files and instructions. I had to load several binary files via the ST-LinkV2 JTAG programmer. When you get a chance post some pictures of your board, I’m sure everyone would love to see more hardcore dedication displayed.

@BDub You decided to made, just for fun? because the price is almost the same, mounted and ready to run…