classes
3D Solid modeling
Video
<youtube>c1K-jBWytSQ</youtube>
<youtube>u8otDF_C_fw</youtube>
<youtube>z8lqDGMTbZs</youtube>
<youtube>4EZL4O6b0BE</youtube>
Reading
- https://urish.medium.com/designing-3d-printable-mechanisms-in-openscad-5838dcb65b39
- Guide to mastering OpenSCAD
- A New Era for Mechanical CAD: Time to move forward from decades-old design
- Awesome mechanical engineering resources
- Parametric CAD modeling for open source scientific hardware: Comparing OpenSCAD and FreeCAD Python scripts
- Simple tool for creating polyhedrons in openscad
Lesson plan
- Introduction to the Replimat CAD stack(s)
** 2D drawing with constraints and extrusion
** OpenSCAD
** NopSCADlib
Badge
Digital electronics
Tools
Reading
Lesson plan
- lithography and etching
- purpose of a jumper
References
Power electronics
- Battery electric solar power systems
Reading
Lesson plan
Integrated circuit design
Tools
Video
<youtube>aRAyVoljc_w</youtube>
<youtube>RKKXaWz9mMQ</youtube>
<youtube>Qs1gSzAy4Q4</youtube>
<youtube>NBIaS6GA0cQ</youtube>
Reading
Lesson plan
3D Printing and CNC machining
<youtube>OnmLKIVN6g4</youtube>
<youtube>ht4tbCiFxeM</youtube>
Reading
Lesson plan
- Why CNC? An Introduction
- introduction to 3D printing
** processes
** design criteria
*** overhangs
*** delamination and through-hole orientation
*** sharp corners
** toolpath generation with FreeCAD
*** import mesh
*** part workbench
*** part->create shape from mesh
*** path workbench
*** create path object
*** post-process the selected job
References
Firmware development w/ C++, Rust
Reading
- 3D Math Primer for Graphics and Game Development
- Floating Point Visually Explained
- Algorithms for Modern Hardware
- Beej's Guide to Network Programming
- Beej's Guide to Unix Interprocess Communication
- A Little C With Your Rust
- A Little Rust With Your C
- Learn Effective C++ for Embedded
- YouTube: No Boilerplate
- GitHub: Awesome Rust
Lesson plan
- introduction to the AVR microcontroller
** datasheet
** arduino (avr-gcc, avrdude, IDE - wiring / processing)
*** building an arduino on a breadboard
- maslow's pyramid of code review
- introduction to RepRap lineage firmwares
** firmware block diagram
** gcode parsing - marlin_main.cpp
** motion planning - planner.cpp
** stepper driving - stepper.cpp
** time domains / block buffer
** GPIO Pins
** timers
** interrupts
** signal generation
Food production
Reading
Lesson plan
Robot Operating System
Reading
<youtube>M9ABtlEM788</youtube>
<youtube>dEPvZZ4luV4</youtube>
<youtube>9D33R0Me9Bw</youtube>
<youtube>tIob2_Rze80</youtube>
<youtube>ugx82hz-oMc</youtube>
<youtube>IN8tjTk8ExI</youtube>
Computer troubleshooting and repair
Reading

*smartmontools (smartctl -a), badblocks / memtest86+
- Linux startup process
- Smart Boot Manager
- Data recovery resources
- PiKVM
- Linux ELF program startup
- An Intro To Finding Things In Linux
- Stanford.edu: CS101
- Welcome to Linux command line for you and me!
- Infographics
Toolkit
- USB <-> Hard drive adapter
- Multimeter
- A Port 80 card for diagnosing POST problems
- a pre-configured, ready to launch, kernel compile (best memory test ever)
- PhotoRec - recover files without needing to recover partitions
- TestDisk - recover partitions & files
- gparted - create, copy, edit, resize, and delete partitions graphically
- ddrescue
- dmidecode
- flashrom
- Etherboot/gpxe, iSCSI, ATAoE
- kvm, libvirt, virt-manager
- Ventoy multi-boot USB disk