=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======