ESP8266 vs Sub 1-Ghz?

WiFi Serial Transceiver Module

I have watched how the internet has gone wild with the introduction of the ESP8266, 2.4ghz wifi modules. They are (dirt chinese) cheap, have lots of output power, were hailed as the new backbone and de-facto standard of the so called “Internet Of Things” with their “long range”, high wifi bitrates, no need for a gateway, simple AT command set, and are promoted as the what-else-could-you-ask-for by the big wigs of the online IoT/hacker community. There has been loads of development pouring into these chips. You can upload to them directly from your beloved Arduino IDE, they have loads of memory compared to an Arduino. You can run a webserver on them and control things with their GPIO, great. Look, if you hack around a little you can even sleep them at 78uA, so low power – amazing. I even bought a few to try out for myself.

Some reality-check and practical use reveals they are ideal in some cases and not so much in others. If you want a quick snap wifi enabled device that blinks a led or whatever at 54mbps (million blinks per second) or pushes temperature directly into the cloud, they will make great projects for a bunch of permanently powered nodes. The biggest problem I see is their not so low power consumption. I don’t care how deep you can put it to sleep, the wifi protocol will never be low power enough, not even close (neither bluetooth or BLE which also won’t have the range). The wakeup and pairing of wifi alone can be several seconds of power hungry consumption. The ESP8266’s current peaks can be in excess of 200mA at max TX power and we know that even short current peaks drain a battery much faster than small longer current peaks. All this matters when you are on a limited power budget or a small battery that won’t take power spikes very well.

If you spend any amount of time reading application notes and technical documentation about wireless RF technologies from companies like TI or others who have excellent knowledge bases, you will immediately get a sense of how imperative the need to reduce transmission and reception current. They invest massive amounts of R&D to decrease any kind of current and the time spent in receiving and transmitting. Spikes are especially regarded as undesirable culprits. When they reach the limits of squeezing that least bit of uptime they invest in creating ways of reducing the duty cycling of reception and transmission by different modulation schemes so that reception can be had at a lower mean consumption rate, and reception rate is overall more successful (selectivity, blocking and immunity means more accurate reception and immunity to the ever increasing RF noise and consequently requires less transmissions which saves more current). In the wifi world we can’t really talk about that because the protocol was not specifically created for low power applications.

Let’s talk range and why you’d ever want to go with sub 1-Ghz radios. We know that the lower the bandwidth and bitrate the higher the sensitivity and consequently longer the range (it’s like a very narrow piece of the spectrum where the radios spell out each word, the slower the spelling the lesser the chance the receiver will miss or missunderstand any part of the message). Also the lower the frequency bands the higher penetration of the medium, it’s just physics. I think the following movie from TI really summarizes it all and why Sub 1-Ghz technology will always be superior in several ways (warning: sound blast intro):

Anyone remember CC3000? What ever happened to the other wifi radios like CC3000 series which were the ex de-facto IoT about 2 years ago? Yup they were expensive and the ESP8266 with it’s ridiculous $2 price tag totally killed it right there. Actually I just did a quick search for ESP8266 and the prices I see are more like $7-15 depending where you shop, add an Arduino and you’re not saving for that lunch burger any more. To get the $2-3 price you have to buy from china direct (ebay, alibaba etc) so if you want to wait about a month and buy a pairing $2 arduino while you’re there, you can still save enough to enjoy a yummy burger.

Anyway, as I always have since their introduction, for some reason I cannot seem to be impressed no matter how many cool ESP powered projects I read about, and I keep wanting to find an application where they would be a better match than sub-ghz, but I have yet to find one. My humble Moteinos (right, which are not made in china and don’t cost $2 and won’t save you a burger so they are more healthy 🙂 ) still work for anything and everything wireless/remote control applications. I don’t need 54mbps for turning on a light, checking my sump pump, opening my garage or reporting motion. Neither do utilities and industrial integrators who always seem to prefer sub ghz technology for their meters and applications.

For those who feel this was unfair or inaccurate and want to start a debate please note I did not meant to compare Moteino to ESP8266, they are completely different in every way.

From china, with love: bad PCBs

Over the time I’ve collected some of the more obvious PCB defects that I could detect and have time to take snapshots of. When you’re in the rush assembly and dealing with solder paste,  managing the pick and place, and keeping track of the reflow oven, stopping the flow for taking photos is the last thing you remember. But I do have a few and I included some here for your delight, a complete set and future photos are posted here.

Now before I scare you into thinking my products are sloppy and based on a poor quality chain, let me say 2 things:

  • I switched PCB suppliers this year, all of these photos are from my old supplier, more about that story below.
  • PCB defects can lead to some very elusive errors. Which is why I do a fair amount of testing on all my products to ensure they work. This has always been and always will be the norm. All electronic boards that have integrated circuits are tested for functionality. For instance all Moteinos get loaded with a sample sketch to ensure they can send/receive (that also ensures uploads work), etc.

