Thursday, May 6, 2010

New version of Wiseduino

The new Wiseduino board offers several improvements (I would like to think) over the old one:
  • prototyping area, with pads for an 8-pin SOIC chip; this part can be sawed off along the fine holes, to match the dimensions of a small shield (and of the previous version); the intention was for this piece to be broken off by hand, but the PCB is too thick to make this possible;
  • two mounting holes for screws/standoffs;
  • power (5V) provided through the FTDI connector as well;
  • through-hole power switch.



The prototyping area can be used to add buttons, buzzer, LEDs, or even a voltage regulator.

Eagle files are available: schematic hereboard here.

Related posts:

Saturday, May 1, 2010

Prototype of an analog clock with LEDs

Inspired by Makerbot Watch, I designed my own version of an analog clock with LEDs.

The prototype uses a Wiseduino with DS1337 and a protoshield with 24 SMD LEDs.
Physically, on the board, the LEDs are placed in 2 "rings" of 12, the outside ring designated for minutes (red LEDs), the inside one for hours (green LEDs).



In the circuit, the LEDs are organized as a matrix of 5x5, as shown below.



The challenge is to display the time in an intuitive manner. For example, an analog clock moves its hour hand proportionally with the minutes. This is hard to achieve with relatively few stationary LEDs. Tricks need to be "invented" and even those may not be enough for an "accurate" display. Watch this video and let me know if what's shown is intelligible as a clock reading.




As seen in the video, the time is shown after the button is pressed. There are two reasons for that:
  • since LEDs are the biggest consumers on this board, try to light them up only when necessary;
  • for counting the flashing minutes there should be a start moment, and this is what the button provides.

Since this project will eventually evolve into a wrist-watch, a very important aspect is the power consumption.
Here are a few numbers so far (idle current/current with LEDs on):
  1. normal loop, with no sleep: 4.7mA/12.2mA
  2. "unoptimized" sleep mode most of the time: 0.13mA/12.2mA
  3. "optimized" sleep mode: (to be completed)

To be practical as a watch, it will need a way to set up the time, which may require a second button (plus software, of course, to navigate the hours and the minutes).

Optionally, the watch may also have an alarm. This feature would require a small buzzer (plus, again, software to set up the alarm time and to activate the sound). The board size will be bigger and current consumption will be greater.


Somewhat similar projects on the interwebs (both featuring Microchip microcontrollers):

Sunday, April 18, 2010

SMT kits

My friend Charley, the author of Intruderchron software for the adafruit's Monochron clock, sent me this SMTCylon kit he sells through his web site. It is an SMD-only kit, that is, all components are surface mounted.

Although I soldered SMDs before, this was the first time I built an entire kit made of SMDs.
As challenging as it looks at first sight, after warming up by soldering a few LEDs, one may be inclined to give up through-hole soldering altogether. Soldering SMDs is not as scary as it sounds once one gets the technique, described in 4 steps: "wet" one pad, place the SMD on its pads, solder one terminal to the "wet" pad, then solder the other terminal.

The step-by-step tutorial for assembling the "SMTCylon" is very good, in the adafruit style, with lots of photos. Assembling takes about half an hour. The attiny microcontroller comes already programmed.

I highly recommend this kit as a great introduction to SMD soldering. And after the soldering fun was over (with absolutely no glitches), the playing fun started. I am thinking of incorporating the small board into a bigger project.

Friday, April 16, 2010

New features in the latest "Wise Clock 2" software

A week ago I received a version of the Wise Clock 2 code, improved and enhanced by MarkS. This library is posted here as well (together with the others, for historical reasons, let's say).

The new features implemented by Mark are:
  • ability to set the time through the buttons (instead of only through teh time.txt file on the SD card) ;
  • when setting the time, either current or alarm, the part (hours or minutes) being set is blinking;
  • time is displayed in either 12 or 24 hour format, as chosen through a menu option.
Mark also created a set of core files for Duino644 board, which can be used instead of the Sanguino core files.
Starting from Mark's changes, I restructured the latest code a bit, trying, in a hurry, an object-oriented approach. I also implemented a couple of new features:
  • quotes.txt now allows for lines to be commented out, so they don't get displayed;
  • a personalized message (e.g. "Happy birthday!", "Merry Christmas"), defined by the user in a file on SD card, can now be displayed between quotations, similar to the date.
This latest "Wise Clock 2" library is a lot of header and cpp files, some of them containing just straight C functions (HT1632.cpp, for example), some of them containing class definitions.
In the new library, Wise4Sure.pde has become very light and streamlined. The clock's functionality is now "encapsulated" in aptly named (I hope) files. Macrodefinitions are now scattered through the files, somewhat intuitively. For example, the macro _GREEN_DISPLAY_ is now found in HT1632.h file, which only deals with the display. (The ht1632 code is still the old bunch of C functions, no class at the moment.)
The OO Wise Clock 2 library can be downloaded from the same place as the others, here.

Thursday, April 8, 2010

Countdown timer prototype

While waiting for an 8MHz resonator to finish a previous project and post the result, I put together a prototype of a countdown timer that shows the time passing by changing the display color from green, through orange, to red.

This is just a different way to display information, color versus digits, similar to analog vs digital speedometer, if you will.



The timer is built with an Arduino Diecimila (with ATmega168) and the LED matrix shield.