Whether a launch system, spacecraft, landing system, or rover most vehicles or crafts include a mechanical structure, fluid valves and pumps, electrical-mechanical actuators, electrical sensors, a processor or controller (CPU) to monitor systems and make changes, and an electrical power supply.
This site is oriented to providing students and hobbyists with pointers to software that can help with the engineering of micro controller (CPU) controlled devices. The software referenced here is all either free, inexpensive, or demo software so it can be tried without initially investing significant money. A few of them are tools we've developed, but most we've found at other places on the web. Where possible we've included a link to the site where you can get the latest version rather than a direct download of a possibly stale version that I have. All CPU software development tools mentioned here will be for 16-bit or 8-bit CPUs since there are plenty of Linux, Unix, and Windows based tools for most 32-bit CPUs.
For the micro controller novice:
The typical software tools that you would need to develop a micro controller device include the following. An assembler is used to convert assembly source code into a machine instruction binary file that can uploaded to the controller or burned into its EPROM. A higher level language compiler, such as a Pascal, Forth, C, or C++, can be used to generate the assembly code or some will create a machine instruction binary file directly. Higher level languages such as a Java or C# will create an intermediate instruction file that would need an interpreter to be uploaded to the controller. It's easier to write source code in a high level language than in assembly source code. The next tools that you would need include either a monitor or a debugger. If these tools are designed to work with the controller, they can be used to upload the binary to the actual controller. Debuggers also exist that allow you to test the code with out the hardware. They do this by simulating on your desktop computer most of the behavior of the controller. While a simulating debugger might be easier to configure, you won't know the code really works the way you want it to until you upload it to the hardware.
It can also be useful to use development software such as SPICE, PSpice, and others to simulate the behavior of your electronics. Unfortunately, its hard to simulate the full behavior of a micro controller with these simulation programs. However, they are still helpful in testing out the design of additional electronic circuitry. Another class of helpful development tools are circuit board layout and auto router programs. With these you can design the layout of the electronic components on a circuit board. While circuit layout and auto routers are typically used to design a printed circuit board, they can also help you visualize component interconnection. Thus, they can be helpful even if your wire wrapping your circuit board and not etching a printed circuit board. Finally, CAD and CAM software can be helpful is designing mechanical parts.
Email suggestions for inclusion to teraKUHN
Text Copyright (C) 2000-2002, 2017 R. J. Kuhn. Please note that you are not allowed to reproduce or rehost this page without written permission.
This page was previously hosted on geocities as www.geocities.com/rjkuhn_2000/index.htm. That old page has been copied and replicated in a number of other locations on the world wide web, but those other locations are snapshots and are not updated.