views:

124

answers:

3

I apologize if this question is a little broad. Hopefully your answers will help me narrow it down to more meaningful questions.

I'm experienced in software engineering and had a recent conversation with a friend who suggested that electrical engineering is very software driven these days.

I'm trying to improve my understanding of the electrical engineering side of things and thought since I already know software, a good way could be to write software or a library that's relevant for electrical engineers. Of course I'd prefer to write something that's relevant to as many people as possible so it's not only training for me, but also useful to other. So my plan is to write a library and open source it for several researchers and academics to use.

For those who've worked with electrical engineers in the past or who are ee themselves, what do you suggest could be a useful software to have. I'm experienced in several languages mainly PHP, JAVA, C, C++, Actionscript, and a few others. Please suggest a project that you think would be useful to others and the language that would make the most sense for it.

Of course if you have anything else in mind, don't hesitate to say it.

+4  A: 

How about to some existing projects like:

Johan
+1 At http://geda.seul.org/wiki/ in the section for developers there are suggestions for improvements to the existing tools. That might be a good place to start.
Peter Tillemans
Wow, thanks for the pointer!
Potatoswatter
+1  A: 

LTSpice is a free but very capable & popular device/circuit simulation package (it also does schematic capture & has a waveform viewer). It's gonna be tough to outdo that one, but playing with it might give you some ideas.

One thing that comes to mind... DSP is an area where math, electrical engineering & software all come together. It's beautiful, it can be tough, but it's extremely useful to know and it's very widely applicable.

When you're doing DSP work, you're very often working with sets of sampled data, trying to improve or refine the algorithms/filters/electronics/etc... I've used a pretty simple but useful program called ScopeDSP for this, and I've often thought about "rolling my own", but I've never had the time. There is another program from the same company, ScopeFIR, which is used for designing & analyzing Finite Impulse Response (FIR) digital filters. The programs aren't terribly complex (no pun intended), and with a little DSP knowledge, you could try something along those lines.

PCB Layout is a whole different bailiwick, and other kinds of EDA software (e.g., IC design) can get very hairy very quickly. I'd avoid those, although I know a couple smart guys who are always working on their own PCB autorouters... certainly a challenging undertaking, and autorouters are one of those problems that don't have a single solution. With autorouters, there are all sorts of tradeoffs, and you can usually play them off of each other. Figuring out what the user should be able to tweak/constrain, by what amount, and when the route is "good enough", it's not black & white.

Anyway, maybe something in there will give you something to chew on for a while. Good luck.

Dan
A: 

I agree with Johan -- please consider improving software already started elsewhere, rather than creating the 101st partially-implemented variant of an idea that already has 100 partially-implemented variants floating around. Push the state of the art forward. Here are some projects that could use some software help that are much closer to the electronic hardware than most software projects:

  • RepRap (can this machine be re-programmed to make printed circuit boards?)
  • Gwyddion (scanning probe microscope software)
  • "Open Programmer" and "TekBots Universal Programmer" (can these be merged?)
  • SDCC, the Small Device C Compiler
  • "Quite Universal Circuit Simulator" and "DigitalSimulator" and "ngspice"
  • ARM simulators http://simplemachines.it/simulators.html
  • MSPDebug (MSP430 simulator)
  • "GNU AVR Simulator" and "AVRsimu" and "Atmel AVR 8-bit RISC emulator for UNIX" (can these be merged?) also: http://www.nongnu.org/simulavr/
  • ArduCopter, the merger of the ArduPilot and AeroQuad projects http://diydrones.com/profiles/blogs/announcing-arducopter-the
  • PyMite: Python for the Atmel AVR
  • pyastra: Python for Microchip PIC
  • NanoVM: Java for the Atmel AVR
  • PalmAVR
  • Piklab
  • "psim PIC simulator" and "PICsim - PIC microcontroller simulator" (can these be merged?)
  • weeno: an extension of Wiring / Arduino
  • KiCAD, gEDA, and LiquidPCB
  • Gnu Radio
  • The RoboCup Soccer Simulator
David Cary