Neil's Lecture
- Intro
- everybody now has a global evaluator. the global eval is not only an evaluation but its also a person to talk to when there are problems and they help you to fulfill fa standards
- there is a schedule for it
February 12: global eval started
March 9: US Daylight Savings Time
by March 1: student+local+global intro meetings
April 9-23:
- break, midterm
- preceding weekly assignments due
- student+local+global review meetings
- review assignments and final plan
- sort into likely/possible/unlikely to finish this cycle
June 4: weekly assignments due
June 9-13: final presentations
June 16-20: student+local+global review meetings
June 23: global eval decisions deadline
July 4-11: FAB25
Student Reviews
- ... ??? from charlotte latin
- button box
- https://fabacademy.org/2020/labs/oulu/students/anssi-heikkinen/finalproject.html
- reykjavik, evert
- https://fabacademy.org/2025/labs/reykjavik/students/evert-jensson/
- https://fabacademy.org/2021/labs/leon/students/alberto-gonzalez/finalproject.html
- works in the fablab, interested in using the fablab more an dimproves his teaching.
- include the prompts when you do LLM stuff!
- final project: some chair thingy
- but you can also do a final project that fly:
- kitagaya: https://fabacademy.org/2022/labs/kitakagaya/students/yusuke-takahashi/projects/final-project/
- ernesto castro
- https://fabacademy.org/2025/labs/ulima/students/ernesto-castro/
- final project: ...
- there is a mini mini tiny fab thingy neil showed
- concern: you need a material that easily dissolves, but the materaial would be very vulnerable
- you can also cut using hot wire.
- search: "pancake plotter"
- ahmet burhan bas
- https://fabacademy.org/2025/labs/hisar/students/ahmet-bas/
- does automata kit to teach people about automatic systems
- https://507movements.com/
- https://dl.acm.org/doi/fullHtml/10.1145/3701571.3703389
- https://dl.acm.org/doi/pdf/10.1145/3701571.3703389
- wants to do somethign with audio
- https://archive.fabacademy.org/fabacademy2016/fablabreykjavik/students/331/final_project.html
- final project:
- this in hardware: https://www.incredibox.com/
- the best music project ever: antonis cristion of htmaa: https://fab.cba.mit.edu/classes/863.24/people/AntonisChristou/about/
- he likes very abstract music
- it was a graphical game. while you were building the sahpes, you are synthesizing
- shintaro ito: node japan kannai
- data analysis
- https://fabacademy.org/2025/labs/kannai/students/shintaro-ito/
- fabacademy because: read some book from neil
- final project: cleaning wheels
- project to make a dishwasher by jfduval
- koharu takeda
- nice vinyl cutting design
- final project:
- some table tennis table
- Doaa Elbess
- Evelyn Cuadrado
- akash
- did flexible cardboard thing by engravign away the top layer of it.
- ofelia
- in week 3 sh built masks from vinyl cutter
Lecture
- organizational
- this time we do it a bit - this time we do it a bit different
- in the lab we are gonnaa demonstrate with the processors
- then we will program using a simulator
- only then we are fabricating
- in the lab we are gonnaa demonstrate with the processors
- then we will program using a simulator
- only then we are fabricating
- first thing to do is choosing the architecture: von neumann vs harward
- risc vs cisc?
- harward vs von neumann?
- ...
- Von Neumann is simpler, has shared memory space for data & instructions; Harvard is more complex, data & instructions use separate memory space, making it more difficult to implement but faster (can access data & instructions simultaneously).
- Choice depends on your applicaiton needs. Choose based on which mcu family you prefer, e.g. avr, arm, esp32, etc. Instruction sets are similar across families and you can ge mcus with different amounts of memory, pins & peripherals/features.
- Most programming done in high level, so the architecture is transparent to the programmer.
- multiple types of memory
- there is a lot to learn, we dont start from scratch. neil gives us examples
- we dont need to start from scratches.
- as we progress we need to know all of this
- word size
- what is a word? ...
- example: 8 bit processor can handle same data, just takes more time
- you can use that using just more powerful prowessor (more fast)
- pi calculation benchmark
- https://gitlab.cba.mit.edu/pub/pi
- how it all works
- https://www.megaprocessor.com/
- ... more links at top of the processor families section
- different families
- AVR
- What makes it special? ...
- they are nice to embed
- ARM
- compared to AVR, arm family are 32 bit
- somewhat faster clock 48Mhz
- more kinds of peripherals
- even smallest one knows how to speak to usb
- harder to program
- code is bigger. you need larger programs to program them
- however, they go up to the processors in superwcomputers/ in phones
- you use them when you need to go to more povwerful programming interfaces and peripherals.
- D11C, D11D, D21E, D51 are a single arm family, but the different Ds just say how many pins your chip has
- STM32 ui dnt know
- rpi ...
- rp2350 ...
- for most powerful embedded processing: need raspis
- there are all differen tprocseses
- octopart: search engine for parts
- packages:
- dip (dont use that anymore)
- surface mount is the way
- tqfp, lqfp for very small spacings
- MLF, WLCSP, ... for very very small
- so we chose a package and a family. now: code:
- we dont start from scratch. we take templates
- you can use c/c++
- rust
- more safe
- you can use it in embedded, but rust tools are much less supported. there is much more you have to setup.
- python
- you can use python also for embedded. you can express much more with python with less python code
- it is slow. it takes space
- it is nice to handle however, especially when it comes to math
- see software benchmarks!
- in-system development
- you need bootloader
- whiy? ...
- jtag programmer for putting it on some microchip. probably some standard
- ...
- development environments
- operating system
- bare-metal vs cooperative vs preemptive multitasking
- operating systems can be used to run programs in parallel on the same microcontroller
- however, it might be better to have no OS and have different processors for each process
- shells
- μC, but inside a nice enclosing with a usb and the pins led out for easy access
- usb
- if a μC "speaks usb" that means that the hardware for handling USB is there, but you need to include usb standard in your code with library
- AI with μC
- debugging and simulation
- wokwi
- For Newbies you can use tinkercircuit which does allow you to use multimeters and the led do blow up :0 this good for just getting started you will need to move to wokwi
- AVR8js is very nice for mixed signals
- wrapping up:
- there are few families we like ...
- in
Ferdi's Addendum
- option to have class in bigger classroom?
- tomorrow at 9:
- we all would be terribly bored with an arduino intro class
- arduino intro
- we should have a look at the few available microprocessors
- make a plan on what we have to do for the group assignment
- social modia appointment
- available boards
- we will use the rp2040 a lot
- yes, we really should read all the manual