The defects I saw vary a lot but the most consistent ones were the following, from most to least prevalent:

  • Bad silkscreen or soldermask: blurry, wiped/smeared, fingerprinted, embossed, thinned out, missing. Especially bad when it’s soldermask since the copper is exposed, it looks like someone just spit all over the silk/mask films. When the films used to produce the silkscreen markings and soldermask overlay are dirty like that the effect is reproduced on all panels in the batch, not a happy day:
  • Individual PCBs (not panelized) almost always had incomplete routing, sometimes erroneous routing. I could give hundreds of examples here but I only took a few photos:
  • Shorts, you hate them most but when you find them it’s like Christmas again because you never knew they were there. I’ll throw in a free FTDIAdapter in a future order from the first person who can spot the short in the 4th photo (and leaves a comment below or contacts me to claim it CLAIMED):
  • Scratched or damaged panels (post-manufature). These photos are from a single order, all panels had edges damaged and I had to throw edge rows away:
  • Inconsistent vscoring. When the vscoring on panels is shallow, it’s hard to snap the panel apart, and it leaves FR4 burrs all around, requiring manual sanding of affected boards, what a pain and time burner. This photo shows the completely missing Vscoring of an order (that I badly needed to fulfill a backlog) lead me to fire my old provider. The panel has to go in the pick and place and having no vscoring after assembly means I can’t snap the tabs away, cutting FR4 is messy and time consuming to fix nicely, doing that for 42 times on a panel gives you a long break from otherwise more useful things to do, to reflect about a lot of time wasters like fixing the mess of your careless provider. Anyway here are the 100% useless panels:

With me using panelized designs for the vast majority of everything I put in the pick and place, when there’s a problem with a panel, all panels in the order usually have the same problem (because the same film exposes all panels). The work around is to make the pick and place skip the bad boards, but it’s not fun to lemon pick and then throw quarter panels away.

Poor quality is part of the reason I switched sourcing PCBs from hackvana PCBs this year. You may notice a significant improvement in silkscreen quality and a nicer darker crispier soldermask on my PCB products since then. Such a provider that keeps you on edge with a consistently inconsistent service, poor quality, personal drama, broken promises, failure to address any issues, insulting or accusatory attitude when confronted with a problem, doesn’t deserve your blood-sweat-and-tears and especially hard earned dollars. Move on to someone else who wants your business and is willing to appreciate it.

From china, with love: bad headers?!

Headers are one of those things that every one of you uses in massive quantities, for everything. And they are made of 2 elements: metal and plastic. What can possibly be or go wrong with a plain simple header? This:

Yeah, a short. What?! Inside the header?! I found this a while ago on a returned Moteino that did not work after the header was soldered. The SPI bus was acting weird, I only discovered that after hooking up the scope. Continuity testing revealed a possible short between D12-13, but where? The traces on the PCB were good, maybe a soldering connection hidden under the header base?

Ok so this only happened to me once, that I could detect and prove. But enough to cause a confusing frustration on the part of the user, time and money spent to return it, and the time spent to guess-debug what could possibly be wrong in an unthinkable place. I still need headers and will continue to carry them. But if something like this happens to you, check the headers!

Good lesson china, we thank you.

From china, with love: bad USB-mini cables

More this time from our love affair with china, the best place we love to hate to have to buy products from. Normally I limit any chinese sourcing unless it’s headers or things that can’t possibly have a problem, or I have a long standing reliable source, I test and really cherry pick suppliers.

This time it’s bad mini USB cables (not micro, I also carry those), and more – see below. I used to source short mini USB cables for my shop from china, as a convenience to the users who want to bundle them for USB products – nice short cables keep clutter to a minimum, these are pretty hard to find in 6″ and thought would be nice to carry them. Usually I don’t test them individually but I always grab a random one from the stock for things around the lab. This week I was doing some testing where I needed a lot of these and found 1, then 2 then a dozen of these were faulty, giving either “USB not recognized” errors, or yielding no power or power but no USB enumeration at all. Turns out about half my supply of these uUSB cables could not properly enumerate MoteinoUSBs/FTDIAdapters etc. So what could it be that such high percentage are fails? Internal shorts? Or poorly soldered wires? Visually they look ok but I did notice some have traces of rust on the end metal connectors. So I opened one up and here’s what I found:

Can you spot the extremely corroded/rusted wires? Where were these kept, in water? Lemon juice? These came from two suppliers and both batches are equally as bad and they are really hard to find in this short length of 6-7″ mini USB cables for some reason, or I’m not good at finding them. Which leads me to speculate they might be made by the same factory, or goes through a single distribution point somewhere, where they get exposed to water or something. Needless to say, I’ve thrown away all the bad ones. The good ones may also have some rust in them, but … at the price offering I think they’re still a bargan and once I run out I may discontinue them.

Thanks china, your quality sucks, as usual. Everybody knows that, but we keep going back because of the price and we deal with chinglish and weeks and weeks of delivery delays. When will this end?

PS: If I sold you a bad USB-mini cable – please let me know and I will make it up to you in a future order via credit or something else. It’s just $2.5 a piece but I care more than that about my customers.

From china, with love: bad solder paste

Recently I was running out of solder paste and I’ve bought some chinese paste to try out from a (very) popular online electronics outlet. I think somewhere in the reviews or in one of the tutorials they say they actually use that paste internally so I got confident and the price was right (I guess… even though I later found the same paste on dx.com for under $5), about $14 for a jar of 50g which would last a long time. Great I thought, I’d get it in time to assemble more boards, without the insane shipping delays from china, so I ordered and got peace of mind.

A few days later I got it and I assembled a batch of boards with it and peeked through the microscope to inspect how it reflowed. Here’s what I saw:

bad_solder_paste

Holy cow! What happened? Tons of tiny balls of solder stuck in tons of solder paste residue. Not one of my best days, but certainly memorable. Continue reading