=3D Solid modeling=
======Video======
c1K-jBWytSQ
u8otDF_C_fw
z8lqDGMTbZs
4EZL4O6b0BE
======Reading======
* https://urish.medium.com/designing-3d-printable-mechanisms-in-openscad-5838dcb65b39
* [[https://mastering-openscad.eu/|Guide to mastering OpenSCAD]]
* [[https://queue.acm.org/detail.cfm?id=3469844|A New Era for Mechanical CAD: Time to move forward from decades-old design]]
* [[https://github.com/m2n037/awesome-mecheng|Awesome mechanical engineering resources]]
* [[https://doi.org/10.1371/journal.pone.0225795|Parametric CAD modeling for open source scientific hardware: Comparing OpenSCAD and FreeCAD Python scripts]]
* [[https://gusmith.wordpress.com/2015/09/18/simple-tool-for-creating-polyhedrons-in-openscad/|Simple tool for creating polyhedrons in openscad]]
======Lesson plan======
* Introduction to the Replimat CAD stack(s)
* [[https://en.wikipedia.org/wiki/Constructive_solid_geometry|CSG and solid primitives]]
* [[https://en.wikipedia.org/wiki/Boolean_operations_on_polygons|Boolean operations]]
* 2D drawing with [[https://en.wikipedia.org/wiki/Constraint_(computer-aided_design)|constraints]] and extrusion
* [[https://www.openscad.org/|OpenSCAD]]
* [[https://github.com/nophead/NopSCADlib|NopSCADlib]]
======Badge======
=Digital electronics=
======Tools======
* [[https://sigrok.org/wiki/PulseView|PulseView]]
======Reading======
* [[https://hackaday.com/2016/09/21/creating-a-pcb-in-everything-introduction/|Creating a PCB in Everything]]
======Lesson plan======
* lithography and etching
* purpose of a jumper
======References======
* [[https://www.arstemlabs.com/|AR STEM Labs Alektra electronics simulation]]
=Power electronics=
* Battery electric solar power systems
======Reading======
======Lesson plan======
=Integrated circuit design=
======Tools======
* [[https://icestudio.io/|ICEStudio]]
======Video======
aRAyVoljc_w
RKKXaWz9mMQ
Qs1gSzAy4Q4
NBIaS6GA0cQ
======Reading======
* [[http://fpgacpu.ca/fpga/index.html|FPGA Design Elements]]
* [[https://github.com/RAPcores|RAPcores github]]
======Lesson plan======
=3D Printing and CNC machining=
OnmLKIVN6g4
ht4tbCiFxeM
======Reading======
* [[https://lcamtuf.coredump.cx/gcnc/|Guerilla Guide To CNC Machining, Mold Making, And Resin Casting]]
======Lesson plan======
* [[https://softsolder.files.wordpress.com/2009/01/cnc-introduction-2011.pdf|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======
* [[https://100kgarages.com/|100k garages]]
* [[https://emachineshop.com/|eMachineShop]]
=Firmware development w/ C++, Rust=
======Reading======
* [[https://gamemath.com/book/intro.html|3D Math Primer for Graphics and Game Development]]
* [[https://fabiensanglard.net/floating_point_visually_explained/|Floating Point Visually Explained]]
* [[https://en.algorithmica.org/hpc/|Algorithms for Modern Hardware]]
* [[https://beej.us/guide/bgnet/|Beej's Guide to Network Programming]]
* [[https://beej.us/guide/bgipc/|Beej's Guide to Unix Interprocess Communication]]
* [[https://docs.rust-embedded.org/book/interoperability/c-with-rust.html|A Little C With Your Rust]]
* [[https://docs.rust-embedded.org/book/interoperability/rust-with-c.html|A Little Rust With Your C]]
* [[https://luckyresistor.me/knowledge/learn-cpp/|Learn Effective C++ for Embedded]]
* [[https://youtube.com/c/NoBoilerplate|YouTube: No Boilerplate]]
* [[https://github.com/rust-unofficial/awesome-rust|GitHub: Awesome Rust]]
======Lesson plan======
* introduction to the AVR microcontroller
* [[https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf|datasheet]]
* [[https://www.nongnu.org/avr-libc/user-manual/index.html|avr-libc]] [https://www.nongnu.org/avr-libc/user-manual/malloc.html memory layout]
* arduino (avr-gcc, avrdude, IDE - [[https://en.wikipedia.org/wiki/Wiring_(development_platform)|wiring]] / [[https://processing.org/|processing]])
* [[https://www.arduino.cc/en/main/standalone|building an arduino on a breadboard]]
* [[https://reprap.org/mediawiki/images/thumb/2/20/Rumba_wiring.svg/800px-Rumba_wiring.svg.png|electronics block diagram]]
* [[http://www.dein.fr/2015-02-18-maslows-pyramid-of-code-review.html|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
* [[https://en.wikipedia.org/wiki/General-purpose_input/output|GPIO]] Pins
* timers
* interrupts
* signal generation
=Food production=
======Reading======
======Lesson plan======
=Robot Operating System=
======Reading======
M9ABtlEM788
dEPvZZ4luV4
9D33R0Me9Bw
tIob2_Rze80
ugx82hz-oMc
IN8tjTk8ExI
=Computer troubleshooting and repair=
======Reading======
{{wiki:Computer hardware chart.png|thumb}}
* [[https://tldp.org/docs.html#howto|The Linux Documentation Project]]
* [[https://www.linuxfromscratch.org/|Linux From Scratch]]
* [[https://www.deviantart.com/sonic840/art/Computer-Hardware-Chart-2-0-587798335|Computer Hardware Chart]]
* [[https://en.wikipedia.org/wiki/BIOS|BIOS]] and [[https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface|UEFI]]
*smartmontools (smartctl -a), badblocks / memtest86+
* [[https://en.wikipedia.org/wiki/Linux_startup_process|Linux startup process]]
* [[http://btmgr.sourceforge.net/about.html|Smart Boot Manager]]
* [[http://www.guzu.net/linux/datarecovery.php|Data recovery resources]]
* [[https://github.com/pikvm/pikvm|PiKVM]]
* [[http://dbp-consulting.com/tutorials/debugging/linuxProgramStartup.html|Linux ELF program startup]]
* [[https://www.madebygps.com/an-intro-to-finding-things-in-linux/|An Intro To Finding Things In Linux]]
* [[https://web.stanford.edu/class/cs101/|Stanford.edu: CS101]]
* [[https://lym.readthedocs.io/en/latest/index.html|Welcome to Linux command line for you and me!]]
* [[https://github.com/corkami/pics/blob/master/binary/README.md|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)
* [[http://www.cgsecurity.org/wiki/PhotoRec|PhotoRec]] - recover files without needing to recover partitions
* [[http://www.cgsecurity.org/wiki/TestDisk|TestDisk]] - recover partitions & files
* [[http://gparted.sourceforge.net/|gparted]] - create, copy, edit, resize, and delete partitions graphically
* ddrescue
* dmidecode
* flashrom
* [[http://etherboot.org/wiki/|Etherboot/gpxe]], iSCSI, ATAoE
* kvm, libvirt, virt-manager
* [[https://www.ventoy.net/en/index.html|Ventoy multi-boot USB disk]]
======Lesson plan======