Author Topic: Hexadecimal display  (Read 7043 times)

0 Members and 1 Guest are viewing this topic.

Offline bpiphanyTopic starter

  • Regular Contributor
  • *
  • Posts: 129
  • Country: se
Hexadecimal display
« on: December 08, 2016, 06:02:05 pm »
Researching for my clock project I found the awesome, but very expensive HDSP-0962 hex-display chips. Not in anyway expecting to beat the cost (by much) I thought it would be a fun challenge to build my own.. Mine have 21 LEDs for that extra touch on the 1 :-+

Each segment is completely standalone, there are 21 series resistors and an ATtiny40 on the back, and a bypass cap on the front, but that's pretty much it. Not knowing better I broke out the MISO/MOSI/CLK/RESET pins from the ATtiny40 to the header on the bottom. They will act as inputs to change the display on pin-change interrupts. The top header is VCC for the ATtiny, supply for the LEDs(x2) and common GND. I soon found my stk500 programmer couldn't program the tiny40. Luckily I was just about to place a mouser order. So i got a stk600 programmer in a matter of days. And then I found out the TPI protocol uses different pins |O I may need to make a version two anyway, because someone didn't bother to run the DRC properly to find that missing trace in which place I had to put that itsy bitsy bodge wire :palm: At least it was really really short with nothing in between. This first board I hand assembled with my iron. I'm quite happy with the result. Haven't got enough boards in the pipeline to order a full page of stencils just yet..

The display looks a fair bit better IRL than on camera. The bleed into the un-lit LEDs does not show almost at all to the eye. I also experimented putting a white paper on top as a diffusor. So far I'm only cycling through all the values. It's interesting to see them get out of sync so fast. They are running on the internal 128kHz crystal. Apparently they aren't very well calibrated (which the datasheet is pretty clear on as well). Changing the digits on interrupts won't suffer from that though.

The ATtiny should run already at 1.8V, however the input pins won't handle higher voltages than than VCC so green LEDs as here will require it to be run at at least enough voltage to light them up. The brightness can be voltage controlled (even with constant VCC), or PWMed.

Anyone keen on some soldering practice can have a board for cheaps. I have plenty to spare...



Schematic (the LEDs are actually swapped around)


Top side


Bottom side


TPI programming routine...
« Last Edit: December 08, 2016, 06:31:24 pm by bpiphany »
 
The following users thanked this post: kripton2035, edavid, jonovid

Offline Rolo

  • Regular Contributor
  • *
  • Posts: 206
  • Country: nl
Re: Hexadecimal display
« Reply #1 on: December 08, 2016, 07:12:35 pm »
Nice ! I like Special led display's.

Verstuurd vanaf mijn ONEPLUS A3003 met Tapatalk

 
The following users thanked this post: bpiphany

Offline DaJMasta

  • Super Contributor
  • ***
  • Posts: 2289
  • Country: us
    • medpants.com
Re: Hexadecimal display
« Reply #2 on: December 09, 2016, 02:56:35 am »
I do like the component layout!  Nice fitting the micro in the open space too.

Have you tried a green gel filter in front for a bit of extra contrast on the display?  Could be a nice touch, but may be harder to find than your usual red ones.

 It's always fascinating to me how quickly those internal oscillators drift apart in micros - I've got a nixie display that's done a similar way that drifts apart considerably before the first cycle through the digits.
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2317
  • Country: au
Re: Hexadecimal display
« Reply #3 on: December 09, 2016, 03:02:40 am »
Constructive criticism: reducing exposure, placing a diffusing layer over the LEDs, or deliberately blurring the camera, (or all three) can make these demos muuuch easier to see.
 

Offline alank2

  • Super Contributor
  • ***
  • Posts: 2183
Re: Hexadecimal display
« Reply #4 on: December 09, 2016, 03:13:08 am »
Very cool, are those 0805's LED's ?
 

Offline JoeN

  • Frequent Contributor
  • **
  • Posts: 991
  • Country: us
  • We Buy Trannies By The Truckload
Re: Hexadecimal display
« Reply #5 on: December 09, 2016, 04:33:12 am »
HDSP-0962

Why not give these a real interface so you could use them in other projects?  You could even clone the pin-out from the HDSP-0962 and allow people to use it as a drop-in replacement.

Why the ATTiny40?  I like Atmel too, but that ATTiny seems expensive.  Just looking around:

http://www.digikey.com/product-detail/en/silicon-labs/EFM8BB10F2G-A-QFN20/336-3162-5-ND/5115719  (16 IOs, incredibly cheap)
http://www.digikey.com/product-detail/en/atmel/ATTINY40-MMHR/ATTINY40-MMHRCT-ND/2774354 (18 IOs, AVR, nice, but over three times as expensive in small quantities, over twice as expensive by the reel!)

HP also had a miniaturized 5x7 matrix display that could be cloned.  If you multiplexed the LEDs it would need 12 outputs.  You could certainly free up some outputs from your current arrangement too and allow for some pins for inputs.

