Older blog entries for svo (starting at number 23)

28 Aug 2007 (updated 28 Aug 2007 at 15:44 UTC) »

I'm back and this time it's about FPGA and video and games.. And the game, of course, is a Pong. Mine is called Mah Ponk, there's no escaping lolcats, even here. So.. let me show you it.

The project page with detailed description, pictures, video and downloads is over there —> [alt:Coral Cache]

In brief, it's a complete pong-like game implemented in Verilog HDL, complete with scoring, a Robo-Hand so you can play alone, and Triple Sound. Verilog source is released under BSD license. Hardware design to be released as Eagle project, although any FPGA starter kit will do.

If you manage to run it on your FPGA development board, I'll be glad to hear about that.

I demoed Mah Ponk at $CCA7 and more people than I expected were curious and played it. There's the whole new generation deprived of the joy of Pong. The event was awesome and among other things I touched and played a real Pong TV game made in early 80's. It felt rather strange, I like Mah Ponk much better.

Here's a little fun project of mine, a falling blocks game for mobile phones. Disappointed by low quality of all available Tetrii, and really wanting to play one, I wrote one myself. Primarily designed for small screen phones (although it requires MIDP 2.0, caution), it works on large-display phones just as well. At least on some of them that I tried. It's pretty advanced too, has shadow display, autorepeat, soft, firm and hard drops, SRS-compliant rotation, albeit without wall/floor kicks.. Anyway, if your phone has Java MIDP 2.0, check it out and send me feedback -- Link.

I completed my Stirling Engine - Link.

Having built a steam engine previously really helped. This construction was easier machining-wise; I only had to drill some holes and make crankdiscs, that's about all machining that was required. But making it work was somehow trickier. The work it produces is miniscule and every little thing counts so a lot of tweaking was required.

I really like how it worked out. Still, I can't run it on heat of a palm alone, as you can do with some LTD Stirlings. If anyone has ideas how to make it more efficient, please tell.

Tom Benedict's suggestion about steam engine with computer-controlled valves is actually something I had given a thought earlier. That's an interesting challenge and a nice excuse to use an AVR in a steam project. Probably when I master building engines to the point when they actually can do work, as in spin a generator fast enough, that may become reality.

What I really like about steam engines is their intrinsic simplicity which allows for endless variations in design - just think about all those epycycloidal or elbow engines, youtube has plenty of videos. Adding an electrical part is a complication.. But maybe a worthy one? Definitely, at least from a steampunk admirer's point of view.

As promised, a full report of my steam engine project is posted. Check it out here. Plenty of pictures, videos, plans and a lot of blah-blah. Maybe someone will find this inspiring or at least interesting.

Here's a preview of a slight deviation from my traditional time-waste. Instead of electronics, it's an Engine now. I've been busy with it for quite a while, building it from a pile of scrap metal pieces. Today is the most memorable day: I made a first test assembly, blown into it and it spun!

Finished work coming soon, complete with technical drawings. As for now, here's a preview picture of its first assembly: exclusive for robots.net readers -- raw and dirty. It's an oscillating type, double-acting steam engine; the principle of operation is best described here. My design is simplier than the most simple versions I could find on the net, at least it must be that for expensive machine tools-challenged people like myself. This version only requires a plumbing torch and a micro-mill. A slightly less pretty version could be done even without a mill, although a drill press is still necessary.

I'm feeling euphoric. This is the first mechanism in my life that I completely designed and built myself from metal scrap (except for the old HDD spindle which is suspicuously obvious, some magnet-hunters might even guess the brand). I'm very proud of it. Even the first blinking LED was bleak in comparison with what I'm at now.

So, steam engine possible without lathe: is it busted, plausible or confirmed? ;)

I bought a new scope, Tektronix TDS1002. It's an absolutely lovely instrument! The feelings I can only compare to are what I felt when I bought my first scope: it's a completely new world. Thanks to it, I can now see many problems that I wasn't aware of before. I already fixed some, some are sorted out as not dramatic.

Anyway, the updated schematic of Hetski is in there, just in case. Most significant fix is converting 25MHz distribution into a sort of transmission line, terminated at far end. The need for extra power filtering also has become evident.

