Thursday, December 20, 2012

2-Layered PCB with a Laser? Nah, Toner Transfer

I tried using the laser to remove some spray paint, and... I declare it a dud. Two major factors stymied this process for me for the moment:
  1. I didn't have the right spray paint (matte black) nor the right environment (dry and warm) for the paint I did have. What I did get to stick to the copper had a very uneven surface.
  2. The laser is... finicky. I can't tell if the layers were wildly inconsistent, if the paint behaved differently as it dried, or if maybe the laser had trouble, not liking the cold temperature or moist environment. I never can tell if it's about to give up.
Impatient as usual, I used my regular method: laser printer toner transfer. Determined to make a 2-sided board work, I spent a while aligning corner crop marks and pre-taping the paper with the toner before laminating it to the copper. The toner transfer worked beautifully-- perfect result laminating it ten times (5 up, 5 down), but the top-bottom alignment, while close, may not be close enough. At this point it's etched (see photo) and drilled, but there are still bridges and the misalignment will make assembly an adventure.

Looking at guides online, (especially the tutorial at An Engineer's Life which so many people are linking to today,) it does seem like most people use a photographic process and abandon toner transfer when they go for double-sided and SMD. Before going that route, I want to take toner transfer further though-- I've had such good results so far, the only issue is top-bottom alignment. The biggest sources of alignment error:
  1. Top-bottom alignment of printed out patterns. A light box, some magnets, and tape should do the trick-- I need to see the registration targets better. Update: lightbox on the way from B&H.
  2. The laminator binds and jerks sometimes, which could distort the pattern slightly. It's hard to tell without sending through a test image, but it seems like time to take apart the laminator and see about modding it to separate the rollers a hair.
I'm happy with a slightly lower level of quality with toner transfer because it's a simpler process with fewer (and cheaper) expendables that can also transfer labeling to the top and bottom after etching.

Monday, December 17, 2012

Laser for PCB Prototyping?

I've had a great time working on circuit designs in Eagle the last week or so-- after my surgery, my sciatic pain is mostly gone and I'm able to concentrate again! Still, I'm mostly confined to the neighborhood and can't lift or bend or exert myself for another few weeks, so I'm happily plugging away at a few projects, the main one of which is my latest coffee grinder timer.

The timer PCB's odd shape was dictated by the enclosure's design, resulting in a 100mm x 74mm board. It needed to be double-sided, but traces were made wide and vias were kept to a minimum in the interest of home prototyping. I've had great success with toner transfer in the past, but not for 2-sided boards, and not for anything large.

A PCB-production process I've wondered about is using a laser engraver to remove an etch-resistant layer on copper before normal etching. The best and most successful example I've found is on Instructables: "Custom PCB Prototyping using a Laser Cutter," where the author uses flat black Krylon indoor/outdoor paint as the resist.

The example (at right) shows a single-sided board, but I'm primarily interested in using the process for excellent top-bottom registration. Before attempting the large board, I will first try some small pieces with test shapes, then I'll try a double-sided ATmega32u4 breakout board (my own design), then Grinder Timer 5. Stay tuned...

Sunday, December 16, 2012

74 Pink LED's: What To Do?

Dear reader, I need a spark of an idea!

Years ago, deep in the throes of a solder fume jag, I bought TWO "1-31-07 Memorial" kits from Evil Mad Scientist Laboratories: one Ignignokt, one Err (seen below, on the moon). Wikipedia: "2007 Boston bomb scare" article linked here for posterity.

The Mooninite kits are the same except for the different bags of LED's, and while I soldered up Ingingot in no time (at right), Err's kit became a parts donor. In shuffling through some old parts, I just found its big bag of BIG 10mm pink LED's-- says 68 but I counted 74. So big! So PINK!!! They scream for a project of their own.  Free association... LED's make flashy things... flashy things for Burning Man... boogie at Pink Mammoth.... er, do they need a sign?

What would you do with 74 BIG PINK LED's?!

Tuesday, November 13, 2012

Handmade/Homemade Board: "My Arduino III"

My Arduino III by Carlos RodriguesI love homemade boards, and this layout is by Carlos Rodrigues is lovely!  From Flickr:
Construir o meu próprio Arduino, fase 3: alguns upgrades.

Tem agora melhor protecção contra ruídos na alimentação, reset automático ao iniciar um upload, protecção contra excesso de corrente no USB, e o bootloader do Arduino Uno.
Translated by Google:
Build my own Arduino, phase 3: a few upgrades.

You now have better protection against noise on power, automatic reset to start an upload, protection against excess current in USB bootloader and Arduino Uno.


Friday, November 9, 2012

New Arduino Micro

Adafruit did a lovely job with the Arduino team on the new official Arduino Micro. Everything is tiny, with a smaller ATmega32u4 and parts on the top and bottom, some the smallest components available-- seriously micro! It's available now for $25.

Tuesday, November 6, 2012

Pantry Light Demo

The pantry light is installed and working perfectly: I'll post code and circuit details eventually, not much to it though.

Thursday, November 1, 2012

555-Based Dimmer 3D Circuit

I built this 3D, freeform circuit as a test project. I've seen a few lately and love the way they look, and after making this circuit, I'm excited about this method as an alternative to point-to-point soldering or etching for small, one-off boards.

It's a dimmer circuit: a 555-timer-based PWM generator driving a high power MOSFET.  I kept it simple and focused on a method, not on making anything particularly fancy.

Here's a video walk-through of the circuit:

I edited a schematic for a board I'd built earlier, adding a scrounged 10k audio potentiometer with switch.  The parts list was short:
  • 10k potentiometer with switch,
  • 2 2-pin screw terminals (input and output),
  • NE555 8-pin chip,
  • fat npn MOSFET,
  • 2 1N4148 diodes,
  • 2 capacitors: .1uF and 1uF,
  • 330 ohm resistor
The first step was the Eagle board layout.  With air-wires I moved things around for a while to get things close, and routed and rerouted a few times before setting some guidelines:
  • Put the major components where you want them first.
  • Pack the rest of the components in paying attention to keeping traces short.
  • Small 2-lead components can fit later, with one lead overlapping its signal, the other reached by a branch made from its lead.
  • Lay out a few long traces that hit the most pins and cover the most ground first.  Try to get those traces in a straight line or aligned in an L- or S- or U- arrangement, more or less.
  • Avoid branching, unless the branch can be a component's lead.
  • Small kinks and zig-zags are OK and may be built with straighter wire segments later, with pins bent to get where they need to be. 
  • Don't think much about top/bottom layering and about crossing lines.  There will be room to cross a wire here or there.  Try not to cross, but you can worry about top and bottom later.
Then on to building, which breezed by.  Pre-bent wires made it a straightforward, by-numbers sort of thing, and I used the components' leads instead where I could,  reducing the number of parts.  Building notes:
  • Print out a sheet to see the circuit different ways, to use as a pattern.  Run the same sheet through the printer, taking advantage of the print options:
    • Aligned top center, scale 2 or 3 (what will fit), with all layers drawn.
    • Aligned lower left, scale 1, with all layers,
    • Aligned lower right, scale 1, just the traces.
    • Note: also print scale 1 mirrored versions too, of all layers and traces only, to see things from the bottom, which is how things are soldered.
  • In the trace-only print-out, number the longest traces to make wires for them.
  • Strip a length of stripped solid-core wire for each long trace.  Bend them to shape with pliers, clipping to length, using the trace-only print as the pattern.
    • Small kinks in the pattern don't generally need to be bent-- wires and pins will bend during soldering.
  • Clip leads after soldering, unless it has to butt up as a T.  It's easy to clip after soldering, and wires can shift during soldering.
I kept it simple and methodical so I could scale it up to bigger circuits.  I have to say that the result surprised me in how quickly and easily the board came together.

I'm looking forward to using this on a few other cicruits, maybe a PIC-based USB-serial converter, or a multichannel MOSFET-based switcher or SSR or... good stuff from this :) Then there's the question of how to mount this, or cast it in some material.

3D Circuit Construction

Rupert Hirst's amazing resin-encased headphone amplifier is a work of art and shows a novel (to me) way of building a circuit without any mounting board. His buildlog shares many great details, especially about the casting process.

Mats Engstrom has shown a few 3D circuits lately too: a Little Wire programmer circuit built boardless with SMD components (at left) and encased in resin, and a Freeformed Nixie Tube clock with a beautiful radial design inside a box-like frame.

Kimio Kosaka files his incredible "Arduino Skeleton" board under "O'baka Project" which he says: "means a stupid project. This project is to make things which is not art and which is not usable. Now, I am making Arduino skeleton by using steel wires." Hmm, they look like usable art to me! Maybe a mis-translation. He lists instructions:
    How to make.
  1. Design single side PCB by EAGLE-CAD. (Base circuit is Metaboard)
  2. Print out this PCB pattern.
  3. Trace this PCB pattern by steel wire. (0.46mm in diameter)
  4. Soldering

    I used a flux of the strong acidity for the steel wire soldering.

His "One Chip Arduino" has no board either, stressing economy.

I find more examples the more I look, like this 3D alarm clock, video about using a CD as a circuit board, and Make: uses the tag "freeform" for freeform circuit layouts on its blog.

These inspired me to make one of my own, which turned out to be a faster, easier, cleaner way to make a simple 1-off circuit than home etching or point-to-point soldering, if the process is refined.

Thursday, October 25, 2012

Next Projects: More and Less Power

Arduino is part of my life and has been for years now: I constantly use the homemade, Arduino-based appliances in my home the same way I use appliances other people made. But while I'm hooked on building out my world the way I like it, sometimes a project only needs a handful of pins, so I just ordered a few ATtiny85 and 2313's to try my hand at [gulp] proper AVR programming. It's too bad that Arduino is going toward the high end with the Due instead of toward the low end with smaller, simpler circuits and chips, but I'm happy to go elsewhere to learn. I could hot-wire the Arduino environment to program an ATtiny, but I'd like to try transitioning to a more fully-featured IDE for future development anyway, so programming an ATtiny will be a good sub-project.

Speaking of "the high end," the $25?! (OK really $50 but still!) Raspberry Pi has been on my radar, maybe for something using some cameras and image analysis-- things an Arduino would struggle with. I'm especially excited lately after hacking around with a $25 WiFi access point and OpenWrt... wow! Amazing how much power can be had for so cheap, and how many how-to's can help you along.

What do you think? Have you left the "safe" space that Arduino provides, and moved to different processors and IDE's? please leave a comment.

Wednesday, October 24, 2012

MaKey MaKey: I Want One!

Jay Silver's "MaKey MaKey: An Invention Kit for Everyone" raised over a half million Kickstarter dollars (above a $25K goal) and he deserve the crazy success-- the video is a brilliant demo/sales piece that on its own inspires you to make things... and of course buy a Makey Makey. Just awesome stuff, and at its core: an Arduino! I'm adding it to the spreadsheet... after ordering one or two...:)