Oops.  Looks like the 5x7 they did was a 4 character display.  http://hparchive.com/PARTS/HP-Displays-HDSP-2010.pdf    I though they did a 5082-7300 variant as a 5x7, but I was wrong on that,
« Last Edit: December 09, 2016, 04:47:41 am by JoeN »
Have You Been Triggered Today?
 

Offline jonovid

  • Super Contributor
  • ***
  • Posts: 1425
  • Country: au
    • JONOVID
Re: Hexadecimal display
« Reply #6 on: December 09, 2016, 05:23:01 am »
nice work  :-+
Hobbyist with a basic knowledge of electronics
 
The following users thanked this post: bpiphany

Offline bpiphanyTopic starter

  • Regular Contributor
  • *
  • Posts: 129
  • Country: se
Re: Hexadecimal display
« Reply #7 on: December 09, 2016, 06:06:58 am »
Constructive criticism: reducing exposure, placing a diffusing layer over the LEDs, or deliberately blurring the camera, (or all three) can make these demos muuuch easier to see.

I tried meddling with intensity, exposure, ambient light and all that. The camera just seem to pick up that green awfully well. My eyes certainly don't see the same.. I shot another video with a sheet of paper for diffusion. It's linked from the first post. I didn't think it was interesting enough to embed. I wonder how one of those diffusion films from an old TFT would do. I may try one of those. On the iPhone the effect was even worse. Perhaps a third camera would do better... Turning the exposure way down also improves the bleed, but then nothing else is visible :P

Have you tried a green gel filter in front for a bit of extra contrast on the display?  Could be a nice touch, but may be harder to find than your usual red ones.

Are they like the ones used for lighting and photography? If so they should come in all colors. A quick search on digikey didn't give me any results.

Why not give these a real interface so you could use them in other projects?  You could even clone the pin-out from the HDSP-0962 and allow people to use it as a drop-in replacement.

Why the ATTiny40?  I like Atmel too, but that ATTiny seems expensive.  Just looking around:

The HDSPs are only 0.6" wide, mine are 0.8, so it can't be a direct replacement. Also their pinout is far from standard in a VCC opposite to GND layout. I think they just copped out making their own routing as convenient as possible, much like me ;) There are older HP branded displays of the same type. Besides, really, who would use them in an actual design. They are e.x.p.e.n.s.i.v.e. I may have bought a few used one from China ;D Also, mine has all the input bits next to each other in a row for that uninterrupted row of 32 bits.

I just thought I could trust my AVRs. They are all I am familiar with, programming and all that. Turned out they weren't that familiar after all..

And I just like the idea of things being non-multiplexed. 5x7s are cool, but that would at least have required to put the controller somewhere else. I thought about it. If I had done that I would probably just have done all eight characters on the same unit, one controller for them all, with shift registers, multiplexers and all.

Very cool, are those 0805's LED's ?

Oh no, this is 0603 land. I'm quite comfortable soldering them by hand, although on this particular board I made the pads really skimpy. Laying down a row, tacking the far end of each LED isn't too bad. It's going back to finish up the other end that gets tricky.. I've had troubles with QFNs as well before. Re-flowing with paste just never really seem to get perfect, always too much or too little paste. I've found the best way is to pre-tin the center pad, filling up the vias, dab on some sticky, stick on the QFN, then turn the board over and re-flow the solder from the back. That has given me the best alignment so far. Finishing up the side pads work out just fine most of the time. The cap is 0805. I picked it because it was the flattest one I could find.

There are vias running from one LED pad directly to the resistor pad on the back. I know that might not be exactly kosher, but there just was no room for them anywhere else.. It'll be interesting to see how much that messes with paste and re-flowing.

I put together the same design with 0805 LEDs and 0402 resistors. With those everything fit on the same side. The digits would then be 0.5" wide though, and quite tall - not breadboard friendly at all.


Edit: Just to clarify the pinout. Just don't look too closely at that pin numbering ::)
« Last Edit: December 09, 2016, 06:40:31 am by bpiphany »
 

Offline matseng

  • Frequent Contributor
  • **
  • Posts: 563
  • Country: se
    • My Github
Re: Hexadecimal display
« Reply #8 on: December 09, 2016, 08:30:46 am »
Really nice!  But what about using bus-style resistor arrays on the back instead of two dozens of discretes?  It gives you 8 resistors in the space of a 1206...

http://www.digikey.com/product-detail/en/cts-resistor-products/746X101103JP/746X101103JPTR-ND/1118406
 

Offline Zom-B

  • Regular Contributor
  • *
  • Posts: 55
  • Country: nl
Re: Hexadecimal display
« Reply #9 on: December 09, 2016, 09:28:57 am »
They're very hard to solder since they're pretty much four connected 0603 instead of 1206.

On the other hand if you're getting this pre-assembled, why not go for 0603 in the first place. What I can think of is that bpiphany might have had some 1206 in stock already.
 

Offline bpiphanyTopic starter

  • Regular Contributor
  • *
  • Posts: 129
  • Country: se
Re: Hexadecimal display
« Reply #10 on: December 09, 2016, 09:53:49 am »
Resistor arrays can be really nifty. I've mostly used isolated ones, and perhaps I didn't look into bussed very deeply.. Also room for traces is pretty scarce, and a largish percent of the board area is already used up for vias. I have a feeling routing wouldn't be much easier.

