element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Blog IoT Christmas Ornaments - The Hardware!
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Former Member
  • Date Created: 26 Dec 2014 5:09 AM Date Created
  • Views 739 views
  • Likes 2 likes
  • Comments 5 comments
  • iot_holidaylights
  • integrated_led_control
Related
Recommended

IoT Christmas Ornaments - The Hardware!

Former Member
Former Member
26 Dec 2014

Between shipping, working, and the holidays, I haven't had a chance to give my roadtest hardware a good going over... until now!

 

The Internet of Holiday Lights RoadTest involves three pieces of hardware: The venerable Arduino Uno, its cousin the Arduino Yun, and Infineon's RGB LED Arduino Shield.

 

image

 

Chances are good that if you've spent any reasonable amount of time making things in the past five years or so, you've heard of Arduinos, and have probably used the Arduino Uno. The Arduino Uno is essentially a breakout board for an ATmega328 8bit microcontroller that gives you access to 14 digital i/o lines and 6 analog input lines. Within those digital i/o lines are two pins which allow you to use I2C devices, and two pins which can be used for serial communications.

 

The one real caveat of the device is that the ATmega328 doesn't have native USB support, so communications with it is mediated by another chip (the ATmega16U2 in the latest revision of the board) acting as a USB-to-serial converter. What this means is the Uno will only ever appear as a virtual COM port to your computer.


The Arduino Uno is a long time staple of the maker toolkit, and although it lacks the clock speed or large number of i/o lines of some of the larger Arduinos, it's still quite capable and a good starting point for microcontroller based projects.


image


The Yun is a relatively new addition to the Arduino line. It was added just over a year ago, and is an Arduino Leonardo coupled with an Atheros SoC running OpenWRT (for those of you who have never hacked your router - this is a Linux derived firmware designed for embedded networking devices). This means you get the 20 digital i/o lines of a Leonardo (of which, 12 can be used for analog inputs), the native USB support of a Leonardo (which allows the board to appear as a USB HID device or virtual COM port to your computer), and a directly coupled Linux-based network interface that is both wired and wireless.


Just like the Leonardo, the Yun has the same pinout as the Uno, making it compatible with all the same sheilds you may already have bought or developed for the Uno.


Unlike the Leonardo, however, the Yun doesn't have an onboard voltage regulator. This means you can only power it from a 5v source, and exceeding that may damage the board. It also has a microSD slot, which is tied to the Atheros SoC, intended to be used to hold all your settings, served content, and additional packages for use on the web side of your Yun project.


image


The last hardware component of the roadtest is the truly unique one: Infineon's RGB LED driver sheild for Arduino. This shield, in the configuration supplied, has one power input, one data input, and one power/command data output. It also comes without any headers, so you can easily add simple male headers, or a stackable female header if you intend to use more than one shield with your Arduino.


The level of soldering skill required to assemble the board is minimal, pin headers are just about the easiest soldering project out there, but you will need a soldering iron and some solder to get the board up and running.

 

The reference manual recommends providing a higher input voltage than what your LEDs' forward voltage requirement is, but it will happily accept anywhere from 12v to 48v as the input. I haven't tested the theory that you may get normal operation by feeding it an input voltage that matches your output voltage, but other members of this roadtest have and seem to have made it work, so your mileage may vary. I'm powering my project off an old HP printer power supply that pushes 36v, so there's more than enough voltage there to run my 12v LED string.

 

One note: When looking at the silkscreen on the board, you (like me) may misread the labeling for the power input. There is a space above the power input terminals for a DMX chip and input, and the silkscreen on the board has handy labels for that input. If you try to use that label to decide which power input terminal is negative, and which is positive, you're going to wire your power in backward and the shield won't work. Luckily, Infineon was smart enough to realize their users may be quite stupid at times, so reversing the voltage input doesn't seem to damage the board.

 

image

Examining the shield, you can see it fits snugly into an Arduino Uno (or otherwise compatible) pin header for control signal input. Only the I2C pins, and the ground pin, are used so the rest can safely be passed through to additional shields if your setup requires it.

 