Tuesday, October 9, 2012

New Fritzing Parts Editor

Fritzing just announced version 0.7.9 of the new parts editor: "Blog: new parts editor released".

I've tried Fritzing a few times and get pretty far along quickly, only to get my nets tangled up-- not connected where I thought they were. Then I manage to crash it while I try to figure it out. This time, I'm going to try a tutorial and actually stick to it, and see how far I get!

Thursday, September 27, 2012

1-Day Project: Pantry Light

We have two pantries in our flat, one of which could use some light.

There's an outlet in there, but a simple solution won't do: I have more circuitry and time on my hands than I can handle, and the least I can do is make an over-complicated pantry light.

Parts lying around to use:

  • AC-DC converter blocks with screw-terminals outputting 12V at 2A. I have a bunch of these-- came with the LED strips.
  • A length of white LED strip.
  • Lots of TIP-120-style MOSFETs, intended for a second light suit. It's fun to have a lot of high power switches around.
  • Spare Arduino-compatible board "StripDuino" by "," now defunct it seems. Thanks for sending the free board!
The idea is simple-- rest your hand on the large strip on the door sill as you scan the pantry contents. The light will turn on if you tap the strip, or it will fade if you leave your hand on it.

This design solves the problem uniquely with:

  1. Very large switch surface,
  2. Variable brightness by holding the switch,
  3. Indirect lighting from compact, dense LED strip tucked out of view.
I have a hardware sketch working in terms of the key elements of the controlling Arduino system:
  • Capacitive touch sensing works between pins D5 and D6 with a 1M resistor
  • Touch surface works: aluminum foil with soldered wire plus a layer of hot glue and tape.
  • PWM works with the MOSFET to control the LED strip nicely, with the board's 3.3V logic.
For the light strip at full power, I measure 240.8 mA at 11.85 V, so 2.85 W of power. This is not much but it scales proportionally to the length of the strip.

To do:

  1. Capture the working circuit in an Eagle schematic.
  2. Build a looping sketch with the tap/hold fading behavior.
More to come...

Saturday, July 28, 2012

More Boards

Arduino-compatible boards I've noticed lately, to be added to the spreadsheet: What else is out there?

Friday, May 25, 2012

Arduino Leonardo Available!

It has been a while since the design was announced, but Arduino Leonardo boards are actually making their way to vendors-- you can get one now! (Er, if you can find one, they seem to have sold out of Adafruit and SparkFun...)

The big change with this board is the switch from the ATmega328 to the ATmega32u4, which includes built-in USB, so no more FTDI chip or secondary ATmega to handle USB. Other substantial changes that will affect compatibility:
  • SPI not connected to digital pins
  • I2C pins now D2 and D3
  • more analog inputs
  • separate USB serial
