Arduino Nano

June 24th, 2008

I just got back from a trip to the east coast to find my new Arduino Nano waiting for me. So far I haven’t done much with it besides a simple LED flashing sketch just to check that the board wasn’t DOA and interfaces with the Arduino software properly. This board is super cool. It’s so small and yet packs a very complete feature set. My only problem with it so far is the solder joints. On my board at least (Nano v2.3) most of the joints look cold/rough. And a bunch on the backside look like they still have flux residue on them. It looks like a whitish crud (could also be oxidation caused by acidic flux) that is found around edges, and underneath some of the SMD components (capacitors and resistors). I wonder if anyone else has seen this on their board?

I may try and clean it up with some isopropyl alcohol later. Included here are a few photos, but they don’t really show the crud or the cold joints very well. Anyways, the board works fine, but I think Gravitech (or whoever they use to fab the boards) should do a better job getting the board clean for the next batch.

 

On a side note, I recently made a true random number generator, and just finished characterizing its output (its nice and random, if a bit slow). I’ll post the details when I can.

Quick Bling

June 12th, 2008

So two Saturdays ago I tried to make a some simple LED “bling” as fast as I could (from scratch). All told it took about 4hrs from start to finish (including firmware and soldering). The result is 3 LEDs (red, green and yellow) controlled by a PIC12F675 and running from a 3V lithium coin cell (CR1620). The LEDs brightness follows a sine wave with a period of ~ 1 second, and with each LED offset from the other by 1/3 of a period. As a result the LEDs seem to chase each other, only with a much nicer effect then your normal on/off chase. Here as one fades out, another is fading in, and the third is at nearly full brightness.

The whole board runs for about 24hrs w/o issue. If I disabled the brown-out detector, I think it would run for more like 48hrs, though the last 12 might not be that great. With the brown-out detector enabled, the LEDs start to flicker. This is because the voltage drops under load, so the detector trips, reseting the PIC. This causes the load to become less, so the voltage rises, the brown-out detector release the PIC from reset and then the whole processes repeats.

The back of the board is covered in static-free bubble wrap. I have been starting to cover my boards in the bubble wrap every since I put a board down on a pair of metal pliers and shorted a bunch of traces, frying the board. I just use the static-free bubble wrap that parts I order come with. Its also a nice way to reuse the material (instead of recycling it).

 

You can download the source code for the firmware (also contains a compiled binary). It’s written for HI-TIDE and PICC-lite, both by HI-TECH.

 

Front of Bling Board

Back of Bling Board

Light and Temperature Logger

June 12th, 2008

I made a simple light and temperature logger a few weekends ago. It’s simple (I have built em lots of times) but this is the first one I actually soldered up. It uses a PIC24FJ64GA002 (Microchip) as its controller, a TSL-14S (TAOS) for the light sensor, and a MCP9701A (Microchip) as the temperature sensor. The data is stored in a 24AA1025 (Microchip) 1024Mbit I2C EEPROM. The firmware supports up to 3 more (4 total) 24AA1025s for expanded capacity. Just connect the EEPROMs to the I2C bus and tell the firmware about the expanded capacity and away you go.

All communications with the Logger are done using UART at 38400bps. The firmware provides a VT100-compatible terminal for easy data download and reconfiguration. There is an LED on the board that shows the current ambient light level (the brighter the room, the dimmer the LED), and another to show the memory status. The board will run for about 48hrs on 4 AAA, and records data once every 30 seconds (though that is easily changed in the code). The board also keeps track of up to 16 runs of data. Each time the board is reset, it starts a new run.

You can find a few photos below. And you can download the code (for Microchip C30 compiler), MPLAB project files and a complied binary.

Paper and Glue Microcontrollers

April 6th, 2008

Last night I made a simple LED PWM circuit using the conductive glue from the other day. It uses the super cheap and robust PIC12F675 to do two channels of software pulse width modulation (PWM). The PIC runs at 4MHz and uses Timer0 for the PWM and Timer1 to move in new “frames”. The “video” is stored in EEPROM. You can download the source code as well as HI-TIDE PICC project files and compiled binaries: Paper Circuit 2 Source (849). Below you will find some pictures of the circuit through out the construction process, as well as some video of its final operation at 3.0V with no wires and at 4.5V with wires added.

Paper and Glue

April 4th, 2008

Conductive GlueSo I got some conductive glue a while back, and I have been meaning to see if you can create circuits out of paper and glue instead of PCB and copper. They would be much easier to prototype, though not as durable. The paper and glue circuits might be flexible though, which is a neat think to dream about.

The other day I finally got around to actually trying paper and glue circuits out. I used a discarded envelope and spread the glue with a paperclip. My first circuit (two LEDs, 180 ohms in series on each, at 3.3V) worked pretty well. The LEDs weren’t as bright as I hoped, and there was a considerable difference in brightness between the two, meaning the glue has a pretty high resistance. It was so high that it was making a voltage divider and driving the LEDs unequally. I made a test swatch and measured 460 ohm per inch for the a single layer of the glue. That means that you can’t make traces much longer than 2 or 3 inches before the resistance starts to become a problem for many applications.

My first paper and glue circuit.Other than the high resistance, the glue performed excellently. It dries fast (package says 24hrs, but its more like 30 – 45 min), and is pretty strong and flexible. Also its not tacky when its dried. Or rubbery. And the ease of using SMD parts with the glue can’t be beat. Though I have yet to try anything with a fine pitch. But the resistance makes a large scale circuit out of the question. So to try and cut the resistance, I embedded thin uncoated wire in the glue. The wire was just a single strand from some stranded 20AWG 300V insulated wire that I stripped. With the addition of the wire, the resistance dropped to between 20 and 50 ohm per inch. Which is pretty workable for a large scale circuit. I’m thinkin and 8.5×11 sheet of paper. You could even use carefully measured distances as your resistors, though I am not sure how much power this stuff can handle.

Included are some photos of the circuit, both on and off. Also the test swatch for the trace resistances and a switch I made but have yet to hook up. Though I have verified it is conductive. Things I want to investigate more are how well the glue handles voltage (the package says “low voltage”… is that 30V or 300V?), power dissipation (can we dump a watt or two into it? seems possible for a long trace), and data communication (what is its bandwidth?)

Hello World!

April 4th, 2008

Hello! This blog is new. Its about electronics. Specifically embedded electronics. Its meant to be very rough, like a journal. My hope is that people will see what I am up to and give me feedback. I have been working in a vacuum for too long. So, please, leave your thoughts and feedback.