====== classes ====== ==== 3D Solid modeling ==== ==== Video ==== [[https://www.youtube.com/watch?v=c1K-jBWytSQ|Watch video on YouTube]] [[https://www.youtube.com/watch?v=u8otDF_C_fw|Watch video on YouTube]] [[https://www.youtube.com/watch?v=z8lqDGMTbZs|Watch video on YouTube]] [[https://www.youtube.com/watch?v=4EZL4O6b0BE|Watch video on YouTube]] ==== 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 ==== [[https://www.youtube.com/watch?v=aRAyVoljc_w|Watch video on YouTube]] [[https://www.youtube.com/watch?v=RKKXaWz9mMQ|Watch video on YouTube]] [[https://www.youtube.com/watch?v=Qs1gSzAy4Q4|Watch video on YouTube]] [[https://www.youtube.com/watch?v=NBIaS6GA0cQ|Watch video on YouTube]] ==== Reading ==== * [[http://fpgacpu.ca/fpga/index.html|FPGA Design Elements]] * [[https://github.com/RAPcores|RAPcores github]] ==== Lesson plan ==== ==== 3D Printing and CNC machining ==== [[https://www.youtube.com/watch?v=OnmLKIVN6g4|Watch video on YouTube]] [[https://www.youtube.com/watch?v=ht4tbCiFxeM|Watch video on YouTube]] ==== 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 ==== [[https://www.youtube.com/watch?v=M9ABtlEM788|Watch video on YouTube]] [[https://www.youtube.com/watch?v=dEPvZZ4luV4|Watch video on YouTube]] [[https://www.youtube.com/watch?v=9D33R0Me9Bw|Watch video on YouTube]] [[https://www.youtube.com/watch?v=tIob2_Rze80|Watch video on YouTube]] [[https://www.youtube.com/watch?v=ugx82hz-oMc|Watch video on YouTube]] [[https://www.youtube.com/watch?v=IN8tjTk8ExI|Watch video on YouTube]] ==== Computer troubleshooting and repair ==== ==== Reading ==== {{:archive:computer_hardware_chart.png?600}} * [[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 ==== ---- [[https://github.com/timschmidt/replimat/blob/e0bc0b855bb946bab00c75ca0d8b002ae0dc0172/wiki/classes.html|Original archived page]] — revision 9675, 2022-12-26T23:30:08+00:00, by Tim.