by on Avr DevelopmentDorkbot

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

..

by on Avr DevelopmentDorkbot

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.

by on Avr Development

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.

by on Avr DevelopmentMac Development

feurig: ax have you gotten anything to work with deans post feburary lufa?
[1:29pm] ax: post feb. hmm, i’d have to look into my project files to remember which version i was usting
[1:29pm] ax: just a sec
[1:29pm] feurig: I was pulling my hair out with the may release and then I went back to the standard “what ever ax was using” and things started working
[1:30pm] feurig: you used the feb19 release on the midimonster stuff
[1:30pm] feurig: where is that (explicitive deleted) tourist????
[1:34pm] ax: yeah, /lufa_100219/
[1:35pm] ax: i like this ‘whatever ax was using’ standard
[1:35pm] ax:
[1:48pm] bzztbomb: That should be a source control tag

by on Mac DevelopmentSort Me

Because they aren’t bsd ports.

  • They force you to carry redundant dependencies.
  • They do not allow you to fetch and compile the source files in a transparent way.
  • They do not give you clean access to the patches they use to make things work.
  • They haven’t had a current version of avr-gcc in over 4 years.
  • They just dont get it.

Today, I am working on a cross platform USB device which I hope to interface with ruby, python, and perl using libusb. The ruby bindings for libusb are for 1.0.xx which actually almost works on OSX nowadays. A quick sampling of using ruby-usb on osx, like most things embedded in apple land, is a trip more or less to hell. (see: http://www.jedi.be/blog/2009/11/11/ruby-usb-libusb/ http://www.ruby-forum.com/topic/192042) . Since most of my ruby is gem installed I just need a working version of libusb so I go to the darwin ports recommended above. Looking at the “raw” port file I see that there are really only two patches and so I go find them. They aren’t exposed for reasons that seem pretty stupid to me,  but I did find them at. http://libusb.darwinports.com/dports/devel/libusb/files/patch-libusb__io.c and  http://libusb.darwinports.com/dports/devel/libusb/files/patch-libusb__os__darwin_usb.c

When I downloaded the source file and went to wget the patches it got even more screwey.

wget http://libusb.darwinports.com/dports/devel/libusb/files/patch-libusb__io.c
--2010-07-06 00:28:13--  http://libusb.darwinports.com/dports/devel/libusb/files/patch-libusb__io.c
Resolving libusb.darwinports.com... 208.185.168.32
Connecting to libusb.darwinports.com|208.185.168.32|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2010-07-06 00:28:13 ERROR 403: Forbidden.

I didn’t want to deal with it so I just saved the links in my browser and patched the source files manually. After that a

./configure; make && make install && make clean

let me do the normal ruby thing.

gem install ruby-usb

Just like on all the other operating systems.

by on Dorkbotelectronics


In this workshop we will be taking our dorkboards and using them to create a simple machine that draws. The focus will be on hands on problem solving.

What you will get.

  • A servo and a geared motor with paper feed.
  • A motor driver board.
  • Misc parts.

What to bring:

  • A dorkboard, teensy or other arduino capable board.
  • A soldering iron.
  • Some basic tools (esp wire cutters, x-acto knife)
  • superglue
  • A hot glue gun.
  • foamcore or cardboard.
  • $35 or a copy of your rsvp / paypal reciept.

Where:

PNCA — 1432 NW Johnson St, Room 205

When:
Sunday May 30nd from 1 to 5pm

How do I rsvp?

by on Avr Developmentelectronics

An introduction to physical computing for artists and musicians.

What:

This workshop is an opportunity for 15 to 25 people to spend a week working on the fundamentals of integrating micro-controllers into the arts. At the end of the week participants should be able to build and program their own Arduino compatible micro-controller system and use it to interact with the physical world using motors servos lights relays and switches.

The workshop will be structured with a hands on approach. The theory being that we learn best by doing. The first two days will be devoted to building and programming the base platform and using it to control various devices. The remaining 3 days will be a lab devoted to incorporating the new tools into actual pieces. The cost of the course is $105 and includes the materials listed below as well as 5 days of hands on instruction.

What you will get.

  • A Benito usb to serial programmer
  • A Dorkboard! (an Arduino clone) Kit
  • An introduction to the Arduino and microcontrollers in an artists setting
  • A servo and a geared motor with paper feed.
  • A motor driver board.
  • Misc parts.
  • Help when you need it
  • To know that what you built worked at least once
  • Ideas

What to bring:

  • A laptop (there will be some (not many) loaner systems available)
  • A soldering iron (20-30W Pencil type)
  • A standard usb cable (A->B)
  • Some basic tools (esp wire cutters, x-acto knife)
  • superglue
  • A hot glue gun.
  • foamcore or cardboard.
  • A copy of your rsvp / paypal reciept.
  • Ideas.

When:

June 7th through June 11th from 1-5pm.

Where:

Object Space Gallery:

1818 1/2 E Sprague, Spokane WA

How do I rsvp?

by on Sort Me

Mantras,

  • Modularization.
  • Simplicity.
  • Stepwise refinement.

Tools

DS1306

Best code example is at .http://www.nearfuturelaboratory.com/2006/12/14/arduino-and-ds1306-real-time-clock/

only problem with sample code is that it only works in the full sp mode and the diagram on the page shows the other mode. (need a32khz crystal)

To Do:

Exchange for Tuesday

Give walt

  • 32khz crystals
  • proto boards
  • Bare lcd (maybe a temp/lcd controller board)
  • Laptop and EPC (load with ubuntu 9.10).
  • 4 dorkboards.

To develope.

  • Software modules for timer and lcd.
  • Better lcd/button controller
  • led meter boards.