My new Scope Clock site, Oscilloclock.com

341 views
Skip to first unread message

Oscilloclock

unread,
Sep 3, 2012, 10:17:17 AM9/3/12
to neoni...@googlegroups.com, in...@oscilloclock.com
Hi everyone, I think scope clocks are a little off-topic here but wanted to let people know -
 
Years ago, I saw David's incredible Scope Clock and decided I really, REALLY wanted to make one for myself! So, over the past few years I've managed to make two based on his design.
 
I rewrote the entire code for the PIC microcontroller and enhanced functionality a fair bit. I've even added locale switching and currently support Japanese language display for a bit of flair!
 
I finally put together my showcase site for the project, - please see http://oscilloclock.com. It's a fairly static site, but I have a few blog posts in the pipeline.  Like David did with his SC200 board, I have made schematics, boards, 3D models, and software (GPL) freely available, so I hope you will find the site both interesting and useful.
 
I'm a hobbyist and this is not supposed to be a business, but I may build and sell a clock every once in a while to fund other projects.
David if you see this, thanks for all the inspiration! If there is anything at all on the site that is not appropriate per GPL etc, just let me know and I will fix it.
 
Aaron Stokes
 

 

kay486

unread,
Sep 3, 2012, 1:01:37 PM9/3/12
to neoni...@googlegroups.com, in...@oscilloclock.com
This clock looks really nice! Just one thing, do you know that XI stands for 11 not 12. I saw this in some pictures on that site.

in...@oscilloclock.com

unread,
Sep 3, 2012, 5:39:46 PM9/3/12
to neoni...@googlegroups.com
> On 2012/09/04, at 2:01, kay486 <luck...@gmail.com> wrote:
>
> This clock looks really nice! Just one thing, do you know that XI stands for 11 not 12. I saw this in some pictures on that site.

Incredible! How did I miss that?! Thanks very much for pointing it out - an easy fix for my next code update.

Michel

unread,
Sep 3, 2012, 6:07:51 PM9/3/12
to neonixie-l
That is really nice, the characters look so much better than they do
with a pixel based display.

Great job!
Michel



On Sep 4, 7:39 am, "i...@oscilloclock.com" <i...@oscilloclock.com>
wrote:

Adam Jacobs

unread,
Sep 3, 2012, 11:46:03 PM9/3/12
to neoni...@googlegroups.com
Wow, this is great! Very timely, too! I just found a nice little scope tube at a swapmeet for $1 the other day, looks like I've got no excuse to not light it up now. 
Thanks again.

-Adam W7QI

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To post to this group, send an email to neoni...@googlegroups.com.
To unsubscribe from this group, send email to neonixie-l+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



Lucky

unread,
Sep 4, 2012, 12:30:07 AM9/4/12
to neoni...@googlegroups.com, in...@oscilloclock.com
Excellent clock Aaron very impressive, wishing I had one.

Frank Bemelman

unread,
Sep 4, 2012, 2:52:00 AM9/4/12
to neoni...@googlegroups.com
Hi Michel,

The pictures you looked at were taken by a pixel based camera
and displayed on your pixel based display.

With adequate DA converters, pixel based could look just as nice.

That said I am the first to admit that this analog vector driven
approach is much more passionate compared to cold bits & pixels.

Beautiful clock indeed.

Cheers, Frank


-----Oorspronkelijk bericht-----
From: Michel
Sent: Tuesday, September 04, 2012 12:07 AM
To: neonixie-l
Subject: [neonixie-l] Re: My new Scope Clock site, Oscilloclock.com

Michel

unread,
Sep 4, 2012, 3:44:29 AM9/4/12
to neonixie-l
Hi Frank,

That is of course true, once the resolution of the camera/screen
becomes large enough you're not going to see a difference. But the
driving algorithm is very interesting and totally different from pixel
based systems. Back in the 1980's I had a game computer called
"Vectrex", it must have used something similar although they were not
circles but straight lines (vectors). It looked so much better than a
game computer connected to a low resolution monitor. The only thing is
that once you start displaying more and more objects on the screen,
the refresh rate goes down to like 10Hz and you can really notice a
flickering of the screen.

Michel

in...@oscilloclock.com

unread,
Sep 4, 2012, 6:54:00 AM9/4/12
to neoni...@googlegroups.com
Hi Frank, thank you for the nice comments! Yes - with the very high end D/A converters built into many microcontrollers these days, it is very much possible to make equally nice shapes. And, have greater flexibility in the code, of course. A one-chip control board is even feasible.

But I just love analog too much!

Hi Michel - funny you mention Vectrex. I know someone with one! I think you can imagine all the enhancements I'd like to do on my clock's software - in time.

Aaron

John Rehwinkel

unread,
Sep 4, 2012, 8:46:17 AM9/4/12
to neoni...@googlegroups.com
> Back in the 1980's I had a game computer called
> "Vectrex", it must have used something similar although they were not
> circles but straight lines (vectors).

I still have a couple of those! In fact, I just bought another game for mine.

I've been looking at magnetic deflection, as I have a bunch of magnetically
deflected CRTs.

- John

Mich...@aol.com

unread,
Sep 4, 2012, 10:07:52 AM9/4/12
to neoni...@googlegroups.com
Wow,
You just brought back memories.
I had a vectrex too. Loved it.
Hell, that was 28 years ago.
Michail
 
In a message dated 9/4/2012 12:44:32 A.M. Pacific Daylight Time, mic...@xiac.com writes:
Back in the 1980's I had a game computer called
"Vectrex", it must have used something similar although they were not
circles but straight lines (vectors).
Michel

Quixotic Nixotic

unread,
Sep 4, 2012, 1:53:57 PM9/4/12
to neoni...@googlegroups.com

On 3 Sep 2012, at 18:01, kay486 wrote:

> This clock looks really nice! Just one thing, do you know that XI stands for 11 not 12. I saw this in some pictures on that site.

Talking of which, why exactly do clocks with latin numerals have IIII instead of IV?

John S

Dekatron42

unread,
Sep 4, 2012, 2:32:19 PM9/4/12
to neoni...@googlegroups.com
Wikipedia talks about possible reasons for this: http://en.wikipedia.org/wiki/Roman_numerals

Michel

unread,
Sep 4, 2012, 5:32:56 PM9/4/12
to neonixie-l
> But I just love analog too much!

I agree :-)


> Hi Michel - funny you mention Vectrex. I know someone with one! I think you can imagine all the enhancements I'd like to do on my clock's software - in time.

I guess that means we soon see the Minestorm game on your scopeclock!
I think it will look even better based on circles rather than lines!


As far as my understanding of the roman numeral IIII versus IV is that
the clock dial looks more symmetric with the roman VIII on the
opposite site (from far away VIII looks a bit like IIII).

Michel

Michel

unread,
Sep 5, 2012, 1:56:46 AM9/5/12
to neonixie-l
Hi Aaron,

Would you mind to post the schematics in a PDF file to download from
your site? I saw you put the EAGLE files there but I don't use that
software and I don't just want to install it to view the schematics.
I'd like to see the circuitry around the circle generator with D/A
variable gain.

Michel

in...@oscilloclock.com

unread,
Sep 5, 2012, 6:47:20 AM9/5/12
to neoni...@googlegroups.com
Hi Michel,

Sure - just look at the ERRATA.pdf file inside any of the Minor Revision zip files (like the Control Board rev 1.01). You will find the 1.00 schematic, with changes from 1.00->1.01 marked in Red pen.

Sorry it's not so easy I get at..

Aaron

Michel

unread,
Sep 5, 2012, 6:32:43 PM9/5/12
to neonixie-l
Thanks Aaron,

I think I get the picture here. It basically converts a square wave
into a sin and cosine. The circles that it creates are divided into
256 small segments, which segments need to be turned on is selected
through 8 bits. The segments that do not need to be displayed are
blanked out. This is different than what I had in mind, it means that
for each arc that needs to be displayed, the circuit will create a
complete circle but the unused segments will be blanked out. The DAC
is a nice one, I had the idea that a serial input DAC would be too
slow for this application but apparently it is not :-). If I need to
scale or modulate analog signals, I sometimes use analog multipliers
in an op-amp feed back loop so that they operate as an analog divider.
That works well and is also very fast but it usually means I need an
extra DC/DC converter to go from say 5V input to +/- 12V. I might have
a look if I can do something similar with this DAC. I would then still
need to place it into a feedback loop as I need to amplify my input
signal rather than attenuate.

Michel







On Sep 5, 8:47 pm, "i...@oscilloclock.com" <i...@oscilloclock.com>
wrote:

Michel

unread,
Sep 5, 2012, 6:48:26 PM9/5/12
to neonixie-l
Minor correction, the circles are probably divided into 8 segments,
not 256 as previously stated.

Michel

unread,
Sep 5, 2012, 7:49:58 PM9/5/12
to neonixie-l
I actually expected a wire from Q9 (IC9) to an interrupt input on the
MCU so that the software knows the start (or end) of each circle and
can load new data for the next circle segments in sync with the circle
generator. Wouldn't that be better?


Oscilloclock