The power input is also quite simple, if you do one better than me and actually manage to read the correct silk screened label. The output is equally simple: There is one pin for the common anode of your LED setup, then one pin each for your red, green, and blue cathodes. It can be used with RGB LED strips or collections of individual LEDs, but it can only drive one color at a time. If you're looking for individually addressable LED control you should look elsewhere.

 

The input power terminals are of the very simple press to insert friction hold type. They seem quite secure, and should be safe to rely on even without providing some sort of strain relief on the wires themselves. The output power terminals are a little more robust, they're spring tensioned friction hold terminals, and they provide a good strong hold on the wires. I was a little concerned when I first saw these, but none of the wires seem interested in coming loose even after repeated insertions.

 

The datasheet says the driver can safely deliver 700mA per color, with a peak safe value of 1 A per color line, so you've got a lot of power to work with here. In my early testing it easily lit an entire 5 meter length of LED strip light without complaint, even when asked to drive the entire roll at full white brightness.

 

There is no Arduino library available for the Infineon board yet, but the development of such a library is an ongoing project associated with this roadtest, so that will likely change soon. Infineon does provide a test program that will walk your lights through a few predetermined colors, and that program is a good resource for understanding how to interact with the board.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

I'll go more into how the Infineon board works in later posts, but essentially all the Arduino has to do is perform I2C writes of the parameters you want the LEDs set to. The Infineon board does the rest. The sorts of parameters you set are the brightness fade time, the walking time for going from one color to another, and the intensity of the red, green, and blue LED channels.

 

So, for example, if you want to make the lights quickly step back and forth between red and green you would set the fade time to zero, the walk time to something very short (say, half a second) in the void setup() phase of your program, then put two items in your main loop(): one setting red to full and everything else to zero, and another setting green to full and everything else to zero.

 

That's it. No worrying about wait or millis statements to get the transition times right, no bothering with pulse width modulation to get a fade between colors, just set your parameters and you're done. I've only begun putting the board through its paces, but already it seems quite slick.

 

The Infineon board can also report back the actual current state of the LEDs it is connected to using I2C reads, giving you a fully closed control loop for your lights and opening up quite a few possibilities beyond the simple web-enabled christmas ornaments I'm currently working on.

 

...next, we'll tackle the software aspect of this roadtest, and begin work on the meat of the project itself. But that's another blog post.

  • Sign in to reply

Top Comments

  • Former Member
    Former Member over 10 years ago in reply to mcb1 +1
    Well, the way I look at it is the Arduino series of boards is essentially a collection of dev boards for various 8bit processors, and what is a dev board but a breakout board for the processor with the…
  • Former Member
    Former Member over 10 years ago in reply to Robert Peter Oakes

    Yep, yours is the one I was thinking of when I mentioned a library is in progress. I've already played with it a bit, and found it very helpful in figuring out the control scheme of the board. If I make any meaningful modifications to it I'll post it here and link back to your original as well.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 10 years ago in reply to Robert Peter Oakes

    fvan mentioned your library in one of his blogs. My plan is to borrow it in my design too.

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago in reply to Former Member

    I already converted the examples into a library, feel free to take and expand it from here : http://www.element14.com/community/groups/arduino/blog/2014/12/15/byob-party-3-infineon-library-available

     

    Regards

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 10 years ago in reply to mcb1

    Well, the way I look at it is the Arduino series of boards is essentially a collection of dev boards for various 8bit processors, and what is a dev board but a breakout board for the processor with the occasional inclusion of extra bits to let you test the features of the processor.

     

    Arduinos don't usually get used that way, but when it comes right down to it... That's more or less what they are.

     

    ...but I better get back to poking at the Infineon board. It's not going to write a library for itself.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 10 years ago

    The Arduino Uno is essentially a breakout board for an ATmega328 8bit microcontroller that gives you access to 14 digital i/o lines and 6 analog input lines.

    That's not a bad summation of an Arduino ...never heard it put that way before ...image

     

    This challenge is going to help many others using the Infineon shield, so keep at it.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube