We will be closed on November 25, 2021 and November 26, 2021 in observance of the Thanksgiving holiday. We will resume normal operations on November 29, 2021. Wishing you a safe and happy holiday from all your friends at SparkFun!


Receive a free SparkFun USB Thumb Drive with every order this weekend. Details.


Member Since: March 3, 2013

Country: United Kingdom

  • Kamiquasi thanks so much. Glad to hear I was on track with my assumptions. At least a degree in computer science pays off a little! My buttons and pcb breakout should arrive in the post this week, delivered from sparkfun to the UK where I live, so I've been on the edge of my spinning chair waiting! You've cleared it all up for me, and I'll be sure to post my progress, in the hope of helping others. Thanks again, Joni

  • Wow you're great at explaining this. Can't tell you how grateful I am. You've cleared up the button resistance for me completely, thanks, With the LEDs, does that mean that I need to very quickly switch between the specific setups for each LED + colour? Can the arduino do that fast enough to achieve the result and trick the eye? That's pretty clever. I imagine then that this only works with small(er) amounts of LEDs, since if I add more LEDs, they have a greater off time? Any idea how long I need to make the time between each colour switch? Or perhaps how many LEDs this would work with?

    Your help is awesome, thanks. Joni

  • Hi again Kamiquasi, I've been doing my best to read through what you wrote. I understand the principle of using the buttons (I think), particularly reading whether a switch was pressed. What do you mean add resistors to pull to ground? Also where does this resistor sit in the circuit (between 5v and button or button and I/O?) and what resistance should it be? I might be able to work out the resistance, except I don't yet understand what pull to ground means. Since we are on the topic, your advanced example of using one pin and different resistance values, resulting in a way to determine the button press by analogueRead. Would you kindly give me an example/explain how to figure out what resistance these resistors should be for this method?

    RIGHT! That's my buttons q's! Now for the hard bit. LEDs... First I'd like to note that my RGB leds are common cathode. I assume that just swaps around some pins/brightness values? Without the schematic, I'm finding it tough to follow, but trying none the less. Like with the buttons, is JP1 a shared connection for the LED's? Where you lost me was the last paragraph. So without the schematic I'm assuming that there are only 2 LED-GND? for each column? Hence your advice about controlling 1 or 2 at the same time. The bit I don't understand is the controlling of just one LED at a time. I'll explain my hopes and perhaps that might help. I'm trying to implement a popular arduino project: RGB combination lock. I'm tweaking it slightly, so that instead of stationary colours for each button, I hope to move the colours around, so the combination depends on a colour, not a button. On that note, they clearly need individual control, and to all be as equally bright as possible. I hope that made sense. If you need more info on the project: http://hackaday.com/2008/06/12/how-to-make-an-rgb-combination-door-lock-part-1/ just note that I'm not using a digital potentiometer, only the arduino and the button + rgb leds. Whilst writing this I've got an email about another post of yours regarding the schematic so I appologise for bringing it up again in this post. I'll be sure to view the screenshot. Thanks again! You're really helpful. Joni

  • Kamiquasi thanks again! I'm very appreciative of your advice! I'll have to read that a few times I think, as I'm fairly new to electronics. Sadly if I click the schematic link, I just get a blank page. I've obviously allowed it time to load, and checked even the zoom etc.. but just blank for me. I definitely appreciate that you are guiding me on the proper way to tackle this, and also the proper way that this PCB is intended for, but are there enough pins on the Arduino to wire each LED individually? Seeing as most of the pins can use analogWrite(), I calculate that 4 x 3 pins will easily fit on the Arduino. And then a further four for the buttons should fit as well. I may try to wire them up in the most simple fashion until I can fully understand your previous post. Unfortunately I learn better with pictures than writing so it may take me a while to understand you ;) I'm a firm believer of learning over copying however, so I'll try my best before posting again if I have to. Again thanks, I really appreciate this! Joni

  • thanks for the quick reply!! You might be able to quash a few of my worries anyway. I've bought the 2x2 breakout PCB and the 2x2 button pad. I have 4 rgb leds, and the diodes i might need. I want to use just arduino (no extra hardware, like a digiPot) to control the whole setup. Is that possible? I don't fully understand the use of the breakout pcb yet, since their schematic isnt up, and i cant find a decent tutorial, but it seems like it uses all kinds of extra components and funky ways of determining button presses. Why cant i just treat each button like a standard push button and control each RGB LED leg with analogWrite?

    Thanks again! Joni

  • Hi, it would be really useful if the schematic for this was actually available.... I've just ordered this, and all other parts to create the button pad, and I'm now at the point of setting it up in arduino. I'm familiar with using the RGB LED's from a previous project, but looking at this board I have no idea how I'm supposed to control the colour of each LED independently. I'd really appreciate some advice from anyone else who has done this, on both circuit and sketch. Better yet a tutorial would be amazing. As I stand now, my code is set up to use analogWrite to change the brightness of each LED leg, but I don't think that's how this PCB does it. It appears to be PWM, which I understand the principal, but not how to use.

    Thanks in advanced. Joni

  • Hi is the tutorial you posted still available (for using 2x2 RGB LED Button Pad with Arduino)? The link isn't working...


  • What's your email? Sparkfun has no method of communication between members. I don't think it is appropriate to post a whole sketch here either. J

  • You're a genius. You should upload to Playground for more people to use! I have an SD sketch fully commented you can use. Where can I send it to? J

  • I have one final question (sorry). When I take subsequent photos, now that I have taken one successfully, the ReadData is returning the initial photo. Meaning that no matter how many I take, the files on the SD card all show the same, initial photo. Am I missing something? I couldn't see anything in the manual and the camera is reset at the start of each run. How do I read data from new photos? Thanks, J

No public wish lists :(