Week 4 - Electronics Production

group page // repo source files // objectives


hero shot >


benchmark benchmark

objectives >

feeds & speeds (group page) >

The group assignment page documents design rules for our PCB fab processes.

process >

meta >

I started off by designing the eval board for the attiny44a, to take out two birds with one stone (efab and ecad).

However, Dan recommended that I take a look at the FabTinyISP instead, something the instructors suggested since efab has a high learning curve. I followed this tutorial.

I initially followed this other one, but it had a typo in the programming section that cost me some time troubleshooting:

incorrect, white box with blue stripe atmelice: typo

correct, white box with blue stripe atmelice_isp: typo

order/fab boards >

The milling process was the hardest workflow I’ve had to deal with so far in the class. I had some unfortunate experiences with 1/64” bits that Dan can attest to, as well as some others that he can’t. I learned a lot about what not to do throughout this process. Hopefully this is a promise of a long life for my still intact bits!

I referenced quite a few resources attempting to get things to work. Some prominent sources:

I should make a dataviz tool that takes a web journey and transforms it into something embeddedable… would result in easier and more thorough documentation. I’d call it breadcrumbs, or something.

The first workflow I attempted looked like this:

The second workflow (that actually worked) looked like this:

Things I learned to watch out for while milling:

milling setup mill mill mill mill

first broken 1/64”. The entire board and sacrificial board lifted off the plate! Spindle attempted to home, but board was in the way. mill mill mill

Since the sacrificial board lifted off the plate, I took a picture of the doublestick tape on the backside. Relevant to another failure; board did not adhere well to plate and moved with bit. mill

test pattern using the broken bit to mill. mill mill mill mill

erratic behavior, jogs didn’t include a z+ movement which led to cutting the blank. The machine was also homing between every few moves as well. mill mill

first successful mill (on the erratic behavior pattern) mill

third broken 1/64”. bit was loose, can only conclude that collets weren’t properly tightened. mill

machine working properly here. mill

success! mill

milling outline mill

success again! mill

lifting milled board mill

backside mill

populate boards >

components and board populate

workspace populate

soldering soldering

finished! populate

program fabtinyisp >

somewhat uneditted asciinema recording of my programming process and subsequent errors

I had a few issues getting the device to program, turns out, the documentation I was following had a typo that took half an hour to figure out. I’ll document the problem in more detail in a bit, but found the following discrepancy: the fabcloud tutorial advises ‘atmelice’ while the mit class tutorial advises ‘atmelice_isp’.

Did finally manage to get it to program, but then wasn’t able to recognize device on system (didn’t show up in lsusb, saw error messages in dmesg).

able to recognize! on using “lsusb”, I can see “Multiple Vendors USBtiny”.


programming a target board (tada!) >


(revisiting assignments after the 2022 cycle)

programSetup nano is plugged into wall outlet for power, fabtinyisp is plugged into computer usb port, ICSP headers are connected

modifying the makefile and programming an arduino nano

verifying that the arduino nano is still recognized by computer via lsusb

© 2023 Alan Han   •  Powered by Soopr   •  Theme  Moonwalk