Show Posts
Pages: [1] 2 3 ... 6
1  Using Arduino / General Electronics / Re: Powering bluetooth module from Arduino pro mini 5v on: November 17, 2012, 09:30:13 am
use red LEDs (1.7v drop) in parallel.
2  Using Arduino / General Electronics / Re: Looking for a connector on: November 09, 2012, 10:50:21 pm
Interesting... not sure if they support FEW enough contacts.  I was able to configure one with 10 "positions", but does that mean 5 on each side or 10 in a row (20 total)?
3  Using Arduino / General Electronics / Re: Looking for a connector on: November 09, 2012, 04:56:13 pm
@xl97: thanks for that link.  That seems like a great source.

@majenko:  I use pogo pins now and while they are great for one offs I was hoping for something that works both for one-offs and repeated use, AND is denser then typical pogo pins (which I can't get much denser then .1", do they sell maybe a pogo "multi-pin" with a grid of dense pins?).

I found this microSD card holder  It seems like it will in fact take "thin" (1mm) PCBs which are pretty easy to get made.  I think I may put a footprint for this and another one for a normal thickness 6 position card-edge connector (digikey a101966-ND) on the programmer and let the breakout boards use either.

4  Using Arduino / General Electronics / Re: Looking for a connector on: November 08, 2012, 11:22:03 pm
To clarify, the ICSP (chip programmer) header is used very rarely on many boards (just a few times to program the chip/fuses), once you give up being footprint compatible with the Arduino. 

I'm trying to make a really simple, cheap, and flat breakout for some AVR chips.  So I'm looking for something that is ideally zero (or pennies) cost on the breakout board side -- for example, SMT pads only cost the extra board real-estate.  But there can be a much more expensive connector on the programmer side like $1 to $2.  Ideally would be nice to support both the "dev" paradigm, where the programmer and breakout are firmly connected, and also "one-shot", where I'm just programming fuses and bootloaders one (for example) and then shipping the board.

@Lakes:  That's really interesting.  Not quite what I want but the idea to bend the pins to make little springs is great idea.  I could to it with a RA connector and trap the breakout board between the programmer's PCB and these pins.  But 2 issues. 1. I'd prefer to buy something pre-bent 2. Even smaller would be better (6 .1" spacing is actually pretty wide).
5  Using Arduino / General Electronics / Looking for a connector on: November 08, 2012, 08:28:57 am
I'm looking for a connector for an ICSP programmer that is not the 6 pin female.  Because that requires a 6 pin male on the other side, and its a lot of board space.  I found a PC-card style "card edge" connector, but its pretty expensive and also has a good sized footprint that needs to protrude out of the board.  I was also thinking of re-purposing a micro-SD connector, but it may not work because the microSD card is thinner then a standard PCB. 

Any other ideas for a 6 circuit connector that is very small and really cheap (preferably just pads) on one side?

6  Using Arduino / LEDs and Multiplexing / Re: buckpuck and tlc5940 on: August 29, 2012, 11:30:40 am
Often constant current drivers cannot pull down as far as a transistor.  I have had similar problems with the M5451 chip.  Check out the TLC5940 datasheet (or test it with a multimeter) to see how far it can pull.  If it cannot pull down far enough it won't register as a logic 0.  A solution is to feed the TLC into the base of a PNP transistor to get a hard pull down.
7  Using Arduino / LEDs and Multiplexing / Re: TLC5940 Inconsistent Current/Brightness on: June 19, 2012, 08:35:37 am
What exactly is the measured power coming from your switched regulator?
I was hoping to see those bigger caps right next to the chip and the LEDs because you are after all working on a breadboard... but it probably won't matter unless you have a marginal connection.

Try connecting the TLC's VCC to the Arduino's 5v power source but keep the LEDs on your regulated supply.   Did the problem get fixed?

I wonder if you are accidentally programming the dot correction... is pin 27 grounded?  Are the LEDs consistently inconsistent :-)?  That is, is LED N always the same current or does it change?  When does it change (constantly (i.e. LED is flickering), each time its lit, after power off/on, use a different chip, etc).

Do you have a scope?
8  Using Arduino / LEDs and Multiplexing / Re: Flaky Atmega328p + 6xTLC5940 setup on: June 19, 2012, 08:16:14 am
My direct experience with the 5941 chip is that the datasheet recommended .1uF is not enough.  I believe it has to do with fluctuations in the shared GND when the chip turns on its 80mA LEDs and so suddenly dumps a lot of power on the GND plane.  But this is mostly guesswork because my scope is limited to 100Mhz.
9  Using Arduino / LEDs and Multiplexing / Re: TLC5940 Inconsistent Current/Brightness on: June 18, 2012, 06:20:07 pm
From your posting, its a little unclear exactly where you put the decoupling.  Try 100uF+ both between the LED + rail and GND, AND a 100uF and a 1-5 uF ceramic between the Vin to the chip and GND. 

