Showing posts with label DWex. Show all posts
Showing posts with label DWex. Show all posts

Monday, April 22, 2019

Hacking DWex into combo analog-digital clock

DWex, my forgotten watch, was not a successful project, probably because I rushed its design, I spent more money on it than I planned and I did not follow up with revisions. DWex was also not offered as a kit, but as an assembled board with SMD components, not easily hackable or expandable, pretty much a dead end from hardware perspective. Its idea is still sound though, after so many years: mostly sleep, to conserve battery, then, at a press of a button, flicker some LEDs to indicate the time.

This rainy Easter weekend I stumbled upon the few DWex boards I still have, and they brought back memories. One thought lead to another, and I found myself, characteristically (I am the "penny wise, pound foolish"- kind), soldering around once again. So here I am, writing another useless post, about another useless project, on how to convert time, money and energy into joy, sometimes mixed with frustration, when things don't work on the first try (as it's usually the case).

DWex is equivalent to a smaller wsduino (ATmega328 + RTC), with 24 LEDs. Why not recycle it into something physically "bigger", by adding extras (alphanumeric display, micro switches, ESP8266, OLED etc.)?
The design of the DWex board has a few peculiarities:
  • RTC chip is DS1337, with support for alarms;
  • the on-board CR2025 3V battery powers the whole watch, not only the RTC (there is no time keeping without a battery);
  • FTDI connector does not have Vcc wired, relying instead on the battery to power the processor while uploading the sketch;
  • the ATmega328 processor is clocked with an external 8MHz crystal, thus making the board compatible with LilyPad 328;
  • pins available are D11, D12 and D13, all broken out on the ISP connector (unused are also D2 and D10, but they would need to be wired directly from the processor's pins);
  • features only one button.
But the most particular aspect of DWex is the way it shows the time on the analog round face, by blinking LEDs on request (button push). This is actually not suitable for continuous display, simply because it is confusing to make sense of non-stop blinking LEDs.
OK, so enough complaining. Here is what we plan to do:
  • add a 4-digit alphanumeric Adafruit I2C 0.54" display;
  • add ESP8266 module to sync the clock on NTP;
  • add toggle switch for setting up wifi parameters (for ESP8266);
  • use RTC's alarm capability; add toggle switch and buzzer (or other audio module) for alarm mode;
  • add OLED (I2C) for displaying messages, info etc;
  • modify the software, a combination of DWex and WiFiChron, to support all of the above features, plus change the way the time is shown on the analog face (no more sleep, no button press to show the time);
  • add "seconds" mode, on the digital display;
  • maybe adapt the 8-character-based menu system from WiFiChron to 4-character (by showing only the first 1 or 2 letters of the menu);
  • add 3V3/500mA regulator to the board.


This will be a work-in-progress for a while, especially on the software (which I will publish later).

Wednesday, May 30, 2012

DWex mod

From Gerard:

Hi Florin,
I had some spare time and moved on with the software mods on the DWex.
The mods are:
- display is always on (means you need to power by NiMH or wall supply)
- small animation after reset (test all the LED's)
- small animation at full 5' (solid) minutes
Feel free to distribute/publish the mods if you feel appropriate.
Best Regards
gerard, DL8SEL


The sketch is available for download here.

Thank you Gerard. Keep up the great work!

Tuesday, June 21, 2011

My impressions of Lunatik + iPod Nano

For my pledge for Lunatik on kickstarter, I got two different watch kits that can transform iPod Nanos into wrist watches. Here they are, in their original packages, as I received them. One is plastic (TikTok), the other, the cooler one, is aluminum (Lunatik), both with rubber straps.















One of my motivations for the pledge was to get a re-usable watch case. I still wishfully think that I can make DWex (or any future watch I may make, for that matter) in the form factor of a Nano, so it can be used with Lunatik or TikTok (or other iPod Nano case/wrist band for that matter). But until then, I am going to use it for its intended purpose.

I have been wearing the Lunatik watch for several months now, so I had enough time to form an opinion.
A few impressions that come to mind, in no particular order:
  • stunning design (I find it); sometimes I look at the watch without checking the time;
  • there is a (sometimes annoying, depending on my mood) delay between the touch of the screen and the moment the watch actually displays the time (waking up from sleep mode, in microcontroller speak); but this is a function of the iPod nano and not of the Lunatik;
  • the free end of the rubber strap sometimes pops up from the metal "strap keeper" rather easily (especially when accidentally touching the desk, for example);
  • when new, the rubber strap has a strong odor; it goes away after a couple of days;
  • when used only as watch, iPod Nano would require charging just once a week.

Overall, I am very pleased with my Lunatik watch. As everybody knows, iPod Nano is more than a watch. I am actually carrying a small computer on my wrist. It definitely attracts attention :)



















The problem with any iPod/iPad-related gadget is that they will eventually get thrown away with the iPods/iPads themselves. There is little chance that the gadget will fit a newer generation of the Apple product, so there is little chance that it can be re-used. That is, don't expect Lunatik to fit the next generation of iPod Nano, 'cause it probably won't. Well, good for the manufacturer, not so good for the consumer. Still, Lunatik will make a nice conversation piece even when it will be on display in the "personal museum".

Thursday, October 7, 2010

DWex is here! Real and ready!

Thank you for 17 days of unbelievable patience.
I will ship all outstanding orders tomorrow, plus the promised (see comments here) gift (a small step to your next clock project).
It may sound like an excuse, but this kind of delay happens in the big leagues as well, even at a grander scale. I myself ordered from Texas Instruments their Chronos watch development kit, in November of 2009. Almost one year later, I received the shipping confirmation. If you don't believe me, look at the snapshot below.

Thursday, September 2, 2010

Cases for DWex

I've been looking around trying to find a solution for encasing the DWex watch.
A few ideas popped up:
  • use a case from an old pocket watch or stop watch;
  • build a machined-aluminum (CNCed) case from scratch (this would be an expensive venture), similar to that of the Nixie watch;
  • stich a tennis-cuff-like "soft case", with a transparent film material on top;
  • print a plastic case with a 3D printer  (e.g. reprap);
  • screw together a few layers of laser-cut acrylic.
The last two solutions seem to be suitable for "mass production". Some plans (for Makerbot watch) are already available, but they may need to be adjusted to fit the DWex.

Here are some links I found after googling around:

Related posts:

Monday, August 30, 2010

Programming DWex

All DWex boards are shipped with the latest software (available here) loaded and tested. The on-board ATmega328 controller has the bootloader already burned in.

I don't expect users ("experimenters" in the case of DWex :) not to modify and improve the code. In fact, I have a long list of TODOs myself. To help speed up the process, here are some tips and heads-up.


1. To upload the sketches, use the 3V3 FTDI breakout board or the 3V3 FTDI cable (remember that the board is designed to work at 3V; it is 5V tolerant though).

2. Use a 6-pin male header between the FTDI cable/breakout and the DWex board, inserted as shown below.















3. Make sure that the "green" wire of the FTDI cable (also marked on the FTDI breakout) goes to the pin marked "Green" on the DWex board.

4. The CR2032 battery must be inserted in the holder when uploading the sketch. The DWex board is not powered from the FTDI cable/breakout (pin 4 of the FTDI header is not connected).

5. In Arduino IDE, select the board as "Lilypad with ATmega328", as shown in the screenshot below.












6. The available pins (not taken by LED matrix and button) are:
  • D11, D12, D13 (MOSI, MISO, SCK respectively) accessible through the ICSP connector;
  • D0, D1 (Rx, Tx respectively) accessible through the FTDI connector;
  • D2, accessible and marked on the board as JP2;
  • D10, not connected to any pad.

7. The second (un-soldered) holder would connect another CR2032 in parallel. Although at the beginning it seemed to boost the power supply, I realized after some research that it may not be a good idea after all. I am still debating on this and I am open to suggestions.

8. With the current code, to set the time, hold the button pressed for 3-4 seconds, until the LEDs light up in circle, one after the other. When the correct time is reached, release the button. The time will then be saved in the RTC. Obviously, this method does not confer the highest accuracy.

9. The state diagram for the current implementation is shown below.

















Related posts:

Sunday, August 29, 2010

DWex - an alternative to Makerbot watch

I always wanted to buy a Makerbot watch, but never had the chance. That's because they were (and still are, at the time of writing) always "out of stock" in the Makerbot store. Then I decided to make my own and better version, called DWex, an acronym for Duino Watch for experimenters (introduced here a while back). I actually borrowed some of the ideas from Makerbot watch, including the round shape :) and the LED arrangement, as two circles of 12 LEDs.

Here is a brief comparison between the two:
  • DWex is based on ATmega328 running at 8MHz (as opposed to 16MHz); that should make it take less juice out of the 3V coin battery;
  • DWex has only one button (as opposed to 3); and even that could be eliminated eventually (replaced with a tilt switch, for example);
  • DWex has 4 fewer LEDs; the way to show the time (software) does not require the extra 4 LEDs of Makerbot watch;
  • DWex spends most of its time in sleep mode (I don't know how Makerbot watch works though, to be honest, but I think time is kept by the ATmega chip itself; therefore, no sleep for it); it only wakes up when the button is pressed, to show the time;
  • DWex is thinner, and that may be due to the much bigger crystal used by Makerbot;
  • DWex does not have a buzzer;
  • Like Makerbot watch, DWex has both the ICSP and FTDI connectors on board, making it an "Arduino environment on your wrist" as well.
  • They both cost the same, US$30 (plus $3 regular shipping to North America). DWex is in stock though. It is real and working.

Some of the features of DWex are:
  • time is shown by lighting/flickering only two LEDs, for hours and minutes;
  • time can be set by the user through the button, without connecting the board to the PC;
  • consumption is 12mA when the time is shown, 120uA when asleep; the CR2032 coin battery should last at least a few months;
  • can be re-programmed to make use of the alarms of on-board DS1337 RTC (this functionality is not implemented, but the hardware capabilities are in place).



 US$33, including regular shipping to North America

 US$36, including regular shipping to anywhere in the world


Related posts:

Wednesday, June 23, 2010

Introducing DWex - Duino Watch for experimenters

This watch is built around a 3V-powered ATmega328P running at 8MHz.
Time is shown using 2 circles of 12 LEDs, in a manner similar to an analog watch (with hands). Minutes are indicated on the exterior circle of green LEDs; hours are indicated on the interior circle of red LEDs, as shown in this video.



To make the watch practical (that is, wearable), the battery life should be at least in the order of months. This can only be achieved by keeping the processor in sleep mode most of the time. At the push of a button the microcontroller becomes active and lights up the appropriate LEDs for 3-5 seconds; then it goes back to sleep.

The diameter of the board is 4.8mm (1 7/8 inches), determined mainly by the size of the coin batteries.
The thickness of the assembled board is 8mm (a little less than 3/8").











DS1337 real time clock chip keeps the time. It was chosen over DS1307 because it has alarm capabilities. This allows the microcontroller to wake up on an interrupt when the alarm is triggered.

The watch is powered by two 3V coin batteries (CR2032) connected in parallel and mounted on the back of the board. Their total capacity is 450mAh (2 x 225mAh). They should last about 3 months of "normal" use (pressing the "display" button several times an hour) based on the sleep mode consumption of around 120microAmps and on the "active" consumption (LEDs on) of 12mA for 5 seconds at a time.

Most of the components are surface mounted. Both ICSP6 and FTDI connectors are on board. This would allow it to be used as a miniature Arduino (with on-board RTC ), for other-than-watch purposes.


















Schematics and board layout are shown below (I will publish the Eagle files soon, after a thorough revision).




























An original feature of the watch is the single push button used for both showing the time and setting up the time. Basically, the first button push will wake up the controller from the sleep mode and light up the appropriate LEDs. If the user presses the button for a longer period, the LEDs are activated in sequence, simulating the rotation of minutes and hour hands. When the desired time is reached, the user releases the button, thus setting a new time.

The source code can be downloaded here.

An interesting challenge will be to find (or design and make) a proper case. Ideally, it would resemble the black anodized machined aluminum case of the Nixie watch. (But then, the button should be replaced with a tilt switch as well.)

More details to come.

Related postings: