• Differences between the old e-Health Platform and MySignalsOctober 4, 2016

    Differences between the old e-Health Platform and MySignals

    Discover MySignals now!

    MySignals is the new generation of eHealth and medical development products specifically oriented to researchers, developers and makers. It has new features that significantly improve the previous version commonly known as eHealth v2.

    • The number of sensors has been increased from 10 to 16.
    • The new sensors availables are: Snore, Spirometer, Blood Pressure (BLE), SPO2 (BLE), Glucometer (BLE) and Body Scale (weight, bone mass, body fat, muscle mass, body water, visceral fat, Basal Metabolic Rate and Body Mass Index)
    • The accuracy of the sensors has been improved.
    • The sensor probes are more robust now.
    • The new generation integrates a faster MCU with 4 times more memory.
    • WiFi and BLE radios now integrated on the PCB.
    • A complete graphic system with a TFT touchscreen allows to see the data coming realtime from the sensors.
    • New 'audio type' jack connectors allows it to be used by non technical staff.
    • CE / FCC / IC certifications passed for MySignals SW.
    • Cloud Storage of the data is now available to save historical information.
    • Native Android / iOS App's can be used now to visualize the information in realtime and to browse the Cloud data.

    Discover MySignals, the new eHealth and medical development platform!

    In the next tables you can see a complete comparative between eHealth v2 and the two different models of MySignals.


    There are several differences comparing the general features of MySignals and the previous product version eHealth V2.

    e-Health V2.0
    MySignals SW
    MySignals HW
    Arduino compatible
    Libelium IoT Core
    Arduino compatible
    RAM Memory
    Atmega 328 (Arduino UNO)
    Atmega 2560
    Atmega 328 (Arduino UNO)
    Flash Memory
    UART sockets
    1 (multiplexed)
    Complete Kit
    GLCD - optional (basic graphics)
    TFT (complete graphic interface)
    TFT (basic graphics)
    Cloud Storage
    Android / iOS App
    API Cloud
    API Android/iOS
    Wired Sensors
    Wireless Sensors
    Concurrent Sensor Readings
    From any sensor (10) to one interface
    From any sensor (16) to one interface (TFT, BLE, WiFi)
    From one group of sensors (analog, UART, BLE) to one interface (TFT, BLE, WiFi)
    Radios on board
    BLE, WiFi
    BLE, WiFi
    Extra Radios
    BT, ZigBee, 4G / 3G / GPRS
    BT, ZigBee, 4G / 3G / GPRS
    CE / FCC / IC


    eHealth V2.0
    MySignals SW
    MySignals HW
    Body Position
    Body temperature
    Galvanic Skin Response
    Blood Pressure
    Scale (BLE)
    Blood Pressure (BLE)
    Pulsioximeter (BLE)
    Glucometer (BLE)
    e-Health Sensor Platform last units
    MySignals SW - eHealth and Medical IoT Development Platform
    MySignals HW - eHealth and Medical IoT Development Platform for Arduino
    MySignals - eHealth and Medical IoT Development Platform

  • Comparing Waspmote VS Maker Boards and Sensors for Aquariums and GardensNovember 4, 2014

    In Cooking Hacks we have designed Open Garden and Open Aquarium, two Arduino based solutions for makers to control and measure garden and aquariums parameters, and to take care of these installations automating the maintenance tasks that take place in them, through wireless connectivity using Arduino Open Source API.

    In this post, we will compare the main differences between these open hardware solutions we provide in Cooking Hacks to monitor gardens and aquariums, and the Waspmote solutions provided by Libelium, Waspmote: Smart Agriculture and Smart Water. The idea is to help you to choose the platform that suits best your needs.

    We will start comparing water monitoring products.

    Smart Water VS Open Aquarium

    Smart Water wireless sensor platform simplify remote water quality monitoring. Equipped with multiple sensors that measure a dozen of the most relevant water quality parameters (Temperature, Conductivity, Dissolved Oxygen, pH, Oxidation-reduction potential, Turbidity and Dissolved Ions sensor probes available), Smart Water is the first water quality-sensing platform to feature autonomous nodes that connect to the Cloud for real-time water control. Their sensors are available for both Waspmote lines: Plug & Sense! – ready to deploy in final projects, and OEM – to be embedded in a third party product line.

    Plug & Sense! Smart Water

    Plug & Sense! Smart Water

    Waspmote Smart Water OEM Solution

    Waspmote Smart Water OEM Solution

    On the other hand, Open Aquarium is an Aquaponics Sensor Platform for makers, based on Arduino. It has been designed to help makers to take care of their aquariums, fish tanks and ponds, automating the maintenance tasks that take place in them, through wireless connectivity using Arduino Open Source API. Consists of two different and complementary kits: Basic and Aquaponics, and many several extra accessories.

    Open Aquarium Monitoring Arduino

    Smart Water VS Open Aquarium Comparative Table

    Key Features Smart Water Open Aquarium
    Intended for Companies, environmental consultancies, city councils and municipalities that need to monitor water conditions in rugged environments and hard-to-access locations - rivers, lakes, swimming pools, spas and the sea. Makers and individuals that want to control Aquariums, ponds and fish tanks.
    Applications - Water consumption, reducing water and electricity costs.
    - Potable water monitoring.
    - Chemical or water leakage detection.
    - Pollution levels control.
    - Corrosion and limescale deposits prevention.
    – Fish Tank Monitoring.
    - Maintenance task automation in fish tanks, ponds and aquariums.
    Sensing Interchangeable sensor probes that measure more than 12 chemical and physical water quality parameters such as pH, nitrates, dissolved ions, dissolved oxygen, conductivity (salinity), oxidation-reduction potential, turbidity, temperature, etc. 5 sensors available to measure the key parameters in the fish tank and to control the correct state such as temperature, pH, conductivity, level and water leakages.
    Actuators Smart Water focus on remote sensing and has no actuators available. 6 different actuators to automate tasks such as feed the fish, regulate water heating and cooling, activate pumps to change water or administer medicine, and control light intensity to simulate day and night cycles.
    Autonomy 10 years. Waspmote implements power saving mode. Solar panels may be added for continuous measuring. Open Aquarium must be powered by an external power supply (12V - 2A).
    Nodes Maintenance Smart Water nodes are ready to deploy out of the box and sensor probes can be recalibrated or changed in the field, with kits provided by Libelium. Open Aquarium is a DIY product and makers maintain and improve the installation. (Calibrated kits are also available).
    Connectivity Waspmote may use cellular (3G, GPRS, WCDMA) and long range 802.15.4/ZigBee/RF (2.4 GHz,868/900 MHz) connectivity to send information to the Cloud. It ensures real-time water control, even from sensor nodes situated in remote locations. The platform can send information using wireless interfaces such as Wi-Fi, GPRS and 3G.
    Price Smart Water is a customized product. Approximate price with similar components than Open Aquarium Basic Kit: 900€. Contact with Libelium commercial team for a customized proposal. Open Aquarium Basic Kit at 199€. Check our online shop -
    Gateway Meshlium is the Linux GW for Waspmote and Plug & Sense! devices. It counts with 8GB of internal storage and allows to connect the information to many Cloud platforms such as Axeda, Thingworks, MQTT, Telefónica, etc. It counts with many connectivity options: ethernet, WiFi, 3G, ZigBee, etc. Data is sent from Open Aquarium to a laptop via an USB cable or via WiFi or GPRS to the Internet.
    Open Aquarium Basic Kit

    Open Aquarium Basic Kit

    Waspmote can accommodate solar panels that charge the battery to maintain autonomy

    Smar Water One Step Solar Panel Connection

    Smart Water Sensor Probes

    Smar Water One Step Probe Change

    Let's take now a closer look to the main differences between Libelium agriculture monitoring products.

    Smart Agriculture VS Open Garden

    Smart Agriculture platform can be used to monitor different environmental parameters related to agriculture such as temperature, humidity, soil temperature/humidity, weather station, leaf wetness and many other parameters. The monitoring of these parameters allows to minimize time and money as well as maximize agriculture results. The Smart Agriculture board enables control with a finer granularity than existing precision agriculture techniques. Our solution brings extreme precision to crop growing in, for example, vineyards and greenhouses, by enabling irrigation and climate control to be matched to local conditions.

    Plug & Sense! Smart Agriculture

    Plug & Sense! Smart Agriculture

    Waspmote Smart Agriculture OEM Solution

    Waspmote Smart Agriculture OEM Solution

    Open Garden is our Open Source hardware alternative to commercial home automation to remotely control indoor and outdoor plants. There are three different kits, each ready for a specific kind of growing plant scenario: indoor (houses and greenhouses), outdoor (gardens and fields) and hydroponics (plants in water installations). The kits include a suite of sensors form measuring parameters such as humidity, light, temperature, or soil moisture to monitor plants for optimal care wherever they are situated. The Hydroponics kit includes pH and conductivity probes. Its actuators can control irrigation, and activate lights and oxygen pumps.

    Cooking Hacks Open Garden

    Smart Agriculture VS Open Garden Comparative Table

    Key Features Smart Agriculture Open Garden
    Intended for Companies, environmental consultancies, city councils and municipalities that need to monitor fields, vineyards and greenhouses. Makers and individuals that want to control in-house gardens, small greenhouses, outdoor gardens and small fields, and also hydroponics - plants in water installations.
    Applications - Control micro-climate conditions to maximize crop quality and production.
    - Selective irrigation in dry zones to reduce the water resources required.
    - Study of weather conditions in fields to forecast ice formation, rain, drought, snow or wind changes.
    - Control of humidity and temperature levels to prevent fungus and other microbial contaminants.
    - Crop growth monitor.
    – Plants water needs control
    – Irrigating the plants and activating lights and oxygen pumps in hydroponics crops.
    Sensing Up to 14 environmental parameters to be monitored: air temperature, air humidity, soil temperature, soil moisture, leaf wetness, atmospheric pressure, solar PAR radiation, ultraviolet radiation, trunk/stem/fruit diameter, wind speed/direction and rainfall. Up to 7 different parameters: soil moisture, temperature, humidity, light... and has three water sensors: water pH, conductivity and temperature.
    Actuators Smart Agriculture focus on remote sensing and has no actuators available. Different types of actuators to modify the state of the plants: water pump, droppers for drip irrigation, electro valve, sprinklers, oxygen pump and growing light.
    Autonomy 10 years. Waspmote implements power saving mode. Solar panels may be added for continuous measuring. Open Garden must be powered by an external power supply (12V - 2A). The nodes are powered by a 2300 mAh battery that can be recharged using a solar panel. According to the frequency of the sensors measures, the durability of the battery can be up to 3 months.
    Nodes Maintenance Smart Agriculture nodes are ready to deploy out of the box and sensor probes can be recalibrated or changed in the field. Open Garden is a DIY product and makers maintain and improve the installation.
    Connectivity Waspmote may use cellular (3G, GPRS, WCDMA) and long range 802.15.4/ZigBee/RF (2.4 GHz,868/900 MHz) connectivity to send information to the Cloud. It ensures real-time water control, even from sensor nodes situated in remote locations. The platform can send information using wireless interfaces such as Wi-Fi, GPRS and 3G.
    Price Smart Agriculture is a customized product. Approximate price with similar components than Open Garden Indoor Kit: 800€. Contact with Libelium commercial team for a customized proposal. All of our Open Garden kits at 199€ each. Check our online shop -
    Gateway Meshlium is the Linux GW for Waspmote and Plug & Sense! devices. It counts with 8GB of internal storage and allows to connect the information to many Cloud platforms such as Axeda, Thingworks, MQTT, Telefónica, etc. It counts with many connectivity options: ethernet, WiFi, 3G, ZigBee, etc. Data is sent from Open Garden to a laptop via an USB cable or via WiFi or GPRS to the Internet.

    For more information about Libelium Waspmote product lines:

    Plug & Sense! Smart Water

    Waspmote Plug & Sense!
    Smart Water model

    Plug & Sense! Smart Agriculture

    Waspmote Plug & Sense!
    Smart Agriculture model

    For more information about the Open Source platforms check the complete tutorials:

    Open Aquarium

    Open Aquarium

    Open Garden

    Open Garden

  • New High Resolution Camera 2MP (1600 x 1200) for the 3G Shield June 9, 2014

    We are happy to announce that we have modified the 3G Shield to make it work with a much higher resolution camera. Instead of using the old 0'3MP Camera, now the 3G Shield supports a 2MP Camera, improving considerably the resolution: from 640 x 480 (VGA) to 1600 x 1200 (UXGA)!

    This allow us to take impressive photos and send them via Email, FTP or HTTP to any web server on the Internet. The 3G shield is compatible with Arduino, Raspberry Pi and Galileo, so you can choose your favourite platform to make your projects.

    The new 2MP Camera is included in the Audio / Video 3G Kit. You can also get directly the 2MP Camera here.

    Apart form the new 2MP UXGA resolution camera, there are many other interesting accessories which can be connected to the 3G module: microphones, speakers, hands free and headphones sets, SD socket to save directly all the data coming from the 3G network or recorded from the video camera...

    You can check all the components included in the kit in this photo:

    Comparative between both cameras:

    Old Camera New Camera
    Resolution: 0'3 MP
    Sensor: OV7725
    Max. resolution: 640 x 480 (VGA)
    Image area: 3984 μm x 2952 μm
    Sensitivity: 3800 mV/lux-sec
    Optical format: 1/4"
    Power: 120 mW
    Resolution: 2MP
    Sensor: OV2640
    Max. resolution: 1600 x 1200 (UXGA)
    Image area: 3590 μm x 2684 μm
    Sensitivity: 0.6 V/Lux-sec
    Optical format: 1/4"
    Power: 140 mW

    Check both resolution images. Left Click to enlarge!

    Old photo

    Old Camera Example

    New photo

    New Camera Example

    The 3G Shield for Arduino (now also compatible with Raspberry Pi and Intel Galileo boards) enables the connectivity to high speed WCDMA and HSPA cellular networks and makes possible the creation of worldwide interactivity projects inside the "Internet of Things" era. This module counts also with an internal GPS what enables the location of the device outdoors and indoors combining standard NMEA frames with mobile cell ID triangulation using both assisted-mobile (A-GPS) and mobile-based (S-GPS) modes. As an additional benefit, you can also use it as a standard 3G modem at full speed just connecting it through its specific mini-USB socket to your laptop (Linux, Windows, MacOS supported).

    NOTE: The new 2MP Camera can be used only in the last version of the 3G Shield. For more information go to the Camera section in the tutorials below:

    There are three step by step complete tutorials:

  • Linux Embedded Devices Comparison: Yun, BeagleBoard, Rascal, Raspi, Cubieboard & pcDuinoJuly 1, 2013

    Awaiting for the new release, Arduino Yun, I think it's very interesting to know more about the new linux devices in the market. There are a lot of emerging ones and many of them agree in the same feature: to be Arduino-compatible.


    Arduino was launched in 2005 and it has become in a standard as a modular platform, so all new devices want to add this feature, allowing people to use each platform as easy as Arduino.

    Some can carry Ethernet, Wifi, HDMI, NAND flash... these features change in each board we are going to compare. But all of them have GPIOs, and even an expansion board to make the port easy.

    A quick review of each one


    Arduino Yun. Arduino Yún is the combination of a classic Arduino Leonardo (based on the Atmega32U4 processor) with a Wifi system-on-a-chip running Linino (a MIPS GNU/Linux based on OpenWRT). It’s based on the ATMega32u4 microcontroller and on the Atheros AR9331, a system on a chip running Linino, a customized version of OpenWRT, the most used Linux distribution for embedded devices. Like a Leonardo, it has 14 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal oscillator and a micro USB connector.

    BeagleBoard-xM. BeagleBoard-xM delivers extra ARM ® Cortex TM -A8 MHz now at 1 GHz and extra memory with 512MB of low-power DDR RAM, enabling hobbyists, innovators and engineers to go beyond their current imagination and be inspired by the community. Designed with the community inputs in mind, this open hardware design improves upon the laptop-like performance and expandability, while keeping at hand-held power levels. Direct connectivity is supported by the on-board four-port hub with 10/100 Ethernet, while maintaining a tiny 3.25" × 3.25" footprint.

    BeagleBone A6. BeagleBone is a credit-card-sized Linux computer that connects to the Internet and runs software such as Android 4.0 and Ubuntu. With plenty of I/O and processing power for real-time analysis provided by an AM335x 720MHz ARM® processor, BeagleBone can be complemented with cape plug-in boards to augment functionality.

    Cubieboard. Cubieboard is a small (10x6cm), hacker friendly, extendable and very low-cost while powerful ARM board with Allwinner A10 SoC.

    pcDuino. pcDuino is a mini PC platform that runs PC like OS such as Ubuntu and Android ICS. It outputs screen to HDMI. Moreover, it has hardware headers interface compatible with Arduino.

    RascalMicro. The Rascal is a small computer that you can use to monitor and control the world remotely. The Rascal is powerful enough to handle real web traffic, but you don't have to be a professional electrical engineer to use one. The Rascal has its own web-based editor on board, it works with most Arduino shields, and you can program it in Python.

    Raspberry Pi. The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.

    Which one should I choose?

    As I said in my previous post, comparing Arduino Yun and Raspberry Pi, it depends of your final purpose:

    miniPC: if you are looking for a portable PC with HDMI connection, there are 4 options in the table: BeagleBoard-xM, Cubieboard, pcDuino and Raspberry Pi, but Raspberry Pi allows to use a RCA output if your TV doesn't support HDMI connection. You can run a Linux distro, but you will need more RAM, depending of the use of your computer. In this case, you can choose between 1Gb (Cubieboard, pcDuino) or 512Mb (Raspberry Pi, BeagleBoard-xM). Regarding to the storage, Cubieboard has 4Gb NAND flash so you can take advantage of this feature instead of using an external storage. BeagleBoard-xM would be the most complete among them, with more I/O connectors for A/V: camera, S-Video, Audio (play, record)... Raspberry Pi and Rascal Micro would be the next but, if the price is one of the most valuable variables, Raspberry Pi would win.

    Arduino compatible: if you are looking for a direct Arduino compatible device, there are 5 options. The first one, Arduino Yun. It is the only one with embedded WiFi connection. It has a MIPS-based Wi-Fi SoC running Linino (similar to OpenWRT) so you can control the web server with this device and use it as a common Arduino (with the Digital/Analog I/Os). Rascal Micro and pcDuino have the same Arduino sockets so you will be able to plug any Arduino shield directly. There are some expansion shields or bridges for the other platforms, like the Raspberry Pi to Arduino Shields Connection Bridge. In this case, I'd choose Arduino Yun. Nice device which derives the complex control of WiFi connection through a Linux distro and combines it with the easy programming of the common GPIOs.

    Here you can find a comparison between the boards:

    Name Arduino Yun BeagleBoard-xM BeagleBone A6 Cubieboard pcDuino Rascal Micro Raspberry Pi Model B
    Price $69,00 $201,00 $89,00 $49,00 $60,00 $199,00 $35,00
    Processor ATMega32u4 16 MHz ARM Cortex-A8 1 GHz TI AM3359 ARM Cortex-A8 720 MHz Allwinner 1 GHz ARM Cortex-A8 1 GHz ARM Cortex A8 CPU AT91SAM9G20 ARM926EJ/S @ 400 MHz BCM2835 ARM11 700 MHz
    Graphics N/A C64x, DSP core LCD Mali-400 OpenGL ES2.0, OpenVG 1.1 Mali 400 core N/A Broadcom VideoCore IV
    RAM 2.5KB 512 MB LPDDR 256 MB DDR2 512M/1GB DDR3 @ 480 MHz 1 GB DRAM 64 MB 512 MB
    Storage 32 KB flash 4 GB flash (microSD) 4 GB flash (microSD) 4 GB NAND flash 2GB Flash microSD card SD Card
    Size 2.7” x 2.1” 3.25” × 3.25” 3.4” × 2.1” 3.94” x 2.4” 4.93” x 2.05” 2” x 4” 3.37” × 2.125”
    Input Voltage 5V 5V 5 V 5V 5V 5 V 5 V
    Interfaces Digital GPIO 14 RS232, I2Cm I2S, SPI, GPIO GPIO I2C UART SPI CAN I2C, SPI, IR Digital GPIO 14 Digital GPIO 14 GPIO, UART, I²C, SPI
    USB 2.0 microUSB, USB Yes (4) Yes Yes (2) microUSB, USB Yes (2) Yes
    USB Device USB Host Client, Host Client,Host Host Client,Host USB Host USB Host
    Storage Slots microSD microSD MicroSD microSD microSD microSD SD
    Ethernet Yes Yes Yes Yes Yes Yes Yes
    Wi-Fi Yes, Atheros AR9331 MIPS-based Wi-Fi SoC running Linino, No No No No No No
    Mic In No Yes No No No No No
    Audio Out No Yes No Yes No Pins for I2S Yes
    Analog In 12 Yes Yes No 12 4 Yes
    Analog Out 7 (PWM) Yes 8 (PWM) Yes 6 (PWM) 7 (PWM) Yes
    HDMI No DVI-D No Yes Yes No Yes
    Other Video Out No Camera, SVIDEO No No No No RCA


    David Bordonada
    Cooking Hacks Team

  • Comparative - The Light-Emitting Diode (LED)November 7, 2012

    [Versión en Español] by Arduteka

    We can explain many things abouts LEDs, but in this comparative we are going to help you to discover a big variety of them and their characteristics. With this, you will be able to find the perfect model to include it in your project. Take advantage in your Arduino or Raspberry Pi projects using the best choice.

    Small LEDs, big LEDs, RGB LEDs, LED Matrix... The list can be huge and if you have any question about them and their uses... This is the comparative you need!

    Firstly, we have to remember the internal structure of a LED in THIS TUTORIAL. In addition, we can learn in it what is a LED and how to connect it to our Arduino or to other circuits.


    This type of LED is the most common that we will be able to find. There are several colors like blue, green, red or yellow.

    The correct polarization of these diodes is performed following a simple rule, the LONGEST pin goes to positive and the short one to the negative.

    We will frequently use them in our projects to indicate a state, but the use that we want to give to them will always depend on our creativity!




    Following with the previous package style, there are others types like the  RGB LEDs, this abbreviation means “Red-Green-Blue”. These diodes work like three LEDs inside the same package. Due to this, we can variate their intensities individually allowing us to “mix” their colors. We can get  almost any color we want!

    The main thing that we must consider is that there are two types of RGD LEDs: common anode (the internal LEDs share the positive) and common cathode (they share the negative). It is very important to polarize them.
    The best way to use the  RGB LEDs is to connect each color to a PWM output of our Arduino. So that we will have 255 levels in each color.
    Here you have an example in which the RGB LED shows its colors.



    #define PINROJO 5
    #define PINVERDE 6
    #define PINAZUL 3
    void setup() {
      pinMode(PINROJO, OUTPUT);
      pinMode(PINVERDE, OUTPUT);
      pinMode(PINAZUL, OUTPUT);
    void loop() {
      int r, v, a;
      // azul a violeta
      for (r = 0; r < 256; r++) {
        analogWrite(PINROJO, r);
      // violeta a rojo
      for (a = 255; a > 0; a--) {
        analogWrite(PINAZUL, a);
      // rojo a amarillo
      for (v = 0; v < 256; v++) {
        analogWrite(PINVERDE, v);
      // amarillo a verde
      for (r = 255; r > 0; r--) {
        analogWrite(PINROJO, r);
      // verde a azul
      for (a = 0; a < 256; a++) {
        analogWrite(PINAZUL, a);
      // cian a azul
      for (v = 255; v > 0; v--) {
        analogWrite(PINVERDE, v);


    Light Pipe

    The LEDs shown can be joined to a light pipe using an adapter and we will obtain very visual results. You can watch it in the next video.

    To obtain this result, we can use the code shown before and with this adapter, we will join the RGB led to the light pipe.


    High Luminosity LED

    We can also find some diodes with a similar package but slightly larger (10mm). That's why, they are going to provide us with a higher luminosity than the LEDs mentioned above.

    While a normal LED gives 800 or 900 mcd (millicandelas), these  high luminosity LEDs are going to give us between 10000 and 12000 mcd. If we want to draw attention in an Arduino project, we will use them!!

    In addition, so much brightness generates a higher consumption than a normal LED. They can consume 80mA, for this reason we have to remember that our Arduino outputs can support a maximum of 40 mA. That's why we have to adapt our circuit using a transistor.




    LED Matrix

    A LED matrix is a big quantity of LEDs inside the same package in which there are 8 columns of anodes of 8 diodes interconnected and the cathodes are in 8 rows (or vice versa, there are many models). That's why it is a matrix of pixels, and each pixel is the intersection of a row and a column.

    When we speak about an 8x8 or 7x5 matrix, we are saying that the matrix has “rows x columns”. That's why a 8x8 LED matrix is a matrix with 64 LEDs. Let's see the connections diagram of an one color 8x8 matrix with cathodes in rows and anodes in columns.

    First of all, we have to difference between the numbers of the PINS and the numbers of the rows and columns. On one hand, the part that we will connect to our Arduino is the number of the pin. On the other hand, the other numbers are the reference to find a particular LED (pixel).

    You must always read the datasheet of the LED matrix because the same component of different manufacturers probably will have different connections. As we have mentioned, there are matrix of one color and we can find  bicolor LED matrix or even a RGB LED matrix!! If you want to use the last two matrix, you have a driver called  RAINBOWDUINO, a circuit based on the ATMEGA 328 that is going to make easier the integration of these matrix in our projects.

    In THIS EXAMPLE you can learn how to connect a bicolor LEDs matrix in our Arduino!


    Gauge Bar (LED Bar)

    There are other types of encapsulated LEDs but they are not arranged in a matrix. We can highlight the LED gauge bars.

    These LED bars will allow us to display levels in a very clearly way. We will be able to measure temperature, sound, pressure or other sensors that we can connect to our Arduino!

    In addition, due to the rectangular shape, you can connect as many as you want. If you do this, you will have more than 10 levels to use.

    Now you have all the necessary components to make a VUMETER with frequency cuts in our Arduino!





    7-Segment LEDs

    Finally, we are going to review other type of LEDs. They are encapsulated in a package that we can see in many places. We are speaking about the 7-Segment digits!

    From the turn in your supermarket to the numbers in the elevators. We can find them in several places and applications where the display of one or more digits is necessary. That's why they can be very important in many of our Arduino projects!

    To start with, we have the basic 7-Segment LED. They are called of 7 segments because they have 7 bars that can be illuminated. Although we can find them with a point too.

    The connection of this component is very simple, each segment is a LED with an anode and cathode. It is very easy!

    The only thing we have to think about is the pin-out of the digit that we have acquired. For example, reading the datasheet, the pin-out of this 7-Segment LED is:

    This digit is the most standard of all, it can be found in different sizes and colors. As evidence, we can buy giant numbers like this, it is 15 centimeter high! Certainly, we can make very spectacular projects with something like this in our hands.

    If we need for our Arduino projects several digits. It has integrated 4 digits of 7 segments with their points of separation!

    They are perfect for us to make a clock, a counter or similar projects.

    And this is not all, if we want to make a panel like in “back to the future”...


    There are in the market 8 digits shields like this that can be connected in serial. Each module has one shift register for each digit and we can communicate with it using the SPI through the ICSP port of our Arduino!


    On THIS page, we will find all the necessary information to use this shield and some sample codes.

    Finally, if we want absolute simplicity, we have available the DIGIT SHIELD for our Arduino.

    We are going to control it very easily with THIS LIBRARY to our Arduino. It has some basic samples and these functions:

    DigitShield.begin() : Start the Digit Shield. This is necessary in the setup.
    DigitShield.setValue(int value) : It shows an int value in the display.
    DigitShield.setValue(double value) : It shows a double value in the display.
    DigitShield.setPrecision(int decimalPlaces) : It specifies the number of decimal that you want to use.
    DigitShield.setLeadingZeros(boolean b) : It specifies to display numbers with leading zeros (default false).
    DigitShield.setBlank(boolean b) : It allows to blank the screen completely. False to turn on the screen again..
    DigitShield.setDigit(int d, int n) : It sets a value “d” in the digit “n”. The digits are numbered 1-4 from left to right.
    DigitShield.setDecimalPoint(int d, boolean on) : Switch on or off the decimal point.

    I hope that this comparative will help you to choose which LED is the most appropriate for your Arduino projects and it has taught you to use new components.

    See you soon!!

    Source: Arduteka

  • Comparative: Push Buttons, Arcade Buttons and KeypadsOctober 3, 2012

    [Spanish Version]

    Welcome to a new section in Cooking Hacks. As you can see in our Blog, we have added a main menu in order to offer an easier navigation. You will have a Comparative section in this menu where you will be able to find some interesting comparisons between products you can use in your projects. We hope you find it useful. Enjoy it!

    In this first comparative, we are going to discover the most common buttons that we will be able to use in our Arduino projects, from the small push-button to the keypads or arcade buttons. Here you can find all the necessary information to include them in your next hack!

    First, before analyzing the different types, you can remember in this tutorial how to connect a button to your Arduino using pull-up or pull-down resistors to avoid reading errors and a small example in which you can switch on a LED.


    Button Switches for PCB

    These buttons are commonly used in projects that we mount in a PCB (Printed Circuit Board), or in a Protoboard for those quick projects (prototypes) where they are needed. They are characterized by a small size and they are normally used for voltages under 12V.

    The main types that can be found are:

    • Mini push button Switch-6mm: It is the smallest one with only 6mm square and with an immediate action (the circuit is closed only when the button is pressed). In the next image we can see its internal connections; they will be repeated in almost all the push button switches. Although there are four pins, it doesn't mean that it has two internal contacts. It means that we have the same contact in two different places. A trick to remember the common pins is to observe which ones are faced; if yes, they are communicated!

    • Push button Switch-12mm: It is exactly the same than the previous one but with a difference: the size is twice than the other (12mm square). If we have a project where we have to push many times, it will make this action easier.
    • Push button Switch 12mm with LED: It has the same size than the previous one but with a integrated LED Diode. This LED can give us many good experiences in our Arduino projects, because we can activate or deactivate it with a resistor and a digital signal. Do you dare to make a replica of the old SIMON game? The negative terminal of the diode will be plugged in the BN screen-printed pin and the positive in pin number 10. In addition, there is a Breakout Board ready to solder and integrate them in a very elegant way in your hacks!

    Arcade push-buttons

    This kind of push-buttons are perfect for your projects which require an intensive use. They are similar to those that, some time ago, were used for playing in those forgotten arcade, where your social status depended on your speed pushing buttons.

    We can found them in two versions:

    • Simple Push-Button 33m: A simple contact that we can use, like the previous buttons, with our Arduino. But, if we need working with higher currents, this kind of buttons allow us a 24A! More than necessary  to our hacks!
    • Double contact button 33mm: Similar in appearance to the previous one, but with a double contact. If the button isn't pressed, we have the contact between COMmon and NC (normally closed). When we push it, the contact between common and NO (normally open) will be closed and the contact between common and NC will be opened. If we connect the common pin to our Arduino board, the NC pin to 0v and NO to 5v, we won't need a pull-down resistor to maintain stable the entry without false readings!


    Touch sensors

    The next  touch sensor that we show you is a capacitive one. This means that it is made by some sheets making as a capacitor whose capacitance  is altered approaching  a non metal object. When this capacitance exceeds a limit, a small controller makes as a switch allowing the current flow between the two terminals.

    In this example, we can see a  Touch Sensor with a Twig connector.

    A place where we can usually found them is in cook-tops or in our iPod!! It will be a key player as show its integration under a glass or other insulating material. They will still work touching the surface! Why can't we make an alarm control integrated in a mirror?


    Panel push-buttons

    This kind of push-buttons are normally used for mounting in boxes, control panels even like switches using push-buttons with lock state. Their strength and easy assembly due to their screwed body, make them the most durable in a daily use.

    We can find several types:

    • Momentary push-button: It holds its state only when we push it.
    • Locking push-button: It will change its state each time that we push it. When we press it once the contact will be closed and, until we push it again, it won't be opened.
    • Illuminated push-button with interlocking: This kind of push-buttons have a very attractive design. As well as a luminous ring around the button, they have a double contact like in an arcade button. The button we have shown in this example is waterproof it can work perfectly in damp places. The luminous ring can be connected to 5v to 12v DC with a resistor to control its intensity.



    The Keypads are very useful to control our projects. Making an infinite list of applications, like using them to enter passwords in an alarm, or as  a dialer with a 3G shield.

    In this comparative we are going to study two types: a numeric keypad and a board with five buttons that we can control with only an Arduino output!!

    We start with the numeric keypad.

    To bring it into operation is very easy. A keypad is a connection-matrix arranged in rows and columns, from left to right and from up to down. That's why, if we press the number one, we connect the first row with the first column. If we press the number 0, we connect the fourth row with the second column... we can see it in the next picture:

    The pins configuration is very easy: from left to right, you'll have the rows first and then the columns. It's possible that the configuration between keypads changed, that's why it is recommendable using a multimeter in continuity mode and observe in which terminals there is an union when we push a key.

    In order to manage the combinations, we have the library  keypad.h: it's going to help us with programming. Here you can see an example about its uses and how to configure it.

    Let's see the second type of Keypads.

    The main problem of KeyPad is the big quantity of pins that they use. To solve this, if we have few free pins in our Arduino, we will have other useful keyboards. The first we have mentioned needs eight digital inputs, something difficult to do in some projects, that's why we have the ADKeyboard!!

    ADKeyboard is a keyboard with 5 buttons that uses only one analog input for all of them! This is possible because, depending on the button we're pushing,  it will use one, two or more resistors changing the input voltage. It can be interpreted using a code in our Arduino.

    Here you have an example of how to filter a signal to interpret which button  is activated in each moment. We also share a link to this tutorial where we can view how to read an analog input and how to convert an analog voltage to a digital value using the 10 bits analog/digital converter that Arduino has.

    I hope you like this first comparative!

    See you soon!!

    //ADKeyboard Module
    //Developed by
    //Last modified 30/11/2011
    //Version 1.0
    int adc_key_val[5] ={50, 200, 400, 600, 800 };
    int NUM_KEYS = 5;
    int adc_key_in;
    int key=-1;
    int oldkey=-1;
    void setup()
      pinMode(13, OUTPUT);  //we'll use the debug LED to output a heartbeat
      Serial.begin(9600); // 9600 bps
    void loop()
      adc_key_in = analogRead(0);    // read the value from the sensor
      key = get_key(adc_key_in);  // convert into key press
      if (key != oldkey)   // if keypress is detected
        delay(50);  // wait for debounce time
        adc_key_in = analogRead(0);    // read the value from the sensor
        key = get_key(adc_key_in);    // convert into key press
        if (key != oldkey)
          oldkey = key;
          if (key >=0){
               case 0:Serial.println("S1 OK");
               case 1:Serial.println("S2 OK");
               case 2:Serial.println("S3 OK");
               case 3:Serial.println("S4 OK");
               case 4:Serial.println("S5 OK");
    // Convert ADC value to key number
    int get_key(unsigned int input)
        int k;
        for (k = 0; k < NUM_KEYS; k++)
          if (input < adc_key_val[k])
                return k;
           if (k >= NUM_KEYS)k = -1;  // No valid key pressed
           return k;

    Source: Arduteka

6 Item(s)