Try wiggling your wires to make sure is not just a bad connection.  Especially try wiggling the GND wire that feeds back to your external supply.

Try not turning on any channels that are not populated with LEDs as this pulls a lot of current from the arduinio/USB.

10  Using Arduino / LEDs and Multiplexing / Re: Flaky Atmega328p + 6xTLC5940 setup on: June 18, 2012, 03:50:11 pm
My guess is that the LEDs are either sucking away all your power causing a temporary board reset OR dumping that much power into GND is temporarily raising GND causing the TLC chips to read bad values on the IO lines.  See  You need a bunch of various sized caps to do "decoupling" in a big way.  Try 1000uF, 100uF and a ceramic at a couple of uF (I didn't really bother to figure out whether all of these are needed...)

20mhz chips is not an issue; the TLCs can handle clocks up to 30mhz and the fastest a 20mhz chip can clock an IO line is < 10mhz.

11  Using Arduino / LEDs and Multiplexing / Re: Am I on the right track? on: June 13, 2012, 10:48:09 am
hmm... matrixes are tricky to program & you don't get strong brightness unless you overdrive the LEDs (which has its own host of issues)... So you may want to individually drive anyway.  But that will mean more wiring :-).

Sounds like you basically succeeded with the 8x8 except you wired it mirror-image -- not that that really matters! 

Try to write the code yourself to drive the 8x8 before you spend the $ for the RGB... think of how a roller printer works, or a winch-wiper.  Your code has to basically do that same thing really fast.  If you are confused with what the 8x8 is doing, just try wiring up the simplest possible matrix: a 2x2 and writing code for that.  8x8 will use the same structure but the loops will be bigger so you are not wasting time in SW.

As a rule of thumb, you can't switch on the high side with a NPN.  You must use a PNP.  I did send you a link to that PNP array previously.  Also, connecting 1x74HC595 to individual darlington transistors is also a pretty good plan, because the individual darlingtons collectively dissipate more heat.

You can also look at the matrix driving code in the Lightuino project... but you know its often best to figure it out yourself to gain the basic understanding.

12  Using Arduino / LEDs and Multiplexing / Re: Web Server with graphical UI to set LED color on: June 13, 2012, 08:50:43 am
Put the pictures on a completely different web site -- like a photo sharing site, and then just reference them from your http code on the ArduinoULN2803A
Just like you do to embed a photo in this newsgroup...
13  Using Arduino / LEDs and Multiplexing / Re: Am I on the right track? on: June 13, 2012, 08:47:43 am
ULN2803A are NPN darlingtons (low side)... I lost your big schematic so I can't verify but don't you need high (source of the current) side switches?  So PNP darlingtons?

14  Using Arduino / LEDs and Multiplexing / Re: Am I on the right track? on: June 05, 2012, 09:51:55 am
Having another power source is fine and a good idea; just make sure you connect the grounds.  And also remember to trace where the current is flowing -- its easy to forget to do this through GND.  But different GND wires have different max currents --  In other words, you don't want your other power supply to run connect only into the GND pin at the top of the Arduino and and the LEDs to connect only to the GND pin at the bottom.  That will run all the GND current thru the boards.  So connect your grounds but don't require any current flow thru the connection (its only to make sure both GNDs are at the same potential). 

WRT 5940 & 595... clk and latch are not daisy chained they are broadcast to all chips.  Without looking at the datasheets or libraries, it should work to have one signal but it'll work just fine with different clock/latch as well.  In fact the latter will probably be easier to code because both chips will have separate libraries that assume complete control over their own clk and latch.  At this point you need to do some breadboard experiments because it is unlikely that anyone will have done exactly what you are thinking of doing.
15  Development / Suggestions for the Arduino Project / SPI library issues on: June 04, 2012, 07:32:26 pm
Can I somehow help get SPI library issues addressed?  There is this bug which basically stops the SPI library from working with mode 3 (and probably other modes).

Another small bug is that if you just call begin() the library relies on the values of the SPSR and SPCR to be the default since it ORs bits without initializing the registers.

Also, a great feature would be the ability to switch between different SPI slaves in a standard way (similar to how "begin" is standard).  I would propose the addition of 2 member functions for APIs that use SPI ".pause()" (generally a no-op, but might turn off interrupt handlers for example) and ".resume()".

This is needed because (in my experience) all the config bits in SPCR and SPSR regs are not actually readable -- I just get 0x80 when I read SPCR for example.  This means that generic code to push and pop SPI register state like this does not work:
class SpiSaver
byte spcr,spsr;
SpiSaver() { spcr = SPCR; spsr = SPSR; }
~SpiSaver() { SPCR = spcr; SPSR = spsr; }

Pages: [1] 2 3 ... 6