BMOW title
Floppy Emu banner

Archive for January, 2014

Drag Soldering for Surface Mount Chips

I’ve seen many people look at surface mount chips, with their tiny sub-millimeter pin spacing, and assume it’s impossible to hand solder them without special tools and equipment. I used to believe it myself, but fortunately for us hobbyists, it’s actually quite easy to hand solder most SMT chips with nothing but a standard soldering iron!

The video above shows how I use the drag soldering technique to solder a 44-pin chip in a typical TQFP package. The chip is only about 1 square centimeter, so those pins are tiny. Attempting to solder them one at a time in through-hole style will never work. Instead, the trick is to use the magic of flux and the surface tension of solder to do the hard work for you. Once you get the hang of it, it’s as easy or easier than soldering a through-hole component.

The process begins by applying a liberal amount of flux to the pads, then positioning the chip on top. I use a pencil eraser to hold the chip steady while I tack down a couple of pins with a blob of solder from my iron. If some pins accidentally get bridged together while tacking them down, it’s OK. Next, I apply more flux to the sides of the chip, wetting both the pins and the pads underneath. The final step is to lay a few millimeters of solder onto the pins at the edge of a row, then use the iron to melt it and drag the molten solder blob horizontally across all the pins in the row. It seems as if that should bridge every single pin together into a giant mess, but with enough flux the solder will magically stick only to the pins and pads, without creating any bridges between them. It’s fun to watch!

Most of the time, I’m able to solder all 44 pins with this technique without creating any bridges. If I do create a bridge, I can often fix it by applying more flux and then briefly heating the bridged pins with the iron. The video shows how to recover when that trick doesn’t work: a piece of solder wick (a braid of thin copper wire) can be laid on top of the bridge, with the iron laid on top of the wick, and the excess solder will be sucked up into the wick and leave a clean joint behind.

Read 6 comments and join the conversation 

Board Revision 1.2

Introducing Floppy Emu version 1.2: it’s blue, because blue makes it go faster! Buy yours now from the Floppy Emu product page.

Version 1.2 is a minor update that cleans up a few details. You may have noticed that the silkscreen labels on the version 1.1 boards looked a bit strange, with some overlapping labels and most parts labeled twice. That will teach me to submit my designs to the PCB fab without inspecting the Gerbers first! Version 1.2 corrects this, and makes everything much more readable.

More significantly, the pin assignments on the LCD connector have changed. The leftmost pin was 3.3V in version 1.1, but now it’s RESET, and the other pins have changed as well. This was done to accommodate a change that’s occurred in Asia where these LCD panels are made. About six months ago, I noticed that two versions of this Nokia-clone LCD were available for sale online, seemingly identical except for the order of the pins. Over time, LCD panels with the old pin layout became harder and harder to find, so I’ve switched to the new pin layout beginning with version 1.2. I had to replace my stock of LCDs, and was left with a few old-style LCDs I can’t use, but that’s the price of progress!

Did I mention that it’s blue?

You’ll also notice a through-hole resistor footprint labeled LIGHT, adjacent to the PREV button. This was added to make it easier for people to mod their boards to enable the LCD backlight. I think the backlight looks like poop, so I don’t enable it for the Floppy Emus I build. Some people really, really want the backlight, though, and this was meant to give them a way to do it. Unfortunately, it doesn’t work. The new-style LCD modules surprised me by reversing the polarity of the backlight LEDs, so the circuit I designed doesn’t work. Doh! Eventually there will probably be a version 1.3 to correct it. The vertical spacing between the two LCD headers is also a bit off, so that’s another point to address in a future version. But other than those minor headaches, I’m quite happy with this new version 1.2.

Mounting holes were added to the corners of the board in version 1.1, with the idea of supporting a case for the Floppy Emu. But to my knowledge, no one has made one yet. It should be simple to cut and drill two pieces of acrylic to act as top and bottom plates, and put them together with standoffs like a sandwich. It wouldn’t be a true case due to the open sides, but it would still look pretty spiffy. More advanced makers might use the mounting holes to anchor a custom 3D-printed case. At least one person was working on a custom case that looks like a miniature external Apple drive, but never quite got it to work. If you’ve got a cool case design, post it in the comments!


Be the first to comment! 

International Shipping Meltdown

US Post Office, what are you doing to me? The USPS Click-n-Ship service has always been cumbersome, but it’s the only practical way to mail packages outside the USA via First Class Mail, which is the only way to send packages economically. Over the weekend the post office revamped the site, and now I’m unable to send any packages by First Class Mail. This leaves me with a choice between increasing my international shipping fee by 2x, or withholding all international shipping until some other solution is found. At the same time, the post office changed the method of address entry for most countries, so it’s no longer a free-form text entry, but a series of drop-down menus. If the city or postal code in your package’s address isn’t one of the choices provided, too bad.

In last month’s rant about international shipping headaches, I mentioned some of the problems I’ve encountered. Addresses must be formatted a particular way, regardless of whether that’s how they’re normally formatted in the destination country. Only numbers or the 26 letters from A to Z are permitted in the address. If the address is supposed to contain an accented letter, or any non-Roman letters like something from the Japanese or Korean alphabets, too bad. This is the US Postal Service. We don’t do accents.

