Space Age VFD clock assembly

Posted on 17 Nov 2010 04:37

micr_build_00.jpg

Not a lot to the circuit, just a micro (the mythical attiny4313), a crystal, some caps…

micr_build_01.jpg

…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.

micr_build_2.jpg

The circuit assembly is mounted in the case.

micr_build_3.jpg

The assembled clock in action:


Comments: 0
Blog tags: attiny4313 clock gu128x32-311 gu-311 ise micr noritake vfd

Yilane Systems Numitron Clock

Posted on 15 Nov 2010 22:32

numitron.jpg

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.


Comments: 0
Blog tags: clock numitron

attiny4313

Posted on 12 Nov 2010 04:44

I got the retro-MICR clock working with the attiny4313! This was not an entirely straightforward process, as the '4313 is a newer part and tool support is catching up.

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.


Comments: 0
Blog tags: attiny4313

VFD tube counter v0.2

Posted on 07 Nov 2010 20:28

vfd_counter_v2.jpeg

I have a new build of the VFD tube email counter which improves several aspects of the original:

  • replaced atmega8 microcontroller with smaller attiny2313
  • replaced IRF730 power mosfet with smaller IRFD110
  • replaced $20 FTDI USB-serial cable with $2 PL2303 cable
  • replaced boring old white breadboard with fancy new transparent breadboard
  • replaced ugly breadboard wires with shiny magwire

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.


Comments: 0
Blog tags: iv-6 vfd

Cheap USB-serial adapter neither fish nor fowl

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):

// some cheap pl2303 usb->serial adapters use a pseudo-rs232 output with
// 0-5V levels, but with an inverted waveform relative to real TTL serial
//
// we can use a pin change interrupt to re-invert this input on another pin to
// feed the UART a signal that looks like normal TTL serial
//
ISR(INT1_vect)
{
    // invert pin D3 on pin A0
    PORTA = !( PIND & _BV(3) || PINA & _BV(0) );
}

void pl2303_init(void)
{
    // configure pin D3 to invert input on pin A0 for non-TTL serial links
    DDRA  = 0b01;        // pin A0 is output
    MCUCR = _BV(ISC10);    // interrupt on any pin change
    GIMSK = _BV(INT1);     // enable interrupt
    PORTA |= 1;
}

Comments: 0
**Blog tags: **

Bookmark and Share