Posted on 17 Nov 2010 04:37
Not a lot to the circuit, just a micro (the mythical attiny4313), a crystal, some caps…
…and a 2x10 female IDC header to piggyback on the much larger display board. There is a separate power connector which powers both the VFD and the clock driver. I'll never do a PCB for this one because I only have 5 of these displays and no prospects to find any more, but if I did make one, it would be super easy.
The circuit assembly is mounted in the case.
The assembled clock in action:
Posted on 15 Nov 2010 22:32
I don't often build other people's kits, especially kits that don't include source code for the firmware. Most kits are too expensive and I usually think I can design something I will like better. However, the Yilane Systems YS-950 single-tube Numitron clock was sufficiently elegant and inexpensive that I couldn't resist. Availability of the kit has been intermittent, but it's worth keeping an eye on, as I understand that they will be in stock again soon.
Posted on 12 Nov 2010 04:44
The attiny4313 is the new big brother of the venerable attiny2313. It features double the flash at 4K bytes and double the SRAM at 256 bytes, which is enough to make C programming a reasonable choice.
In order to get the new part working, first I had to manually update the avrdude config file (avrdude.conf). I just copied the attiny2313 entry and edited the signature and the flash memory size parameters.
Second, you have to make sure you have a clean installation of a very recent AVR toolchain. I had an older, locally-built binutils in my path and it really hosed things up. You can build and install images for the 2313, but it won't initialize memory properly if you use more than 128 bytes.
Finally, I had to rewrite some things in order to shoehorn the code written for the atmega8 into the much smaller attiny4313. But it turned out great, with no significant loss of functionality.
I'm really digging the 4313, it's a super useful chip for hobby engineering.
Posted on 07 Nov 2010 20:28
I have a new build of the VFD tube email counter which improves several aspects of the original:
However, by far the biggest change is the elimination of 7 transistors. The first design used the conventional high-side switch arrangement of a level-shifting NPN to switch a PNP driving each segment anode, but it bothered me that Jon Stanley was able to get his single-tube clock working without the level-shifting NPNs. Now, Jon's clock is operating at a lower voltage than mine, and he's using a PIC instead of an AVR, so I wasn't sure if I could make that work. It seems that compensating for the higher voltage with a bigger base resistor works just fine so far.
If it continues to work well, I'll put it on a circuit board and make a nice aluminum case for it, like this one.
Posted on 01 Nov 2010 01:34
You can get USB-serial adapters for absurdly low prices from ebay or Asian import stores like Deal Extreme. Needless to say these are not exactly high-quality electronics, however they can do the job for hacking purposes. USB-serial adapters are a convenient way to supply both a small amount of regulated power and simple communications to a peripheral device.
The big problem with these adapters is that they implement neither an RS232 compliant waveform, nor a TTL waveform that can be understood by the AVR's UART. Rather, they implement sort of a pseudo-RS232 that produces a clipped waveform from 0 to 5V. But as it turns out, this is simply inverted from what the UART expects.
There are a few different solutions to this problem. You can use a hardware inverter if you have one handy, like some sort of inverting logic, or just a 5 cent transistor. You can use a software serial decoder, which seems reasonable if you're already using such software instead of an integrated UART. But if you're using a chip that has a UART, it seems sort of dumb not to use it somehow.
If you have a couple of spare pins on your micro, I found another solution which uses less than 10 lines of code. This example is for an attiny2313, but the basic form will work with any AVR with a UART (or most any microcontroller for that matter):