The recent move to drop-down menus for composing the address makes matters even worse. Today I tried to send a package to the UK: destination Uxbridge, London, UB11 1BB. Look at the screenshot above, and you’ll see that I’m required to select a province before I can fill in the rest of the address. I wasn’t aware the UK even had the concept of provinces. So what province is London in? Ummm, England? Nope, that’s not a choice. Let’s see, British geography quiz, this should be fun. According to the post office, the city of London is in the province of… London! But then I had to choose a city (which should be obvious), given a list of 10 choices including “London”, “London West Depot Collection”, “Finchley Road”, and “Westminster”. Ugh. And no matter which one I chose, UB11 1BB was never offered as a choice for postal code. Total failure. I simply cannot mail a package to this address, using this service.

Then I discovered that the interface for choosing the shipping method has also changed. It used to be that you’d enter the package address, then on the next page you’d see a list of shipping methods including First Class, Priority Mail, and Priority Express. Now it’s a Javascript-enabled form that dynamically changes to show you the applicable shipping methods for the address as you type it. At least that’s the theory. In practice, it only ever shows Priority and Priority Express as choices. At first I thought this might reflect a change in policy for international shipping, but then I discovered that the same problem occurs when printing postage for domestic packages. RIP, First Class Mail?

I went to the local post office, waited in line, and spoke to an employee who assured me that First Class International was still a valid shipping method, and she was able to send the package to London UB11 1BB without problems. But it required almost an hour of my time, driving to the post office, waiting in line, and filling out custom declaration forms by hand, and it also cost 10% more than purchasing the same postage online by Click-n-Ship used to.

I’m not sure the best way to get this resolved. I tried Click-n-Ship’s live support feature, but got a generic error asking me to try again later. I spent an hour on hold waiting to talk to tech support before hanging up in frustration. Under the theory that maybe it was a browser bug, I tried Internet Explorer instead of my normal Chrome, but that didn’t help. Maybe there’s something about the address and package details I’ve entered that rules out First Class mail as a choice, so it’s never shown as an option? I don’t think so, though.

At this point, I think my only option is to hope that this is a bug and not a policy change, and hope that it magically gets fixed in the next few days. If not, I may have to start shipping international packages by Priority Mail, and charging substantially more for international shipping than I have been thus far. I sure wish the post office weren’t such an inscrutable bureaucracy, or that any of the other carriers like FedEx offered reasonably-priced options.

Edit: It looks like First Class International postage has been fixed! Thank you, USPS web programmers. My apologies to everyone who suffered through my rant. Now if I can only figure out how to ship to London UB11 1BB…

Edit 2: Choose “other” from the Province drop-down menu, then you can type in whatever you want without needing to follow the post office formatting.

Read 20 comments and join the conversation 

Making a Difference

It’s time for a change. I’ve made a lot of interesting software in my life, and built some fun hardware projects, but none of it was especially useful in the big scheme of things. The past year has seen lots of flux in my personal and professional lives, sending my thoughts in new directions, and I’ve been wondering why smart tech-minded people focus so overwhelmingly on building random web sites and gizmos instead of something that might do real good in the world. Check out this list of AngelList startups: I could almost write those business summaries with a buzzword generator script.

I get it: saving the world doesn’t really pay the bills, and people need the lure of a big payout to justify all the time and hard work they put in. Business, communication, and entertainment are all vital and noble pursuits. Isn’t making a difference in someone’s life noble too? When such huge numbers of the world’s best and brightest devote their energies to projects like “a smarter restaurant menu for smartphones”, doesn’t that seem, well, wrong? Like if you were an alien newly arrived on Earth, and observed how humanity’s technology efforts were focused, you’d just scratch your head and say WTF?

So I’ve been thinking about ways I can make a difference, with my brain and my hands. I’m pretty comfortable with writing software, and not too bad at making hardware, so there’s got to be something I can do. I’m casting my net pretty wide, considering everything from the rural poor (as in the video above), to the elderly, the disabled, the sick, and anyone with needs more pressing than “my phone charger won’t reach my bed”. I’m just one guy without a lot of resources, but you’ve got to begin somewhere right?

My biggest challenge is knowing where to start, and what kinds of problems need solving. I have no first-hand experience with the day-to-day trials of people confined to a wheelchair, or people living beyond the reach of electricity and clean water, or any other groups outside my own circle of friends. So I’ve been searching around for ideas and inspiration to help get myself launched. Here are a few projects I found that resonated with me.

Sip and Puff Joystick – I first heard about this a year or two ago. It’s basically a one-man operation, building mechanical interfaces to enable quadriplegics to use game controllers for the Xbox and Playstation. Helping people to play video games may not seem like “making a difference”, but in this case I’ll argue that it is. If you’re a young person who’s left by accident or illness with no good way to interact with your friends, those friendships may wither and die. Being able to compete with others and keep a social life going is HUGE.

