T.A.D. a Through hole Arduino-compatible Design

June 26th, 2011

Way back when the Arduino started out, you could lay out a single sided through hole design. People were encouraged to make their own. Then along came computers without serial ports and the need for everything to be USB and suddenly you couldn’t design an Arduino without a 4 dollar surface mount chip. So some of us looked for alternatives to the 4 dollar part and wound up creating examples of what would become the UNO and Paul Stoffregon’s Teensy Series.

Last year I started looking at the MCP2200, which comes in a dip and is less than 2 dollars in small quantities. Best part is that it is really a full blown USB microcontroller the PIC18F14K50. I know some of you are listening to me (HATER OF PICS) and saying BUT YOU HATE PICS!. And I agree, its a neurotic half baked architecture without a decent open source tool chain which generally survives by throwing peripherals willy nilly and through Microchips extremely liberal engineering samples.

But I like this PIC.

And here is why. For less money, it does two things that the At90USB162 and the atMega8/16/32u2 don’t do.

1. It has i2c and usb (as well as spi).
2. It comes in a DIP (as well as packages that are smaller than either the ftdi or atmel chips)

Which puts us once again in a world where we can breadboard and build our own Arduino based designs without any extreme surface mount reflow setup. In other words we can make boards that most people can put together by themselves. So I am working on a through hole Arduino compatible design and should have the first test boards this week.

A good stubby phillips.

April 20th, 2011

Whenever I look at integrating avrdude into a software solution I find myself thingking about how useless the “Phillip”s bit on a Leatherman(tm) tool is and how many times I have hurt myself using it when it was the tool on hand.

MAYDAY! MAYDAY! Arduino Cult Incution — 01May11, PNCA, $35

April 20th, 2011

I wont be able to get you into the Illuminati Motorcycle Club,

But i can lead you down the path to the dark side.

Join me on mayday for the Next Cult Induction. http://dorkbotpdx.org/workshop/arduino/cult_induction_rev8

New Workshop Schedule

February 24th, 2011

Please join us on the last Sunday of the month for one or more of these opportunities to learn. This may change somewhat given schedule conflicts withe PNCA which has graciously hosted these classes for the last 3 years. I will be at the open lab Sunday and would like to discuss what could be done to make the workshops and workshop schedule better serve the community.

The PNCA workshops are at the Pacific Nortwest College of Art (1241 NW Johnson St.) from 1-5 in the afternoon, usually in room 205.

Date Location Workshop Cost
Sunday 27FEB11 PNCA OPEN LAB (Future workshops workshop/discussion). FREE
Sunday 27MAR11 PNCA Focused Workshop: Physical Computing With Midi $35
Sunday 24APR11 PNCA Arduino Cult Induction $35
Sunday 29MAY11 PNCA Focused Workshop: Audio Synthesis. FREE
Sunday 26JUN11 PNCA Focused Workshop: Surface Mount TBA
Sunday 31JUL11 PNCA Arduino Cult Induction. $35

Arduino Cult Induction — 30 January 2011 — PNCA ($35)

January 21st, 2011

The Modern World Video Game.

September 28th, 2010


This is an art piece that I did for a show in Spokane.

When the Riverspeak people were talking about this show I had planned to work on a pendulum design that I have been toying with for some time.. As a secondary piece I wanted to use this beautiful 50s television that is in my art space.

