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!