Classes: Difference between revisions
From
(Created page with "=Rapid prototyping= =3D Solid modeling= =Digital electronics= =Power electronics= * Battery electric solar power systems =Integrated circuit design= =3D Printing and CNC...") |
|||
(76 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= | =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 | |||
* [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= | =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= | =Power electronics= | ||
* Battery electric solar power systems | * Battery electric solar power systems | ||
==Reading== | |||
==Lesson plan== | |||
=Integrated circuit design= | =Integrated circuit design= | ||
==Tools== | |||
* [https://icestudio.io/ ICEStudio] | |||
==Video== | |||
<youtube>aRAyVoljc_w</youtube> | |||
<youtube>RKKXaWz9mMQ</youtube> | |||
<youtube>Qs1gSzAy4Q4</youtube> | |||
<youtube>NBIaS6GA0cQ</youtube> | |||
==Reading== | |||
* [http://fpgacpu.ca/fpga/index.html FPGA Design Elements] | |||
* [https://github.com/RAPcores RAPcores github] | |||
==Lesson plan== | |||
=3D Printing and CNC machining= | =3D Printing and CNC machining= | ||
<youtube>OnmLKIVN6g4</youtube> | |||
<youtube>ht4tbCiFxeM</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== | |||
<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== | |||
[[File: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== |
Latest revision as of 23:30, 26 December 2022
3D Solid modeling
Video
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)
- CSG and solid primitives
- Boolean operations
- 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
Reading
Lesson plan
3D Printing and CNC machining
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
- avr-libc memory layout
- arduino (avr-gcc, avrdude, IDE - wiring / processing)
- electronics block diagram
- 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
Computer troubleshooting and repair
Reading
- The Linux Documentation Project
- Linux From Scratch
- Computer Hardware Chart
- BIOS and UEFI
- 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