Gravity Light – The first time I saw this, I literally slapped my head. Why didn’t I think of this? It’s a super-bright LED light, powered by a falling weight. Hang it from the ceiling, fill the weight bag with a few pounds of dirt, lift the weight, and illuminate the room for 30 minutes. There’s no need for mains electricity, no battery system like you’d need for a solar kit, and no harmful indoor pollution from a kerosene lamp.

Contact Lenses for Diabetics – This was a Google project, not something from a solo inventor, but it hit the news recently and got me thinking. The promise of a “smart” contact lens to monitor blood sugar levels (instead of a finger prick to draw blood) sounds like a real step forward. Though one diabetic scolded Google for a well-intentioned but misplaced effort, since the majority of the world’s diabetics lack the money and access to medical care needed to benefit from this project.

Philips LightAide – My wife brought this home from work yesterday, and to be honest I’m not exactly clear what it does, but it’s an LED light board intended for kids with vision and cognitive difficulties. It’s certainly part of the “tech to make a difference” space, and I’ll try to learn more about it.

Smartphone Interface for the Blind – On several past occasions, I’ve wondered how blind people make use of iPhones and other smartphones. Is it even possible? Is voice recognition and text-to-speech enough? The smartphone has become a nearly indispensable tool for many, so it’s a cruel irony that its featureless glass screen is actually worse than an old phone’s from the blind’s standpoint. What if the screen had a dynamic tactile interface, maybe some kind of Braille peripheral that plugged into the phone?

What similar projects have made you think “aha!”? Got any great ideas of your own for something that would make a difference?


Read 4 comments and join the conversation 

Building the Blinky POV

My oldest daughter Alice has an occasional interest in electronics, and as her dad I try to encourage her without becoming too annoying. We’ve done some past projects like Snap Circuits experiments, building a Drawdio pen, and constructing an animated Halloween LED display. Recently we had a chance to build a Blinky POV from Wayne and Lane. Or more accurately I should say she had a chance to build it, since my role was limited to talking her through the steps and taking photos. It’s impressive what an 11-year-old can do with a soldering iron!

You’ve probably seen these POV blinkers before. It’s like a scrolling message display, but with only a single column of pixels. The eye’s persistence of vision reveals the message when the display is waved back and forth across your field of view. There’s not much to the hardware: just a basic microcontroller, some LEDs, and a few passive components. Wayne and Lane’s instructions are detailed and well-illustrated, and even for this relative beginner it took less than an hour to build. The microcontroller (a PIC 16F1823) comes pre-programmed with some sample messages, so you can start using it as soon as the assembly is complete.

hard at work soldering

the nearly finished board

The main reason I selected Wayne and Lane’s Blinky POV instead of another similar one was the novel method used to program it. Instead of a PIC programmer, a serial connection, or some other conventional interface, it uses a pair of photo sensors to program new messages using flashes of light. Go to the Blinky Programmer web page, design some pixel or text-based messages, and click “go”. A clever bit of javascript flashes two squares on the screen, and when the Blinky POV is held near these flashing squares, it reprograms the stored messages in about 30-60 seconds. In our experience this method was very reliable, and much less hassle than dealing with virtual serial ports or other wired interfaces. And it actually made programming fun – like magic! The web page interface is surprisingly versatile, too. You can design pixel art or text messages, adjust the scrolling speed, switch between multiple stored messages, and define what should happen at the end of each message.

reprogramming using photo sensors

This is starting to sound like a Wayne and Lane commercial, so I should probably add that I have no affiliation with them other than being a satisfied customer. If there’s a young builder in your life who might enjoy a simple but fun-filled electronics project, give Blinky POV a try.


Be the first to comment! 

LCD Contrast Adjustment in Firmware

Floppy Emu uses a generic LCD that’s a clone of the display in the Nokia 5110 phone. It’s a nice little bitmapped display with a good range of configuration options, including the ability to set the display’s contrast level through software instead of with an external resistor. Unfortunately there’s a huge variability in contrast response from one LCD to the next, and even the same LCD can exhibit contrast changes from day to day. I’m not sure if it’s due to temperature, fluctuating voltages, bad solder joints, or something else, but it makes it virtually impossible to choose one contrast level in the Floppy Emu firmware that will work well for all LCDs. Until now, I’ve been making a custom firmware build for each Floppy Emu that I assemble, with a hand-tweaked contrast level, but that’s a huge pain in the butt. No more!

Firmware 1.0L F11 introduces the ability to adjust the contrast level and save it to EEPROM. Now you can tune the contrast exactly how you like it. To adjust the contrast, hold down the SELECT and NEXT buttons while Floppy Emu is initializing (after pressing the reset button, or when first powering it on). After a few seconds, the contrast adjustment screen will appear. Press PREV and NEXT to tune the contrast level, and SELECT to save the contrast setting to EEPROM. Easy peasy lemon squeezy.

To apply this firmware update to your Floppy Emu hardware, download the firmware files, and copy the file femu.bin to your SD card. Then hold down PREV and SELECT while the Floppy Emu is initializing. This update only changes the AVR software (from 1.0K to 1.0L), the CPLD is unchanged (it’s still F11).

Happy contrasting!

Read 2 comments and join the conversation 

Older Posts »