Show Posts
Pages: 1 ... 14 15 [16] 17 18
226  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: Diecimila resets easily when controlling a mot on: November 30, 2007, 07:58:54 am
Everybody that has worked with DC motors has seen this from time to time.

If you take apart some toys  you will often see the standard industry motors fixes of .1 (104) caps between both motor terminals and more caps between each motor terminal and the motor body.

I would second everything Daniel said about diodes to the power supply lines and and some big caps on the power supply too. Try some different sizes of caps in parallel such as 1000 ufd electrolytic, 1 and 10 ufd tantalums, and 104 ceramics. In theory the capacitance adds up, but in practice each cap is good at killing a unique set of noise frequencies.    

Also try twisting together the supply lines, and the motor lines, (but don't twist the supply lines With the motor lines) instead of running them individually. And then look at the thing on a scope, so you'll really know what's going on.

227  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: Arduino sound player on: May 13, 2009, 07:18:20 am
You don't really need the diodes at all, seconding the suggestion of an r2r ladder. There is a good reference for both of types of resistive D/A - and also some discussion of digital sine wave generation in CMOS Cookbook (Lancaster).

228  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: 328P fuse settings on: February 14, 2009, 02:00:14 pm
Thanks for the info David. Can you post a link (or just a pointer) to the place you documented the algorithm for the binary math with AVR dude. Maybe it was in program comments.

For example, how does 0xF8 get to equal AVRdude's 0x00?

229  Forum 2005-2010 (read only) / Bugs & Suggestions / 328P fuse settings on: February 14, 2009, 12:21:08 am
I'm puzzling through the fuse settings in Arduino 13 and have some questions.

The Boards.txt for the Dicimila / Duemilanove  however describes the fuse settings as:  (rearranged for consistency


When I burn the Diecimila 168 bootloader from Arduino and read it in AVR studio, it reads as
Extended: F8
High: DD   (2.7V brownout)
Low: FF        

The high fuse difference is explained by just a difference in brownout detection. What explains the difference in Extended Fuse setting? I remember reading somewhere that AVRdude has a quirk about the high byte in the extended fuse, for some reason.

I guess the main question is: Is the fuse for 1024 words in boot flash set? This would accord with the bootloader requiring about 2k, which is documented somewhere else.

And is the BOOTRST=0  fuse set. It would seem so since 0 equals set.
So the question is mostly about the boot flash section size.

The 328 settings contain another mystery.
When I burn the 328 bootloader with Arduino 13 in which the settings are listed in boards.txt as:

Extended: 0x05
High: 0xDA
Low: 0xFF

and read them back into AVRstudio, I get

Extended: 0xFD
High: 0xDA
Low: 0xFF

The extended fuse setting now only controls brown out detection so the 2.7 volt setting is the same as the previous setting.

However the High fuse setting of DA corresponds to a setting of
"512 words" instead of the previous setting of 1024 words - I'm writing to ask if this is correct?  AVR studio reports that the 1024 word setting should be "D8" (if BOOTRST is also set as before).

It would be nice to see some discussion of the fuse settings (and the design thinking behind choosing various settings). For example,
the Lilypad and Nano both have their own settings and some explanation of the rational behind these settings would be welcome.

I'll be happy to document the fuse settings in AVR studio, and write up this information on fuse settings. Having some answers to the design questions though would make it a much more valuable writeup.

I found a page where LadyAda had started some discussion on fuses but seems to have run out of steam. She also didn't discuss the choices made in the Arduino.

 As a tip for those burning quantities of chips, AVR studio is much quicker and provides superior feedback in burning bootloaders onto chips.


230  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: documented length of Double appears to be incorrec on: January 24, 2009, 11:54:35 pm
If this is true, it seems we should just delete the docs for the double, since it appears to just be redundant with float.

I'd like to confirm this by doing the math outside of
Serial.print because I've had other math fail. But it seems like others have confirmed this too.

Is this documented in AVR-GCC too?


231  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: Cannot switch between analogReference options on: January 24, 2009, 11:40:52 pm
I think I remember something in the datasheet which suggested throwing out the first sample after switching.

Can't quite remember the details of the context but this would then make perfect sense.

232  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: PROGMEM on: October 21, 2008, 12:14:18 am
Somehow I posted this in the hardware section, my apologies.

PROGMEM is extremely useful - and as I said in a post to the developer's list, try doing a large LCD project without it. And it's not that puzzling to implement once you have some example code.

So what's the big deal in having the example code in the extended reference section? I thought that was why we made an EXTENDED reference section, so that slightly more advanced concepts would be shielded from beginners. David seems to have some kind of idea of formalist or ideological purity for the reference pages, which I can't figure out.

All I'm arguing for is that the EXTENDED reference section should have nice little details, pointing the way for slightly-past-beginner programmers to get the job done, as well as for beginners to be able to find most of the elements of the C language, so they can begin to understand half of the programs posted in the forum. What the heck is wrong with letting people have information in an organized and sensible way. In my view, the EXTENDED reference page was not getting out of control with irrelevant links or information.

This has not just been about PROGMEM, things like the diagram of the ATEMGA168 chip mapping, was a handy and useful reference on the EXTENDED reference page. This too, somehow runs afoul of some kind of formalist or ideological purity. I personally used the pin diagram  a lot from that page while coding and teaching, and I'll bet others did too. The reference page is still very small compared to Processing and Wiring  and was definitely not in danger of becoming a swiss army knife IMHO. Others may disagree.

If I hadn't worked on writing so much of the material on that page, I wouldn't be so exercised about this issue. No doubt I am embarrassing myself somewhat and I expect many people are scratching their heads and muttering "get a life", which I understand, viewed from the outside, is entirely appropriate. Lest readers wonder about who edited and wrote most of the material on the reference pages, just click a few of the page history links and look at the authorship. (Some may repeat the "get a life" remark). Users who have been around for a while can remember the reference pages from spring 07 when I began filling them in, and my students remarked to me "why do I have to dig through the forum to try to find out how to do anything, instead of finding it on the reference page"

I DO think we need a complete reference in the public section of the website and one that is collectively edited, instead of being micromanaged from the top. I would like to have a place to document the Arduino language (and bugs and quirks), and hopefully make a robust, publicly-edited reference that lets beginners and more advanced coders alike get the job done as quickly as possible. Another editorial viewpoint from the official one also seems entirely useful.

I just don't have time to do it right now - although much of my work can just be copied from the reference pages at first and then added to. And perhaps after it's in place in the public section of the site, it can be deleted from the "official" reference pages so they will have the minimal elegance that seems to be desired at the top.  I'll be happy to help work on reference pages in the public section of the website, should someone else take the lead. I'd like to propose the name "Cabinet" for the public reference to differentiate if from the reference section, but maybe someone has a better name.

Let me say that much of this has been discussed in conversations between DM and myself in the past, and I have tried to have a thick skin about it in the spirit of compromise and cooperation on an open-source project. I have seldom had much of a sense of compromise or attempt to see things from another angle from the other party. Time to get a life and work on other things.

Paul Badger

233  Forum 2005-2010 (read only) / Bugs & Suggestions / PROGMEM on: October 20, 2008, 08:49:03 am

I had no problem compiling the PROGMEM example in either 011 or 012 IDE. I don't know what your issue may have been with that. My memory was with a different piece of code I realized.

Too bad about your decision to kill PROGMEM in the docs, is it moving somewhere? Or are we burying it, so only the cognoscenti can find it when they need it?

If so, this post is at least a crumb for future users to follow. Search for PROGMEM in the reference docs and you might find something.

234  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: spectra symbol SUCKS! on: February 18, 2008, 12:14:29 am
It just so happens that I had a conversation with Daniel Marriott of Spectra Symbol last Friday, about selling the softpots and flex sensors on my website. I talked to him about some of his products and it turns out that Spectra Symbol are the people who made the original Matel data glove flex sensors and also the flex sensor that Jameco has been selling for years - It used to be pricey at $9 and he informed me that it's now $12.

I asked him why the sensors are so expensive since they are just silkscreened pressure sensitive ink. To make a long conversation short, he told me that they would be $1-2 in quantities of thousands but that they had a business plan to keep the price up in small quantities. I told him that I was ready to buy a 1000 for 1 or 2 dollars a piece but he said they wouldn't sell them to me because of I would sell them for $4 each and mess up their "boutique pricing scheme".

I'm probably burning some bridges here, as far as selling their sensors, but I do think their model is short sighted (not to say greedy). In this land of free enterprise, drug companies, defense contractors, or anyone with a unique product has the right to gouge the government or the people for whatever they can get. (Insert long lefty rant here). In any case you might guess that I don't agree with their business model to sell what basically amounts to small silkscreens on plastic for (what appears to be) obscene profits.

It's noteworthy that they don't try and get these ridiculous prices from toy companies or car companies, only wealthy electronics hobbyists and students. (Insert more lefty rant here). It's also noteworthy that the rest of the electronics industry doesn't work this way. I can buy a microcontroller for $2.50 which requires a multi-million dollar chip fab to make, these sensors are silkscreen ink between two sheets of mylar.

Mr. Marriott did say that if he could get Digikey or Mouser to carry them then perhaps the price would come down - so maybe you should call up your favorite wholesale vendor and convince the vendors to try and talk some sense into these pirate... er entrepreneurs. Spectra symbol could sell a whole lot of sensors at reasonable prices and the corporate people who troll artists and experimenters projects for future product ideas might even generate some real products and volume for Spectra Symbol.

For other would-be dealers here's the wholesale prices I was given with the "Market Price" they would be expected to sell at retail for.

[removed at request of poster]

Paul Badger

235  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: ZIF Socket? on: November 30, 2007, 07:28:32 am
RedLion, Your chips probably aren't ruined. There are a variety of reasons why the bootloaders seem to become corrupted. Try reprogramming the bootloader if you have the hardware. I do that for people for free if you want to send them to me at

As to zif sockets. I have several Bare Bones boards that I've hardwired zif sockets in for this purpose, using some header pins for a "slant 28" look. (The available sockets all seem to be .600 spacing) Brian Riley at is also thinking about putting together a zif socket kit, with a little adapter he designed. Maybe send him some email if you're interested.

I also think that the Arduino to Arduino programmer is a good idea and we need to work on the tech a little more to get it figured out.

236  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: math.h bug on: March 17, 2007, 09:59:58 pm
Well I was going to use a sine function to generate a lookup table at runtime. But I guess I can generate the data then just put it into the program.

I like the pow function for conditioning sensor data too but haven't tried to see if that one works. It just seems wierd to me that sqrt should work but the trig functions don't.

237  Forum 2005-2010 (read only) / Bugs & Suggestions / math.h bug on: March 17, 2007, 10:44:32 am
When I try and use a sin function in a program (with  "#include <math.h>) I get these compile errors:

/Applications/*Development Apps./arduino-0007/tools/avr/bin/../lib/gcc/avr/4.0.2/../../../../avr/lib/libc.a(fixsfsi.o): In function `__fixsfsi':

../../../libm/fplib/fixsfsi.S:57: multiple definition of `__fixsfsi'

/Applications/*Development Apps./arduino-0007/tools/avr/bin/../lib/gcc/avr/4.0.2/avr5/libgcc.a(_sf_to_si.o):/Users/nick/Documents/Electronics/Software/avr-gcc/4.0.2/build/gcc/fp-bit.c:1404: first defined here

Couldn't determine program size: tools/avr/bin/avr-size: '/tmp/build23472.tmp/test.hex': No such file

Any ideas? And any idea who nick is? I don't have a user by that name on my machine.

Also interestingly the sqrt function compiles fine - just not sin or cos.

I tried commenting out some of the offending libraries with no success, it just complained about a missing library.

Paul Badger

238  Forum 2005-2010 (read only) / Bugs & Suggestions / Binary Formatter "B" works only on bytes on: February 14, 2007, 12:13:40 am
I was trying to format some 16 bit constants in binary format and noticed that the handy binary formatter "B" seems to work only on bytes and not ints (16 bits).

Paul Badger
239  Forum 2005-2010 (read only) / Interfacing / Re: Clickwheel with Arduino on: November 23, 2008, 10:47:29 pm
I just posted a capSense library that I think can be used to make an effective scrollwheel. Of course I could be wrong.

All you have to lose is some alluminum foil and 10M resistors though.

Cross post any progress here please
240  Forum 2005-2010 (read only) / Interfacing / Re: encoder on: March 30, 2008, 09:56:16 pm
Arduino println statement defaults to ASCII values so for example is your variable olds the value 123 then Arduino kicks out an ASCII 1 (49), an ASCII 2 (50), and an ASCII 3 (51) followed by a character return (13).

Pages: 1 ... 14 15 [16] 17 18