I feel bad for shield-makers needing to rework things for this layout, but such is progress I suppose.

With 32U4-based boards being available and officially supported in the new IDE, I'll [sigh] add just added them and a few clones to the spreadsheet over the next few days:

Tuesday, May 1, 2012

Flight Suit Project Review

Since building my Flight Suit last year, I haven't posted many photos or videos of the finished suit or of its inner workings, so I will make a series of posts about it over the next few weeks. I would not have been able to complete the project without the generous sharing of the OSHW community, and I hope some bit of my project's details will be of some use to somebody.

All work on the suit revolved around a composite image I put together early to lay out the LED light strips, with each level numbered (0-11) and each segment getting a unique letter designation (A-X). Arms are shown up and down since the suit adapts to the arms' positions, lighting up each segment according to its current level.

From that composite image, I built a segment spreadsheet to keep track of the 22 LED strips through construction and programming. It includes all of the segments' lengths and progress steps, plus designations of levels, segment letters, and channels.

The system's electronic components are distributed throughout the suit (image at right; click to go to Flickr for more notes) using existing fittings on the suit when possible:
  • The 12V Li-ion battery pack which powers the suit fits nicely in the right thigh pocket.  Its switch acts as the main system on/off switch.  Spare battery packs fit in zippered ankle pockets.
  • The main system board sits in the upper left arm pocket: an Arduino-compatible board with a shield containing the left arm accelerometer board and jacks for the right arm accelerometer, MOSFET boards, ZX-Sound, and remote control.
  • The right arm accelerometer sits in a small pocket sewed onto the right upper arm.
  • MOSFET boards hang in the chest pockets, attached to the leads routed through the suit to the LED strips.
  • The ZX-Sound audio board is mounted with Velcro to the included patch on the left chest.
  • The remote control dangles from its cat 5 cable or attaches to an existing Velcro strip at the waist.
I plan to post at least once on each of these topics:
  • System layout, schematics and final firmware
  • LED strips: planning, splitting/making, mounting
  • MOSFET boards: driving the LED strips
  • ZX-Sound: incorporating audio response into the system
  • Arm accelerometers: reading and filtering and controlling segment/level mapping
  • Remote control
  • Main program design: fast looping, modes, ShiftPWM
  • Wearability: marrying the system and the suit, sewing, gluing, maintenance
If there's something else you're curious about, please email me or post a comment. As I post more, I will continue to upload photos to my Flickr set.

Wednesday, April 25, 2012

Arduino-Compatibles on Make:

Phillip Torrone posted in his Soapbox column on Make: yesterday: 'My Top 10 Favorite Arduino-Compatible “Clones” and Derivatives' with examples showing the broad spectrum of board variants. All of them (except the Menta) were already on my Arduino-compatible boards spreadsheet, and after commenting with a link, I've been inundated with emails suggesting other boards to add-- wonderful!!

Yesterday I added: Suggested boards I'll look into: AllgaierShops Breadboard Adapter (BYO ATmega), SMDuino (design only), MHVBoard (also design only), two boards from Ro-Bot-X Designs, JeeNode Micro, and maybe Akafuino X and a few other xmega boards which are not strictly Arduino-compatible (yet?).

Wednesday, April 11, 2012

New Workshop!

We moved recently, and one of the features that drew us to our new home was a sun room in the back, about 9'x15', full of light and perfect for a workshop!

One corner is ideal for the laser, with a dryer vent for routing its (filtered) fumes outside. With two rolling racks for storage and two desks, I hope we'll have room for a small heavy bench and drill press stand. Good thing the Printrbot is (er, will be) small, we have big plans for this (not so) little room.

Funny to look at my "Workshop!" post from two years ago, most of those projects haven't advanced much, but the grinder timer has gone through a few versions and the flight suit ended up being by far my most complicated project so far.

Tuesday, February 28, 2012

Projects Lately: Helmet, Printrbot, ...

I've been busy lately tinkering on and off and thought readers might be interested in what I've been working on.

I spent a few nights of spare time last week rebuilding my bluetooth ski helmet, which is now working perfectly with a new main board. It's a glove- and snow-friendly conversion of a Motorola S305, retaining nothing but the main PCB, with the earphones and mic broken out to 3.5mm jacks, all buttons broken out to .1" pin headers, a much bigger battery, and an Adafruit USB LiIon/LiPoly charger. I'll post a few pictures soon, and it will get a full shakedown this weekend at Alpine and/or Squaw.

I backed the Printrbot project on Kickstarter a few months ago and received the printed parts in the mail recently, so I've got the 3D printing bug. After raising over 33x of the target funding, its creator Brook Drumm is understandably busy getting promised kits out to other backers. That leaves a lot for me to get together, mainly the hardware, electronics, and hot end, but without an official BOM I'm picking through lots of incomplete lists and RepRap parts wikis. The mechanical design being so much simpler than a Prusa Mendel is what got me interested, and I'm happy working on it when time allows over the next few months. It could be Arduino-driven but that's still up in the air; Sanguinololu electronics are included in the complete kit, so I have a few Pololu A4988 stepper driver boards on the way to play around with.

I did use an Arduino (actually a Boarduino) a few weeks ago to build something for work, but as cool as it is, I can't discuss it here except to say that it's camera-related... of course :)

Tuesday, January 31, 2012

MRF24WB0MA Not Working... Yet

I tried the test sketch from the i/o Blog, and... nothing! The Script got stuck in the initializing() function, and kept resetting every few seconds. I added a little debugging to narrow it down, looks like it just won't connect. To do:
  1. The wiring: I need to check everything, I really thought it was wired up right. Also I wonder about grounding more of the module's pins, to be closer to the WiShield schematic (right).
  2. The module might be having a hard time talking to my AirPort, so I'll try turning off security for testing. If that doesn't work, I'll try setting up a second network with one of the misc. wireless routers I've got in the digital dustbin.
  3. Look around for other simple example sketches, there might be more info on this module and Arduino in the links I scraped together for the first post on the module.

Wednesday, January 4, 2012

MRF24WB0MA Breakout

I soldered this up last night, using an EAGLE CAD board layout to guide me. The headers are set up and labeled and I'm ready to use the example from i/o blog-- more tonight!

Tuesday, January 3, 2012

WiFi Module for Arduino Projects

Microchip offers a small (21 mm x 31 mm) WiFi module-- the MRF24WB0MA (rolls off the tongue, eh?), datasheet here (pdf)-- for under $24. Talking to it looks straightforward, and a few people have folded it into their projects with great results.

THANKS to the fine folks at Farnell (Newark if you're in the US, like me), I find myself with one of these amazing little modules, and I'm starting to explore using it in a project or two.

The module is wired up for easy use in the products listed below (and probably more), but the prices all seem high to me given that you're paying more for the supporting circuitry than for the WiFi module itself:
  • AsyncLabs used to sell a few products based on the MRF24WB0MA: the BlackWidow Arduino-compatible board ($75), compact YellowJacket ($55) Arduino-compatible, and the WiShield Arduino shield ($55). AsyncLabs stopped sales last March, but fortunately EAGLE-format schematics and board files are still online (eg. WiShield V1 and V2) and the library for Arduino too.
  • Diligent sells a PmodWiFi ($60) module with a 12-pin (2x6, .1" pitch) header.
  • Microchip sells a Wi-Fi PICtail/PICtail Plus breakout module ($60) with a 28-pin (2x14, .1" pitch) header,
  • MikroElektronika has two options using MRF24WB0MA's: WiFi PROTO ($54) and EasyWiFi ($59).
  • OpenPICUS sells the Flyport module (€49, ~$64) which includes a Microchip PIC 24F and has an IDE for programming as a standalone module.
  • Seeed Studio sells the WiFi Bee ($70) with 2.0mm XBee header breakouts and an ATmega328 on board.
I first saw details on using the module on its own on i/o Blog, where Manis chronicled his success using the module with minimal components, building a stripped down version of the AsyncLabs WiShield and building a sketch with the library. More on that in the next post...