92

As others have mentioned, it looks like that was drawn the old fashioned way, with one of these: along with some of these: Tools that once were in every electrical engineer's arsenal, along with one of these: Battery life was great, and they seldom crashed!


41

That doesn't look like any software was used, but a good old-fashioned drawing board, maybe a few symbol templates/stencils/curve templates used by someone who probably is a trained technical draughtman. Making such drawings is a job where you actually needed quite some expertise, so technischer Zeichner (at least in Germany) is a proper Ausbildungsberuf (a ...


41

As others have said, they probably didn’t have any particular software available at the time of publication. If you are interested in a modern solution, however, check out the Circuit macros package for LaTeX. It has the wide gate in its library. From the manual:


39

Typically ASIC design is a team endeavor due to the complexity and quantity of work. I'll give a rough order of steps, though some steps can be completed in parallel or out of order. I will list tools that I have used for each task, but it will not be encyclopedic. Build a cell library. (Alternatively, most processes have gate libraries that are ...


34

Not having hardware during the initial stages of firmware development happens. Common strategies to deal with this are: Spend time up front architecting the system carefully before you write any code. Of course you should do this anyway, but in this case it's even more important than usual. It's much easier to debug well thought out software than a pasta-...


30

I assume you are not alluding to a deeper philosophical discussion about information, power and entropy, but you are just interested in the practical aspects. Very simply put, digital circuits need to measure input, digitize it, run it through some kind of processing and then transform the output into an electrical signal again. Digital circuits cannot ...


29

I'd still call it an ECO. If the firmware is programmed into the micro in the factory, then that firmware and its specific version should be a line item on the BOM. Changing the firmware means changing the BOM. Changing the BOM requires an ECO. Following on from that, a field update of the firmware should follow a similar process to that which would be ...


28

I often use the falstad simulator: http://www.falstad.com/circuit It's a Java applet, so will work on pretty much any operating system. The interface does take a bit of getting used to, and there are problems saving in Linux (it gives you a link to copy and paste, and copy and paste in Java doesn't work too well in Linux). Other than that it ticks all ...


28

To answer Tyilo's specific questions: analogRead(5) and digitalRead(5) will read from two different places. The former will read from analog channel 5 or A5 and the latter will read from pin 5 which happens to be a digital pin. So yes, if you want to read an analog pin with digitalRead you should be using A5. Why? analogRead requires a channel number ...


23

There are several aspects influencing the grade of detail the structuring of a project needs. For me one of the main factors is whether I'm the only one coding (what seems to be the case for you as you write you're the only EE) or if there are others involved. Then there's the question of what "large" actually means. Usually I divide the design process into ...


21

Since my last update to this answer, I was lucky enough to find an online system that meets most of my (and the OP's) requirements for managing small electronic components inventory. The service is called Parts-in-place. The system is based on a typical workflow of small electronics products companies (so the site says - how would I know, I'm just a ...


20

Of course you can, with the HCF instruction! That said, I say that's impossible without any external circuitry, apart from power and such. Even including some non purposely faulty connections possibly won't cut it: if you tie all the gpios to a power rail, setting them as output (to the opposite power rail) that can dissipate quite a lot of power. A gpio ...


20

It is most likely Fritzing. It is an educational free software quite popular among newbies and teachers. It can draw wiring diagrams like the one you posted, or true schematics and even PCB layouts. It can't simulate the circuit, though. As Felthry and JRE said in comments, using Fritzing is frowned upon on this site and by professional engineers because ...


19

CircuitLab is a beautiful in-browser circuit simulator that was launched a few days ago by a pair of MIT students. I think electronics.SE is going to love it! It does full mixed-signal analysis and appears quite capable. I look forward to seeing where it goes! Here's a screenshot: You can share circuits via convenient short URL's. For instance, here is ...


19

There are a few Arduino Simulator projects out there. Perhaps one of the more mature ones is the Virtronics Simulator for Arduino, YouTube video here. The Virtronics page linked above also lists a few other Arduino simulators, both free and paid. Given the interest the Arduino evokes, there are likely to be many more such simulators out there, so no ...


19

I have been designing some PCBs recently and I would suggest you NOT to use auto-placer or auto-router for your final product. (Proteus has auto placer.) First of all - Your software is as intelligent as an earthworm when it comes to auto placement or auto routing. In other words, it's dumb as a potato. Auto routing would not know which placement will get ...


15

You can use CodeBlocks for arduino. CodeBlocks already works with quite a few microcontrollers, so I'm guessing that the arduino dev environment will be quite robust. There is also an Eclipse plugin for Arduino.


15

Disclaimer: supercat said that first in a comment. Actually, it is not possible to physical destroy most MCUs, but it is possible to wear it enough to start malfunctioning to a point where it is unusable. I have experience with TI's MSP430, so here it goes: Those MCUs allows reprogramming the whole flash at any time. Not only it is possible to wear the ...


13

My router has a placer and support for "rooms". That let's you draw areas and assign parts to "rooms" from the schematic. The auto placer will group them together in the room the part is assigned to. Pretty sure it has support for this connector should go to this location too. There's also a tool that can do automatic decoupling placement and part ...


13

Without any insight into what it is you're developing, or which family of microcontrollers your hardware will eventually be based on, most families of microcontrollers have low cost development systems available that have a suite of common peripherals on them, which may allow you to simulate at least some of your eventual target hardware.


13

Humpawumpa wrote a great answer! I just want to supplement some of his points, but since this is too long to be a comment, I'll write a separate answer. I was once in the OP's position — not the only EE, but the only EE who had done any MCU development in a small company. I can't emphasize the importance of modularity enough, even if you're the only ...


12

I like LTSpice you can find it here: http://www.linear.com/designtools/software/ It does jsut about everything.


12

Atmel Studio is the development environment Atmel provides for the microcontrollers behind the Arduino line. Atmel Studio 6 is based on Microsoft's Visual Studio which is a very complete C++ development tool. You can customize Atmel Studio 6 to work with the Arduino libraries and compiler, as documented here.


12

One thing you're not considering is that a schematic does not contain enough information to lay out a board properly. Basically, the PCB layout requires consideration and accommodation for a few dozen layout requirements per part, none of which are codified in the schematic. Consider just the bypass capacitors. To have an automated system properly place the ...


12

For any large project, I plan it as if there were multiple developers involved even if I intend to do the whole thing myself. The reasons are simple: 1 Complexity. A large project will always have complexities involved. Having planned the project as if there were multiple teams involved means that complexity has been considered and documented. The number ...


10

Here are some suggestions for projects which would not be hard to get into for a software developer. They might all appear rather hard, but I'm a big fan of attempting projects that are way outside my skill set. If they're fun, compelling projects, they will drag you joyfully through the learning process. And remember, we're all here to help. LED Matrix ...


10

We have done an evaluation for my company some months ago because Excel Spreedsheet has reached its bottleneck when multiple engineers are working on the same product at the same time, track of changes, tractability. Finally, three commercial options left for us, PartsinPlace, Aligni, Ciiva. Though we have also looked into SiliconExpert and ArenaSolution, ...


10

Back in 1974-1975 I worked in the Design Automation department at Honeywell. The problem hasn't changed since then: It's not computationally feasible to optimize. Like most global optimization problems, it's NP-Complete, meaning the complexity of the computation grows horribly quickly. Since you can't wait around for a trillion years (or worse), we can ...


9

The C18 compiler supports the number-to-ascii family of standard C functions in stdlib.h: itoa(), ltoa(), ultoa() et cetera. Depending on which compiler / stdlib.h you have, the relevant function prototype would be: extern char * itoa(char * buf, int val, int base); // signed int extern char * utoa(char * buf, unsigned val, int base); // unsigned int ...


Only top voted, non community-wiki answers of a minimum length are eligible