I looked around and found the TVout library for the Arduino (http://code.google.com/p/arduino-tvout/).The hardware is remarkably simple.

I grabbed the closest thing I had available ( one of Windell Oskay’s “evil mad scientist” megaxx8 boards ) and set up a prototype. I tested it on my girlfriends television and on an old apple IIe monitor that my friend Andrew gave me while I salvoed for an rf modulator and a matching transformer to convert the signal our from the composite to VHF channel 3/4. The resolution and the library was satisfyingly very early 80s. The only thing that I didn’t really like was the fact that the library hard codes some very specific assembly into the ouput bit manipulation. (otherwise I might have tested it out on a mega32u4 like the teensy).

I played around with the libraries primitives for a bit before I found out that the tv didn’t work.  In the mean time I realized that my primary piece for the show was not going to come together in time.  This became my primary piece (No pressure).

I went over to my friend Jon’s house for a different television and he had a couple of joysticks (it turned out the television didn’t work either).  Now I just had to put it all together.

More photos of this project can be found on flickr  http://www.flickr.com/photos/7175086@N05/sets/72157625047746744/

Benito 2010 (e) Parts List.

August 23rd, 2010

h

Qty Description Digikey # Price @ ~ 25
1 IC MCU 8BIT 32KB FLASH 32TQFP ATMEGA32U2-AU-ND 2.76360
2 CAP CERAMIC 1.0UF 10V X5R 0603 399-3118-1-ND 0.03600
2 RES 22 OHM 1/10W 5% 0603 SMD 311-22GRCT-ND 0.03480
4 RES 220 OHM 1/10W 5% 0603 SMD RHM220GDKR-ND 0.10820
1 LED 5MM BI-COLOR RED/YLW DIFF 754-1472-ND 0.18840
1 LED 5MM BI-COLOR RED/GRN DIFF 754-1471-ND 0.18840
1 CRYSTAL 16.000 MHZ 18PF 535-10226-1-ND 0.31360
2 CAP CER 22PF 50V C0G 5% 0603
445-1273-1-ND
0.01950
2 RES 10.0K OHM 1/10W 1% 0603 SMD RHM10.0KHCT-ND 0.02385
1 CAP .10UF 25V CERAMIC Y5V 0603 399-1100-1-ND 0.01620
2 SWITCH TACT 6MM BLACK 160GF 450-1650-ND 0.10100
1 CONN HEADR 2.54MM 10POS GOLD R/A S9177-ND 0.43200
1 CONN HEADR 2.54MM 10POS GOLD S9169-ND 0.43200
1 CONN RECEPT MINIUSB R/A 5POS SMD WM5461CT-ND 1.16700

..

Benito changes.

August 23rd, 2010

One of the benefits of having laens pcb order available is that I can test design changes iteratively and explore other possibilities. The benitos i am using in the induction this month are the result of three iterative changes based on the original Benito and a redesign done by Monty Goodson a few years back. They (the benito2010d) will be the last of the design to use the pinouts of the origional benito. Fot the end users the biggest change will be that the cable will be a mini-b like the one used on the teensy.

I am not entirely convinced that the mini-b is the right decision but the full sized b uses a lot of board real estate. The other changes on the board come from things that I did and did not like in the previous iterations.This board uses a few through hole parts where the previous versions used surface mount most noticeably for the leds and the switches. I also find that solder mask is not something to be left off of a board.

The next iteration will abandon the original benito pin-out in favor of the stk500 style pin-outs.

There will be two versions of this board available.

The e1 which will be primarily for the inductions and the e2 which will replace the benito pcb on the tempus dictum site.  I will update the parts list shortly along with the other parts of the site with the new design once the next board order goes through.

This could be the last time

August 15th, 2010

http://www.dorkbotpdx.org/workshop/arduino/cult_induction_rev8

98-all-your-atmel-belong-to-us

July 14th, 2010

Foobarred is Normal

Recently I started using my linux laptop as my primary avr-usb development environment. When I upgraded the laptop to the current Ubuntu-LTS release (10.4 aka Lucid lynx) a bunch of stuff was broken including all of the wonderful udev rules provided by my linux savvy friends at dorkbotpdx.

I mean jeesh even lsusb was broken.

$ lsusb -vd "03eb:"|grep iM
cannot read device status, Operation not permitted (1)
iManufacturer           1

When I started looking at what changed and how to adjust, the web dead ended to a lot of threads like the one at http://ubuntuforums.org/showthread.php?t=1360412 ; where two people declared that having to escalate privileges to root in order to talk to a user device was “normal”. Even when the developer said it wasn’t normal the ubuntu folk redeclared it normal (apparently after Bush you just have to repeat something blatantly stupid for it to be true). As an administrator the last thing you want is everything and its dog requiring root privileges.

Hanging around the #ubuntu channel was a lot like having people repeat the searches on the web that provided me with the same dead ends that I joined the channel trying to resolve.

Cherchez la femme (look at the squeeze)

This was getting stupid. All I wanted to do was to have devices that I could plug in and program and then communicate with them using ruby or perl or some other haphazzardly thrown together scripts without having to be root. Then I realized once again that ubuntu is really focused on making the users life easier and that this leads to a lot of non technical help. So I asked my friends what the nick name was for the Debian release that was the basis for the Ubuntu release nick named “Lucid” and then re did all of my dead ended web queries replacing “Ubuntu Lucid” with “Debian Squeeze”.

The results were heavy on the technical detail and light on social skills.

More importantly I quickly found the solution that I needed in the middle of this link (http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=blob_plain&f=README&hb=HEAD) what I was missing was the difference between the new and the old udev rules.

“If you are running a newer version of udev (as in Debian Squeeze and
Ubuntu 9.10), you need to adapt the rules-file to the new udev-version:
sed -i -e ‘s/TEMPNODE/tempnode/’ -e ‘s/SYSFS/ATTRS/g’ -e ‘s/BUS/SUBSYSTEMS/’ \
/etc/udev/rules.d/xusbdfwu.rules”

One line of sed was all I needed and it had taken me a week of asking about lucid when i should have been asking about squeeze. With this I also was able to find the changes to the lay out of the /dev and /proc trees and the new tools to monitor udev and diagnose issues.

All-Your-Atmel-Belong to Us

I really just wanted to change the permissions so I could use my devices. Adding the following udev rule to your system will do just that.  You will also need to restart the udev service. Both of these will require you to be root.

# cat >/etc/udev/rules.d/98-all-your-atmel-belong-to-us.rules<<EOF
#------------------------/etc/udev/rules.d/98-all-your-atmel-belong-to-us.rules
#
# Make atmel devices (dfu, LUFA, obdev) accessible in userland
# 
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", MODE="0666"
EOF
# service udev restart

To actually own all my atmel I could have also added ‘ ,USER=”don” ‘ after the mode part but I just wanted to talk my Atmel usb-avr devices and the open source firmware I was developing. And the above rule made things “just work”.

$ lsusb -vd "03eb:"|grep iM
iManufacturer           1 mycompany.com
$

This rule fixed all of my LUFA based devices including the my open source arduino programmer as well as the dfu programmer.used to code them. Hopefully it will be a while before I have to go through this again.