Hot answers tagged software
23
Kicad is free and open source, and it is a relatively well-integrated package of schematics and layout editor.
gEDA is free and open source. It is older than Kicad, has more tools which produce nicer output, but is less well integrated.
Since they are open-source packages there are no arbitrary restrictions on the free version (like e.g. board size in ...
18
Code density refers loosely to how many microprocessor instructions it takes to perform a requested action, and how much space each instruction takes up. Generally speaking, the less space an instruction takes and the more work per instruction that a microprocessor can do, the more dense its code is.
I notice that you've tagged your question with the 'arm' ...
18
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 ...
16
Use a chip that has more than twice the amount of Flash memory you will need for your code. This way you can get the new firmware to this memory while still leaving the old one in case anything goes wrong.
After you decrypt and verify the checksums on the new firmware a bootloader can copy it to it's final location, replacing the old one. If anything goes ...
15
I don't think you can brick it without hooking up some extra hardware. Shorting power to ground will do it. Trying to source or drain too much power through a single pin might do it, but would be more likely to just burn out that one pin.
What you do in software shouldn't be able to actually brick the Arduino itself. Repeated EEPROM reads/writes could ...
15
I'll just comment on the design:
Replace C5 with a 100nF ceramic capacitor and place it close to the power supply pin of the MCP6022.
Put the designators on the PCB-Design, not values. Make it far
easier to understand the layout.
Avoid 90° trace bends, they can cause problems when etching the
board. They're also bad for high-speed stuff (at least that's ...
14
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 ...
14
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 ...
14
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.
13
Generally, you need software that can export STL files.
Solidworks: $\$$4000 + $\$$1300/year
ProEngineer: $\$$5000? + something per year?
Autocad Inventor: $\$$5200? + something per year?
Google Sketchup: Free or $\$$500, but can't export STL directly. I've seen mention of a plugin that can convert Sketchup files to STL, but I haven't used it myself.
...
13
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 ...
12
We usually call that simulation, not emulation. If we were to emulate the board, that means having another device perform similarly. There are plenty of circuit simulators, most famous of which is Spice (ltspice is one popular version). Qucs, ktechlab, klogic (limited to digital), and gnucap are a few others; for those without a graphical interface, there ...
12
This may not count as a PCB design software, but it takes a new, creative approach to circuit and PCB design, and lets you prototype around with a breadboard view.
It's called Fritzing and there are versions for Windows, Linux and Mac.
View screenshots of the main feature modes:
Breadboard view (see below)
Schematic view
PCB view
12
Use a bootloader and a few KB of extra flash.
An upgrade is performed by the bootloader, by sending some special command over UART, USB, I2C, or another protocol. Only the main code is ever updated - bootloader code is never touched except via an external programmer (i.e. JTAG/PICkit for PICs etc.)
If the update fails (power failure, someone tripped over a ...
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.
11
LTspice is free and works well for switching power supply designs.
I also use Paul Falstad's Circuit Sim for concepts.
When it comes down to designing power supplies (which is pretty much the only thing I use circuit simulators for) I usually rely on application notes and already designed supplies. If they use LT parts, I might try and optimise the design. ...
11
This Python procedure will evaluate a formula in your format (first argument) against a list of single-letter variables (second argument):
def table( x, v , w = "" ):
if( v == "" ):
print( "%s : %d " % ( w, eval( x.replace( "v", " or " ).replace( "~", " ! " ).replace( "+", " and " ))))
else:
table( x.replace( v[ 0 ], "0" ), v[ 1 : ], w + ...
9
To successfully accomplish this, you probably want the following:
Localization Sensors - If you are on a smooth surface, wheel odometry should be enough. The rougher the area that you are operating in, the more sensors you would need. Other common sensors for localization: Digital Compass, IMU, GPS, Vision Tracking (Fiducial Recognition), Stargazer ...
8
I use gEDA/PCB. The file formats are open an ASCII. The open file
formats make a wide variety of EDA automation tasks possible. The
ASCII format makes them easy.
I have switched from Eagle to gEDA/PCB. I have found gEDA to be a more
productive tool. The schematic capture is better but the PCB layout
seems more difficult. The scriptability is what has made ...
8
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
...
8
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
...
7
I personally prefer using Diptrace
http://www.diptrace.com/
It is available for non-commercial use in a limited form (250 pins) for free and then hasd a scale of different costs depending on use and scope.
I have tried Eagle and find diptrace easier to use with a fairly extensive library and more importantly an easy to use parts designer.
I have used ...
7
As @LoneTech said, there are plenty of circuit simulators. My two cents:
Proteus - You can simulate some microcontrollers, but isn't free.
http://www.falstad.com/circuit/ - java applet that allows you to simulate your circuits
http://logic.ly/ - An online tool limited to digital
7
From your latest comment, I would suggest oversampling the input. Record several consecutive samples, and then your output should be whatever the majority of the recorded samples are.
For instance, say you record 10 samples. If you get a noise spike, only one or two of the samples will be corrupted, while the majority of them are the correct value. If ...
7
There is at least a LaTeX package for Karnaugh maps and Veitch charts. K-map on sourceforge looks promising too (though the source included no Makefile). I hope we'll see others listed here!
7
Big names in EDA software are Synopsys, Cadence, Mentor, and Magma.
Here is some of the software typically involved in a standard-cell ASIC flow:
HDL simulators read an RTL description of the design (typically written in Verilog or VHDL) and mimic the behavior of the hardware described by the RTL. Wikipedia has a list of Verilog simulators; the list notes ...
7
There are Real Time extensions to UML that were popularized by a company whose name escapes me at the moment. I remember doing a paper on it several years ago. Bruce Powell Douglass wrote a few books on the subject of modeling embedded systems using UML, but his company is not the one I'm thinking of.
That said, to echo Wouter, there is nothing special ...
7
Simply put, you use whatever tools and talents you have available to get the job done, in the time required, and within budget. In the end, that is all that matters.
While some tasks naturally lend themselves to a hardware or a software solution, there are a lot of tasks which it does not matter. For example, I could use a 555 timer to blink an LED, or ...
Only top voted, non community-wiki answers of a minimum length are eligible