Greg Hewgill (ghewgill) wrote,
Greg Hewgill

everything old is new again

It seems that these days, whenever I start a project and have been working on it for a while, I discover that somebody else out there has already done the same thing.

Before I started on my Arduino AVR emulator project, I did some searching to see whether there was any other emulator in existence out there (open source, since I did know about AVR Studio which is Windows-only). Somehow during my searches, perhaps by not thinking to use the word "simulator" instead of "emulator", I failed to find SimulAVR which is an AVR emulator that has been around for a long time. The original version was in C and has been abandonware for a number of years. A couple of years ago it was ported to C++ and has had activity as recently as a few weeks ago.

The design of SimulAVR turns out to be very much like mine, although having been around much longer it's got far more features. Nevertheless, I plan to continue working on mine just because I've already come this far. And I do have some features and plans that aren't part of SimulAVR.

Another idea I had was to build a GUI on top of the emulator, which would let you connect up virtual switches or LEDs or servos or whatever, and "run" the emulated circuit powered by the emulator core. I've got the basics of this working, except instead of being drag-and-drop, the "circuit" is hard coded into the Qt interface layer. I even thought about implementation, like how SVG might be a great way of representing circuit component graphics.

But then I found Fritzing, which is a really cool open source circuit design application that support drag-and-drop circuit design (with multiple views such as physical layout, circuit diagram, and PCB routing). This is very much like what I had in mind! But again, much more extensive. Sure enough, it even uses SVG to represent graphics elements.

Now, given a circuit design in Fritzing (that includes an Arduino of course), my next idea is to try to "run" the circuit using the AVR emulator core. This could be considered a fusion of the emulator and circuit design. We'll see how this goes. If anybody knows whether this has already been done, please let me know!

  • 2013 in review

    2013 is the year when everything changed. The biggest event was the birth of our daughter Lily. She was born prematurely in Shanghai while we…

  • 2012 in review

    2012 has been fairly quiet. Maybe it just seems that way because I haven't actually written anything new in this blog since last year's annual…

  • new photo galleries

    I've been busy processing photo galleries from the last year (or two) and putting them online for your perusal. Vancouver 2010 Northland…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded