Jan 292014


odrive makes file servers useful again

odrive installs on your Windows or Mac file server. You invite users to link to your server with a simple email. Invitees get an instant-on desktop folder that keeps them connected to their content.

3 db website images
odrive lets you quickly browse entire directories of your storage and sync the files you need with a double click. Once your content is synced, you can access everything anytime, even when you’re offline! odrive keeps you up-to-date whether you’ve update the file on another machine or if you’re collaborating with others.

 Posted by at 8:17 am
Jan 192014


Driving a pair of 7 segments display with MSP430 Energia libraries

2013-03-18 — Category: Arduino , MSP430 MCU , Programmazione


This is my second experiment with Energia LaunchPad boards. This time I wanted to see how difficult could be to adapt for the LaunchPad a program which I originally developed for Arduino.

If are interested in how I did setup my Linux box for working with the LaunchPad and the Energia libraries, I’ve described the whole process in this post.

It turned out to be quite easy and the program needed only a few pin configuration changes.

Here is a link to the breadboard schema:



The code:

 Posted by at 8:56 am
Jan 192014


Arduino and 7 Segment LED




7 Segment LED7 Segment LED


Click here to like us on Facebook!


How many TV shows and movies have you seen with some mysterious electronic device counting down to zero on one of those 7 segment LED displays?  If we were in that situation, we would be thinking:


“Wow, where did they get that in cool blue?  They are usually red.”

“I wonder if it has a common anode or cathode?”

“That would take up a lot of IO pins on an Arduino.”



The seven segment display is a pretty simple device.  It is actually 8 LEDs (the decimal point is the 8th). It can be arranged so that different combinations can be used to make numerical digits.  This tutorial will show you how to wire one up and drive it with an Arduino.


Video Demo of Arduino 7 Segment LED


* This tutorial has been updated with info for our new common cathode, seven segment LEDs *



Hardware used in this tutorial:

Arduino board, Solderless breadboard, jumper wires, and the blue or red seven segment LED.





If this is your first Arduino project, first go through our “Arduino: Getting Started” and “Beginning Solderless Breadboards” tutorials.



Use our LED resistor calculator to calculate the resistor value that won’t destroy your LED!  Connecting these LEDs directly to Arduino IO pins will eventually burn them out!  Connect LED pins 3 and 8 to GND.  Use a resistor between each of the other connections to your Arduino.


Here are the pin mappings of the display, note that common anode displays will have reversed wiring:



LED Diagramseven segment led pinsseven segment led diagram



Use your solderless breadboard to make the connections between the seven segment LED and your Arduino board:


Arduino Pin 7 Segment Pin Connection
 2 7 (A)
 3 6 (B)
 4 4 (C)
 5 2 (D)
 6 1 (E)
 7 9 (F)
 8  10 (G)
 9 5 (DP)






This Arduino software example counts down from 9 to 0.  This is a nice, compact version that uses a 2 dimensional array to hold the LED bit patterns, and “for” loops to get things done.  If you want a longer, more verbose method, scroll down for that.



// Arduino 7 segment display example software
// http://www.hacktronics.com/Tutorials/arduino-and-7-segment-led.html
// License: http://www.opensource.org/licenses/mit-license.php (Go crazy)


// Define the LED digit patters, from 0 – 9
// Note that these patterns are for common cathode displays
// For common anode displays, change the 1’s to 0’s and 0’s to 1’s
// 1 = LED on, 0 = LED off, in this order:

//                                    Arduino pin: 2,3,4,5,6,7,8
byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 },  // = 0
{ 0,1,1,0,0,0,0 },  // = 1
{ 1,1,0,1,1,0,1 },  // = 2
{ 1,1,1,1,0,0,1 },  // = 3
{ 0,1,1,0,0,1,1 },  // = 4
{ 1,0,1,1,0,1,1 },  // = 5
{ 1,0,1,1,1,1,1 },  // = 6
{ 1,1,1,0,0,0,0 },  // = 7
{ 1,1,1,1,1,1,1 },  // = 8
{ 1,1,1,0,0,1,1 }   // = 9

void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
writeDot(0);  // start with the “dot” off

