Tools for Embedded Development on Mac OS X

Tools

This page is very out of date. I promise I’ll get to it in the next few weeks. In the meantime, the Osmond Part Maker utility I announced is available in the Utilites Section below. Also check out the wicked cool video on the main Ichibot page.

Embedded development falls into to main areas: hardware design and software (sometimes called “firmware”) design. While a great deal of firmware development takes place on off-the-shelf hardware, it doesn’t get really fun until you start designing and building your own hardware. One additional area that might be considered is mechanical engineering, especially if you’re into robotics, but even if you just want to put your device into a pretty package.

For each of these areas, there are several applications available that will make your life easier.

Software Development Tools

(Thanks to Mikey Sklar for providing the kernel of this list. There’s better information available on his site.)

  • PICStart Plus - Microchip’s serial programmer
  • USB Serial Adapter - Keyspan (USA-19QW)
  • picp - programmer software
  • gputils - contains the assembler I use
  • gschem - schematic creation
  • fink - gschem/pcb are available via fink, most of which is nothing more than ./configure && make && make install. fink is a package manager for OS/X.
  • gpsim - PIC simulator, not easy to build on Mac OS X

Hardware Developement Tools

  • Osmond PCB - Mac OS-only PCB layout software
  • pcb - PCB layout

Utilities

  • Osmond Part Maker is a little Java command line utility I wrote to help me build certain kinds of parts for Osmond. This version only knows how to build a few QFP and TQFP packages from 32 to 128 pins.

    It’s fairly easy to use. Download it from the link above, then put the .jar file you get somewhere convenient. From that directory (wherever you put it), type this at a Terminal prompt to unpack it (I’m trying to figure out a way to avoid this step):

    $ jar -xf opm.jar

    Then run the utility with something like this:

    $ java -jar opm.jar --pkg tqfp --pins 44 > part.txt

    You can also specify the parameters of a square QFP:

    $ java -jar opm.jar --pins 44 --type-name QFPT10X10-44N --pitch 0.8 --pad-width 0.5 --pad-length 1.7 --row-space-h 11.4 --silk-width 8.9 --court-width 14 > part.txt

    The result of the command above will be an Osmond “Type” definition in a file called “part.txt” in the current directory. You’ll need to copy & paste the contents of that file into an Osmond Library file or your Osmond Layout file. You might be able to import the file, but I don’t know how well Osmond will handle the line endings.

    Note that the short option names are not likely to stick around; I had to put them in there to make the help display work properly.

    Also note that this code is barely tested, and the parts it generates have not yet been tested at all. I have no idea what kind of edge cases will make it create ridiculous parts. If you find a problem, please don’t hesitate to tell me.

    If you find it useful, or if you would like for it to build a different kind of part, let me know (send email to rmann-AT-latencyzero-DOT-com). Otherwise, enjoy!