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