Week 8 - Embedded Programming

group page // repo source files // objectives


objectives >

incite focus embedded programming page

I ran out of time this week :( >

documentation is shorter than normal >

samd11c - ledmux >

esp32 first spiral board >

spent a decent amount of time on Saturday dissecting my original schematic for my final project.

to interpret the 4-layer board as a 1-layer board, I had to rearrange some pins and compromise on how the board was routed. I’m using the ESP32-PICO-D4 chip, which is a 7mm x 7mm version of the more common ESP32-WROOM module. This smaller size is great for wearables, but with smaller size comes smaller footprints.


pin mapping data

the esp32 has a very flexible gpio matrix that allows user the assign various hardware peripherals to arbitrary gpio.

in the process of remapping pins, noted that a couple of the pins were reserved for memory use and should be denoted as NC.


I quickly concluded that I would need to treat parts (most) of my board as BGA-level design rules. I referred to this helpful write up on BGAs by Moritz, mentioned in class.

Unfortunately, I didn’t correctly read the part where he said “traces of less than 4mil width”. Notice how he didn’t say minimum clearance!

It’s implied by the 10mil bit that minimum clearance would be 10mil, but I didn’t internalize that :(ledsleds

state diagram >


samd11c bootloader >

spent a decent amount of time unsuccessfully flashing bootloader onto my samd11c board from ecad week.

followed the guide by Quentin Bolsee.

heeded the warning about the bootprotection fuse from this Fablab Kannai page.

microchip’s own article about this issue.

programming >

despite efforts programming the samd11c (both Microchip Studio and edbg), computer(s) both windows and linux wouldn’t recognize them.

I didn’t realize it at first, but Atmel Studio 7 is now called Microchip Studio. It’s implied in a lot of places, or not even mentioned


process improvement >

I demonstrate embedded programming later during networking week, as I added a peripheral (from outputs week) to my Urumbu machine (from machine week).

a previous project >

to both prove I can control something and in lieu of a working board (that isn’t a programmer) this week…

note: had some trouble getting video to deploy on site, found some existing issues on this.



© 2022 Alan Han   •  Powered by Soopr   •  Theme  Moonwalk