Week 01: laser cutting and vinyl cutting
Week 02: electronics production
Week 03: 3D scanning and printing
Week 04: electronics design
Week 05: computer-controlled machining
Week 06: embedded programming
Week 07: molding and casting
Week 08: input devices
Week 09: output devices
Week 10: interface and application programming
Week 11: networking and communications
Week 12: mechanical machine design

Final project



Week 6: embedded programming

Skills used: PCB milling (KiCAD and MODs), soldering, bootloading (HomeBrew), and programming (Arduino).


Part 1, Design:
I began this week by revisting some of the issues I had during Week 04, electronic design. While I was able to get my Week 02 D11C to "echo" I wasn't able to successfully "blink" an LED. Therefor the PCB I started with was Neil's "D11C_blink_reset" from the class website. I selected this board to better understand the circuit, as the process of programming microcontrollers are still a bit abstract to me. The thought was to first get one PCB to "blink" then I can add a button and expand upond the programming language. (The .png files for this board are pasted at the bottom of this page.)






I milled this PCB on the Roland SRM-20 in the Arch Shop via MODs. This process of PCB milling is the same process covered in Week 04, head there for more detailed instrcutions on this step.











Part 2, Programming:
Once the 4-pin D11C was milled and soldered, I went back to some earlier tutorials shared by our TA, Laura, about bootloading and programming. To start I first downloaded EDBG, HomeBrew, onto my Mac. Which I thought downloaded successfully at first. It wasn't until I tried to install hidapi, that I realized I was having issues pointing the program to the directory.





After several failed attempts with my Mac, Kim offered to help me by using his computer. Using his computer we bootloaded the D11C and ran the "blink" program with Arduino, no problem.






The issues communicating with Mac continues... When trying to upload new program to the D11C, Aduino was unable to find a my USB serial port. I tried to reinstall the driver, Adruino, and FTDI. After several failed attempts, I used the Windows computer in the Arch Shop and everything worked perfectly. For embedded programming, I suggest Mac users experiencing trouble shooting issues to find a Windows machine to use.





I decided to add a button via wires to my D11C rather than milling a new PCB. Then I ran the simple button code which turns ON the green LED only while the button is being pressed.




Week 6 Files