unread,
Sep 5, 2012, 7:51:16 PM9/5/12
to neoni...@googlegroups.com
You have it, Michel!

I have several posts on theory in Draft state so be sure to subscribe or check back once in a while. Until then, (and very likely even AFTER then!), the best circuit theory explanation is on David's site:

http://cathodecorner.com/sc200theory.html

My circuit has not veered greatly from his design.

Aaron

Michel

unread,
Sep 5, 2012, 8:38:28 PM9/5/12
to neonixie-l
OK, I see the difference. David uses a timed system to display the
arcs, while I would use a counter system. I would let the amount of
displayed objects (arcs) determine the screen refresh rate rather than
a pre-defined (timed) rate. For example, the smallest circle I would
display exactly 1 time while the largest circle could be 20 times to
make it appear with the same brightness. This way I would sequence a
list of all the arcs to be displayed, and once at the bottom go
immediately to the top. The refresh rate could then well be 200Hz for
very few objects or 20Hz for many objects. If you want to make some
games for your clock, this method would lead to a larger amount of
arcs you can display on the screen, but you would need to hookup Q9 to
an external interrupt and re-write the software a bit. You might also
have to run the MCU at a higher frequency so that you can still update
the D/A converters at the new rate.

Michel

in...@oscilloclock.com

unread,
Sep 5, 2012, 9:32:27 PM9/5/12
to neoni...@googlegroups.com
Hi Michel, you almost have it.

The clock already constructs a 'drawlist' and draws it top to bottom as fast as it can, each segment displayed as many times as needed to have proper intensity. Please see the code which is well-commented - draw.asm and drawlist.asm is very helpful for you. There is no need for an interrupt because the next segments are prepared while the previous segment is being displayed (unblanked). The MCU has spare cycles at that instant. In fact, for a screen displaying a small drawlist there are many spare cycles.

There is a throttle in the 'config' setup screen called "Delay", which you can change to control how long the display is left unblanked for each segment. Reducing this delay allows for very high refresh rates already! - EXCEPT:

The display is currently deliberately timed to display one drawlist at 50Hz or 60Hz refresh. This is to ensure stability in the vicinity of magnetic fields. Remember the CRT does not have a shield, so electric wiring in the house will cause the image to sway if the refresh rate is not aligned.

If we ignore this concern, we can easily have super-high refresh rates with only a code change. But to be honest for basic games this will not be necessary. Look at the main menu, with a myriad of hundreds of segments being displayed successfully at 60Hz.

Also, currently the clock is 20Mhz (okay, 19.xxxx). I may rework for a 40Mhz (39) clock, not difficult on the same board and same PIC.

But the proof is in the pudding. One day I'll upload something.

But I really like your ideas. It will be good to think about!

Aaron

Michel

unread,
Sep 5, 2012, 10:01:59 PM9/5/12
to neonixie-l
Hi Aaron,

You're right indeed, timing the duration of displaying a segment will
do pretty much the same as counting the number of circles elapsed
while the segment is displayed. I just feel that counting the circles
on interrupt base gives you more freedom in controller speeds and how
you write the code. I don't know, you should compare the two systems
side by side to see if it would actually make a difference or make the
code less time critical. You can still use the 50Hz or 60Hz screen
refresh rate of course, I didn't know that the unshielded CRT would be
that sensitive.

Michel




On Sep 6, 11:32 am, "i...@oscilloclock.com" <i...@oscilloclock.com>
wrote:

Michel

unread,
Sep 7, 2012, 1:37:25 AM9/7/12
to neonixie-l
Hi Aaron,

You might like this one. I figured out that without too much effort
you can actually divide your circles into 120 segments rather than 8.
It would be a nice feature as you can then use your outer circle on
the screen to indicate the seconds or let a pendulum move left and
right or something like that.

Have a look at this sketch, I might have forgotten something here or
there, but the basic principal should be clear.
http://xiac.com/Images/scopeclock.jpg

It basically works like this, you set an opening segment as to the
start of the circle part you want to display and set blank to "1".
When the angle has been reached, an interrupt will be generated and
the screen unblanked. Then you set the end segment and set blank to
"0". Once this angle is reached, again an interrupt will be generated
and at the same time the tube will be blanked.

Sure it generates a lot of interrupts, but if you keep the code very
simple, that should be just fine. And at the same time you can count
the number of circles rather than do a timed system.

Michel

Michel

unread,
Sep 7, 2012, 9:42:32 PM9/7/12
to neonixie-l
One more idea. Sorry for posting so much but I think it really is an
interesting clock!

The thing that bothered me a bit was the fact that previous circuit
generates so many interrupts. At the moment you need to display
multiple circuits for a specific arc, the amount of circles required
is dependent on the size of the circle to make it appear at the same
brightness as the other arcs on the screen. This requires a quite high
circle frequency (about 38kHz) as some circles need to display maybe 5
times and others 20 times.

Suppose there is a way that you can always use just 1 circle, and it
will always display as bright as others independent on its size. If
that was so, you can significantly reduce the frequency and reduce the
amount of interrupts at the same time. Probably divide by 8 (around
4.5kHz). Secondly you could go to 60 segments rather than my initial
120 which gives you a larger interval between 2 subsequent segments.

The interesting thing is, you can actually do this relatively simple.
You could take a second MAX509 DAC and hook it up parallel to the
first one. Then you use POS5A for inputs REFA and REFB. The outputs
OUTA and OUTB will give you information about the size of the circle
currently displayed. If you invert these voltages and summarize them
((POS5A-OUTA + POS5A-OUTB) amplify them and make them negative, then
you have a voltage for the control grid Ug1 = A (OUTA + OUTB - 2POSA)
which automatically adjust the brightness according to the size of the
circle. Sure this is not perfectly linear but it will closely
represent the correct brightness.

Michel

Michel

unread,
Sep 7, 2012, 10:26:58 PM9/7/12
to neonixie-l
I am just reading the datasheets of the MAX509 as I thought if you can
use 0V for REFA and +5V for AGND, you wouldn't have to invert the
voltages of OUTA and OUTB.

Then, I came across this note in the Absolute Maximum ratings:

"Do not bias AGND more than +1V above DGND, or more than 2.5V below
DGND"

In your circuit you bias it 2.5V above DGND. Are you sure you can do
this??

Michel

in...@oscilloclock.com

unread,
Sep 8, 2012, 4:10:46 AM9/8/12
to neoni...@googlegroups.com

Michel, what an amazing eye for detail! You are right. I never noticed that bias restriction in the datasheet. As you see, I have taken quite a few shortcuts to make the whole analog circuit power from a 5V supply with bare minimum part count. I should spend some time correcting this ASAP, as the MAX509 may not be very happy at the moment. Surprisingly, in 2 years and several clocks nothing has failed and there seem to be no odd symptoms.

Your other ideas regarding the controller are really invaluable, I only hope to spare time to try some of them soon!

Aaron

Michel

unread,
Sep 8, 2012, 4:38:32 AM9/8/12
to neonixie-l
Hi Aaron,

> Surprisingly, in 2 years and several clocks nothing has failed and there
> seem to be no odd symptoms.

It's probably not all that critical then, but you may come around
another batch of MAX509's that fail after 2 months of use and then
you're going to wonder "hummm why is that?"


> Your other ideas regarding the controller
> are really invaluable, I only hope to spare time to try some of them
> soon!

No problem, if you can make it work with the 60 or 120 segments
(whatever is feasible) you can then use the circles to make magic eyes
to indicate GPS signal strength, number of satellites etc etc. It
would be more flexible than just 8 segments.

Michel

Michel

unread,
Sep 8, 2012, 4:55:51 AM9/8/12
to neonixie-l
I know you like analog technology much, but if you would change your
analog sin/cos filters to digital LPF filters, you can then not only
change the corner frequency very easily but you can most likely also
remove the shaping pots and amplitude pots because the output voltages
will be perfectly consistent. You don't need to create your 90 degrees
phase shift by means of filtering, you can do that with a couple of
diodes from the S0-S6 lines and another S/R flipflop so that you have
1 square wave 4.5kHz and another square wave with 90 degrees phase
shift. Very easy, and no need to fine tune resistors and capacitors to
get the perfect corner frequency.

Michel

in...@oscilloclock.com

unread,
Sep 13, 2012, 6:06:36 PM9/13/12
to neoni...@googlegroups.com
Hi Michel - That is a great idea. Cutting out the analog circuit would help achieve a really small controller board size (say, one small enough to sit at the back of the CRT).

I have a few other ideas I want to play with around the circle generator area. Soon I need to get the breadboard back out!

Aaron

Michel

unread,
Sep 13, 2012, 10:05:26 PM9/13/12
to neonixie-l
Sure Aaron,

It's always good to let your own thoughts over a certain circuit
rather than just "copying" an existing design. I very rarely use
breadboards, I find it easier to modify a concept board (like the one
you already have) rather than building up everything on a breadboard.
But yeah, maybe that's just me :-).

I am looking forward to a kit.

Michel





On Sep 14, 8:06 am, "i...@oscilloclock.com" <i...@oscilloclock.com>
wrote:
Reply all
Reply to author
Forward
0 new messages