Actually when I think about it, bussed can't be used in this application. They need to be isolated. With those I think it would actually be very hard to make the layout easier in this case..

Soldering them would probably be quicker though :) individual 0603s are simple. 0402s start being annoying. Re-flowing them is usually ok, when not accidentally hit and thrown across the room from the smallest quanta of inertia :P I find the tiny resistor arrays less of a hassle.
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2317
  • Country: au
Re: Hexadecimal display
« Reply #11 on: December 09, 2016, 10:20:04 am »
Actually when I think about it, bussed can't be used in this application. They need to be isolated.

Wrong. From VCC to microcontroller, you can have resistor then LED. That means that one side of every resistor can be tied to VCC (or Gnd if you flip the whole arrangement upside down), hence "bussed" resistors can be used.
 

Offline Zom-B

  • Regular Contributor
  • *
  • Posts: 55
  • Country: nl
Re: Hexadecimal display
« Reply #12 on: December 09, 2016, 10:26:40 am »
That doubles the amount of vias, unless the MCU is on the front side (which may be a perk for some users btw)

[edit]] Btw, just a design question, why have the LEDs on the common cathode and not common anode. Common anode (and open collector outputs) allow the user to set the LED intensity by varying the LED supply voltage.
« Last Edit: December 09, 2016, 10:48:58 am by Zom-B »
 

Offline bpiphanyTopic starter

  • Regular Contributor
  • *
  • Posts: 129
  • Country: se
Re: Hexadecimal display
« Reply #13 on: December 09, 2016, 11:14:50 am »
Btw, just a design question, why have the LEDs on the common cathode and not common anode. Common anode (and open collector outputs) allow the user to set the LED intensity by varying the LED supply voltage.

They are. It's just the schematic that is "wrong". The footprints matched that way since I already made them with the via on the "wrong" pad. DRC complains if I turn them around in the schematic without redesigning either the footprint or the schematic symbol. And I'm just lazy..

I'm not sure the tiny does open collector properly. The data sheet says nothing else than maximum input is VCC+0.5V or something. It would be cool if it could sink from a higher voltage. Less is fine of course, with my set up as well, since it in reality is common anode :)

Wrong. From VCC to microcontroller, you can have resistor then LED. That means that one side of every resistor can be tied to VCC (or Gnd if you flip the whole arrangement upside down), hence "bussed" resistors can be used.

Heh, didn't think that far :-DD
« Last Edit: December 09, 2016, 11:19:48 am by bpiphany »
 

Offline Zom-B

  • Regular Contributor
  • *
  • Posts: 55
  • Country: nl
Re: Hexadecimal display
« Reply #14 on: December 09, 2016, 12:36:11 pm »
FYI https://hackaday.io/project/8270-pictil

Not saying you shouldn't continue yours, just you could steal get inspiration from from that. Personally I'd go for a HP-5082 compatible pinout (same pin locations as yours incidentally).
 

Offline aries1470

  • Regular Contributor
  • *
  • Posts: 57
  • Country: au
Re: Hexadecimal display
« Reply #15 on: December 10, 2016, 02:06:52 pm »
Okay, curiosity got the better of me. If you need them to all be synced, why not use a master clock? :) just wondering, if that option is available to you...
 

Offline bpiphanyTopic starter

  • Regular Contributor
  • *
  • Posts: 129
  • Country: se
Re: Hexadecimal display
« Reply #16 on: December 10, 2016, 06:41:02 pm »
FYI https://hackaday.io/project/8270-pictil

Not saying you shouldn't continue yours, just you could steal get inspiration from from that. Personally I'd go for a HP-5082 compatible pinout (same pin locations as yours incidentally).

That's a really awesome project :-+ No, copying a clone sounds like a terrible idea. Inspiration, yes! If I were to try and cloning anything it would be the HDSP hex digit. That wouldn't be quite as noble since they are still in production. I kind of like my larger more filling digits as well, and I think keeping the binary input to the bottom row is an improvement. I doubt I will get down to 0.6" height anyway.

Fun fact. Avago originally stemmed from HP, and later merged with Broadcom. So all this HDSP, DIL, HP-5082 story originates from the same place. Also my LEDs are from Broadcom, so they still got their money :-DD

Okay, curiosity got the better of me. If you need them to all be synced, why not use a master clock? :) just wondering, if that option is available to you...

The display is really meant to follow changes in the input. I did this for testing and demo only. I want to spin the firmware a few more rounds before blowing that reset disable fuse... And build a working high voltage programmer. The tiny's are running on the internal 128kHz oscillator, and that's pre-scaled by 8 I think. It may be possible to pre-scale all the way down to 0.5kHz. That may be a bit much, but I don't expect it will take many clock cycles to change the output. Read the input value, possibly do some bit shifting, set 3 output registers from a lookup table. Any optimization will be for clock cycles, memory there is plenty of.
« Last Edit: December 10, 2016, 06:53:50 pm by bpiphany »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf