Saturday, October 30, 2010

A scary LED project for MSP430 Launchpad

I read the Evil Mad Scientist Labs project "A pumpkin that sleeps like a Mac".  This inspired me to build up an LED project to light my jack-o-lantern. Their project uses an ATtiny2313 and I didn't have time to order parts.  But I did have some TI MSP430 LaunchPad boards that I hadn't even opened yet. 

So I installed an IDE and ported the code from AVR to MSP430.

Friday, July 09, 2010

Actel Smartfusion

Yesterday, I went to Seattle for a presentation (they call it a "design workshop") on Atmel's Smartfusion devices.  They have combined their Flash-based FPGA with an ARM Cortex-M3, the usual micro-controller peripherals, and some configurable analog blocks to make a very flexible, mixed-signal, embedded device.  I brought home an eval board and some thoughts on their technology.

Saturday, July 03, 2010

Your utility thinks you are lazy and stupid

Someone was wrong on the internet.  That’s certainly not news nor something I want to try to battle every day. But in this case, the problem I discovered appears to be spreading and it is affecting important decisions in the real world.

The energy industry is selecting which technologies to implement based on the belief that consumers are “stupid and lazy”.  I’ve tracked down the source of this problem.

Monday, June 14, 2010

Eagle Cad autorouter on fine pitch SMT

That first design may be an anomaly, so I tried a couple more designs.

Saturday, June 12, 2010

Eagle Cad autorouter

In EEVblog #93, Dave Jones rant's that "PCB Autorouters Suck". Especially for beginners, and most definitely in cheap tools.  

I happen to agree.  So I tried a little experiment.  My results surprised me.

Sunday, May 23, 2010

What I learned at Code Camp

I  attended Portland Code Camp with about 1400 other geeks yesterday at the University of Portland.

Because paper notes get lost and don't hyperlink so well, I'm going to post them here. 

Eventually, the slides will be online and I will link them.

Monday, May 03, 2010

AVR Dragon vs slow clock rates

I am using the Atmel AVR Dragon board for debugging. For $50, its a great tool. The AVR Dragon supports virtually all AVR devices, and works with AVR Studio to support Atmel assembler and GCC C code and in-circuit debugging.  It also works with other tools, such as the command line AVRDUDE utility. 

Tuesday, April 06, 2010

Eagle CAD versions

CadSoft recently released version 5.8 of their EagleCAD schematic and layout software.  They have a free version that is limited, but popular with hardware hobbiests.  Now they also have a "Freemium" version that is less limited, yet, too limited.

Wednesday, March 24, 2010

Throwing in the towel

Tonight, I had to admit that it is impossible to complete my design by the deadline this Friday.

Saturday, March 13, 2010

Hand soldering QFN

I tried last night to hand solder another 28-pin QFN part.  A QFN part has no leads, but rather copper pads are built right into the package.  And the leads are tiny and closely spaced.  On top of that, many QFN parts have a big ground "paddle" under the part.  This should be soldered down.  Atmel FAQ explains why.

So I'll give you the summary right up front: use reflow soldering for QFN.

Tuesday, March 02, 2010

Hand soldering SMT components

Below is based on an email that describes how I do hand soldering of SMT.  I'll try to add a few photos soon.

I use a temperature controlled iron with a good tip, set to 315C.  A temperature controlled soldering iron with a good tip is KEY!

How to waste 2 weeks

Inspired by a class I took from the author of Extreme SMT Instructable, I decided to set up a SMT reflow soldering system.  Although his hotplate technique works well, it isn't as repeatable as I would like.  Recently, he added a follow-up instructable that adds a PID controller to the hotplate system, which should make the process repeatable.  But I didn't see that until I was already committed to the toaster oven system (parts had been ordered). 

And the hotplate technique still bothers me.  The heat is applied to the insulating FR4 fiberglass, so only convection heat is getting to the solder joints.  The bottom of the PCB tends to discolor slightly, so who knows what this means for long term reliability.

Reading several DIY guides, I became convinced that the way to go was to buy a PID temperature controller and a powerful toaster oven.  Why duplicate something you've seen work when you can try to do it "better"?  (hint: This is especially not a good idea when you are under a tight deadline, like I am right now.)

Wednesday, February 17, 2010

In the Final 10

I got the word on Feb 12th that I made it into the final round of the Atmel SMART design contest.  I was too excited to post about it right away.

I sent out my three PCB designs in a local group order.  Got a great price and quick turn around. The boards literally arrived the same day I heard I was in the final round.

Tuesday, February 02, 2010

Lantern modification

I have a GE camping lantern that stopped working, so instead of just fixing it, I decided to make it "better".

Saturday, January 23, 2010

Phase 2 is complete

I worked until 5am Friday morning completing the information I need to send in for Phase 2.  I got up after a nap and was preparing to email what I had done the night before.  In my email was a note saying that since they wouldn't start judging until Monday, we could submit our material through Sunday.

While I was pleased that I had another 2 days, I was disappointed they waited until the last moment to let us know.  I could have done with more sleep.

Wednesday, January 20, 2010

Code complete

I finished the code for the sensor board.  I plan to use an ATtiny44 with 4K Flash program memory.  The code compiles to 3720 bytes, so it seems there is room. 

Actually, it doesn't compile.  The Chibi uses an SPI interface.  The ATtiny series doesn't support SPI in the way that ATmega and above do.  An ATmega SPI works like a USART: you write a byte into a register and it gets sent.  In the ATtiny, you write a byte into a register, and then have to manually toggle the SCL line to shift the data out.  A silly "defeature" Atmel did so they could offer devices in different price tiers. 

But, I have just two days left to complete my contest entry.  So I am putting the code aside and working on costing the BOM, a quick power analysis, and writeup.  The writeup will have my known todo items in it.  I think full disclosure will be better than sending in code that won't compile and letting them discover it.

I'm off to Digikey to get prices now.

Monday, January 18, 2010

Never give up, never surrender

I had intended to post more often, but as the deadline nears, it is hard to take the time to craft a cogent post.

I discovered on Friday that the deadline for the round 2 submission to Atmel's Smart Design contest was delayed until Friday, the 22nd.  Four extra days that I really need.  I would not have made the deadline tomorrow. 

Monday, January 11, 2010

Good progress

I finished up the last bit of coding this morning, and made stubs for the RF routines.  Rather than face the problem of deciding on an RF solution, I decided to go ahead and try to get the code to compile.

It wasn't pretty.  Coding late at night results in repeating mistakes like "uint_8" instead of "uint8_t", and lOts of subtle capItalIzation errors.  I should typedef something easier than uint8_t, but it makes the code a little more obscure to someone looking at it later, such as judges.

Sunday, January 10, 2010

Light at the end of the tunnel

I finished coding most of the main controller today.  Reducing the user interface to something more manageable really helped.

Friday, January 08, 2010

Time just keeps ticking away

Since the holidays are over, I've had to spend more time (that is, more time than zero!) on other for-pay projects.  That has not helped my progress on the contest.

It is quite clear now that I will have to use RF modules.  There just simply won't be time to design the hardware let alone code low level drivers for the chips. 

Monday, January 04, 2010

Not an Arduino

This is my "main controller" board for the Atmel design contest.  The ground pour pretty completely fills in the white spaces, so I am showing the board here without them so you can see all the lovely traces.

The SMT part in the center is an ATmega328.  The 6-pin connector on the left is the same pinout as an Arduino serial programming port.

So why didn't I just design an Arduino shield?

Well, I tried that.  Between the Arduino shield connectors and the interface connectors I need, the board was a mess of pins.  The ratsnest was also a mess.  The routing looked like it would take at least as long as this board, and for contest judging purposes, the elegance of the solution and BOM cost were not what I wanted.

On the upside, I can fall back to using Arduino boot loader and Arduino libraries if I need to save time. 

Sunday, January 03, 2010

Universal PCB design rules

I just went through the design rules of just about every prototype PCB house I know of to determine what my design rules should be so I have complete freedom of choice.