void writeDot(byte dot) {
digitalWrite(9, dot);

void sevenSegWrite(byte digit) {
byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);

void loop() {
for (byte count = 10; count > 0; –count) {
sevenSegWrite(count – 1);



 Posted by at 7:51 am
Jan 192014



Texas Insturments LaunchPad MSP430

What is LaunchPad?

LaunchPad is a prototyping board from Texas Instruments, for developing Texas instruments microcontrolers(MCU) MSP430G2XXX applications. MSP430G2XXX are one of the cheapest low power 16bit MCUs, also LaunchPad is one of the cheapest prototyping boards on the market, so this is the reason we are using it in the wlan slovenija project. It also runs at the same voltage level as most of routers(3.3V-3.6V).


The PCB is made from good quality 1.5mm thick double sided PCB, with red soldermask. Holes and pads are metalized and tinned. All the components are on the top side. The PCB has 4 rubber stick pads on the bottom, whitch make it sit nicely on a flat surface. The PCB is made from two main parts, the emulation and the prototyping.

The prototyping part is where the target MCU is.

 Posted by at 7:46 am
Jan 182014


Embedded Systems Code Sharing > Delay for MSP430

Delay for MSP430

Language: C

Processor: TI MSP430

Submitted by dilrajn on Mar 12 2013

Licensed under a Creative Commons Attribution 3.0 Unported License

Delay for MSP430


This code contains the functions for configure internal oscillator and delay functions for milli second and microsecond

 Posted by at 6:49 am
Jan 062014



MSP430 Example: Sleeping, Timers, and the Low-Frequency Clock

A key to getting good power performance out of an MSP430 application is good use of timers and hardware interrupts. Because a sleeping processor with stopped clocks uses several orders of magnitude less energy than a running processor (0.7µA in LPM3 sleep using the internal low-speed oscillator versus 300µA for 1MHz active computation on a MSP430G2xxx value line processor), sleeping for long periods of time can extend battery-powered applications’ effective battery life by months or even years. Simply suspending the processing core (without stopping any clocks) reduces current consumption by almost an order of magnitude!

With this in mind, we will explore a typical blinkenlights example which does nothing but flash an LED at approximately 0.5Hz (one second on, one second off), using the internal very low power low-frequency oscillator (VLO) or external low-frequency watch crystal for timings. An external watch crystal will slightly increase current consumption but greatly improve timing accuracy, at the expense of one external component and the loss of two I/O pins.

The device-specific sections of this page pertain to the MSP430G2xxx value line parts, but are also applicable to many other MSP430 devices. The example code has been successfully run on a Launchpad development board and an eZ430-F2013.

Example code

Example source code to go with this tutorial can be found in the Mercurial repository msp430-examples/slow_timer on this server. The salient C file, slow_timer.c is available for individual download while reading this article. Details not relevant to the timer interrupt operation are left out of this article, so the source (or other examples on this site, as they are filled in) should be consulted to clear these up.

 Posted by at 8:30 pm
Jan 052014


Interrupt concept and Low Power Modes (LPM)


I had  written about hardware interrupts earlier. Now I’ll write about interrupts in general. How to write program to enable interrupts and handle those. Basically there are two types of interrupts.

  • Hardware Interrupts
  • Software Interrupts

As the name suggests hardware interrupts are given on the pins of the controller. An example of this can be found in by blog post.

 Posted by at 9:02 am
Jan 032014



Bibliothèque RTC pour le MSP430


Le micro-contrôleur MSP430G2553 de Texas Instruments livrés avec le LaunchPad dispose de tout le nécessaire pour en faire une horloge temps-réel (RTC). Il suffit de lui connecter un quartz 32KHz et de le programmer convenablement.

TI donne les librairies en assembleur utilisable avec leur environnement de développement. Pour Energia, une nouvelle librairie était nécessaire, je me suis donc attelé à sa conception.

Rien de révolutionnaire, mais ça peut servir à d’autres. C’est sur cette librairie qu’est basée ma balise autonome WSPR que je compte proposer en semi-kit d’ici peu (certainement à mon retour de vacances début juillet). D’origine la dérive en fréquence est de l’ordre du Hertz pour 24 heures (20ppm) ce qui suffit pour une nuit de transmission WSPR, mais peut-être ajustée avec un condensateur variable pour corriger la fréquence du quartz.

Le fichier d’en-têtes (sRTCsec.h) :

 sRTC.h - Library for adding simple RTC capabilities using MSP430 hardware
 By Yannick DEVOS (XV4Y) - 2012
 Posted by at 1:48 pm
Jan 012014


Software Real Time Clock (RTC) – two methods

Started by oPossum , Mar 22 2012 12:28 PM


  • Please log in to reply
10 replies to this topic

#1 oPossum

Poke me with a Stick

  • Members
  • 811 posts
  • LocationMichigan, USA

Posted 22 March 2012 – 12:28 PM

The Launchpad comes with a 32.768 kHz crystal that can be used when timing more precise than the DCO is needed. The crystal frequency is useful for simple timing tasks, such as a RTC, because it is a power of 2. That allows a simple cascade of 15 flip-flops to create a 1 pulse per second time base. It is common for microcontroller timers to have prescalers, postscalers and/or preset divisors that are simply a tap on the flip-flip chain. The watchdog timer in the MSP430 is an example of a timer with power of 2 presets (64, 512, 8192, 32768). TimerA units have a prescaler with power of 2 presets (1, 2, 4, 8).

The sample code in this post uses the watchdog timer to create an interrupt that occurs once per second. TimerA can also be used to do this. One of the advantages of using TimerA is the ability to change the preset +/- 1 every N cycles to allow for calibration and temperature compensation of the crystal. I chose to use the watchdog timer so that TimerA was free to be used for alarm tones or PWM backlight control.

 Posted by at 10:39 pm
Jan 012014


Getting Started with ArduBlock

DOWNLOAD Ardublock

1.Download ardublock-all.jar ArduBlock

2. In Arduino IDE, open menu “Arduino” -> “Preferences”

3. Find “Sketchbook location:”

  • In Mac, it’s by default “Documents/Arduino” under user’s home directory
  • In Linux, it’s by default “sketchbook” under user’s home directory
  • In Windows, it’s by default “Documents\Arduino” under user’s home directory
 Posted by at 11:04 am