It's been a while since the last time I posted.

Most of the time I was busy building a radio clock receiver. First version, a direct amplification VLF receiver, kind of worked and I even managed to decode the signal in ATmega8, but reception is very poor. There are problems with selectivity and it's barely possible to amplify signal without amplifying all of the terrible noise that loves to dwell in VLF range.

Current project is Superhet VLF receiver. So far so good, the mixed signal board is ready. It has 2 AD9833 DDS chips (one for LO, one for IF->baseband), two external AD7478A ADC's, to make it possible to sample I and Q simultaneously, and some of the fun stuff: rotary encoder, two hook switches and a PLED display. And, of course, ATmega162 to rule them all. Well, observe the beauty, check out ADC quality, enjoy. From what I can see now, there is still enough memory and time frame to do decoding of MSF or DCF77 stations in the same uC. So far so good, I'm satisified. And yes, this is all for a Nixie clock project, ha! I really should share the schematics later, that's the best way to make backups.

Every once in a while I have to make my own Eagle libraries for my projects. I've put online what I've got so far. Enjoy!

Just another, check out my one-evening project. It involves floppy drive motor, free energy, air fan and 6 LED's. Everybody is ought to love this!

22 Feb 2006 (updated 23 Feb 2006 at 01:34 UTC) »

I published my L6204-based H-bridge control circuit. The document describing it is in Russian only, but the circuit is self-descriptive and universal. There is also printable PCB template free for use by anyone. The page with links is here. L6204 from ST is more effective than previous popular integrated H-bridges because it uses MOSFETS for switching, their switch times are significantly faster. Hence less heat, more efficiency.

Here's a picture of my assembled DAC. Although picture is not a good measure for an audio application, I think it looks cute. And this is a debugger that runs inside of its ATmega8 that allows me to play with CS8416 and AD1955 settings.

Also note that Analog Devices ADM3202 is a significantly cheaper 3.3V replacement for the ever-so-popular MAX232. It is also pin-to-pin compatible.

20 Feb 2006 (updated 21 Feb 2006 at 00:13 UTC) »

Here's a PCB of my power supply, this time I got really bored by straight lines and it shows.

Lessons I learned with power supply

1) It seems that a relay rated at 1A must withstand power on currents. But huge bulk capacitors at the input of circuit are effectively a shortcircuit at start. This surges the relay and fries its contacts together. At least a small reed relay can't survive that. Mine has become welded forever. A good solution would be to either use a hexfet power mosfet instead, or just put a NTC thermistor in line with relay to limit the starting current.

2) When programming a microcontroller that requires HV for programming and using its main voltage from one source and +12V from another, never ever let both grounds become disconnected when one of the supplies is on.

After I tested the power supply and soldered down the DAC to the board, I found out that the receiver doesn't work in SPI mode anymore. I haven't figured the root of the problem yet, but here's something I learned by reading its datasheet n'th time. This may not be interesting for everyone, but there are not too many CS8416 projects around and my log here shows among the first hits on google so maybe this will help someone. One very important scoop from the datasheet follows:

CS8416 Datasheet Excerpts regarding hardware/software mode selection

Excerpt one

SDOUT, Pin 26: Serial Audio Output Data (Output) - Audio data serial output pin. This pin must be pulled low to DGND through a 47 kOhm resistor to place the part in Hardware Mode.

Excerpt two

For each mode, every start-up option select pin (except for TX, which has an internal pull-down) MUST have an external pull-up or pull-down resistor as there are no internal pull-up or pull-down resistors for these startup conditions (set after reset).

I hope this is my problem. I missed this part at first. When SDOUT was floating, it could as well be assumed as hi-state and the device worked as I expected it to. When I connected its SDOUT to a finite impedance input, it has likely become effectively pulled down: pull down indicates hardware mode.

This is something I could never expect for a data out line of I2S bus interface, that has no other functions!

3:12AM Update

Yes, it were the pullups that were the problem. I enabled them (had them planted in before, just forgot about the solder jumper on the reverse. I now have a working SPDIF receiver! So happy! I guess I feel like people who assembled their radios in early 1940's. Joy!

14 older entries...

Share this page