04 Electronics Production

This week, things got tough. We milled, stuffed, and programmed a Fab ISP (in-system programmer) that will allow us to program future boards. I'm not altogether sure what that all means yet, but as Neil assured us several times in his lecture, we're just following directions for now, and will understand what we're doing over the next few weeks. 

So, we first milled a tiny printed circuit board (pcb), by opening the file on the left, below, in a fab module connected to a Roland Modela mill.

The milling process is slow (~7min/board) and tedious, requiring switching drill bits between milling and cutting out the boards. My clever classmates set up the boards to mill several at a time and then cut them out in batches.

After cutting, we washed the incredibly tiny boards to remove any hand oils that would otherwise eat away the copper in a few months. We then used the diagram on the right above, along with a photo of another board as guides. We picked out all the tiny capacitors, resistors, a microcontroller and other components out of a binder and kept them organized in tiny trays.

On to soldering - aka stuffing the board! The first component was the absolute toughest to solder, the mini usb adapter. It had to have all the little teeth perfectly lined up with the traces on the board. Yikes, this was a crazy place to start. I ended up having to super and hot glue the copper pads under this part back on, because I pulled up the copper in plugging in a cable once everything was ready to plug in.

Turns out that soldering is pretty fun, especially since Anna got super bright lamps with magnifying lenses that made the process much easier. After a few pieces, it got easier too, and the best part was using a copper braid to suck up extra solder. Unfortunatey I have no pictures of this, but believe me, it's fun to watch the gooey mess go through various chemical states. 

The board!

 

Once it was all stuffed, we had to download several programs (again I'd be lying if I said I fully grasped what's going on, but check out the order of activities). I'm working with a new Macbook Air, and this is where I ran into some trouble. First, I was trying to use Ania's board to program mine, which later turned out to have a malfunction. I used another unit, which worked! 

 However, my computer continues to not recognize the FabISP as a drive, which might be a problem with the too-new USB 3.0 slot. Nothing shows up in the hardware overview when I plug it in, but it mounts just fine on other pcs and macs. I can identify it via my terminal, where it says it needs to be formatted. See output below:

kates-MacBook-Air:fabISP_mac.0.8.2_firmware kate$ system_profiler SPUSBDataType
USB:

    USB 3.0 SuperSpeed Bus:

      Host Controller Location: Built-in USB
      Host Controller Driver: AppleUSBXHCI
      PCI Device ID: 0x1e31
      PCI Revision ID: 0x0004
      PCI Vendor ID: 0x8086
      Bus Number: 0x14

    USB High-Speed Bus:

      Host Controller Location: Built-in USB
      Host Controller Driver: AppleUSBEHCI
      PCI Device ID: 0x7fbf00001e26
      PCI Revision ID: 0x7fbf00000004
      PCI Vendor ID: 0x7fbf00008086
      Bus Number: 0x1d

        Hub:

          Product ID: 0x0024
          Vendor ID: 0x8087  (Intel Corporation)
          Version: 0.00
          Speed: Up to 480 Mb/sec
          Location ID: 0x1d100000 / 2
          Current Available (mA): 500
          Current Required (mA): 0

            USB2.0 Hub:

              Product ID: 0x0608
              Vendor ID: 0x05e3  (Genesys Logic, Inc.)
              Version: 77.63
              Speed: Up to 480 Mb/sec
              Location ID: 0x1d110000 / 7
              Current Available (mA): 500
              Current Required (mA): 100

                FabISP:

                  Product ID: 0x0c9f
                  Vendor ID: 0x1781
                  Version: 1.04
                  Speed: Up to 1.5 Mb/sec
                  Location ID: 0x1d113000 / 9
                  Current Available (mA): 500
                  Current Required (mA): Unknown (Device has not been configured)

 

Not sure what the solution is yet, will keep looking for backwards compatibility issues for the Air and update this page as needed. The important thing is that the controller is programmed and works!

 

 

 

 

Published on   February 18th, 2013