From c110577820eabaf001135c78f04bedf2523f5c1b Mon Sep 17 00:00:00 2001 From: Liz/Alice Cray Date: Wed, 12 Jun 2024 21:48:44 -0400 Subject: [PATCH] exported markdown --- 2024_policy_proposals.md | 69 ++ 3DP_Build_Run_2013.07.md | 98 +++ 3DP_Repair_2022.02.md | 37 + 3DThurdays.md | 21 + 3D_Printing.md | 1 + 3D_Printing_Supplies.md | 27 + AI_Class.md | 17 + ATmega_documentation.md | 0 AVR_Class.md | 2 + AVR_Lesson__Interrupts.md | 7 + AVR_Lesson__Output_Pins_I.md | 116 +++ AVR_Lesson__Setup.md | 123 +++ AVR_Makefile.md | 392 +++++++++ AVR_Microcontroller_Class.md | 14 + AVR_Microcontroller_Class_2009.md | 180 ++++ AVR_Microcontroller_Class_2011.md | 171 ++++ AVR_Noise_Toys.md | 150 ++++ AVR_Tutorial.md | 71 ++ AVR_Tutorial__Bootstrapping_the_AVR.md | 36 + AX.25.md | 50 ++ A_HacDC_Christmas.md | 55 ++ Accessibility.md | 12 + Advisory_Council.md | 7 + Air_flow_switch_holder.md | 118 +++ Albert.md | 217 +++++ Amateur_radio.md | 1 + Amateur_radio_station.md | 21 + Andaman_honeymoon_package.md | 4 + Annual_Meeting_2009.md | 193 +++++ Annual_Meeting_2010.md | 165 ++++ Annual_Meeting_2011.md | 252 ++++++ Annual_Meeting_2012.md | 181 +++++ Annual_Meeting_2013.md | 314 +++++++ Annual_Meeting_2014.md | 215 +++++ Annual_Meeting_2015.md | 212 +++++ Annual_Meeting_2016.md | 258 ++++++ Annual_Meeting_2017.md | 176 ++++ Annual_Meeting_2018.md | 177 ++++ Annual_Meeting_2019.md | 208 +++++ Annual_Meeting_2020.md | 151 ++++ Annual_Meeting_2021.md | 145 ++++ Annual_Meeting_2022.md | 231 ++++++ Annual_Meeting_2024.md | 66 ++ Annual_Meeting_Agenda_2009.md | 93 +++ Annual_Meeting_Tenplate.md | 105 +++ Antenna_Construction_Notes.md | 15 + Anti-Harassment_Policy.md | 54 ++ Archived_Prior_BOD.md | 100 +++ Area_science_event_info.md | 141 ++++ Area_science_event_list.md | 5 + Articles_of_Incorporation.md | 180 ++++ Automatic_pad_submission.md | 12 + Avr2011_LED_Demo.c.md | 35 + Avr2011_LED_Demo_Makefile.md | 400 +++++++++ Avr2011_Programming_The_Kit.md | 105 +++ Avr2011_kit.md | 244 ++++++ BATMAN-Advanced_Setup.md | 72 ++ BATMAN.md | 150 ++++ Babel.md | 188 +++++ Babel_Setup.md | 34 + Basement.md | 34 + BasementShelves.md | 1 + BasementShelvesDocumentation.md | 2 + BasementShelvesUpgrades.md | 2 + Basement_Shelves.md | 1 + Basement_Shelves_Documentation.md | 34 + Basement_Shelves_Upgrades.md | 78 ++ Batch_III.md | 1 + Big_blue_button.md | 24 + Bike_Maintenance_Class.md | 29 + ...s__Week_1,_Introduction_and_Flat_Repair.md | 79 ++ ...,_Component_Materials,_and_Brake_System.md | 124 +++ Biomaterials.md | 8 + Bluetooth_indoor_location_system.md | 52 ++ Board_Meeting_2018_04_10.md | 138 ++++ Board_Meeting_2021_12_21.md | 178 ++++ Board_Of_Directors_Meeting_2012_12_04.md | 43 + Board_Of_Directors_Meeting_2014_12_02.md | 23 + Board_of_Directors.md | 15 + Board_of_Directors_2021-2022.md | 12 + Boston_travel.md | 152 ++++ BusinessCards.md | 14 + Bylaws.md | 276 +++++++ Bylaws_Amendment_1__Revise_Quorum.md | 79 ++ Bylaws_Amendment_2__Meeting_Frequency.md | 23 + Bylaws_Amendment_2__Single_Expenditures.md | 1 + Bylaws_Amendment_3__Revise_Quorum_Again.md | 26 + ...nt_4__Change_Denominator_for_Amendments.md | 11 + Bylaws_Amendments.md | 9 + Byzantium.md | 1 + ByzantiumContact.md | 10 + Byzantium_101.md | 37 + Byzantium_Action_Log.md | 46 ++ Byzantium_Distributed_DNS.md | 50 ++ Byzantium_InterMesh.md | 49 ++ Byzantium_Live_Distro.md | 304 +++++++ Byzantium_Live_Distro_CP.md | 17 + Byzantium_Live_Distro_Captive_Portal.md | 17 + Byzantium_Live_Distro_Chat.md | 14 + Byzantium_Live_Distro_EPad.md | 3 + Byzantium_Live_Distro_FileDump.md | 42 + Byzantium_Live_Distro_Microblog.md | 16 + Byzantium_Live_Distro_Prerelease.md | 84 ++ Byzantium_Live_Distro_Service_Announce.md | 29 + Byzantium_Live_Distro_StreamingMediaSrv.md | 3 + Byzantium_Live_Distro_Tel.md | 4 + Byzantium_Live_Distro_WebProxy.md | 8 + Byzantium_Live_Distro_Wiki.md | 6 + Byzantium_Sprint_1.md | 43 + Byzantium_Sprint_2.md | 158 ++++ Byzantium_Sprint_2_Inventory.md | 98 +++ Byzantium_Sprint_3.md | 43 + Byzantium_Sprint_4.md | 33 + CCL_front_panal.md | 107 +++ CCL_front_panel.md | 133 +++ CNC_Companies.md | 15 + CNC_Mill.md | 259 ++++++ CNC_Mill_Log.md | 51 ++ CNC_Supplies.md | 37 + CadSoft_Eagle.md | 43 + Captive__Portal_notes.md | 85 ++ Capture_the_Flag.md | 48 ++ Cardiac_Pacemaker.md | 45 + Cash_register.md | 47 ++ Categories.md | 22 + Central_Services.md | 1 + Cheap_Chinese_Laser.md | 532 ++++++++++++ Circuit_Breaker.md | 9 + Class_Drive_2012.md | 40 + Classroom_Laptops.md | 86 ++ Classroom_Laser_Cutter.md | 43 + Classroom_TV.md | 143 ++++ Classroom_network.md | 74 ++ Code_of_Conduct.md | 79 ++ ColumbiaHeightsWireless.md | 54 ++ Columbia_Heights_Wireless.md | 147 ++++ CommonStupidMan.Com.md | 4 + Communications_Methods.md | 109 +++ CompoentStore.md | 1 + CompoentStoreManagement.md | 1 + ComponentStore.md | 1 + Components_Store.md | 182 +++++ Conferences.md | 13 + Crypto_Party.md | 223 +++++ Crypto_Party_2017.md | 34 + Cthulhu.md | 47 ++ Cube_Alt_Slicer.md | 35 + Cube_Operators_Log.md | 62 ++ CultureJamming.md | 79 ++ ...m_Development_and_key_Project_Documents.md | 3 + DC_CRISPR_Initiative_at_HacDC.md | 234 ++++++ DC_Community_Hackerspaces.md | 343 ++++++++ DC_travel.md | 29 + DIYHackerSpacePassport.md | 2 + DIY_ECG.md | 1 + DIY_ECG_notes.md | 85 ++ DIY_HackerSpace_Passport.md | 41 + DSONano_white_screen_of_death.md | 27 + Data_Destruction_and_Donation_Day.md | 42 + DiezelSun_culture.md | 1 + Disassembly.md | 87 ++ Discussion_2_Exercises_Solution_notes.md | 23 + Distributed_Sferics_Sensors.md | 19 + Diversity_Statement.md | 26 + Document_Printer.md | 0 Documentation-3D_printer-Mini.md | 152 ++++ Documentation-3D_printer-Rostock.md | 426 ++++++++++ Documentation-3D_printer-Taz.md | 4 + Documentation-3D_printer-Ultimaker.md | 65 ++ Documentation-3D_printer_computer.md | 86 ++ Documentation-ATmega_microcontroller.md | 227 ++++++ Documentation-AVR_microcontroller.md | 2 + Documentation-CAD.md | 33 + Documentation-Computer_network.md | 59 ++ Documentation-HacDC_equipment.md | 18 + Documentation-Laser_cutter-K40.md | 94 +++ ...mentation-Laser_cutter-K40_power_supply.md | 2 + Documentation-Tabletop_computers.md | 93 +++ Doing_Things_in_Drupal.md | 43 + Donating_Hardware.md | 110 +++ Donation.md | 14 + Door_Entry_Project.md | 56 ++ Door_switch_mounting_block.md | 60 ++ Downloading_Byzantium.md | 105 +++ Downloading_Byzantium_testlayout.md | 45 + Draft_3d_printing_class_syllabus.md | 31 + Drupal_wiki.md | 5 + Duties_of_the_Secretary.md | 42 + Dynamic_symlinks_for_3D_printers.md | 138 ++++ EPSON_REVERSE_ENGINEERING.md | 1 + Effective_Communication.md | 15 + Electron_Tube_Class.md | 81 ++ Electronic_Goban.md | 95 +++ ElectronicsClass.md | 501 ++++++++++++ Emergency_Prep.md | 35 + Equipment_CheapChineseLaser.md | 3 + Event_Survey.md | 69 ++ ExcessDisposal.md | 1 + Excess_Disposal.md | 254 ++++++ Exhaust_nozzle.md | 21 + F3-robot.md | 85 ++ FOSS_Verilog_tool_installation.md | 61 ++ FPGAExercise10code.md | 23 + FPGAExercise3.md | 251 ++++++ FPGAExercise5.md | 157 ++++ FPGAExercise5code.md | 147 ++++ FPGAExercise6code.md | 255 ++++++ FPGAExercise8code.md | 144 ++++ FPGAWeek12Exercise.md | 110 +++ FPGAWeek6Followup.md | 85 ++ FPGAWorkshop13notes.md | 160 ++++ FPGAWorkshop16Notes.md | 284 +++++++ FPGAWorkshop17Notes.md | 425 ++++++++++ FPGAWorkshopBrian.md | 4 + FPGAWorkshopDLotts.md | 114 +++ FPGAWorkshopDaniel.md | 12 + FPGAWorkshopMaitland.md | 18 + FPGAWorkshopMartin.md | 41 + FPGAWorkshopMatt.md | 15 + FPGAWorkshopNick.md | 23 + FPGAWorkshopTopics.md | 260 ++++++ FPGA_Workshop.md | 372 +++++++++ FindingMoreSpace.md | 1 + Finding_more_space.md | 49 ++ Finding_neighboring_mesh_nodes.md | 83 ++ Flight_Restrictions.md | 658 +++++++++++++++ Float_switch.md | 122 +++ Flyers.md | 9 + Form_1023_Draft.md | 685 ++++++++++++++++ Friends.md | 4 + Friends_list.md | 4 + Fuller_Enterprises.md | 4 + Fully_distributed_services.md | 44 + Fundraising.md | 33 + Fundraising_Strategy.md | 251 ++++++ Genetic_programming_example_in_lua.md | 451 ++++++++++ Get_price_or_buy_online_Daclastavir.md | 5 + GettingHere.md | 60 ++ Git_Notes.md | 24 + Global_Online_Sports.md | 6 + Good_sensation.md | 18 + Great_Global_Hackerspace_Challenge.md | 201 +++++ GrindDC.md | 1 + Group_photo.md | 14 + Guide_to_Effective_Communications.md | 2 + HAM_HT_Baofeng_UV-3R.md | 154 ++++ HAM_HT_Baofeng_UV-3R_Mic-Volume.md | 26 + HAM_HT_Baofeng_UV-5R.md | 73 ++ HARC_Link_Farm.md | 24 + HARC_Projects.md | 20 + HARC_Technician_license_Class.md | 107 +++ HDD_Reverse.md | 21 + HacDC-shared-m335-1-standards.md | 39 + HacDC-shared-m335-1.md | 1 + HacDC-shared-m335-1_Xen.md | 233 ++++++ HacDC.md | 1 + HacDC_CRISPR.md | 3 + HacDC_FAQ.md | 57 ++ HacDC_In_The_Press.md | 53 ++ HacDC_Intranet_Server.md | 105 +++ HacDC_Marketing_Plan_2021.md | 1 + HacDC_Multi-touch_device.md | 127 +++ HacDC_Museum.md | 49 ++ HacDC_Space_FAQ.md | 1 + HacDC_Spaceblimp.md | 116 +++ HacDC_Spaceblimp_1.md | 17 + HacDC_Spaceblimp_2.md | 109 +++ HacDC_Spaceblimp_3.md | 157 ++++ HacDC_Spaceblimp_4.md | 170 ++++ HacDC_Spaceblimp_5.md | 112 +++ HacDC_Spaceblimp_6.md | 85 ++ HacDC_Spaceblimp_6/Footer.md | 16 + HacDC_Spaceblimp_6/Header.md | 3 + HacDC_Spaceblimp_6/Inventory.md | 35 + HacDC_Spaceblimp_6/Projects.md | 24 + HacDC_Spaceblimp_6/Projects/Communications.md | 97 +++ HacDC_Spaceblimp_6/Projects/Compliance.md | 23 + HacDC_Spaceblimp_6/Projects/Coordination.md | 12 + ...evelopment_and_key_Project_Documents(1).md | 2 + .../Projects/Education_Outreach.md | 20 + .../Projects/Flight_Prediction.md | 28 + HacDC_Spaceblimp_6/Projects/Funding.md | 54 ++ HacDC_Spaceblimp_6/Projects/Groundwork.md | 2 + HacDC_Spaceblimp_6/Projects/Launch_team.md | 17 + HacDC_Spaceblimp_6/Projects/Power.md | 17 + .../Projects/Recovery_team_(chase_team).md | 17 + HacDC_Spaceblimp_6/Projects/Safety.md | 20 + HacDC_Spaceblimp_6/Projects/Sensor_Systems.md | 32 + HacDC_Spaceblimp_6/Projects/Stabilization.md | 17 + .../Projects/Structural_Design.md | 34 + .../System_Testing_and_Integration.md | 16 + HacDC_Spaceblimp_6/Projects/funding(1).md | 9 + HacDC_Spaceblimp_6/Projects/fundraising(1).md | 2 + HacDC_Spaceblimp_7.md | 309 +++++++ HacDC_Spaceblimp_Press.md | 182 +++++ Hacdc_log.md | 767 ++++++++++++++++++ Hacdc_log_2.md | 20 + Hacker_Arcade.md | 19 + Hackersmart.md | 46 ++ Hacriculum.md | 88 ++ HamDesk.md | 0 Hardware_Take_Apart.md | 58 ++ Hardware_compatibility_list.md | 23 + Heroes.md | 123 +++ Hoard.md | 21 + Houston_Homes_For_Sale.md | 3 + How_do_I_find_my_Kindle_password.md | 289 +++++++ How_to_Run_an_Event.md | 67 ++ IPset.md | 54 ++ Ics.php.md | 150 ++++ Implants.md | 4 + Infrastructure.md | 5 + Installing_AVR_Toolchain.md | 176 ++++ Installing_Python_and_Pygame.md | 33 + Integrated_Circuits.md | 323 ++++++++ Interwiki_links.md | 119 +++ Intro_to_Electronics.md | 567 +++++++++++++ Intro_to_Programming.md | 99 +++ Intro_to_Visuals_for_Programmers.md | 180 ++++ Introduction_to_Python.md | 28 + IntrotoVisualsforProgrammers.md | 2 + Inventory(1).md | 250 ++++++ Inventory-space-by-Bobby.md | 60 ++ Inventory-space.md | 130 +++ Inventory_Laptops.md | 5 + ...ntory_Refinement_-_Spring_Cleaning_2022.md | 78 ++ Items_Borrowed_from_the_HacDC_Space.md | 241 ++++++ Iverilogmakefile.md | 94 +++ JeeMesh.md | 33 + Junk_Bins.md | 23 + K40_Exhaust_Assembly.md | 63 ++ Keysigning.md | 96 +++ Kit_Building.md | 14 + Klipper.md | 49 ++ LED_Embroidery.md | 46 ++ LED_streetlights.md | 70 ++ La_Fonera.md | 648 +++++++++++++++ LaserCutterLinks.md | 1 + 338 files changed, 30107 insertions(+) create mode 100755 2024_policy_proposals.md create mode 100755 3DP_Build_Run_2013.07.md create mode 100755 3DP_Repair_2022.02.md create mode 100755 3DThurdays.md create mode 100755 3D_Printing.md create mode 100755 3D_Printing_Supplies.md create mode 100755 AI_Class.md create mode 100755 ATmega_documentation.md create mode 100755 AVR_Class.md create mode 100755 AVR_Lesson__Interrupts.md create mode 100755 AVR_Lesson__Output_Pins_I.md create mode 100755 AVR_Lesson__Setup.md create mode 100755 AVR_Makefile.md create mode 100755 AVR_Microcontroller_Class.md create mode 100755 AVR_Microcontroller_Class_2009.md create mode 100755 AVR_Microcontroller_Class_2011.md create mode 100755 AVR_Noise_Toys.md create mode 100755 AVR_Tutorial.md create mode 100755 AVR_Tutorial__Bootstrapping_the_AVR.md create mode 100755 AX.25.md create mode 100755 A_HacDC_Christmas.md create mode 100755 Accessibility.md create mode 100755 Advisory_Council.md create mode 100755 Air_flow_switch_holder.md create mode 100755 Albert.md create mode 100755 Amateur_radio.md create mode 100755 Amateur_radio_station.md create mode 100755 Andaman_honeymoon_package.md create mode 100755 Annual_Meeting_2009.md create mode 100755 Annual_Meeting_2010.md create mode 100755 Annual_Meeting_2011.md create mode 100755 Annual_Meeting_2012.md create mode 100755 Annual_Meeting_2013.md create mode 100755 Annual_Meeting_2014.md create mode 100755 Annual_Meeting_2015.md create mode 100755 Annual_Meeting_2016.md create mode 100755 Annual_Meeting_2017.md create mode 100755 Annual_Meeting_2018.md create mode 100755 Annual_Meeting_2019.md create mode 100755 Annual_Meeting_2020.md create mode 100755 Annual_Meeting_2021.md create mode 100755 Annual_Meeting_2022.md create mode 100755 Annual_Meeting_2024.md create mode 100755 Annual_Meeting_Agenda_2009.md create mode 100755 Annual_Meeting_Tenplate.md create mode 100755 Antenna_Construction_Notes.md create mode 100755 Anti-Harassment_Policy.md create mode 100755 Archived_Prior_BOD.md create mode 100755 Area_science_event_info.md create mode 100755 Area_science_event_list.md create mode 100755 Articles_of_Incorporation.md create mode 100755 Automatic_pad_submission.md create mode 100755 Avr2011_LED_Demo.c.md create mode 100755 Avr2011_LED_Demo_Makefile.md create mode 100755 Avr2011_Programming_The_Kit.md create mode 100755 Avr2011_kit.md create mode 100755 BATMAN-Advanced_Setup.md create mode 100755 BATMAN.md create mode 100755 Babel.md create mode 100755 Babel_Setup.md create mode 100755 Basement.md create mode 100755 BasementShelves.md create mode 100755 BasementShelvesDocumentation.md create mode 100755 BasementShelvesUpgrades.md create mode 100755 Basement_Shelves.md create mode 100755 Basement_Shelves_Documentation.md create mode 100755 Basement_Shelves_Upgrades.md create mode 100755 Batch_III.md create mode 100755 Big_blue_button.md create mode 100755 Bike_Maintenance_Class.md create mode 100755 Bike_Maintenance_Class__Week_1,_Introduction_and_Flat_Repair.md create mode 100755 Bike_Maintenance_Class__Week_2,_Basic_Fit,_Component_Materials,_and_Brake_System.md create mode 100755 Biomaterials.md create mode 100755 Bluetooth_indoor_location_system.md create mode 100755 Board_Meeting_2018_04_10.md create mode 100755 Board_Meeting_2021_12_21.md create mode 100755 Board_Of_Directors_Meeting_2012_12_04.md create mode 100755 Board_Of_Directors_Meeting_2014_12_02.md create mode 100755 Board_of_Directors.md create mode 100755 Board_of_Directors_2021-2022.md create mode 100755 Boston_travel.md create mode 100755 BusinessCards.md create mode 100755 Bylaws.md create mode 100755 Bylaws_Amendment_1__Revise_Quorum.md create mode 100755 Bylaws_Amendment_2__Meeting_Frequency.md create mode 100755 Bylaws_Amendment_2__Single_Expenditures.md create mode 100755 Bylaws_Amendment_3__Revise_Quorum_Again.md create mode 100755 Bylaws_Amendment_4__Change_Denominator_for_Amendments.md create mode 100755 Bylaws_Amendments.md create mode 100755 Byzantium.md create mode 100755 ByzantiumContact.md create mode 100755 Byzantium_101.md create mode 100755 Byzantium_Action_Log.md create mode 100755 Byzantium_Distributed_DNS.md create mode 100755 Byzantium_InterMesh.md create mode 100755 Byzantium_Live_Distro.md create mode 100755 Byzantium_Live_Distro_CP.md create mode 100755 Byzantium_Live_Distro_Captive_Portal.md create mode 100755 Byzantium_Live_Distro_Chat.md create mode 100755 Byzantium_Live_Distro_EPad.md create mode 100755 Byzantium_Live_Distro_FileDump.md create mode 100755 Byzantium_Live_Distro_Microblog.md create mode 100755 Byzantium_Live_Distro_Prerelease.md create mode 100755 Byzantium_Live_Distro_Service_Announce.md create mode 100755 Byzantium_Live_Distro_StreamingMediaSrv.md create mode 100755 Byzantium_Live_Distro_Tel.md create mode 100755 Byzantium_Live_Distro_WebProxy.md create mode 100755 Byzantium_Live_Distro_Wiki.md create mode 100755 Byzantium_Sprint_1.md create mode 100755 Byzantium_Sprint_2.md create mode 100755 Byzantium_Sprint_2_Inventory.md create mode 100755 Byzantium_Sprint_3.md create mode 100755 Byzantium_Sprint_4.md create mode 100755 CCL_front_panal.md create mode 100755 CCL_front_panel.md create mode 100755 CNC_Companies.md create mode 100755 CNC_Mill.md create mode 100755 CNC_Mill_Log.md create mode 100755 CNC_Supplies.md create mode 100755 CadSoft_Eagle.md create mode 100755 Captive__Portal_notes.md create mode 100755 Capture_the_Flag.md create mode 100755 Cardiac_Pacemaker.md create mode 100755 Cash_register.md create mode 100755 Categories.md create mode 100755 Central_Services.md create mode 100755 Cheap_Chinese_Laser.md create mode 100755 Circuit_Breaker.md create mode 100755 Class_Drive_2012.md create mode 100755 Classroom_Laptops.md create mode 100755 Classroom_Laser_Cutter.md create mode 100755 Classroom_TV.md create mode 100755 Classroom_network.md create mode 100755 Code_of_Conduct.md create mode 100755 ColumbiaHeightsWireless.md create mode 100755 Columbia_Heights_Wireless.md create mode 100755 CommonStupidMan.Com.md create mode 100755 Communications_Methods.md create mode 100755 CompoentStore.md create mode 100755 CompoentStoreManagement.md create mode 100755 ComponentStore.md create mode 100755 Components_Store.md create mode 100755 Conferences.md create mode 100755 Crypto_Party.md create mode 100755 Crypto_Party_2017.md create mode 100755 Cthulhu.md create mode 100755 Cube_Alt_Slicer.md create mode 100755 Cube_Operators_Log.md create mode 100755 CultureJamming.md create mode 100755 Curriculum_Development_and_key_Project_Documents.md create mode 100755 DC_CRISPR_Initiative_at_HacDC.md create mode 100755 DC_Community_Hackerspaces.md create mode 100755 DC_travel.md create mode 100755 DIYHackerSpacePassport.md create mode 100755 DIY_ECG.md create mode 100755 DIY_ECG_notes.md create mode 100755 DIY_HackerSpace_Passport.md create mode 100755 DSONano_white_screen_of_death.md create mode 100755 Data_Destruction_and_Donation_Day.md create mode 100755 DiezelSun_culture.md create mode 100755 Disassembly.md create mode 100755 Discussion_2_Exercises_Solution_notes.md create mode 100755 Distributed_Sferics_Sensors.md create mode 100755 Diversity_Statement.md create mode 100755 Document_Printer.md create mode 100755 Documentation-3D_printer-Mini.md create mode 100755 Documentation-3D_printer-Rostock.md create mode 100755 Documentation-3D_printer-Taz.md create mode 100755 Documentation-3D_printer-Ultimaker.md create mode 100755 Documentation-3D_printer_computer.md create mode 100755 Documentation-ATmega_microcontroller.md create mode 100755 Documentation-AVR_microcontroller.md create mode 100755 Documentation-CAD.md create mode 100755 Documentation-Computer_network.md create mode 100755 Documentation-HacDC_equipment.md create mode 100755 Documentation-Laser_cutter-K40.md create mode 100755 Documentation-Laser_cutter-K40_power_supply.md create mode 100755 Documentation-Tabletop_computers.md create mode 100755 Doing_Things_in_Drupal.md create mode 100755 Donating_Hardware.md create mode 100755 Donation.md create mode 100755 Door_Entry_Project.md create mode 100755 Door_switch_mounting_block.md create mode 100755 Downloading_Byzantium.md create mode 100755 Downloading_Byzantium_testlayout.md create mode 100755 Draft_3d_printing_class_syllabus.md create mode 100755 Drupal_wiki.md create mode 100755 Duties_of_the_Secretary.md create mode 100755 Dynamic_symlinks_for_3D_printers.md create mode 100755 EPSON_REVERSE_ENGINEERING.md create mode 100755 Effective_Communication.md create mode 100755 Electron_Tube_Class.md create mode 100755 Electronic_Goban.md create mode 100755 ElectronicsClass.md create mode 100755 Emergency_Prep.md create mode 100755 Equipment_CheapChineseLaser.md create mode 100755 Event_Survey.md create mode 100755 ExcessDisposal.md create mode 100755 Excess_Disposal.md create mode 100755 Exhaust_nozzle.md create mode 100755 F3-robot.md create mode 100755 FOSS_Verilog_tool_installation.md create mode 100755 FPGAExercise10code.md create mode 100755 FPGAExercise3.md create mode 100755 FPGAExercise5.md create mode 100755 FPGAExercise5code.md create mode 100755 FPGAExercise6code.md create mode 100755 FPGAExercise8code.md create mode 100755 FPGAWeek12Exercise.md create mode 100755 FPGAWeek6Followup.md create mode 100755 FPGAWorkshop13notes.md create mode 100755 FPGAWorkshop16Notes.md create mode 100755 FPGAWorkshop17Notes.md create mode 100755 FPGAWorkshopBrian.md create mode 100755 FPGAWorkshopDLotts.md create mode 100755 FPGAWorkshopDaniel.md create mode 100755 FPGAWorkshopMaitland.md create mode 100755 FPGAWorkshopMartin.md create mode 100755 FPGAWorkshopMatt.md create mode 100755 FPGAWorkshopNick.md create mode 100755 FPGAWorkshopTopics.md create mode 100755 FPGA_Workshop.md create mode 100755 FindingMoreSpace.md create mode 100755 Finding_more_space.md create mode 100755 Finding_neighboring_mesh_nodes.md create mode 100755 Flight_Restrictions.md create mode 100755 Float_switch.md create mode 100755 Flyers.md create mode 100755 Form_1023_Draft.md create mode 100755 Friends.md create mode 100755 Friends_list.md create mode 100755 Fuller_Enterprises.md create mode 100755 Fully_distributed_services.md create mode 100755 Fundraising.md create mode 100755 Fundraising_Strategy.md create mode 100755 Genetic_programming_example_in_lua.md create mode 100755 Get_price_or_buy_online_Daclastavir.md create mode 100755 GettingHere.md create mode 100755 Git_Notes.md create mode 100755 Global_Online_Sports.md create mode 100755 Good_sensation.md create mode 100755 Great_Global_Hackerspace_Challenge.md create mode 100755 GrindDC.md create mode 100755 Group_photo.md create mode 100755 Guide_to_Effective_Communications.md create mode 100755 HAM_HT_Baofeng_UV-3R.md create mode 100755 HAM_HT_Baofeng_UV-3R_Mic-Volume.md create mode 100755 HAM_HT_Baofeng_UV-5R.md create mode 100755 HARC_Link_Farm.md create mode 100755 HARC_Projects.md create mode 100755 HARC_Technician_license_Class.md create mode 100755 HDD_Reverse.md create mode 100755 HacDC-shared-m335-1-standards.md create mode 100755 HacDC-shared-m335-1.md create mode 100755 HacDC-shared-m335-1_Xen.md create mode 100755 HacDC.md create mode 100755 HacDC_CRISPR.md create mode 100755 HacDC_FAQ.md create mode 100755 HacDC_In_The_Press.md create mode 100755 HacDC_Intranet_Server.md create mode 100755 HacDC_Marketing_Plan_2021.md create mode 100755 HacDC_Multi-touch_device.md create mode 100755 HacDC_Museum.md create mode 100755 HacDC_Space_FAQ.md create mode 100755 HacDC_Spaceblimp.md create mode 100755 HacDC_Spaceblimp_1.md create mode 100755 HacDC_Spaceblimp_2.md create mode 100755 HacDC_Spaceblimp_3.md create mode 100755 HacDC_Spaceblimp_4.md create mode 100755 HacDC_Spaceblimp_5.md create mode 100755 HacDC_Spaceblimp_6.md create mode 100755 HacDC_Spaceblimp_6/Footer.md create mode 100755 HacDC_Spaceblimp_6/Header.md create mode 100755 HacDC_Spaceblimp_6/Inventory.md create mode 100755 HacDC_Spaceblimp_6/Projects.md create mode 100755 HacDC_Spaceblimp_6/Projects/Communications.md create mode 100755 HacDC_Spaceblimp_6/Projects/Compliance.md create mode 100755 HacDC_Spaceblimp_6/Projects/Coordination.md create mode 100755 HacDC_Spaceblimp_6/Projects/Curriculum_Development_and_key_Project_Documents(1).md create mode 100755 HacDC_Spaceblimp_6/Projects/Education_Outreach.md create mode 100755 HacDC_Spaceblimp_6/Projects/Flight_Prediction.md create mode 100755 HacDC_Spaceblimp_6/Projects/Funding.md create mode 100755 HacDC_Spaceblimp_6/Projects/Groundwork.md create mode 100755 HacDC_Spaceblimp_6/Projects/Launch_team.md create mode 100755 HacDC_Spaceblimp_6/Projects/Power.md create mode 100755 HacDC_Spaceblimp_6/Projects/Recovery_team_(chase_team).md create mode 100755 HacDC_Spaceblimp_6/Projects/Safety.md create mode 100755 HacDC_Spaceblimp_6/Projects/Sensor_Systems.md create mode 100755 HacDC_Spaceblimp_6/Projects/Stabilization.md create mode 100755 HacDC_Spaceblimp_6/Projects/Structural_Design.md create mode 100755 HacDC_Spaceblimp_6/Projects/System_Testing_and_Integration.md create mode 100755 HacDC_Spaceblimp_6/Projects/funding(1).md create mode 100755 HacDC_Spaceblimp_6/Projects/fundraising(1).md create mode 100755 HacDC_Spaceblimp_7.md create mode 100755 HacDC_Spaceblimp_Press.md create mode 100755 Hacdc_log.md create mode 100755 Hacdc_log_2.md create mode 100755 Hacker_Arcade.md create mode 100755 Hackersmart.md create mode 100755 Hacriculum.md create mode 100755 HamDesk.md create mode 100755 Hardware_Take_Apart.md create mode 100755 Hardware_compatibility_list.md create mode 100755 Heroes.md create mode 100755 Hoard.md create mode 100755 Houston_Homes_For_Sale.md create mode 100755 How_do_I_find_my_Kindle_password.md create mode 100755 How_to_Run_an_Event.md create mode 100755 IPset.md create mode 100755 Ics.php.md create mode 100755 Implants.md create mode 100755 Infrastructure.md create mode 100755 Installing_AVR_Toolchain.md create mode 100755 Installing_Python_and_Pygame.md create mode 100755 Integrated_Circuits.md create mode 100755 Interwiki_links.md create mode 100755 Intro_to_Electronics.md create mode 100755 Intro_to_Programming.md create mode 100755 Intro_to_Visuals_for_Programmers.md create mode 100755 Introduction_to_Python.md create mode 100755 IntrotoVisualsforProgrammers.md create mode 100755 Inventory(1).md create mode 100755 Inventory-space-by-Bobby.md create mode 100755 Inventory-space.md create mode 100755 Inventory_Laptops.md create mode 100755 Inventory_Refinement_-_Spring_Cleaning_2022.md create mode 100755 Items_Borrowed_from_the_HacDC_Space.md create mode 100755 Iverilogmakefile.md create mode 100755 JeeMesh.md create mode 100755 Junk_Bins.md create mode 100755 K40_Exhaust_Assembly.md create mode 100755 Keysigning.md create mode 100755 Kit_Building.md create mode 100755 Klipper.md create mode 100755 LED_Embroidery.md create mode 100755 LED_streetlights.md create mode 100755 La_Fonera.md create mode 100755 LaserCutterLinks.md diff --git a/2024_policy_proposals.md b/2024_policy_proposals.md new file mode 100755 index 0000000..0aee0bc --- /dev/null +++ b/2024_policy_proposals.md @@ -0,0 +1,69 @@ +### 2024 Policy Proposals + +[Our annual board-member elections are occurring on Tuesday, Mar +12](https://www.meetup.com/hac-dc/events/vhhpbtygcfbqb/)! +**Update** [New date for annual board-member elections is Tuesday +Mar 26](https://www.meetup.com/hac-dc/events/299761507/) - - - + +## Noisebridge Inspirations + +Suggested by Callie Composed by Gabriel + +Noisebridge has a lot of good material on their wiki about community +standards. We have an [Anti-Harassment +Policy](Anti-Harassment_Policy "wikilink"), but we could have a lot more +clarity around expected conduct at the space. Here are some policies I'd +like to highlight for consideration at HacDC, + +- ([Conflict + Resolution](https://www.noisebridge.net/wiki/Conflict_Resolution)) + +1. Start by being + [Excellent](https://www.noisebridge.net/wiki/Excellence) to each + other +2. Try to resolve potential conflicts that arise using [Restorative + Communication](https://www.noisebridge.net/wiki/Restorative_Communication) +3. [Ask To + Disengage](https://www.noisebridge.net/wiki/Ask_To_Disengage) to + separate people in an argument that is escalating. +4. [Ask to leave](https://www.noisebridge.net/wiki/AskToLeave) if + someone refuses to disengage or is doing something that makes people + feel unsafe. +5. [Ask for Mediation](https://www.noisebridge.net/wiki/Mediation) if + you don't seem to be able to resolve issues with someone in the + space directly. + +- ([No_sleeping_at_Noisebridge](https://www.noisebridge.net/wiki/No_sleeping_at_Noisebridge)) + You can hack at HacDC as late as you want, but you can not sleep here. + +## Open Hac Nights + +We have a popular open hac night on Mondays. The official hours are from +7-9. I think we need to make it clear that hosts of this meeting are +free to ask visitors to leave at 9 if no other members are going to be +present. IF there are members who want to continue to host guests past 9 +then it is their responsibility to supervise and clean up after those +guests. + +## Permission Required on Recordings + +Proposed/composed by: Callie + +No one shall record media, or share media recorded, in our space, such +as includes images of someone else, or original ideas, sayings, or +products of labor made by someone else, unless such are agreed upon: + +- scope of use or publication +- branding or labeling conditions, including the original producer's + name +- a simple erasure procedure + +\- - - + +## Non Aggression + +Proposed by: Sven Composed by: Callie + +In case anyone using our space engages in, or displays aggression in +body motions, language, or mannerisms, such one shall be compelled from +our space, so as remaining members can reclaim secure premises. \ No newline at end of file diff --git a/3DP_Build_Run_2013.07.md b/3DP_Build_Run_2013.07.md new file mode 100755 index 0000000..8eaee99 --- /dev/null +++ b/3DP_Build_Run_2013.07.md @@ -0,0 +1,98 @@ +This is the documentation vertex for a 3D printer build run started in +July 2013. + +Vital links and major log entries can be made here (by anyone, as +always). Detailed logs should be made either in a user's own log (which +should be linked from here). It'd be a good idea to consolidate what was +learned and place it on this page in the end. + +## Goal + +Get a few people together that want their own 3DP and build 'em. + +The primary point is to get working, somewhat reliable machines running +in order to focus on using the printers. This may be a bit different +than many hackerspace builds that might focus on improving the 3DP +designs. + +## Plan + +1. What model(s) to build? +2. Find mentors. People that can help when we get stuck or review what + we've done and suggest corrections. +3. Create BOM, aka parts list + 1. Catalog what parts we already have at HacDC. + 2. Find supplier(s) or kits for all other parts. +4. Set some form of gathering schedule or build timeline. (a little + structure is good) + +### Which model? + +#### Deltas + +- Rostock / Max + + Kossel seems to be an improvement +- Kossel (original) + + obsolete +- Kossel Mini + + current Kossel + + Looking at linear bearings / towers.. may need to pull something from + the OpenBeam version + + Note: 'Mini' is a misnomer, scale it as you like. +- OpenBeam Kossel Pro + + in Kickstart phase + + David's top pick but Terrance (openbeam guy) understandably hasn't + released a bom yet + +#### Cartesian + +- i3 + + current Mendel design +- Mendel Max + + larger, beam-styled Mendel + +#### Biomechanical + +- Simpson + + Uses only rotary bearings, like biological entities such as you + + Some design concerns; wear at base rotation points, accuracy on reel + drives + +### Mentors / Guides + +Unbeknowst to them, considering asking Julia and/or mirage. + +## Links + +- +- + +## People + + +David McInnis aka [User:gatohaus](User:gatohaus "wikilink") + + +-- general geek, minor user-level 3DP skill + +-- want my very own 3DP at home + +-- goal: reliable printing + +## Log + +2013.07.07 - Started page for 3DP build run. + +[Category:3D Printing](Category:3D_Printing "wikilink") +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/3DP_Repair_2022.02.md b/3DP_Repair_2022.02.md new file mode 100755 index 0000000..a7f0cef --- /dev/null +++ b/3DP_Repair_2022.02.md @@ -0,0 +1,37 @@ +This is the documentation vertex for 3D Repair started Feb 26th 2022 + +Vital links and major log entries can be made here (by anyone, as +always). + +## Goal + +Repair Ultimaker, TAZ Mini, Monoprice Ultimate 2 and + +The primary point is to get working, somewhat reliable machines running +in order to focus on using the printers. This may be a bit different +than many hackerspace builds that might focus on improving the 3DP +designs. + +## People + + +Tayeb Zaidi aka [User:tark](User:tark "wikilink") + +Matt Stafford + +Kevin Cole + +## Log + +2022.02.26: Matt, Tayeb, and Kevin at the space initiating +upgrades/repairs + +To Purchase for Ultimaker -- Extruder and Bowden tube to replace current +assembly To Purchase for Monoprice -- N/A + +General 3D Printer Supplies: Filament, and airtight filament containers +General Supplies: Binder clips, razor blades, drivers for screwdrivers +(3-4 regular, 3-4 miniature), flat side wire cutters, lubricant + +[Category:3D Printing](Category:3D_Printing "wikilink") +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/3DThurdays.md b/3DThurdays.md new file mode 100755 index 0000000..e1199d4 --- /dev/null +++ b/3DThurdays.md @@ -0,0 +1,21 @@ +# 3D Printer Thurdays + +Every Thursday from 6pm - 10pm a group of 3D printer enthusiasts meet to +work on the 3D printers and print stuff. Drop by and check it out. + +## Our current efforts include: + +- Upgrading the Prusa Mendel to a Mendel 3 +- Extruder Improvements for the Rostock Max V2 +- Triage/Improvements for the 2 Mendel variants Julia has recently + brought to live here +- Build the recently donated LulzBot ... when it gets here + +## Drop by And... + +- Pick our brains about 3D printing tips and construction know how +- Help us build printers +- Donate your printer (3D or Otherwise=useful parts) +- 3D print something + +[Category:Events](Category:Events "wikilink") \ No newline at end of file diff --git a/3D_Printing.md b/3D_Printing.md new file mode 100755 index 0000000..4760536 --- /dev/null +++ b/3D_Printing.md @@ -0,0 +1 @@ +1. REDIRECT[:Category:3D_Printing](:Category:3D_Printing "wikilink") \ No newline at end of file diff --git a/3D_Printing_Supplies.md b/3D_Printing_Supplies.md new file mode 100755 index 0000000..38db22b --- /dev/null +++ b/3D_Printing_Supplies.md @@ -0,0 +1,27 @@ +- [PLA Filament, 1.75mm](http://seemecnc.com/collections/filament/pla) +- [PLA Filament, 1.75mm. Low cost, available at Microcenter, reasonably + well established track record at + HacDC.](http://www.microcenter.com/product/434401/175mm_White_PLA_3D_Printer_Filament_-_1kg_Spool_(22_lbs)) +- [PLA Filament, 3mm, used with old Prusa Mendel 3D + Printer](https://ultimachine.com/content/pla-3mm-white-1kg-spool) +- [PLA Polishing + Solvent](http://www.amazon.com/s/?field-keywords=tetrahydrofuran) + + + +- [Prusa Mendel HotEnd - Choose 0.35mm + nozzle.](http://www.makergear.com/products/operators-pack) +- [Generic stepper motor + drivers.](http://www.ebay.com/itm/Black-Edition-Pololu-Stepper-Driver-for-RepRap-3D-printers-RAMPS-Sanguinololu-/321166002455?pt=LH_DefaultDomain_0&hash=item4ac6fc4917) + + + +- [PEI print + surface](http://www.amazonsupply.com/polyetherimide-off-white-standard-tolerance-pei0113/dp/B00CPRDDLY/ref=sr_1_2?sr=1-2&qid=1392920847&filterBy.feature_twelve_browse-bin=6523581011) + described at [SeeMeCNC + forums](http://forum.seemecnc.com/viewtopic.php?f=36&t=4336). + +[Category:PA_SUPPLIES](Category:PA_SUPPLIES "wikilink") +[Category:PrusaMendel](Category:PrusaMendel "wikilink") +[Category:RostockMax](Category:RostockMax "wikilink") +[Category:3D_Printing](Category:3D_Printing "wikilink") \ No newline at end of file diff --git a/AI_Class.md b/AI_Class.md new file mode 100755 index 0000000..7c68067 --- /dev/null +++ b/AI_Class.md @@ -0,0 +1,17 @@ +## Artificial Intelligence + +### Status: No Longer Taught + +WHERE: HacDC 1525 Newton ST NW Washington D.C. 20010 + +WHEN: The first, third and fourth Tuesday of the month starting at +7:00pm. WHO: Brad Barr + +HacDC will be hosting a study group for [Stanford's AI +class](http://ai-class.org). We'll be helping each other understand the +material, talk about the classes lectures, and discussing possible +project ideas. The listserv for the AI class can be found +[here](http://hacdc.org/cgi-bin/mailman/listinfo/ai-class). More +information will appear here when we get it. + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/ATmega_documentation.md b/ATmega_documentation.md new file mode 100755 index 0000000..e69de29 diff --git a/AVR_Class.md b/AVR_Class.md new file mode 100755 index 0000000..c003c51 --- /dev/null +++ b/AVR_Class.md @@ -0,0 +1,2 @@ +1. REDIRECT + [AVR_Microcontroller_Class](AVR_Microcontroller_Class "wikilink") \ No newline at end of file diff --git a/AVR_Lesson__Interrupts.md b/AVR_Lesson__Interrupts.md new file mode 100755 index 0000000..17b63c5 --- /dev/null +++ b/AVR_Lesson__Interrupts.md @@ -0,0 +1,7 @@ +A recent and decent looking tutorial posted here for you and whoever +fills out this page! + +- [tutorial on + avrfreaks](http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=89843) + +[Category:AVR Tutorial](Category:AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AVR_Lesson__Output_Pins_I.md b/AVR_Lesson__Output_Pins_I.md new file mode 100755 index 0000000..7a12c07 --- /dev/null +++ b/AVR_Lesson__Output_Pins_I.md @@ -0,0 +1,116 @@ +Part of the [AVR Tutorial](AVR_Tutorial "wikilink") + +## Goals + +In this lesson, you'll program the micro-controller version of "hello +world", letting you fire up your programmer, compiler, chip, LED, and +test them all out. You'll learn how to setup and use pins for output, +and along the way get some exposure to AVR-specific coding practice. + +## The Circuit + +Possibly the simplest circuit you can imagine: plug an LED into pins PB4 +and ground. PB4 is going to go the positive leg of the LED to source +current across the LED and light it up. + +If you want, you can include a current-limiting resistor inline with the +LED (around 100 ohms is good). I've done it both ways -- the AVR will +drive the LED at ~50mA, which will burn out the LED over the long run, +but for this demo, it'll be fine. + +## The Code + + + + /* Blinker Demo */ + + #include /* Defines pins, ports, etc */ + #define F_CPU 1000000UL /* Sets up the chip speed for delay.h -- 1MHz for Tiny13*/ + #include /* Functions to waste time */ + + #define LED PB4 /* Defines pin PB4 for the LED. I + often incorporate a bunch of the circuit + info in the defines, which makes + porting the code to another chip + easier and reminds you of how to + hook it up. */ + + int main(void){ + + DDRB = _BV(LED); /* Data Direction Register B: + writing a one to the bit + enables output. More on the + _BV() macro in the next + lesson.*/ + + while(1){ /* the main loop, from which we never return */ + + PORTB = _BV(LED); /* Turn on the LED bit/pin in PORTB */ + _delay_ms(400); /* wait */ + + PORTB &= ~_BV(LED); /* Turn off the LED bit/pin in PORTB */ + _delay_ms(400); /* wait */ + + } + + return(0); /* never reached */ + } + + +## Discussion + +Even though this is a very short program, it provides a sketch of what +most AVR code looks like. + +At the top is a bunch of includes, defines, and etc. + +**io.h** defines all of the port and pin macros and is linked to the +individual chip's io header during compilation, which allows the same +code to work for different AVR chips. You pretty much always want to +include io.h. + +The delay functions in **delay.h** are fairly generic, but depend on +knowing the chip's CPU clock speed to get the timing right. Also note +that the maximum delay you can request also depends on the chip's clock +speed. Read up in delay.h for details if you're interested. Practically +speaking, if you're asking it to delay for 600ms and it's only delaying +for 200ms, try calling the _delay_ms() function three times, each for +200ms. + +After the defines and includes we get down to the **main()** function. +Most AVR main()'s have at least an initialization section and an +infinitely-repeating loop where the bulk of the chip's work gets done. + +In this example, the **initialization section** just sets up the LED pin +for output by writing a 1 to the relevant bit in the Data Direction +Register for port B. When the chip is reset or powered on, all of the +input/output ports are initialized as inputs (DDRB = 0). We write a one +to the DDR do set it as output. More on the bitwise math in the next +lesson. + +The **main loop** of the function then blinks the LED by alternately +driving the output pin high (the supply voltage, VCC) or low (GND, 0v), +and it does this forever, or until the chip is reset or powered off. +(The return(0) line is just there to stop the compiler from warning +about main() functions that don't return -- a requirement of GCC that +isn't really relevant to the AVR, but it doesn't hurt the code either.) + +For a lot more examples of what you can do just by toggling one pin, see +the code over at [AVR Noise Toys](AVR_Noise_Toys "wikilink"). + +## Trouble? + +Programmer woes: + +Is the LED in the correct polarity? (Positive to pin PB4, negative to +GND). + +Is avrdude complaining? Try unplugging and re-plugging your programmer +if it's a USB one. Sometimes it can get out of sync. + +If avrdude's not working, you may also be having permissions problems. +Solutions include running giveio.bat for Windows or calling avrdude (or +the make command) with *sudo* for Linux if you didn't set up user +permissions for USB. + +[Category:AVR Tutorial](Category:AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AVR_Lesson__Setup.md b/AVR_Lesson__Setup.md new file mode 100755 index 0000000..2c4ea6d --- /dev/null +++ b/AVR_Lesson__Setup.md @@ -0,0 +1,123 @@ +The first step is to get set up with all the necessary hardware and +software to start making your controllers do your bidding. + +## Programmer + +A programmer needn't be super-fancy. In fact, you can get by with five +wires soldered to a parallel port plug if you'd like. [This +Instructable](http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/) +steps through making a parallel port programmer. I'll probably make up a +cable or two and bring it in to the space if you'd just like to try it +out. Note that if you've got a breadboard, you can skip the step of +making a programming cradle and just plug the wires into the correct +pins on the AVR. + +If you're getting a little more serious, spend \$22 and get a [USB-based +programmer from ladyada](http://www.ladyada.net/make/usbtinyisp/) or +make your own [usbtiny SPI +programmer](http://www.xs4all.nl/~dicks/avr/usbtiny/) for maybe +\$10-15ish. If you're making your own, you'll need to flash an AVR with +the supplied firmware, but you can do that with a parallel port +programmer or just ask one of us to hook you up. + +This part may seem daunting -- it's not. Dive in or get someone to help +you. The Ladyada kit is a good first/second soldering project. + +Indeed, if any of that seems too complicated, just connect some wires +from a parallel port to the right pins on the AVR (perhaps directly onto +your breadboard?) and you're started. There's an adapter for doing just +that floating around the lab somewhere. For more on that style of +programmer, see [AVR Tutorial: Bootstrapping the +AVR](AVR_Tutorial:_Bootstrapping_the_AVR "wikilink") + +## Software + +The standard toolchain consists of a GCC-based C cross-compiler, the +AVR-libc libraries, and the software to run your programmer: *avrdude.* +Feel free to write the C or assembler code using whatever editor you +like best. + +**Windows:** The whole toolchain is put together nicely with +[WinAVR](http://sourceforge.net/projects/winavr). Download and install. +If you're using a parallel port programmer, you'll need to also run the +included *giveio.bat* file to get yourself permissions. + +**Linux:** I'm most familiar with Ubuntu these days. As of 2008/04, +"sudo apt-get install avrdude avr-libc binutils-avr gcc-avr" will set +you up. Or fetch tarballs and compile it yourself. (I'll incluce +versions here in a few.) + +**MAC:** +Wanted to note something quick about my MAC experience so far (Q): I +haven't really read the link to ada's site about programming AVR for MAC +but 'AVRMacPack' is really cool! In OSX it's a simple .pkg file to +install and drop into /Applications - then as long as you've installed +XCode (that comes with macbook in the 2nd CD 'Developer Tools' section) +they have this great little script in there called 'avr-project'. When +you run this little badass piece of code it creates a DIR for your +project called /FIRMWARE and three things: + +`An .xcodeproj file - this is a template (with skeleton code) for writing your program in Xcode` + +`Makefile template which ROCKS - all you have to do after is change the DEVICE you're` +`  using along with PROGRAMMER and FUSES. (Will LINK my file here for reference ` +` email Q if i forget)` + +`main.c file that is just a stupid simple C template to get you started` + +In addition to the compiler and programming software, it's nice to have +an [AVR Makefile](AVR_Makefile "wikilink") that automates the +cross-compilation build process. Comment in/out the first few defines to +match your environment. + +## Chips + +So you're set to program, but you need a couple chips. [This page at +AVRFreaks](http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=viewDev) +has some of the specs and all the datasheets in one place, but it's a +bit overwhelming. + +A shortlist of the coolest chips includes: + +**Tiny13** -- Smallest and cheapest. 8 pins, 5 of them useful. 1k +program memory. Goes everywhere. Cheaper and more versatile than a 555 +IC. Some hardware SPI/I2C support, but it's a pain to write for. + +**Tiny45** -- Another 8-pin, but with a high-speed (64MHz!) PWM clock +and 4k of program memory. ~\$0.75 from Digikey. Can be made to run at +16MHz+ using its internal oscillator, making firmware USB a reality. +Some hardware SPI/I2C support like the Tiny13. + +**Tiny2313** -- 20 pins. It's the cheapest/smallest unit with \> 5 +usable pins. Hardware USART makes serial communication (e.g. with your +computer) reasonably simple, which can be sweet for debugging or +datalogging. + +**Mega 48** -- 28 pins. All of the bells and whistles, with 4k program +memory. 6 ADC channels, buncha timers, SPI/I2C/USART communications. +They'll do what you want. + +**Mega 88, 168** and beyond. A lot of power for under \$10. Overkill for +most of my (Elliot's) small projects, but when you need the memory, you +need the memory. + +Maybe we could do a few group purchases to get up to Digikey's +price-break minimums. Interested? E-mail Elliot. + +And while you're at the AVRFreaks page, download both the long and short +datasheets for whichever chips you end up buying. The short one has a +nice pinout diagram on page two, while the long one explains everything +you'll ever need to know. + +## Misc. Extras + +You're at least going to need some LED's to go blink. Pushbuttons are +nice for playing around with inputs. Photocells give your creations +sight. Motors and motor drivers give you legs. I'm sure there's more +than enough scrounge around the space to get everyone started. + +[This +Instructable](http://www.instructables.com/id/Ghetto-Development-Environment) +details my current setup, and is a good start. + +[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AVR_Makefile.md b/AVR_Makefile.md new file mode 100755 index 0000000..0870505 --- /dev/null +++ b/AVR_Makefile.md @@ -0,0 +1,392 @@ + + + # WinAVR Sample makefile written by Eric B. Weddington, J??rg Wunsch, et al. + # Modified (bringing often-changed options to the top) by Elliot Williams + + # make all = Make software and program + # make clean = Clean out built project files. + # make program = Download the hex file to the device, using avrdude. Please + # customize the avrdude settings below first! + + # Microcontroller Type + MCU = attiny13 + # MCU = attiny2313 + # MCU = atmega8 + # MCU = attiny45 + + # Target file name (without extension). + TARGET = LED_Demo + + # Programming hardware: type avrdude -c ? + # to get a full listing. + # AVRDUDE_PROGRAMMER = dapa + AVRDUDE_PROGRAMMER = usbtiny + # AVRDUDE_PROGRAMMER = dt006 + + AVRDUDE_PORT = /dev/usb # not really needed for usb + #AVRDUDE_PORT = /dev/parport0 # linux + # AVRDUDE_PORT = lpt1 # windows + + ############# Don't need to change below here for most purposes (Elliot) + + # Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. + # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) + OPT = s + + # Output format. (can be srec, ihex, binary) + FORMAT = ihex + + # List C source files here. (C dependencies are automatically generated.) + SRC = $(TARGET).c + + # If there is more than one source file, append them above, or modify and + # uncomment the following: + #SRC += foo.c bar.c + + # You can also wrap lines by appending a backslash to the end of the line: + #SRC += baz.c \ + #xyzzy.c + + + + # List Assembler source files here. + # Make them always end in a capital .S. Files ending in a lowercase .s + # will not be considered source files but generated files (assembler + # output from the compiler), and will be deleted upon "make clean"! + # Even though the DOS/Win* filesystem matches both .s and .S the same, + # it will preserve the spelling of the filenames, and gcc itself does + # care about how the name is spelled on its command-line. + ASRC = + + + # List any extra directories to look for include files here. + # Each directory must be seperated by a space. + EXTRAINCDIRS = + + + # Optional compiler flags. + # -g: generate debugging information (for GDB, or for COFF conversion) + # -O*: optimization level + # -f...: tuning, see gcc manual and avr-libc documentation + # -Wall...: warning level + # -Wa,...: tell GCC to pass this to the assembler. + # -ahlms: create assembler listing + CFLAGS = -g -O$(OPT) \ + -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \ + -Wall -Wstrict-prototypes \ + -Wa,-adhlns=$(<:.c=.lst) \ + $(patsubst %,-I%,$(EXTRAINCDIRS)) + + + # Set a "language standard" compiler flag. + # Unremark just one line below to set the language standard to use. + # gnu99 = C99 + GNU extensions. See GCC manual for more information. + #CFLAGS += -std=c89 + #CFLAGS += -std=gnu89 + #CFLAGS += -std=c99 + CFLAGS += -std=gnu99 + + + + # Optional assembler flags. + # -Wa,...: tell GCC to pass this to the assembler. + # -ahlms: create listing + # -gstabs: have the assembler create line number information; note that + # for use in COFF files, additional information about filenames + # and function names needs to be present in the assembler source + # files -- see avr-libc docs [FIXME: not yet described there] + ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs + + + + # Optional linker flags. + # -Wl,...: tell GCC to pass this to linker. + # -Map: create map file + # --cref: add cross reference to map file + LDFLAGS = -Wl,-Map=$(TARGET).map,--cref + + + + # Additional libraries + + # Minimalistic printf version + #LDFLAGS += -Wl,-u,vfprintf -lprintf_min + + # Floating point printf version (requires -lm below) + #LDFLAGS += -Wl,-u,vfprintf -lprintf_flt + + # -lm = math library + LDFLAGS += -lm + + + # Programming support using avrdude. Settings and variables. + + + AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex + #AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep + + AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) + + # Uncomment the following if you want avrdude's erase cycle counter. + # Note that this counter needs to be initialized first using -Yn, + # see avrdude manual. + #AVRDUDE_ERASE += -y + + # Uncomment the following if you do /not/ wish a verification to be + # performed after programming the device. + #AVRDUDE_FLAGS += -V + + # Increase verbosity level. Please use this when submitting bug + # reports about avrdude. See + # to submit bug reports. + #AVRDUDE_FLAGS += -v -v + + #Run while cable attached or don't + AVRDUDE_FLAGS += -E reset #keep chip disabled while cable attached + #AVRDUDE_FLAGS += -E noreset + + #AVRDUDE_WRITE_FLASH = -U lfuse:w:0x04:m #run with 8 Mhz clock + + #AVRDUDE_WRITE_FLASH = -U lfuse:w:0x21:m #run with 1 Mhz clock #default clock mode + + #AVRDUDE_WRITE_FLASH = -U lfuse:w:0x01:m #run with 1 Mhz clock no start up time + + # --------------------------------------------------------------------------- + + # Define directories, if needed. + DIRAVR = c:/winavr + DIRAVRBIN = $(DIRAVR)/bin + DIRAVRUTILS = $(DIRAVR)/utils/bin + DIRINC = . + DIRLIB = $(DIRAVR)/avr/lib + + + # Define programs and commands. + SHELL = sh + + CC = avr-gcc + + OBJCOPY = avr-objcopy + OBJDUMP = avr-objdump + SIZE = avr-size + + + # Programming support using avrdude. + AVRDUDE = avrdude + + + REMOVE = rm -f + COPY = cp + + HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex + ELFSIZE = $(SIZE) -A $(TARGET).elf + + + + # Define Messages + # English + MSG_ERRORS_NONE = Errors: none + MSG_BEGIN = -------- begin -------- + MSG_END = -------- end -------- + MSG_SIZE_BEFORE = Size before: + MSG_SIZE_AFTER = Size after: + MSG_COFF = Converting to AVR COFF: + MSG_EXTENDED_COFF = Converting to AVR Extended COFF: + MSG_FLASH = Creating load file for Flash: + MSG_EEPROM = Creating load file for EEPROM: + MSG_EXTENDED_LISTING = Creating Extended Listing: + MSG_SYMBOL_TABLE = Creating Symbol Table: + MSG_LINKING = Linking: + MSG_COMPILING = Compiling: + MSG_ASSEMBLING = Assembling: + MSG_CLEANING = Cleaning project: + + + + + # Define all object files. + OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) + + # Define all listing files. + LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) + + # Combine all necessary flags and optional flags. + # Add target processor to flags. + ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) + ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) + + + + # Default target: make program! + all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \ + $(TARGET).lss $(TARGET).sym sizeafter finished end + # $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) + + # Eye candy. + # AVR Studio 3.x does not check make's exit code but relies on + # the following magic strings to be generated by the compile job. + begin: + @echo + @echo $(MSG_BEGIN) + + finished: + @echo $(MSG_ERRORS_NONE) + + end: + @echo $(MSG_END) + @echo + + + # Display size of file. + sizebefore: + @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi + + sizeafter: + @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi + + + + # Display compiler version information. + gccversion : + @$(CC) --version + + + + + # Convert ELF to COFF for use in debugging / simulating in + # AVR Studio or VMLAB. + COFFCONVERT=$(OBJCOPY) --debugging \ + --change-section-address .data-0x800000 \ + --change-section-address .bss-0x800000 \ + --change-section-address .noinit-0x800000 \ + --change-section-address .eeprom-0x810000 + + + coff: $(TARGET).elf + @echo + @echo $(MSG_COFF) $(TARGET).cof + $(COFFCONVERT) -O coff-avr $< $(TARGET).cof + + + extcoff: $(TARGET).elf + @echo + @echo $(MSG_EXTENDED_COFF) $(TARGET).cof + $(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof + + + + + # Program the device. + program: $(TARGET).hex $(TARGET).eep + $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) + + + + + # Create final output files (.hex, .eep) from ELF output file. + %.hex: %.elf + @echo + @echo $(MSG_FLASH) $@ + $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ + + %.eep: %.elf + @echo + @echo $(MSG_EEPROM) $@ + -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ + --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ + + # Create extended listing file from ELF output file. + %.lss: %.elf + @echo + @echo $(MSG_EXTENDED_LISTING) $@ + $(OBJDUMP) -h -S $< > $@ + + # Create a symbol table from ELF output file. + %.sym: %.elf + @echo + @echo $(MSG_SYMBOL_TABLE) $@ + avr-nm -n $< > $@ + + + + # Link: create ELF output file from object files. + .SECONDARY : $(TARGET).elf + .PRECIOUS : $(OBJ) + %.elf: $(OBJ) + @echo + @echo $(MSG_LINKING) $@ + $(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) + + + # Compile: create object files from C source files. + %.o : %.c + @echo + @echo $(MSG_COMPILING) $< + $(CC) -c $(ALL_CFLAGS) $< -o $@ + + + # Compile: create assembler files from C source files. + %.s : %.c + $(CC) -S $(ALL_CFLAGS) $< -o $@ + + + # Assemble: create object files from assembler source files. + %.o : %.S + @echo + @echo $(MSG_ASSEMBLING) $< + $(CC) -c $(ALL_ASFLAGS) $< -o $@ + + + + + + + # Target: clean project. + clean: begin clean_list finished end + + clean_list : + @echo + @echo $(MSG_CLEANING) + $(REMOVE) $(TARGET).hex + $(REMOVE) $(TARGET).eep + $(REMOVE) $(TARGET).obj + $(REMOVE) $(TARGET).cof + $(REMOVE) $(TARGET).elf + $(REMOVE) $(TARGET).map + $(REMOVE) $(TARGET).obj + $(REMOVE) $(TARGET).a90 + $(REMOVE) $(TARGET).sym + $(REMOVE) $(TARGET).lnk + $(REMOVE) $(TARGET).lss + $(REMOVE) $(OBJ) + $(REMOVE) $(LST) + $(REMOVE) $(SRC:.c=.s) + $(REMOVE) $(SRC:.c=.d) + $(REMOVE) *~ + + # Automatically generate C source code dependencies. + # (Code originally taken from the GNU make user manual and modified + # (See README.txt Credits).) + # + # Note that this will work with sh (bash) and sed that is shipped with WinAVR + # (see the SHELL variable defined above). + # This may not work with other shells or other seds. + # + %.d: %.c + set -e; $(CC) -MM $(ALL_CFLAGS) $< \ + | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ + [ -s $@ ] || rm -f $@ + + + # Remove the '-' if you want to see the dependency files generated. + -include $(SRC:.c=.d) + + + + # Listing of phony targets. + .PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \ + clean clean_list program + + + +[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AVR_Microcontroller_Class.md b/AVR_Microcontroller_Class.md new file mode 100755 index 0000000..ee36e50 --- /dev/null +++ b/AVR_Microcontroller_Class.md @@ -0,0 +1,14 @@ +We've had two rounds of the AVR Microcontroller class at HacDC so far. + +- If you're looking to learn, see the 2011 class. [AVR Microcontroller + Class 2011](AVR_Microcontroller_Class_2011 "wikilink") (happened in + Feb/March 2011) + + + +- If you're looking for specific old materials, we're keeping that + online too! [AVR Microcontroller Class + 2009](AVR_Microcontroller_Class_2009 "wikilink") (the first run of the + class) + +[Category:AVR_Class](Category:AVR_Class "wikilink") \ No newline at end of file diff --git a/AVR_Microcontroller_Class_2009.md b/AVR_Microcontroller_Class_2009.md new file mode 100755 index 0000000..012f613 --- /dev/null +++ b/AVR_Microcontroller_Class_2009.md @@ -0,0 +1,180 @@ +Syllabus, course material, homeworks, photos, etc from a previous +Introduction to Microcontrollers with AVR chips class can be found here. + +For the current class, head on over to [AVR Microcontroller Class +2011](AVR_Microcontroller_Class_2011 "wikilink") + +Also see (and contribute to) [Useful AVR +Links](Useful_AVR_Links "wikilink") + +## Class 0: Introduction and Setup + +What the AVRs are, what all the pins do, what they can do for you. Then +the toolchain: soldering together the programmer kits, getting the +software up and running. + +Labs: building the kit and running a test LED flasher. (Almost all lab +today, little talk.) + +**Resources**: + +- Slides from class: [Media:class0.pdf](Media:class0.pdf "wikilink") +- ATmega48P Datasheets (get both): [ATmega48P Summary + Datasheet](http://www.atmel.com/dyn/resources/prod_documents/8025S.pdf) + and [The Long ATmega48P + Datasheet](http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf) +- Download the software part of the toolchain: For Mac folks: [AVR Mac + Pack](http://www.obdev.at/products/avrmacpack/index.html). For Windows + folks: [WinAVR](http://winavr.sourceforge.net/) and the Atmel IDE [AVR + Studio](http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725). + For Ubuntu linux folks: "sudo apt-get install build-essential avr-libc + binutils-avr gcc-avr avrdude" +- Programmer and mega48 pinouts: + ![Image:FFVH7HBF5UO1JMR.MEDIUM.jpg](FFVH7HBF5UO1JMR.MEDIUM.jpg "Image:FFVH7HBF5UO1JMR.MEDIUM.jpg") + Screenshot-ATmega48-88-168.png + +## Class 1: Programmer Hookup and Hello World LED Blinking + +Lecture on how the programmer works -- simple serial interface basics. +Some basics on avrdude / GCC tools. Hook up the programming interface +wire-by-wire to the Mega48 chip and flash it with a simple program. Then +hook up an LED to the output port and watch it blink! + +**Resources** + +- [helloWorld.zip](http://elliotwilliams.org/avrclass/helloWorld.zip) + + + +- Class notes: [Media:class1.pdf](Media:class1.pdf "wikilink") + + + +- Wiring Diagram: + wiring.png + +**Homeworks** + +- Your kit has 10 resistors and 10 LEDs. If you want, you can solder + them together to make \[AVR: LED Blinkenlights\]. + + + +- If you didn't already, make labels for the signal wires. Think of an + easy way to remember which go where (into the 6-pin or 10-pin header). + And/or make permanent programmer "pigtails" by soldering the signal + wires to a 2x3 header in the correct orientation (headers available in + the HacDC hackersmart for pennies). + + + +- Play around with the delays in the LED_Demo.c code. Make the blinking + faster or slower. Experiment with on time and off time. + +## Class 2: Outputs: Bit Math, Cylon Eyes, and PWM Fading + +How to make chips speak to the outside world, pin-by-pin. Enough C +bitwise-math operations to make it work. Pulse-width modulation. + +Labs: Visualizing bytes, Cylon eyes, and dimming LED's. Extra credit: +cross-fading cylon eyes! + +**Resources** + +- [registers.zip](http://elliotwilliams.org/avrclass/registers.zip) +- [cylonEyes.zip](http://elliotwilliams.org/avrclass/cylonEyes.zip) +- [introPWM.zip](http://elliotwilliams.org/avrclass/introPWM.zip) +- Class notes: [Media:class2.pdf](Media:class2.pdf "wikilink") + +**Homework** + +- So you can make various lights blink and/or dim. Now what? + Cross-fading cylon eyes? Patterns? Something groovy? + + + +- Note that you've got an 8-bit display if you're willing to read out + numbers in binary. Useful for debugging later on, for sure. What else? + Binary clock? Simple upcounter? Display "random" numbers? + + + +- If you could swing it around, you'd be on your way to a [POV + toy](http://www.ladyada.net/make/minipov3/index.html). + +## Class 3: Inputs: Buttons + +Gather data from the world. The lecture ended up being just on digital +input. + +Labs: One note organ [Media: class3.pdf](Media:_class3.pdf "wikilink") + +## Class 4: Inputs: Debouncing and Analog-to-Digital conversion (ADC) + +This class, we'll get to debouncing our button input, and reading in +continuous voltages + +For more info on ADC stuff, see [this +note](http://www.avrfreaks.net/index.php?module=Freaks%20Files&func=viewFile&id=383&showinfo=1) + +Labs: pushbutton organ, light-dependent theremin. + +[Media: class4.pdf](Media:_class4.pdf "wikilink") +[Media: +debouncedMusicbox.zip](Media:_debouncedMusicbox.zip "wikilink") +[Media: +lightDependentTheremin.zip](Media:_lightDependentTheremin.zip "wikilink") + +## Class 5: Serial I/O and Interrupts I + +Laptop, meet AVR. AVR, laptop. Serial communication (plus serial-to-USB +cable) lets you connect your micro to about anything, including your +computer. Interrupts let the hardware (pins, serial port, timers, etc) +call run functions for you, with the main body of your code picking up +where you left off. Combine the two, and you can get pushbutton control +of an AVR from your laptop keyboard. + +[Media: helloSerial.zip](Media:_helloSerial.zip "wikilink") +[Media: helloInterrupts.zip](Media:_helloInterrupts.zip "wikilink") +[Media: class5.pdf](Media:_class5.pdf "wikilink") +And as a bonus, if you run Python, +[serialScope.py](http://www.jerkpile.com/serialScope.py) provides a +helpful debugging tool and an example of how simple USB/Serial code can +be on the laptop side. Coupled with on-chip ADC, it's a (low speed, +sideways) serial oscilloscope. Otherwise, a handy debugging aide. + +**Homework:** Take the scale.h from last class, and using input from +your laptop, make a full keyboard out of the AVR plus speaker. Or write +a ROT-13 device that takes your input and returns the encoded version. + +## Class 6: Timers/Counters and Interrupts II + +Timers/counters let you do precision things with time. Fix up that nasty +audio tone from the LDR theremin. Precise timing allows you to use LED's +as light sensors. It's also good for making quality analog output and +for directing servo motors. Interrupts + timers = deluxe PWM. Or give +your AVR a solid internal timebase. (You know you want to.) In this +class, we'll scratch the surface of what you can do with timers. + +[Media: timerPWM.zip](Media:_timerPWM.zip "wikilink") + +[Media: +timerPWM_ctc_hardware_toggle.c](Media:_timerPWM_ctc_hardware_toggle.c "wikilink") + +## Extra Credit: I2C + +Talked a bit about the I2C serial protocol -- a light-weight serial +multi-master bus using two wires (plus ground) and capable of addressing +127 different devices. Great for connecting to all sorts of peripherals. + +Demoed an \$20 I2C 3-axis accelerometer using bare-minimum I2C code, +with none of the error-checking that the pro's would do. But it works a +charm. That's why it's called hacking, baby! + +[Media: i2c_class.pdf](Media:_i2c_class.pdf "wikilink") + +[Media: i2c_accelerometer.zip](Media:_i2c_accelerometer.zip "wikilink") + +[Category:AVR_Class](Category:AVR_Class "wikilink") \ No newline at end of file diff --git a/AVR_Microcontroller_Class_2011.md b/AVR_Microcontroller_Class_2011.md new file mode 100755 index 0000000..4c7b7d7 --- /dev/null +++ b/AVR_Microcontroller_Class_2011.md @@ -0,0 +1,171 @@ +Syllabus, course material, homeworks, photos, etc from an Introduction +to Microcontrollers with AVR chips class can be found here. + +Also see (and contribute to) [Useful AVR +Links](Useful_AVR_Links "wikilink") For info about the kit: +[Avr2011_kit](Avr2011_kit "wikilink") and [Avr2011 Programming The +Kit](Avr2011_Programming_The_Kit "wikilink") Or check out the old +version of the course [AVR Microcontroller Class +2009](AVR_Microcontroller_Class_2009 "wikilink") + +## Class 0: Introduction and Setup + +Hello World! + +**Covers**: What the AVRs are, what all the pins do, what they can do +for you. A brief tour of the toolchain, and getting your firmware up and +running on the chip. Reading the datasheets. How to make chips speak +digital to the outside world, pin-by-pin. Just enough C programming +fundamentals to make it work. + +**Slides:** +[Media:avr2011_class0.pdf](Media:avr2011_class0.pdf "wikilink") + +**Lab**: Building the kit and running a test LED flasher. + +For assembly instructions and more details on the class kit, see +[Avr2011_kit](Avr2011_kit "wikilink"). How to program the class kit, see +[Avr2011 Programming The Kit](Avr2011_Programming_The_Kit "wikilink"). + +**Demo Code**: [Media: LED_Demo.tgz](Media:_LED_Demo.tgz "wikilink") + +**Homework**: More soldering, and Cylon Eyes. Optional extra credit: +Simple POV toy (hint, make the timing around 2ms between updates and +swing your arms). Super bonus points: Make a neat POV toy. + +**OPC (Other People's Code)**: + +[Media: Pov demo.tar.gz](Media:_Pov_demo.tar.gz "wikilink") An example +POV toy. This contains 4 different patterns; two diamonds, a trapezoid +and a **smiley face**. Also contains examples of using a character array +to drive the POV toy, as well as use of constants to determine how the +program runs. - Will + +**Resources**: + +- ATmega48P Datasheets (get both): [ATmega48P Summary + Datasheet](http://www.atmel.com/dyn/resources/prod_documents/8025S.pdf) + and [The Long ATmega48P + Datasheet](http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf) +- Bootloader appnote + [1](http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf) +- [Installing AVR Toolchain](Installing_AVR_Toolchain "wikilink") + +
+ +
Screenshot-ATmega48-88-168.png
+
+ +## Class 1: Digital and Serial I/O + +Interfacing with the real world is the soul of microcontrolling. + +**Covers**: Gathering simple data from the world, and learn how to spit +it back out. A serial link with your computer enables all sorts of +tricks, and enables the microcontroller version of printf debugging. +Some boolean logic comes in handy here. Along the way, we'll learn a +bunch about debouncing switches. + +**Slides**: +[Media:avr2011_class1.pdf](Media:avr2011_class1.pdf "wikilink") + +**Labs**: More Cylon Eyes, All sorts of button-pressing demos, +ASCII-to-binary keymapper, General-purpose serial LED display + +**Demo Code**: [Media: +avr2011_class1_demoCode.tgz](Media:_avr2011_class1_demoCode.tgz "wikilink") + +**HW**: Ghetto logic probe and analyzer: read input on PORTC, display +values on the LEDs, write out the value of PINC over serial, +interpret/log/whatever using your laptop + +**OPC (Other People's Code)**: [microTweeter](microTweeter "wikilink") a +silly little program to interface twitter with a microcontroller. It is +designed to post quotes from a file when a button is pressed on a +microcontroller. This was done as learning experience with python, +serial communications and social media integration. -Will G. + +**Resources**: + +- More than you ever wanted to know about debouncing: [A Guide to + Debouncing](http://www.ganssle.com/debouncing.htm) + +## Class 2: ADC and PWM: "Analog" I/O + +**Covers**: Learn about ways to fake analog data into and out of your +microcontroller. We'll learn how to switch logic states fast to emulate +an analog output, and how to use the built-in analog-to-digital +converters to measure the complex real-world. + +**Slides**: +[Media:avr2011_class2.pdf](Media:avr2011_class2.pdf "wikilink") + +**Demo Code**: [Media: +avr2011_class2_demoCode.tgz](Media:_avr2011_class2_demoCode.tgz "wikilink") + +**Labs**: Dimming LEDs, light-level meter, ghetto oscilloscope + +**Homework**: Auto-dimming LED or basic light-level data logger + +**Resources**: You'll need to solder up the light sensors: [follow these +directions](http://wiki.hacdc.org/index.php/Avr2011_kit#Adding_the_Light_Sensor_for_Class_2_.28ADC.29) + +## Class 3: Interrupts + +**Covers**: Interrupts call subroutines when certain conditions are +true. They take a lot of the programming burden off your shoulders, +enable the AVR to syncronize to external devices, and are great for +super-fast response applications. + +**Slides**: [Media: +avr2011_class3.pdf](Media:_avr2011_class3.pdf "wikilink") + +**Demo Code**: [Media: +avr2011_externalInterrupt.tgz](Media:_avr2011_externalInterrupt.tgz "wikilink"), +[Media: +avr2011_serialInterrupt.tgz](Media:_avr2011_serialInterrupt.tgz "wikilink") + +**Labs**: Bunch of pushbutton interrupt routines, light/dark transition +sensor, non-blocking serial I/O + +**Homework**: Response-time-tester Game or "improved" interrupt-driven +ghetto oscilloscope + +**Resources**: + +## Class 4: Timers and Counters + +**Covers**: Timers and counters let you time and count events! Up until +now, we've been doing a lot with for loops and delays to count the +passing of time. It's much easier and more precise to let the hardware +do the timing. When you add interrupts and timers together, the world +becomes your oyster! + +**Slides**: [Media: +avr2011_class4.pdf](Media:_avr2011_class4.pdf "wikilink") + +**Demo Code**: [Media: +avr2011_counterClock.tgz](Media:_avr2011_counterClock.tgz "wikilink") +[Media: +avr2011_counterPWM.tgz](Media:_avr2011_counterPWM.tgz "wikilink") + +**Labs**: + +**Homework**: Response-time-tester Game or tone generator + +## Class 5: Flash, EEPROM, I2C, USB, SD Cards, GPS, and Life After AVR Class + +**Covers**: First, we'll cover using the internal flash memory and +EEPROM for data storage. Then I'll demo how to use other people's +code/libraries and tie it in to our packages, interfacing with all sorts +of random devices for fun and profit. The final (optional) trick will be +turning your classboard into a standalone AVR programmer so that you can +program raw chips yourself, and outgrow the bootloader. + +**Labs**: + +**Homework**: + +[Category:Microcontrollers](Category:Microcontrollers "wikilink") +[Category:AVR_Class](Category:AVR_Class "wikilink") \ No newline at end of file diff --git a/AVR_Noise_Toys.md b/AVR_Noise_Toys.md new file mode 100755 index 0000000..dbfb5ff --- /dev/null +++ b/AVR_Noise_Toys.md @@ -0,0 +1,150 @@ +## Noise Toys + +To turn a blinky LED program into a simple square-wave synthesizer, plug +a speaker into PB4 and ground (where the LED was before), and turn up +the frequency. + +The code is largely the same, just toggling a pin on and off, but now +doing it at different speeds (for different tones) and for differing +time periods (notes duration). + +## squareOne.c + + + /* Makes a quick square wave for noise-making experimentation. */ + + #include + #include + #define F_CPU 16000000L /* really? tested with the scope for Tiny45 */ + #include + + void init(void){ + DDRB |= _BV(PB4); + } + + int main(void){ + uint8_t i, j, k; + uint16_t wavelength; + + init(); + + while(1){ + for (k = 10; k > 3; k--){ /* pitch multiplier: makes different notes */ + wavelength = 20*k; + + for (j=0; j < 200/k; j++){ + /* number of cycles at each pitch: controls speed of loop */ + + PORTB |= _BV(PB4); + for (i=0; i < wavelength; i++) /* on for 20*wavelength microsecs */ + _delay_us(20); /* loop needed b/c each call to + the delay function can't + delay all that long before + it overflows */ + + PORTB &= ~_BV(PB4); /* off for 20*wavelength microsecs */ + for (i=0; i < wavelength; i++) + _delay_us(20); + + } + } + } + } + + + +## spacePhaser.c + + + /* Starts with a very short pulse (high-frequency) and drops rapidly. */ + + #include + #include + #define F_CPU 16000000L /* really? tested with the scope */ + #include + + void init(void){ + DDRB |= _BV(PB4); + } + + int main(void){ + uint8_t i, j, k; + uint16_t wavelength; + + init(); + + while(1){ + for (k = 3; k < 120; k++){ /* pitch multiplier: makes different notes */ + wavelength = k; + + for (j=0; j < 200/k; j++){ + /* number of cycles at each pitch: controls speed of loop */ + + PORTB |= _BV(PB4); + for (i=0; i < wavelength; i++) /* on for 20*wavelength microsecs */ + _delay_us(20); /* loop needed b/c each call to + the delay function can't + delay all that long before + it overflows */ + PORTB &= ~_BV(PB4); /* off for 20*wavelength microsecs */ + for (i=0; i < wavelength; i++) + _delay_us(20); + + } + } + for (j=0; j < 60; j++){ /* with delay between shots */ + for (i=0; i < 250; i++) + _delay_us(200); + } + } + } + + + +## chaosEngine.c + + + /* Now the frequency of the wave is a crazy function. */ + + #include + #include + #define F_CPU 16000000L /* really? tested with the scope */ + #include + + void init(void){ + DDRB |= _BV(PB4); + } + + int main(void){ + uint8_t i, j, k; + uint16_t wavelength; + + init(); + + while(1){ + wavelength = (13 * wavelength + 1) % 123 + 100; + + for (j=0; j < 30; j++){ + /* number of cycles at each pitch */ + + PORTB |= _BV(PB4); + for (i=0; i < wavelength; i++) /* on for 20*wavelength microsecs */ + _delay_us(20); /* loop needed b/c each call to + the delay function can't + delay all that long before + it overflows */ + PORTB &= ~_BV(PB4); /* off for 20*wavelength microsecs */ + for (i=0; i < wavelength; i++) + _delay_us(20); + + } + } + for (j=0; j < 60; j++){ /* longer delay between shots */ + for (i=0; i < 250; i++) + _delay_us(200); + } + } + + + +[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AVR_Tutorial.md b/AVR_Tutorial.md new file mode 100755 index 0000000..6fa8151 --- /dev/null +++ b/AVR_Tutorial.md @@ -0,0 +1,71 @@ +Warning: this page is a nearly-completely incomplete skeleton. For the +class (and supporting materials) that actually came to be, see [AVR +Microcontroller Class](AVR_Microcontroller_Class "wikilink"). This +section needs a lot of development, so if you're in the mood please feel +free. + +There's a lot of good information out there about programming +micro-controllers, but I couldn't find a good, stepwise, lesson-based +tutorial. Since a bunch of the HacDC folks are just learning their way +around, I thought it'd be fun to put together a mini-course based on the +Atmel AVR platform and GNU-GCC. The idea is to have each lesson doable +in an hour or so + +What follows is a mix of how-to and code snippets and peoples' +experience walking through it all. If you're following along and want to +contribute, feel free. + +[Useful AVR Links](Useful_AVR_Links "wikilink") + +## The Basics (take these in order): + +[AVR Lesson: Setup](AVR_Lesson:_Setup "wikilink"): Get a programmer, a +chip, the software, and some parts + +[AVR Lesson: Output Pins I](AVR_Lesson:_Output_Pins_I "wikilink"): Basic +output and LED Blinky example + +[AVR Lesson: Output Pins II](AVR_Lesson:_Output_Pins_II "wikilink"): +Binary math and Cylon Eyes + +[AVR Lesson: Input Pins](AVR_Lesson:_Input_Pins "wikilink"): Debouncing +and Button-triggered Cylon Eyes + +[AVR Lesson: Timers](AVR_Lesson:_Timers "wikilink"): Clocks and how to +use them. + +[AVR Lesson: Interrupts](AVR_Lesson:_Interrupts "wikilink"): + +[AVR Lesson: Pulse-width +Modulation](AVR_Lesson:_Pulse-width_Modulation "wikilink"): An easy way +to get analog outputs. Dimming LEDs or Crossfading Cylon Eyes + +[AVR Lesson: Analog-digital +Conversion](AVR_Lesson:_Analog-digital_Conversion "wikilink"): +Automatical Dimming Night Light + +## Advanced Material (mix-n-match): + +[AVR Lesson: Watchdog Timers](AVR_Lesson:_Watchdog_Timers "wikilink"): + +[AVR Lesson: I2C](AVR_Lesson:_I2C "wikilink") + +[AVR Lesson: Using Program +Memory](AVR_Lesson:_Using_Program_Memory "wikilink"): + +[AVR Lesson: Motor Driving](AVR_Lesson:_Motor_Driving "wikilink"): + +[AVR Lesson: Servo Control](AVR_Lesson:_Servo_Control "wikilink"): + +[AVR Lesson: State Machines](AVR_Lesson:_State_Machines "wikilink"): + +[AVR Lesson: Sound](AVR_Lesson:_Sound "wikilink"): + +[AVR Lesson: Serial I/O](AVR_Lesson:_Serial_I/O "wikilink"): + +[AVR Lesson: USB](AVR_Lesson:_USB "wikilink"): + +[AVR Lesson: Interfacing with External +Memory](AVR_Lesson:_Interfacing_with_External_Memory "wikilink") + +[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AVR_Tutorial__Bootstrapping_the_AVR.md b/AVR_Tutorial__Bootstrapping_the_AVR.md new file mode 100755 index 0000000..470e62c --- /dev/null +++ b/AVR_Tutorial__Bootstrapping_the_AVR.md @@ -0,0 +1,36 @@ +So you want to program an AVR, but you don't have a programmer? Do you +have a parallel port? Then fear not! + +The AVR chips are set up to flash their program memory through a serial +connection with the host computer, so programming them is mostly a +matter of getting the right lines to the chip, with the rest taken care +of by the AVRdude software. + +The simplest way to get started is with one of the parallel-port +"programmers". The basic procedure is to a) look at the docs for +AVRdude's various parallel port adapters, b) look at the pinouts for the +chip you're using, and c) wire the right pins on the parallel port to +the right pins on your AVR. + +For instance, the DAPA (Direct AVR Parallel Access) "programmer" makes +the following connections between the parallel port pins and the AVR: + +| Parallel Pin | AVR | +|--------------|-------| +| 1 | SCK | +| 2 | MOSI | +| 11 | MISO | +| 16 | RESET | +| 20 | GND | +| 21 | GND | + +Connect the wires and test it out! Type **avrdude -n -v -p tiny13 -c +dapa** and you should see your part recognized and the fuse settings +displayed. (Make sure to substitute your part name for tiny13. Type +**avrdude -p help** to see the list of supported parts.) + +For a much more complicated boot strap technique, there is the [secure +bootloader](secure_bootloader "wikilink") that uses AES encrypted +firmware images. + +[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink") \ No newline at end of file diff --git a/AX.25.md b/AX.25.md new file mode 100755 index 0000000..9a1a460 --- /dev/null +++ b/AX.25.md @@ -0,0 +1,50 @@ +- OSI layer 2 (data link layer) protocol. Technically, it occupies + layers 1-3. +- Same layer as BATMAN-Advanced. +- Used for packet radio by hams. +- Can transport network layer protocols, including IP. +- Not designed to support switching, though routers can probably be set + up to handle it. +- Support in the Linux kernel. + - v2.6.x: ax25.ko +- Commonly used with three different communication specs: + - Bell 103 tones @ 300bps + - Bell 202 tones @ 1200bps + - G3RUH DFSK @ 9600bps + - These speeds are hard limits. +- KISS encapsulates frames such that they can be send to a TNC for + transmission. Derived from SLIP. +- KISS is a serial protocol. Thus, multiple serial channels are required + for multiple transceivers. +- Other protocols fulfill the same function. +- Either half or full duplex modes. +- Three components + - Kernel module + - Configuration utilities + - Utility software +- Each AX.25 network device ("port") must be configured with a unique + callsign/SSID. Hostnames are probably not a good idea. +- We would be using [soundmodem](Notes_on_Soundmodem "wikilink") on top + of AX.25. + +Configuring AX.25 network interface: + +` ifconfig sm0 hw ax25 `` up` + +` Create an entry in /etc/ax25/axports for the network interface:` +`     sm0 `` `` ` ` + +Once this is done, you can treat it like any other network interface: + +` ifconfig sm0 192.168.1.1 netmask 255.255.255.0` +` route add -net 192.168.1.0 netmask 255.255.255.0 sm0` +` route add default sm0` + +[Using /usr/bin/call to test an AX.25 +connection.](http://tldp.org/HOWTO/AX25-HOWTO/x1449.html) + +[Wikipedia: AX.25](https://secure.wikimedia.org/wikipedia/en/wiki/AX.25) +[About AX.25](http://www.tapr.org/pub_ax25.html) [Linux AX.25 +Howto](http://tldp.org/HOWTO/AX25-HOWTO/) + +[Category:Byzantium](Category:Byzantium "wikilink") \ No newline at end of file diff --git a/A_HacDC_Christmas.md b/A_HacDC_Christmas.md new file mode 100755 index 0000000..5e39445 --- /dev/null +++ b/A_HacDC_Christmas.md @@ -0,0 +1,55 @@ +This is a proposal to create a holiday-themed program for kids, aimed at +raising money for and awareness of [the Loaves & Fishes +program](http://www.loavesandfishesdc.org/). Saturday night (weekend in +December) would be the best time. + +## Proposal Vitals + +**Status**: In Progress, Discussion + +- Project Lead: [Q](User:Q "wikilink")''' +- Proposed Budget: \$500.00''' +- Goals: + - To have a high profile charity event to stimulate HacDC's presence + in the community + - To boost our 501(c)(3) application + - To build relationships within the church + +## Detailed Proposal + +The idea is basically to have the Church transformed into a technology +playground for kids of the area, in a very Christmas type fashion. The +main things we could have is someone (Nick? hehe) dressed up as Santa +sitting on the stage talking with kids, we could have plenty of food for +both kids and maybe the homeless (like [the F&L +program](http://www.loavesandfishesdc.org/) already does)... The +stage/meeting area in the Church could be the kids area and then we +could have a separate area for just [the F&L +program](http://www.loavesandfishesdc.org/) portion... So with foods and +Santa comes the best part and the main reason we would want to be +involved... + +We can have little workshops setup throughout the church with little +Christmas-type kits where we can teach the kids about technology and +creating/MAKEing/building and certainly the reality of developing +whatever you dream. + +Ideally, I was thinking the workshops would include things like: NYCR's +lazz0r and 3D printing (with some of us helping them design Christmas +type objects to build, we need a project to collaborate with them +anyway), One of MAKE:DC's awesome little kit builds designed with a +Christmas theme for kids (Mark, want to design?), Maybe Elliot can do a +micro controller class where they make some type of LED Christmas tree +... + +The reality of it is that we would need a whole lot of support and +participation from our members and friends of HacDC. This doesn't have +to be something amazingly EPIC at first, but if we stay around awhile +(even if we do move) we could do this anually. Not only would this help +our 501c3 but it's also a great thing to do for our community and for +the holidays in general. + +Richard has lots of turkeys and may be able to bring in his old chamber +group together for it + +[Category:Proposed Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/Accessibility.md b/Accessibility.md new file mode 100755 index 0000000..9f13286 --- /dev/null +++ b/Accessibility.md @@ -0,0 +1,12 @@ +HacDC strives to be accessible to as many people as possible, but we +know that our physical space has constraints. + +We are unfortunately **not** wheelchair accessible ??? there is a flight +of stairs leading up to our space from the red-door entrance to the +building. As a heads-up to folks with sensory processing issues, we are +working to install sound-dampening material in our main gathering room, +but for the time being it can get noisy when there are multiple +conversations going on simultaneously there, as often happens after our +monthly meetings and on (Microcontroller) Monday evenings. + +[Category:HacDC_Space](Category:HacDC_Space "wikilink") \ No newline at end of file diff --git a/Advisory_Council.md b/Advisory_Council.md new file mode 100755 index 0000000..5eaa997 --- /dev/null +++ b/Advisory_Council.md @@ -0,0 +1,7 @@ +The HacDC Advisory Council is an informal group of people who offer +advice to HacDC. The council presently offers advice via a closed, +invite-only e-mail list. + +Members on the Advisory Council are typically those who can offer great +amounts of support to HacDC, through publicity and financial means, but +for time and distance reasons, cannot regularly participate in HacDC. \ No newline at end of file diff --git a/Air_flow_switch_holder.md b/Air_flow_switch_holder.md new file mode 100755 index 0000000..abc68b3 --- /dev/null +++ b/Air_flow_switch_holder.md @@ -0,0 +1,118 @@ +This is the OpenSCAD code to create a wafer air flow sensor (and +backflow preventer) to hold a microswitch to stop the laser from firing +if the exhaust flow stops. Dimensions have been set to match the exhaust +nozzle. The current version of the header doesn't quite match, even +though the nozzle was reverse engineered from it. + +This was printed on 5/1 and it has some issues. + +1. The arms which hold the switch body interfere with the flap plate. +2. The flap plate axis of rotation could be lowered to improve the + balance. +3. The thickness of the wafer can be increased to reduce the warpage of + the piece. + +Model was redesigned on 5/5: + +1. Switch holder moved to side from top center +2. Flap axis of rotation lowered +3. Up arrow added +4. Thickness increased from 3 to 5 mm +5. Wire holes relocated 180?? + +You can find the stl file here +![](Airflow-switch.stl "File:Airflow-switch.stl") + + + /* + exhaust airflow detector + safety interlock for cheap Chinese laser at Hac DC + This switch is a lug style wafer for insertion between the exhaust collector and the exhaust nozzle on the back of the laser chassis. + When the exhaust fan is running and air is flowing the switch will operate to allow the laser to fire. This switch is upstream of + the exhaust fan so air will leak into the exhaust stream, not exhaust leaking out into room air. + James Sullivan + 5-5-17, v2 + OpenSCAD version 2015.03-1 + + --dimensions from mating exhaust nozzle-- + nid=60; //nozzle inner diameter + nod=80; //nozzle outer diameter + mod=100; //maximum outer diameter + sh=30; //step height + sw=5; //step width + oah=50; //over-all height + tlw=3; //top ledge width + bcd=46.8*2; //bolt circle diameter + bhd=3.6; //bolt hole diameter + fw=12; //foot width + fh=15; //foot height + fod=108; //foot outside dimension, from outside edge to outside edge + fid=(nid+nod)/2;//foot inside dimension, from inside edge to inside edge + */ + fid=60; //flange inner diameter, same as nid + fod=80; //flange outer diameter, same as nod + bhd=3.6; //bolt hole diameter + bcd=93.6;//bolt circle diameter + thick=5; //thickness of flange - originally 3, but warped when removing from printer bed + flap=3; //thickness of flap - originally 3, but warped when removing from printer bed + hph=bhd*2; //hinge pin height above center line, i.e. butterfly offset. Reduce to make switch more sensitive. Increse to make switch more stable. - originally 10 + sfw=fid-thick*2; //switch flap width - originally sqrt(fid*fid-4*hph*hph) + shd=2; //switch hole diameter + shp=10; //switch hole pitch, i.e. center to center spacing of mounting holes on microswitch + srh=12; //switch roller height, i.e. height above switch hole centerline where switching action occurs + sbw=6; //switch body width + nfw=5; //nut face width + nt=1; //nut thickness + $fn=80; + + difference(){ //wafer body + union(){ + cylinder(d=fod,h=thick); + for(ang=[0,90]){ + rotate([0,0,ang]) hull(){ //lugs + translate([bcd/2,0,0]) cylinder(d=3*bhd, h=thick); + translate([-bcd/2,0,0]) cylinder(d=3*bhd, h=thick); + } + } + translate([sfw/2+thick/2,0,thick]) rotate([-90,0,0]) cylinder(d1=shd*1.6,d2=0,h=shd*2);//up direction arrow head + translate([sfw/2+thick/2,0,thick]) rotate([90,0,0]) cylinder(d=shd*0.8,h=shd*2); //up direction arrow shaft + } + translate([0,0,-thick/2]) intersection(){ //bore + cylinder(d=fid, h=2*thick); //circular top and bottom + cube([sfw,fod,thick*4],true); //vertical left and right + } + for (angle=[0:90:270]){ //bolt holes in lugs + rotate([0,0,angle]) translate([bcd/2,0,-thick/2]) cylinder(d=bhd,h=thick*2); + } + for (angle=[235:5:245]){ //wire holes through flange + translate([0,0,thick-flap/2]) rotate([0,90,angle]) cylinder(d=1,h=bcd/2); + } + translate([0,hph,flap/2]) rotate([0,90,0]) cylinder(d=1,h=bcd+4*bhd,center=true); //hinge pin axle hole + } //end of wafer body + translate([-thick/2-sfw/2,0,flap/2+srh]){ //switch holder + difference(){ + union(){ + cube([thick,shp+3*shd,3*shd],center=true);//mount flange + color("blue") translate([0,0,-srh/2-flap/4+thick/2-3*shd/4]) cube([thick,shp+3*shd,srh+flap/2-thick-3*shd/2],center=true); //support for mount flange + translate([-thick/2,0,-shd*2]) cylinder(d2=shd*1.6,d1=0,h=shd*2.0);//flow direction arrow head + translate([-thick/2,0,-shd/2]) cylinder(d=shd*0.8,h=shd*2.0); //flow direction arrow shaft + } + for (dy=[-shp/2,shp/2]) { + translate([0,dy,0]) rotate([0,90,0]) cylinder(d=shd,h=2*thick,center=true); //bolt holes + for (angle=[0:120:240]){ + translate([-thick/2,dy,0]) rotate([angle,0,0]) cube([nt*2,nfw,nfw/sqrt(3)],center=true); //nut sockets + } + } + } + } + + translate([0,fid/2+bcd/2+bhd*2,0]) difference(){ //flap disk + intersection(){ //bore + cylinder(d=fid-0.5, h=flap); //circular top and bottom + cube([sfw-0.5,fod,flap*2],true); //vertical left and right + } + translate([0,hph,flap/2]) rotate([0,90,0]) cylinder(d=1,h=bcd+4*bhd,center=true); //hinge pin axis + } + + +[Category: CheapChineseLaser](Category:_CheapChineseLaser "wikilink") \ No newline at end of file diff --git a/Albert.md b/Albert.md new file mode 100755 index 0000000..3e036c6 --- /dev/null +++ b/Albert.md @@ -0,0 +1,217 @@ +# Functions + +albert is an infrastructural VM host and nothing else. + +# Access + +Admin access only. Email support@hacdc.org if you need to report an +issue. + +# Admin Notes + +## Case + +- 3U 19 inch rackmount + +### PSU + +- ATX PSU with both 4 and 8 pin cpu power connectors +- Wattage: + +### Slots + +- 7 stock 3.5 inch hot swap slots +- 1 front, floppy slot +- 1 front, 5.25 inch slot +- 2 internal front 3.5 inch slots +- 2 3.5 inch slots on spreader bar + +### Addon Cards + +- RAID/SATA controller + - ports + - model +- GPU see [Server_Albert#GPU](Server_Albert#GPU "wikilink") + +## Mother Board + +### RAM + +- 4GB DDR2 ECC + +### CPU + +- dual socket dual core Xeon +- has VM extensions +- no hyper-threading +- /proc/cpuinfo + +`   processor   : 0` +`   vendor_id   : GenuineIntel` +`   cpu family  : 6` +`   model       : 15` +`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz` +`   stepping    : 6` +`   microcode   : 0x44` +`   cpu MHz     : 2333.448` +`   cache size  : 4096 KB` +`   fpu     : yes` +`   fpu_exception   : yes` +`   cpuid level : 10` +`   wp      : yes` +`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm` +`   bogomips    : 4666.89` +`   clflush size    : 64` +`   cache_alignment : 64` +`   address sizes   : 36 bits physical, 48 bits virtual` +`   power management:` +`   ` +`   processor   : 1` +`   vendor_id   : GenuineIntel` +`   cpu family  : 6` +`   model       : 15` +`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz` +`   stepping    : 6` +`   microcode   : 0x44` +`   cpu MHz     : 2333.448` +`   cache size  : 4096 KB` +`   fpu     : yes` +`   fpu_exception   : yes` +`   cpuid level : 10` +`   wp      : yes` +`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm` +`   bogomips    : 4666.89` +`   clflush size    : 64` +`   cache_alignment : 64` +`   address sizes   : 36 bits physical, 48 bits virtual` +`   power management:` +`   ` +`   processor   : 2` +`   vendor_id   : GenuineIntel` +`   cpu family  : 6` +`   model       : 15` +`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz` +`   stepping    : 6` +`   microcode   : 0x44` +`   cpu MHz     : 2333.448` +`   cache size  : 4096 KB` +`   fpu     : yes` +`   fpu_exception   : yes` +`   cpuid level : 10` +`   wp      : yes` +`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm` +`   bogomips    : 4666.89` +`   clflush size    : 64` +`   cache_alignment : 64` +`   address sizes   : 36 bits physical, 48 bits virtual` +`   power management:` +`   ` +`   processor   : 3` +`   vendor_id   : GenuineIntel` +`   cpu family  : 6` +`   model       : 15` +`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz` +`   stepping    : 6` +`   microcode   : 0x44` +`   cpu MHz     : 2333.448` +`   cache size  : 4096 KB` +`   fpu     : yes` +`   fpu_exception   : yes` +`   cpuid level : 10` +`   wp      : yes` +`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm` +`   bogomips    : 4666.89` +`   clflush size    : 64` +`   cache_alignment : 64` +`   address sizes   : 36 bits physical, 48 bits virtual` +`   power management:` + +### GPU + +- NVIDIA Corporation NV43 \[GeForce 6600\] (rev a2) + +### BIOS/UEFI + +- Make - ? +- Version - ? + +#### Menu + +- ?Setup +- ?View Post +- ?Boot Select + +## OS + +- Debian + - Version - stable + - Arch - amd64 + +# OS Config + +## DomU + +- Shell server - tortoise +- File server - hoard +- Squid Proxy - cthulhu + +## Storage + +- Partitions \#FIXME + - All drives have stripe for /boot + - 1TB drives + - 500GB drives + - 250GB drives +- Soft RAID \# FIXME + - the /boot stripe is RAID1 + - 250GB drives + - 500GB drives + - 1TB drives + +### LVM + +- Volume Groups + - albert + - home + - /home + - root + - / + - swap + - Contiguous LV. + - nas + - Attached to hoad. + - Shell users' /home/users/\* + - Generic storage. + - proxy + - Attached to cthulhu. + - Contains the cache from the proxies. + - cthulhu-disk - 4GB + - cthulhu-swap - 1GB + - hoard-disk - 4GB + - hoard-swap - 128MB + - tortoise-disk - 4GB + - tortoise-home - 50GB (will be reduced) + - tortoise-swap - 128MB + - tortoise-tmp - 10GB + - tortoise-var - 30GB + - template.debian-testing-minimal - 4GB + - to be removed + - template-swap + - vms + +## Software + +#### Xen HVM + +- domain configs /etc/xen/conf +- configs tracked with git + - use /etc/xen/conf/.commit to commit changes as nonroot user + +## VMs + +- [cthulhu](cthulhu "wikilink") - proxy server +- [tortoise](tortoise "wikilink") - shell server +- [hoard](hoard "wikilink") - file server + +[Category:Infrastructure](Category:Infrastructure "wikilink") +[Category:Servers](Category:Servers "wikilink") \ No newline at end of file diff --git a/Amateur_radio.md b/Amateur_radio.md new file mode 100755 index 0000000..d0ac2eb --- /dev/null +++ b/Amateur_radio.md @@ -0,0 +1 @@ +1. REDIRECT[:Category:Amateur_Radio](:Category:Amateur_Radio "wikilink") \ No newline at end of file diff --git a/Amateur_radio_station.md b/Amateur_radio_station.md new file mode 100755 index 0000000..ae3919c --- /dev/null +++ b/Amateur_radio_station.md @@ -0,0 +1,21 @@ +See [:Category:AmateurRadios](:Category:AmateurRadios "wikilink") . + +HacDC's Radio Station + +[HamDesk](HamDesk "wikilink") + +Icom FT-718 +[Manual](http://www.icomamerica.com/en/downloads/Default.aspx?Category=20) + +Automatic antenna tuner +[SGC-237](http://www.sgcworld.com/237ProductPage.html) + +20m rooftop vertical +[antenna](http://www.hacdc.org/2012/08/new-amateur-radio-antenna/) + +[Ham Radio Deluxe](http://www.ham-radio-deluxe.com/) + +[WSPR Net - Weak Signal Propagation Reporter +Network](http://wsprnet.org) + +[Sound_Card_Interface](Sound_Card_Interface "wikilink") \ No newline at end of file diff --git a/Andaman_honeymoon_package.md b/Andaman_honeymoon_package.md new file mode 100755 index 0000000..db8c31b --- /dev/null +++ b/Andaman_honeymoon_package.md @@ -0,0 +1,4 @@ +Andaman Honeymoons Ltd brings an opportunity to spend honeymoon at the +romantic and serene archipelago situated in the Bay of Bengal. They have +different types of [Andaman honeymoon +package](http://andamanhoneymoons.com/)s available at different budgets. \ No newline at end of file diff --git a/Annual_Meeting_2009.md b/Annual_Meeting_2009.md new file mode 100755 index 0000000..e78973f --- /dev/null +++ b/Annual_Meeting_2009.md @@ -0,0 +1,193 @@ +HacDC Annual Meeting February 21, 2009 + +The meeting was called to order at 5:11 PM by standing Coordinator In +Chief Elliot Williams. + +Members Present: Nick Farr, Ben Stanfield, Matt Lesko, Derek Cooper, Tim +Collins, Serge Wroclawski, Member 7, Katie Bechtold, Martin Rothfield, +Member 19, Member 44, Elliot Williams, Jonathon Blocksom, Member 48 + +Others Present: Andrew Gillette, Tommy Johnson, Art Coleman + +The C-i-C declared a Quorum was present, and gave a brief overview of +the official items to address at the meeting. + +## New Business + +### Board of Director Elections + +Jason nominated Elliot Williams Member 48 seconded. The nomination was +accepted. + +Elliot danced for 2 minutes as ordered by the bylaws. + +No other nominations were offered, so Elliot Williams is Coordinator in +Chief. + +Minister of Information + +Member 7 nominated himself. Tim Collins Seconded. + +Katie nominated herself. Nick Farr pointed out that there is no +requirement for seconding. + +A vote began, but was halted when Rodney expressed a desire to address +those present about why he wanted to serve. + +Candidates were given the opportunity to give their reasons for wanting +to serve. + +Member 7 spoke on his wish for a website with more functionality. + +Derek and Tim expressed an interest in having members available to step +up and help out regardless of ministerial duties. + +A vote was held and the vote was in favor of Katie. Katie Bechtold is +the Minister of Information. + +Keeper of the MIBS Ben nominated himself. The nomination was accepted. + +No other nominations were offered, so Ben Stanfield is Keeper of the +MIBS. + +Tim Collins nominated himself for Minister of Finance. + +Tim plans to increase transparency for the finance office. + +No other nominations were offered, so Tim Collins is the Minister of +Finance. + +#### At Large Board of Directors + +Derek Cooper nominated himself. + +Serge Wroclawski nominated himself. + +Tim Collins nominated Member 7. Member 7 declined the nomination. + +Nick Farr was nominated by Ben. Nick declined the nomination. + +No other nominations were offered so Serge and Derek are the at-large +board members. + +Elliot made a motion to change the registered address to HacDC from the +former apartment of Nick Farr to the HacDC Space's Address. + +Derek seconded the motion. + +No one was opposed. Motion carried. + +### New Member Approval Discussion + +Elliot explained the current process, and opened it for discussion. + +Nick Farr pointed out that the Minister of Finance can bestow non voting +member privileges before becoming an official voting member. + +Derek Cooper suggested that a member should have to go through a review. + +Tim suggested membership should require approval by the board at some +point. + +Ben Stanfield expressed his desire that when a person paid dues they +immediately became a member. + +Nick Farr made a motion to defer any undecided issues from the annual +meeting to the next regular meeting. + +Tim Collins seconded. + +Derek Cooper moved to admend the motion to end this meeting at 7. No one +seconded and the amendment died. + +No one opposed Nick's motion. Motion carried. + +Elliot moved to table the discussion of new member approval. Member 7 +seconded. + +there were no objections. + +## HacDC Finances + +Elliot asked for the finance report report from the outgoing minister of +finance. + +Nick Farr presented the finance report (see attached) and turned over +current financial records to the incoming minister of finance. + +Discussion of the finance report centered around the cost of a wireless +credit card machine that Nick Farr had arranged, but had never been +used. Nick agreed to pay back HacDC for the \$1,231.85 in fees and +charges associated with the machine. + +Without objections, the finance report was accepted. + +Elliot moved to table each further topic after 15 minutes of discussion. + +The meeting was suspended for dinner. + +At 8:05 the meeting was resumed. + +Ben proposed a motion to change the standing rules for meeting +frequency. The motion was to make every second Tuesday of the month the +"formal business meeting" and to make the every other Tuesday meeting an +"informal non-voting meeting" where no business may be conducted. + +Elliot seconded. + +Debate centered around whether the [bylaws](bylaws "wikilink") allowed +us to hold non voting meetings. Derek believes that the +[bylaws](bylaws "wikilink") do not allow it. Nick Farr and Ben Stanfield +both argued that the Annual meeting is for setting standing rules, and +that it was possible for a rule to declare which meetings could allow +voting on official business. + +The motion carried. + +Ben moved to adopt Robert's Rules of Order as the framework. + +Member 7 moved to amend the motion and select the modified or new +revisions. + +Ben seconded + +There were no objections. + +Derek motioned to table, arguing he needed more time to study Robert's +Rules of Order. Tim seconded. + +Ben pointed out that it had been on the agenda for a month, and that +virtually every single club, group, organization, and membership body in +the world used Robert's Rules. + +The motion to table passed. + +[Quorum](Quorum "wikilink") changes were discussed, but there didn't +seem to be a consensus on whether we need to change it or not. + +There was a proposal to add a quartermaster position to handle space +cleanup and sell our unused inventory on eBay. + +Tim suggested having a once a month day to clean the space, mixed with +an event like beer making. + +There was discussion of talking about accepting and disposal of hardware +at a future meeting. + +The general consensus was that no one wanted to be the quartermaster as +described, so the motion to create the position was tabled. + +## 2009 Budget Items + +A discussion about possible budget items for 2009 was suggested. +Different items included Basement project, 501c3, Tools, Advertising, +[Conferences](Conferences "wikilink"), food, reserve fund, and more. + +Serge nominated himself for PR Coordinator. There was no objection. + +A motion was made to approve two new members. There was no objection. + +A motion was made to adjourn. There were no objections. Meeting +adjourned at 11:18 PM. + +[Category:Meeting_Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2010.md b/Annual_Meeting_2010.md new file mode 100755 index 0000000..53161dd --- /dev/null +++ b/Annual_Meeting_2010.md @@ -0,0 +1,165 @@ +**Note:** This page serves as the 2010 Annual Meeting's agenda (before +the meeting) and minutes (after the meeting). + +# Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +# Time and Location + +7:30 p.m., Tuesday, 13 April 2010 + +Meeting called to order at 7:40:12 by el Presidente outgoing + +Members Present: Jason D, Brad B, Todd F, Elliot W, Tim C, Ash, Alberto +G, Daniel B, Martin R, Ben S, Tim B, Daniel P, Brian Redbear, Katie B, +Nikolas C, Dan T, William G, + +Others: Allen M, Nick F, Tom C + +[Quorum](Quorum "wikilink") established? Yes + +# Officer Reports + +## President's Report + +Been a really good year and a bit for HacDC. We've grown a lot. We've +outgrown our space, we've got a bunch of great people doing great +things. We've helped the church out along the way. The basement is +turning into a workable workshop. + +## Vice President's Report + +Nothing to report. + +## Treasurer's Report + +See attached. The financial status of HacDC is strong. + +## Secretary's Report + +# Member Reports + +## Daniel Packer + +There's a possibility of using warehouse space (near 1400 N Capitol) +that's being used by MIT's FabLab. There's also possibilities of working +with that group. + +Digital capital week: HacDC has been invited to participate. There is +funding available for kit builds, etc. Soft deadline, but proposals are +currently being accepted. + +## Nikolas C + +Doing more kit builds. AVR Programming class has started and should be +more regular now. + +## Brad + +Natural Language and AI group is fun. + +## Tim Ball + +Airplane hanger space is still an option. + +## Ash + +Would like to repeat the electronics class. Needs several alternate +teachers + +## Daniel P + +Is helping to organize a HacDC table for Robot Fest. + +## Todd F + +501c3 App is ready to go now that we have the financial reports +finished. The only other thing we need to do is to write a conflict of +interest policy. + +Ben moved to second the boilerplate conflict of interest policy Todd F +posted to the members list. It passed unanimously + +## Alberto G + +Hackers in Space project is gaining momentum. + +## Daniel B + +Showing off goodies from Riley's shop. + +## Jay K + +Requesting approval to get a new callsign for HacDC. + +## William G + +FPGA class is going well. + +# New Business + +## Board of Directors Elections + +### President + +##### Nominations + +Daniel P nominated himself, Alberto seconded + +There were no other nominations. + +### Vice-President + +Tim Ball nominated himself, Jay nominated himself, Daniel P nominated +Todd F, Todd Declined someone nominated Nikolas C + +Jay declined to give a statement. + +Tim B promised to bring in beer if nominated + +Nikolas says "blinkie lights are good" + +Tim B won the vote. + +### Treasurer + +Todd F was nominated + +There were no further nominations + +### Secretary + +Tim B nominated Ben S. Daniel P nominated Nikolas C Ben S withdrew his +nomination + +There were no further nominations + +### At-Large Directors + +Will was nominated Jay was nominated Tim C nominated Osman Tim B +nominated Redbeard + +Katie was the winner. Second place was a tie between William and Brian. +A coin flip decided the vote in William's favor. + +### Induction of New Members + +- Alan McCosh +- Tom Cohlmia +- Nick Farr + +# Finances + +# Adjournment + +Meeting adjourned at 9pm'ish + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2011.md b/Annual_Meeting_2011.md new file mode 100755 index 0000000..bec3642 --- /dev/null +++ b/Annual_Meeting_2011.md @@ -0,0 +1,252 @@ +**Note:** This page serves as the 2011 Annual Meeting's agenda (before +the meeting) and minutes (after the meeting). + +# Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +# Time and Location + +Meeting called to order at 2008 EST by Brian Harrington + +Members Present: + +Brian Harrington Toast Xaq R. Bradford Barr John Katie B. William Gibb +Todd Fine Peter Edworthy Ben the Pirate Chris K. Phillip Stewart Tim C +Jamie Martin Rueben Elliot Williams + +Others: + +[Quorum](Quorum "wikilink") Yes + +# Officer Reports + +## President's Report + +IRS 501c3 status has been obtained. Donations made to HacDC can now be +considered tax-exempt. Please contact any Board Member to obtain a +receipt for a donation made to the space. + +Membership has changed over the past year; gaining members, losing +members and having old members return to the space. + +Fundraising is now a very important part of our organization. This is +traditionally the job of the president in a non profit. + +We have been in contact over the past two years with news +organizations - we need to make sure we keep in contact with these +groups, as it will only be beneficial for ourselves. + +Keep up the programming! With our do-ocracy approach that may seem +difficult, but it is a crux of how we operate. See examples of Elliots +microcontrollers class, Brad's lockpicking class, Tom's lathe class, et +cetera. This is a core strength and needs to be maintained. + +Remember that we're all adults and should be capable of resolving +personel issues amongst ourselves. + +Always feel comfortable approaching the Board of Directors with any +issues you feel are large enough to warrant our attention. Email bod \[ +at \] hacdc \[ dot \] org or talk to one of us in person. We need to be +aware of large issues. + +CHECK OUT Foundation Center They are +located in Downtown DC and area fantastic resource! + +## Vice President's Report + +Not Present + +## Treasurer's Report + +ASSETS + +Current Assets + +Bank Accounts + +BBT Checking 2,726.07 + +Total Bank Accounts \$2,726.07 + +Other Current Assets + +Paypal 3,733.28 + +Undeposited Funds 0.00 + +Total Other Current Assets \$3,733.28 + +Total Current Assets \$6,459.35 + +Other Assets + +Rent Security Deposits 850.00 + +Total Other Assets \$850.00 + +TOTAL ASSETS \$7,309.35 + +LIABILITIES AND EQUITY + +Liabilities + +Total Liabilities + +Equity + +Opening Balance Equity (April 2010, Beginning of Quickbooks) 9,023.84 + +Retained Earnings -1,304.64 + +Net Income -409.85 + +Total Equity \$7,309.35 + +TOTAL LIABILITIES AND EQUITY \$7,309.35 + +BUDGET: + +2526.00 RENT + +\$68.58 ST. FARM INSURANCE + +\$37.45 LINODE + +\$10.55 QUICKBOOKS + +\$2642.58 + +-~2000 + +=642.58 STRUCTURAL DEFICIT + +We have some serious budget considerations we need to address. We have +an operating budget of about ~2,600 USD/month. + +At the present burn rate, we will be able to make it through our current +lease without going bankrupt. After the end of our current lease, we +will need to seriously consider if we can stay in this space. + +Q: Have we reconciled the billing discrepency with the church, regarding +the change in our monthly rent? A: The church has started billing us at +the proper rate, as of this month. + +## Secretary's Report + +No Secretary present. + +## At-Large Directors' Reports + +### Katie + +Hopes to have been a useful board member. Will be leave DC for a year to +move to Kyoto to study the Art of Tea. + +### Will + +Secured a large electronics test equipment donation from GWU. Happy to +have been a board member the past year :) + +# Member Reports + +- Martin: Robotfest is coming up. This is a huge gathering of folks + likeminded towards HacDC. We should make a presence there, as it will + provide good visibility to us as an organization. We should take up + spaceblimp, other projects we do. I volunteer to drive up there. + + + +- Todd Fine: Nick B. and Alex H. helped out quite a bit in building out + the FIRST Robotics robot. This is a good start towards a useful + relationship to promote HacDC. + +# New Business + +Brian: New benefits that go inhand with out 501c3 Status. + +- Signed up for Google Ads for Hacdc, we get 10,000 USD worth of Adwords + each month. +- Eventbrite fees are nearly nothing. Very easy to use to run ticketing + for events that have limited resources. See Brian or ??? to get hooked + up with that. + + + +- Remote meetings/telemeetings via GoToMeeting via TechSoup. \$95/year + for up to 1000 attendees \[for up to 5 years, normally a 5,000 USD + value\]. Voting allowed, but not secret ballot (if you want it secret, + show up). Would also allow for remote attendees of classes. This + allows for unlimited phone callins to classes, meetings, et cetera. + Also screencasting. This nearly nonexistent in the Hackerspace world. + IRC lurkers, members that are away from the space, other visitors, can + easily callin or connect to our screencasts. + - Redbeard proposed the purchase of GoToMeeting via TechSoup, TC + Seconded. + - Motion Passes + + + +- Brian Harrington proposes to ratify the standing rules as they stand. + - Elliot Williams seconds the motion. + - Motion Passes + +## Board of Directors Elections + +### President + +Elliot and Redbeard were nominated. Redbeard elected. + +### Vice-President + +Tim, Elliot, Brad? nominated. Elliot elected. + +### Treasurer + +Tim C. elected through acclimation. + +### Secretary + +Ben Mendis elected through acclimation. + +### At-Large Directors + +Will, Toast, Brad, Xaq, Phil nominated. Will and Brad elected. + +### Induction of New Members + +JustMike from NYC (knows A1Labs, NYCResistor). Nominated by Redbeard, +seconded by Brad. Memberized. + +# Finances + +Several ideas + +- Artisphere electronics: Alberto has made us aware of Artisphere's + desire to partner with us on an electronics class. There is potential + to do a one off workshop. There a potential to run a longer-term class + (8 weeks) that could be a revenue stream for us. +- Kickstarter: Valid for 501c3 donations, but cannot be used for + operational expenses. Martin would like to see us put together a + Kickstarter program put in place in order to build up facilities. +- JustMike - Lots of potential to get federal funding for wireless + sensor networks, solar power, methane works. Needs to be applied to + green energy, agriculture, energy reduction applications. Kid/youth + education and integration programs are also available. +- Peter Edworthy - We need to make sure anything we do has some way to + enable longterm financial streams. +- Toast: RadioCPR does bar nights, CPR does 1200/USD pre bar night in + practically free money. We should too. + +# Adjournment + +Meeting adjourned at 2200 EST. + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2012.md b/Annual_Meeting_2012.md new file mode 100755 index 0000000..b0b81a0 --- /dev/null +++ b/Annual_Meeting_2012.md @@ -0,0 +1,181 @@ +**Note:** This page serves as the 2011 Annual Meeting's agenda (before +the meeting) and minutes (after the meeting). + +# Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +This meeting will also serve as the monthly meeting for the month of +February. + +# Time and Location + +Location: HacDC (software room) + +Wednesday, February 15, 2012 + +Meeting called to order at _7:50_ by: _Brad_ + +Members Present: Brad, Tim S., Tim C., Alberto, Martin, Phil, Chris, +Reuven, Max, Todd Fine, Elizabeth, Scott, Lee, Jaime, Sean, Timmothy, +Bill, Eric, Alex, Nick + +Others Present: Justin + +[Quorum](Quorum "wikilink") met? _Yes_ + +# Officer Reports + +## President's Report + +Not present. + +## Vice President's Report + +Has some ideas for events and stuff to be mentioned later. + +XLaser mentioned the would send us another package of laser stuff, but +never did. (Sharks with freaking laser beams.) + +## Treasurer's Report + +Currently have 59 voting members so quorum is still 14 for now. + +Here is the financial summary spreadsheet for Jan 2012: +![](HacDC_Financials_Jan_2012.pdf "file:HacDC_Financials_Jan_2012.pdf") + +We added members Scott Robbins and Stephen Nichols in January. Vince was +voted in but has not paid yet as far as I know - please contact me if +this is incorrect! And we added three other membership subscriptions +(Chalk, Hughes, and Myers) but have not voted on them as members yet as +well - maybe this month? Two non-paying members, one hasn't responded +and may be dropping. + +We finished January almost \$500 ahead and membership revenue is now \>= +expenses! If this keeps up, HacDC will have some resources to put into +projects again going forward. + +## Secretary's Report + +Nothing special to report. Haven't been around for a couple months. + +## At-Large Directors' Reports + +### Toast + +Not present. + +### Martin + +Nothing to report. + +# Member Reports + +## Brad + +Smithsonian Institute has contacted Brad about 3D vision stuff. It would +be cool to have a hackathon here to help out. Talk on Blabber if you're +interested. Would like to have an event where we take pictures of +objects at the Smithsonian, turn them into 3d models, and print them out +with the printers at the space. + +## haxwithaxe + +- occupancy sensor getting it's own machine (sheevaplug) +- project server on the fritz (might need replacement,more fiddling + required to know) +- Byzantium gunning for CFP acceptance at HOPE and several other cons +- found HacDC patches with HOPE vulture. i have them in my bag so they + make it to HOPE for those interested in them. +- working on occsensor controlled outlet to prevent things that + shouldn't be on when no one is at the space from being on while no one + is at the space. + +## Martin + +- noise reduction: status? items/actions/help required? (item added by + haxwithaxe) + - got started, will continue to get worked on as time permits + +## Alberto + +We're going to get some monies for the class that Brad is teaching. +(Let's earmark it for lasers.) + +## Eric + +Working on fixing up the Internet in the space/church. Might be a +problem with the AP. + +Bill has donated an AP which might help with the Internets. + +## Tim S + +Sparkfun would like to borrow our space, and will reciprocate by doing +something nice for us. + +Lots of recent work on infrastructure: + +- Mailing lists move to Google +- Website moved to Dreamhost +- Infrastructure work thanks to Jaime and Chris + +# New Business + +New America Foundation conference (on impact of Makers on technology) +has invited us to come and show off our toys (3D printers). In favor of +us being there and participating (and moving the Cupcake there, with +Andy Walker's permission)? **Vote passes.** + +Alex, non-member, would like to teach a class about Java programming. On +March 28th, at 7 or 8p. Gonna post something to Blabber. Sponsor: Brad + +## Board of Directors Elections + +### President + +- Ben (the pirate) nominated by Jamie, seconded by haxwithaxe +- Brad nominated by Martin, second by Tim C. + +Ben withdraws. + +Brad wins unopposed. + +### Vice-President + +- Ben nominated Tim S. second Chris and Reuven + +Ben wins unopposed. + +### Treasurer + +Tim Slagle is running for re-election as Treasurer. Second Ben. + +Tim wins unopposed. + +### Secretary + +Reuven is nominated by Ben, second by Chris. Eric is nominated by Brad, +second by Martin. + +Voted by secret ballot: Eric won by a bunch. + +### At-Large Directors + +haxwithaxe is running, seconded by Reuven. Marin, seconded by Brad Nick, +seconded by Ben + +Nick and Martin elected by vote. + +### Induction of New Members + +# Adjournment + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2013.md b/Annual_Meeting_2013.md new file mode 100755 index 0000000..a0e072d --- /dev/null +++ b/Annual_Meeting_2013.md @@ -0,0 +1,314 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +This meeting will also serve as the monthly meeting for the month of +March. + +## Time and Location + +March 12, 2013 + +Meeting called to order at 7:45 p.m. by Ben the Pyrate + +Members Present: Ben, Dan, Shawn, Dave, mirage335, Loki, Bryce, Chris, +Reuven, Shahar, Tim D., Phil W, Phil S., Brad, Alberto, Katie, Tim +Slagle, David Whiteis, Martin, Nick B., Justin Myers, Jon H, Jamie Ai, +William Gibb, Andy Ta + +Others Present: Logan, Graham + +[Quorum](Quorum "wikilink") met? yes + +## Approval of Previous Meeting's Minutes + +[Regular Member Meeting 2013 02 +12](Regular_Member_Meeting_2013_02_12 "wikilink") Approved unanimously. + +## Recognition + +Eric for being our president. Even if he didn't show up tonight. :P + +Tim Slagle for being treasurer. And proposing Project Awesome. + +And the entire board. + +## Director Reports + +### President's Report + +Absent. + +### Vice President's Report + +Nothing to report. + +### Treasurer's Report + +Here is the financial summary spreadsheet for February 2013: +![](HacDC_Financials_2013_02.pdf "File:HacDC_Financials_2013_02.pdf"). +We gained one new member (Philip Westlow). The other two members voted +in last meeting have not paid their dues yet. We lost Stephen Beuttel +~~and dropped Reuven Cohen after 4 months without dues payment~~. We had +55 paying members and 2 non-paying members. Our dues revenue continues +to meet our expenses again, and thanks to those that donate extra we had +a regular (non-earmarked) monthly net of \$563. + +Quorum is 14. + +#### Project Awesome + +We had a surplus so I am able to declare a \$450 Project Awesome +dividend and add \$113 to our reserves. Here is the Project Awesome +spreadsheet for February: +![](HacDC_PA_Projects-2013_02.pdf "File:HacDC_PA_Projects-2013_02.pdf"). +Thanks to everyone that voted for projects in February, there are now +nine votes total. + +There have been no reports for Project 3DP (3D Printing, contact Andy +Ta) for the last two months so the project is suspended and will get no +additional funding. If there is no report for next month it will be +**cancelled** and any funds returned to the general. Andy, if you are +out there, file a report or have someone else do it! And if you don't +think you'll want to continue as coordinator, please turn it over to +someone else. + +### Secretary's Report + +Announcements, membership database. + +### Director-at-Large Reports + +#### Martin + +Dan, Hax and Martin attended VWS Winterfest. Brought in \$353 selling +unwanted junk from HacDC. Lots of people were interested in finding out +about HacDC. + +#### Andy + +Absent. + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project LASER + +A bunch of research was done, resulting in a comparison +\[\| +spreadsheet\] and more [links](LaserCutterLinks "wikilink") to +manufacturers and articles. HacDC's front door is 30.5 inches wide which +limits our choices substantially. + +### Project BYZANTIUM + +Won a \$10K grant (InformSec)! Can be spent on ham equipment, raspberry +pis, macbook and macbook air. Also on CDs. The money will go through +HacDC. + +Haven't heard back about FEMA grant (no applicants have). + +### Project KITBUILD + +Earmarked balance large enough to pay for some tools and supplies, need +to check out existing bin to see what we already have available. + +### Project 3DP + +Do we want to keep buying plastic? Andy will pass the baton to mirage335 +as coordinator. + +## Member Reports + +### Shawn Nock + +GrindDC (HacDC Biohacking Group) hasn't been active for an entire year +yet... but we've made impressive progress. A functional Biosignal Amp +(http://mirage335.dyndns.org/wiki/Mirage335BiosignalAmp), several +versions of tDCS (https://github.com/nocko/tdcs), Implant Design +(https://github.com/nocko/heledd/tree/master/hardware), a temperature +controlled bath for biomaterials testing. Our Grinder nights at the +space regularly attract 8-12 attendees. + +We're also in the process of organizing a SMT soldering class in for +HacDC. Prototype teaching boards and partlists we're made +(https://github.com/nocko/smt-practice) and a beta-quality seminar was +held two months ago to test out our teaching chops. + +Challenges moving forward: + +- Expanding into DIYBio: Safety (MSDS/right-to-know documentation), + autoclave and lab glassware purchases, reagent purchase and storage. +- Heavy interest in Qualified Self projects specifically with respect to + Smartphone integration (writing apps and developing sensors). +- Electro-physiology and DIY EEG/EMG: Designing analysis software and + novel applications for the Biosignal Amp Mirage designed. + +### Dan Barlow + +Have been telling you about Jon Singer's moving adventure. Do you know +anyone who wants a transformer (designed to be immersed in oil)? Give +Dan feedback about what HacDC wants/needs. + +### Philip + +See e-mail. (Looking for hardware for old video games for an electronic +literature showcase.) + +### David Whiteis + +[F3-robot](F3-robot "wikilink") (used to sequence human genome). Brought +stuff that can be claimed but not left in the space. + +### mirage335 + +Would like laptops for HARC. Offline discussion. + +Occupancy sensor is working fine. + +### Martin + +There are new HARC postcards that will be sent to FCC license-holders in +DC. + +## Old Business + +None. + +## New Business + +### Approve new Standing Rules + +Because the Standing Rules are not fully completed and we haven't had +much time to discuss them among the members before voting, we can just +vote on the first Article today - +[Voting](Proposed_Standing_Rules#Article_I:_Voting "wikilink"). That +will give us the ability to continue edits and discussions, and vote on +the other parts of the Standing Rules at future monthly member meetings. + +Unanimously approved. + +### Anti-Harassment Policy and Diversity Statement + +[Anti-Harassment Policy](Anti-Harassment_Policy "wikilink") and +[Diversity Statement](Diversity_Statement "wikilink") need to be voted +on. + +Ben read the prepared statement \[insert statement here\]. + + +What has transpired? + + + + +Last Friday, 03/08/2013, there was an e-mail exchange discussing the +proposed Anti-Harassment policy to be included in HacDC bylaws. During +this discussion, an individual brought up the topic of rape. +Specifically, statements were made regarding ???false accusations of +rape??? and the ???psychology of victimhood.??? A few members sent +e-mails to the board requesting that the conversation be stopped. + + + + +Why is this a problem? + + + + +This topic directly affects our membership. We, as a community, have +members who have been victims of sexual violence. Statements like this +trivialize and normalize their experiences and create a threatening and +hostile environment at HacDC. + + + + +HacDC is part of the community at St. Stephens, and as part of that +community bears the responsibility to make the space safe for everyone. +Statements which create threatening and hostile environments cannot be +tolerated. These statements do not relate to the specific goals of HacDC +and are damaging to the organization and the community which it is a +part of. They alienate part of our membership and hurt our standing with +hackerspaces, organizations at St. Stephens, and all peer/community +learning institutions. + + + + +What we intend to do about it. + + + + +E-mail exchanges about this topic will not produce any valuable results +and will only alienate more members of our community. This topic will be +discussed at the Annual Meeting on Tuesday, March 12th, 2013. + +Alberto thought it was bad to end an ongoing discussion. It was a +philosophical issue at stake, not big enough to stop the conversation. + +Loki proposes a working committee be formed from selected members to +form a version of the Anti-Harassment Policy that has broader consensus. + +Reuven says limits for the intensity of conversations should be looked +into. + +Jon urges people to keep conversation on topic on the members list. + +Doc says this problem crops up in other communities. Invoking the +principle of Buddhist Right Speech seems to fix it. He can post some +links to the wiki about how it has been implemented in other +communities. + +Loki gave a one-minute summary arguing in favor of Proposal 2. New +member Graham gave a one-minute summary arguing in favor of Proposal 1. + +Two people voted to defer. Two people voted for Proposal 2. Everyone +else voted for Proposal 1. Proposal 1 is approved. + +Diversity Statement approved unanimously. + +## Board of Directors Elections + +### President + +Ben has been nominated and wins by default. + +### Vice-President + +Shahar and Chris and Reuven have been nominated. Chris wins. + +### Treasurer + +Katie has been nominated and wins by default. + +### Secretary + +David Mc has been nominated and wins by default. + +### At-Large Directors (two) + +Shawn Nock and Reuven are nominated and win by default. + +## New Members + +Logan is originally from DC and just moved back here about a year ago. +Physics background. Programming job. Been coming to GrindDC meetups. +Approved. + +Graham moved to DC 3.5 years ago. Has a 3D printer. Does electronics +work for fun. Approved. + +## Adjournment + +Adjourned at 9:23 pm + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2014.md b/Annual_Meeting_2014.md new file mode 100755 index 0000000..fb4fba7 --- /dev/null +++ b/Annual_Meeting_2014.md @@ -0,0 +1,215 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +This meeting will also serve as the monthly meeting for the month of +March. + +## Time and Location + +March 11, 2014 + +Meeting called to order at 1955 by Ben. + +Members Present: Ben, Katie, DavidMc.. 12 in person, 3 online. + +Others Present: ~5 + +[Quorum](Quorum "wikilink") met? Yes. + +## Approval of Previous Meeting's Minutes + +[Regular Member Meeting 2014 02 +11](Regular_Member_Meeting_2014_02_11 "wikilink") - approved. + +## Recognition + +- Thanks to Evan and Zack for their work on the laser cutter. +- Everyone involved in Project SEM . +- David McInnis for adding really cool lighting to the new shelves in + the basement. +- Julia Longtin (aka. juri) for more 3D printer tweaking and getting + ahead on cleaning up the space. + +## Director Reports + +### President's Report + +As reported last month, the BoD has approved accepting the donation of a +Scanning Electron Microscope (SEM). The SEM is now ready to be picked up +and we have about three weeks to collect it. It is currently in Norfolk, +VA and is a large, heavy piece of equipment. We will need to rent/borrow +a truck (ideally one with a lift-gate) to transport it up to HacDC, and +we'll need several strong volunteers to help us load, and unload the +truck (including bringing it up the stairs and into the workshop). +Additionally, we will need some help making space for it in the +workshop. **We are currently shooting for Saturday, March 29th.** + +### Vice President's Report + +admin team is accepting donations of gigabit network switches. we need +both managed and unmanaged switches. one managed switch with 20+ ports +which is for the church network. we are getting the space wired for +gigabit ethernet so cat5e and cat6 keystone jacks and and wall plates +are welcome. + +### Treasurer's Report + +Here is the financial summary spreadsheet for February 2014: +![](HacDC_Financials_2014_02.pdf "File:HacDC_Financials_2014_02.pdf"). +We gained two members in the last month: Elizabeth Smith and Ariam +Mogos. We lost two members in the last month: Tim Dixon and Nick Mapsy. +We have 46 dues-paying members in good standing, two permanently +dues-waived members, four temporarily dues-waived members, and five +members who are behind on dues. + +#### Project Awesome + +Here is the Project Awesome spreadsheet for February: +![](HacDC_PA_Projects-2014_02.pdf "File:HacDC_PA_Projects-2014_02.pdf"). +Once again we are in the red for the month, so there is no Project +Awesome dividend. :( + +### Secretary's Report + +NonHacDC calendar is being populated. Need to put it in a more public +place and open it up to members for editing. Otherwise nothing +significant to report. + +### Director-at-Large Reports + +No report. + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project LASER + +Dan: Optical maintenance; cleaning lenses, tightening things, etc. Found +the aluminum track is wearing and has some play. Will try to flip them +to use the other side, otherwise will purchase new tracks. This is +expected, normal wear. Aiming laser and combining optic is here, but +dust is still a problem. Will add air flushing to all optical +components. Thanks to those who worked on the alignment. The idea of +having jigs underneath is being put off. The cabinet will need to be +reworked first. + +### Project BYZANTIUM + +Nothing new to report. + +### Project KITBUILD + +Nothing new to report. + +### Project SUPPLIES + +Still healthy and stable. A few expenses this month, related to lighting +the new shelves. + +### Project EXPANSION + +We may be able to afford a small vertical bandsaw for about \$100, +similar to the one we had before. This would help cutting stock +materials for CNC mill, laser cutter, photolithography fab, etc. Any +suggestions or objections? Dan: reminds Mirage that we'd like ink for +the inkjet plotter in the basement. + +### Project SPACECAM + +Kevin: comments on Rob's donation list, very interested in the +projectors and the scanning/projecting white boards. WebRTC is what will +hopefully replace Hangouts in the future. Please check it out. + +## Member Reports + +### Justin Myers + +Quick reminder that our first +[Laurel](http://larcmd.org/vec/)-accredited ham radio licensing [exam +session](Licensing_Exams "wikilink") starts at noon [March +22](http://www.meetup.com/hac-dc/events/160901402/) (a week from this +coming Saturday). Review/questions are welcome at tomorrow's (March 12) +HARC meeting. + +If you're interested in getting licensed, take your exams here for free! +Other exam dates this year: [June +21](http://www.meetup.com/hac-dc/events/160901522/) and [Nov. +8](http://www.meetup.com/hac-dc/events/160901572/). + +We also need more examiners who can help out at these sessions; if +you're already licensed (General or above) and want to help, let me +know. + +### Mirage + +Audio difficulties. + +From chat: Basically, I have a nice HF antenna, and continuing work with +Imagnus. The USRP is cooperating now. Would like Dan and I to have +permission to expediently dispose of remaining junk in the basement. +Three months is far too long! + +### Dan + +New acrylic colors in stock. Non-rastering cutting is working fine +(laser cutter). Discussion: computer for laser cutter could use more +memory, but it's windoz XP. Options presented, will look into it. + +## Old Business + +Provide Martin a keyholding honorary (nonpaying) membership. - Approved +by member vote. + +## New Business + +Approve Article IV of the [Proposed Standing +Rules](Proposed_Standing_Rules#Article_IV:_Meetings "wikilink"). This +codifies our existing policies and empowers the BoD to reschedule member +meetings for the following week in the event that an emergency (such as +weather) forces the cancellation of a scheduled meeting. - proposed +rules reviewed in meeting, minor discussion followed - Approved by +member vote. + +Permit Dan Barlow and mirage335 to expediently dispose of junk in the +basement for the next few months. - Approved by member vote. + +## Board of Directors Elections + +Results of the elections are as follows: + +### President + +Dan + +### Vice-President + +Chris + +### Treasurer + +Katie + +### Secretary + +DaveMc + +### At-Large Directors (two) + +Zach and Ben + +## New Members + +Chris - electronics, Ham, Windows expert - Approved by member vote. + +## Adjournment + +Adjourned at 2110. + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2015.md b/Annual_Meeting_2015.md new file mode 100755 index 0000000..793fe73 --- /dev/null +++ b/Annual_Meeting_2015.md @@ -0,0 +1,212 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +This meeting will also serve as the monthly meeting for the month of +January. + +## Time and Location + +January 10, 2015 + +Meeting called to order at __3:13__ by __Ben the Pyrate___. + +Members Present: Enrique, Katie, Zack, Kevin, Travis, Shawn, Don, Pat, +Phil Stewart, Hunter, Celeste, Mirage + +Others Present: Danish, A-KO + +[Quorum](Quorum "wikilink") met? Yes + +## Approval of Previous Meeting's Minutes + +[Regular Member Meeting 2014 12 +09](Regular_Member_Meeting_2014_12_09 "wikilink") Approved + +## Recognition + +## Director Reports + +### President's Report + +Not Present + +### Vice President's Report + +Not Present + +### Treasurer's Report + +Here is the financial summary spreadsheet for December 2014: +![](HacDC_Financials_2014_12.pdf "File:HacDC_Financials_2014_12.pdf"). +We gained Gary Sparkes (Hunter) as a new member, re-gained Ann +Millspaugh as a returning member, and lost Christine Prefontaine and +Phillip Walker. We have 44 dues-paying members in good standing and 6 +dues-waived members. + +The CFC charity application is proving non-trivial to complete. By +January 23 we must, in addition to the forms completed thus far: + +- submit supporting statements and/or documentation of substantial local + presence in the geographical area covered by the local campaign and a + description of the programs, services, benefits, etc. provided by the + organization in calendar year 2014 and how those programs, services, + benefits, etc. affect human health and welfare of the target + population. +- complete and submit a Pro Forma [IRS Form + 990](http://www.irs.gov/pub/irs-pdf/f990.pdf). The following sections + must be completed: Page 1, Items A-M; Part I (Summary and Part II, + Signature Block), Lines 1-4 only; Part VII (Compensation section A + only); Part VIII (Statement of Revenues); Part IX (Statement of + Functional Expenses), and; Part XII (Financial Statements and + Reporting). +- prohibit the sale or lease of CFC contributor lists + +#### Project Awesome + +Here is the Project Awesome spreadsheet for December: +![](HacDC_PA_Projects-2014_12.pdf "File:HacDC_PA_Projects-2014_12.pdf"). +We continue to have to dip into savings to pay our rent, so no dividend +this month. :( + +### Secretary's Report + +No Report. + +### Director-at-Large Reports + +#### Travis + +CNC will be running by end of the month. Prusa is running. + +#### Zack + +No report. + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project LASER + +No report. Hand-off required? + +### Project BYZANTIUM + +We're re-factoring the project. Slowly because we all have jobs now. + +### Project KITBUILD + +Nothing new to report. Still hoping to organize a kit build in concert +with a Learn to Solder event sometime this spring. + +### Project SUPPLIES + +Ordered replacement extruder for Rostock Max. Also ordered 0.35mm nozzle +for dramatically improved resolution. + +When finances become less strained, a Rev.7 PCB heater would be a nice +addition. More even heating across the glass would reduce thermal stress +and greatly improve adhesion. + +### Project EXPANSION + +Still conservative. + +### Project HAMRADIO + +Don has installed a 2 element 10m and a 160m dipole antenna. Don fitted +a narrow (CW) filter in the main HF radio to improve narrow signal +performance. We have participated in a number of on-air contests and +contacted more than 100 countries. + +Lee N4TCW + +## Member Reports + +### mirage335 + +#### Lessons from Kamal Jain of Lowell Makes + +Met Kamal Jain from [Lowell Makes](http://lowellmakes.com/), +Massachusetts hackerspace last month. Among other things, we discussed +revenue/sponsor structures. Recently received email detailing these +opportunities. In particular, we should look into +[1](https://doublethedonation.com/blog/2014/08/donation-requests/). + +#### Shimmer + +HacDC server Shimmer is proving stable. Please contact me by email +(directly or members@hacdc.org) for an account. + +#### RFID + +NetPLC boards and parts are in, so RFID system will be implemented soon. + +## Old Business + +## New Business + +### Cams + +Funding and installation of 'lights-on' cameras, and authorize BoD to +examine other relevant footage (ie. hallway cams) to correlate +incidents. Members' identities would not be recorded in any way not +already documented (ie. hallway cam). + +This proposal is not a plan of action (ie. we may not need to buy cams), +just a provision for future improvement. + +Approved the installation of camera. Funding and technical details to be +revisited. + +### Dues Structure + +We may benefit from some sort of multi-level membership structure, +perhaps particularly to ensure fair compensation for renting the office +space. + +Needs to be discussed and revisited in a separate meeting. + +### Increase Dues by \$10 for one year + +Approved. + +## Board of Directors Elections + +Results of the elections are as follows: + +### President + +Celeste + +### Vice-President + +Haxwithaxe + +### Treasurer + +Travis + +### Secretary + +Enrique + +### At-Large Directors (two) + +Phil Don + +## New Members + +Danish + +## Adjournment + +Adjourned at ___4:02____. + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2016.md b/Annual_Meeting_2016.md new file mode 100755 index 0000000..9e21e52 --- /dev/null +++ b/Annual_Meeting_2016.md @@ -0,0 +1,258 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +February 9th, 2016 (postponed from January 23) + +Meeting called to order at 7:45pm by Enrique. + +Members Present: Ethan W., Matthew H., Julia L., Michael C., Nick S., +Phil S., Tom I., Bill B., Don J. Sumter T., Kevin C., Pat B., Shawn W. +Others Present: [Quorum](Quorum "wikilink") met? YES + +## Approval of Previous Meeting's Minutes + +## Recognition + +- HacDC Members and Volunteers: This year we had a whole new board. We + applied, appealed and were accepted as a Combined Federal Campaign + charity, renewed our non-profit status with DC, fixed some years-old + problems with our finances paperwork even after we lost our treasurer + mid-year and had a horrible transition. We gained three sponsors this + year: Lulzbot, Accelebrate and Newark element 14. We put up a + microwave tower on the roof, the radio transceiver online and took a + large-format laser cutter from design to operational project. Plus we + significantly cleaned up the basement, moved much of the workshop down + there, updated our inventory, moved the classroom to another suite and + built custom shelving for it. On top of all those accomplishments, + between 3D Thursdays, Amateur Radio and Microcontroller Mondays, HacDC + has held about 100 free, public workshops in 2015. This doesn't + include all the Radio Contests, Field Days and Licensing Exam + Sessions, Capture The Flag, Web Scraping, SEM Workdays, the Intro + Security Workshop, the Raspberry Jam, CNC Mill Class, Lockpicking, + Virtual Reality Night, Table Top Gaming, our table at the Columbia + Heights Farmers Market many Saturdays, and participation at the + Greenbelt Maker Faire, the Silver Spring Maker Faire and nearly two + full days at the National Maker Faire. So for all the hardships and + frustrations we've had this year, thank you to everyone who makes + HacDC awesome. + +## Director Reports + +### President's Report + +### Vice President's Report + +Ok, so I have been too hot under the collar about this lately, so I'll +step back from leading the charge. Please give some thought to improving +basement/shop policy. + +Also, obtained copies of +![](MakersmithsRules.pdf "File:MakersmithsRules.pdf"), +![](MakersmithsDisclaimer.pdf "File:MakersmithsDisclaimer.pdf"), +and +![](MakersmithsSignIn.pdf "File:MakersmithsSignIn.pdf") +sheet. Please consider these documents as rough examples. + +Members, please consider the impact of negativity towards the successful +OpticalTableRobot, as well as the concerns of hard working volunteers +who have sometimes endured more debate or distraction than support. + +BoD candidates, please consider the need to form a cohesive body of +leadership for HacDC. + +HacDC has a lot of options right now, both in terms of equipment and +goals. + +HacDC has the potential to offer advanced tooling and support quality +research. Or, HacDC can focus on less difficult, perhaps less polarzing +aspects of its mission. In the former case, we need to make +basement/shop areas more insulated from politics and recklessness. In +the latter case, it would make sense to liquidate assets that will not +be used, such as the OpticalTableRobot, extra electronics test +equipment, high-voltage transformers, etc. + +### Treasurer's Report + +- Dwolla ballance: \$5,030.00 +- Paypal ballance: \$5,140.66 +- BB&T ballance: \$2,105.47 + + + +- January Income from membership dues: \$1500 +- January donations: \$190 + +### Secretary's Report + +(Will update before meeting) + +- We have 34 members in good standing. Quorum is 9, majority 18 and + two-thirds is 23. + +### Director-at-Large Reports + +#### Phil + +#### Don + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +Putting up a repeater; will coordinate with HacDC next year when Don +moves to Uganda. + +### Project SEM + +Nothing much to report, bought a penning gauge. + +### Project SUPPLIES + +Anticipating minor IT services related expenses, including \$20 for VoIP +services. + +### Project EXPANSION + +Approved an ~\$215 computer purchase to reinstate classroom web +conferencing and presentation functionality. + +Some proposals for funding structures are already served by this fund. +Please consider working within the democratic, yet efficient, Project +Awesome framework. + +## Audit Committee Report + +The Committee will update the members on progress thus far and discuss +the plan forward. + +## Member Reports + +- Enrique. Hosted two Introduction to Linux nights. Attendance was very + sparse though; maybe 7 people total. Also Kerbal Space Program. I've + asked Brian about improving signage to direct people to HacDC from the + St. Stephen's main entrance because I found one attendee pacing back + and forth there looking for the address. Let's open the Newark stuff + and take some photos! Also Julia, myself, and Dan and a few volunteers + fixed the TV! I made a video. If people like it maybe it'll be online. + +## Old Business + +### Membership Dues Waiver for EdTechDMV / Representative + +- Old problem, new example: An outside organization wants to use HacDC + facilities during business hours. The organization is EdTechDMV, an + educational non-profit organization, wants to offer IT workshops and + computer training classes in HacDC's classroom. The two examples are + an upcoming workshop the evening of February 17th, and computer + training classes during 9-5 hours they want to offer this summer. Are + these events something HacDC wants to facilitate/host? What are the + pros and cons? If we do, how would we give EdTechDMV access to the + classroom when members are not available? + +### Bylaws Amendment + +- Proposed Amendment to Bylaws Article II, Section 6: Add "*For + substantial cause, the Board of Directors may indefinitely suspend a + member's access to the space by a 2/3 majority vote of the board. By + voting at an official meeting with quorum, members may reinstate or + suspend, access or membership, for any member whose access has been + suspended by the board. The board may suspend the access of no more + than two members per month via this procedure. Access to the space may + not be re-suspended by the Board of Directors for the same actions or + incidents. Explanation of such suspensions must be submitted + electronically to all members."* (This proposed bylaws amendment must + be signed by 3/4ths of all members before it is adopted) + +### Restrict Workshop and Tool Access + +- Approve a *non-binding resolution* that access to the workshop in the + basement should be restricted to HacDC members who have undergone a + safety briefing and use of certain tools (CNC Mill, Lathe, PCB Etch + Supplies, OTR) restricted to members authorized by an approved + custodian of each tool (to be determined). + +Proposal text was send via email to members was was approved by large +majority: "I propose that we change the access control policy to the +basement, establishing a "basement custodian", who has the authority to +control who has access to the basement, and the responsibility to +restrict access to those who are able to use the equipment and space +without being a disturbance to the use of the machinery and space by +others. Regarding my second proposal, I would like the initial basement +custodian to be selected by the board, with replacements selected by the +standing custodian. The board should be empowered to replace the +custodian only through a membership vote at a membership meeting with +quorum." This proposal was approved by a large majority vote, with the +understanding that the custodian is subject to replacement at the next +meeting if members are not satisfied with the rules and procedures +required to certify members for basement access before then. The +custodian was renamed Dungeon Master. The board voted to appoint Julia +as the first Dungeon Master. + +### Reimbursements + +- Approve reimbursement of \$95.14 to Enrique for purchase of an 8' step + ladder for basement use. (replaced 8' wooden ladder) - This was + Approved. +- Approve \$2,000 for fully recomissioning the OpticalTableRobot. - This + was Tabled. +- Approve \$500 for an off-the-shelf throw-away eBay laser cutter. - + This was Tabled. + +## New Business + +- Colloboratively discuss, consider, and adopt policy reforms to protect + volunteer contributions to the basement/shop areas. +- Invited speakers. The Amateur Radio club finds and hosts invited + speakers monthly and I think that's something HacDC could do even more + often. What topics are we interested in hearing about? Off the top of + my head: quantum computing, and something a bit more social like + epistemology online. +- Review our year long experiment of having \$60 dues, and possibly vote + on whether to continue requiring \$60. - This was temporarily approved + for the month. + +## Board of Directors Elections + +Results of the elections are as follows: + +### President + +Julia Longtin + +### Vice-President + +Ethan Waldo + +### Treasurer + +Enrique Cobas + +### Secretary + +Tom Iddings + +### At-Large Directors (two) + +Michael Chelen + +Matthew Hines (mirage335) + +## New Members + +John P. + +## Adjournment + +Adjourned at 10:20 by Enrique. + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2017.md b/Annual_Meeting_2017.md new file mode 100755 index 0000000..b4b999f --- /dev/null +++ b/Annual_Meeting_2017.md @@ -0,0 +1,176 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +January 28th, 2017 at 4pm + +Meeting called to order at + +`   1630` + +Members Present: + +`   Ben Enrique Julia Ankeet Andrew Matt Ken Tom Kevin` + +Others Present: + +`   Others` + +[Quorum](Quorum "wikilink") met? + +`   yes` + +## Approval of Previous Meeting's Minutes + +## Recognition + +In 2016 HacDC held nearly 100 free workshops on microcontroller +programming, 3D design and 3D printing. We also started workshops +teaching people about PC hardware and software with several PC Rebuilds +events, a couple of Linux Install nights and about a dozen Introduction +to Linux workshops. The Amateur Radio Club also held dozens of meetings +including many guest speakers, and participated in national and +international contests including field excursions to the White House, +National Parks, Lincoln's Cottage and more. HacDC itself had three long +days of off-site demos at the USA Science and Engineering Festival and +RobotFest. HARC also participated in the Silver Spring Maker Faire, +enabled remote online access to the W3HAC station and set up a repeater. +We also had a few one-off events like the Apple v FBI discussion, a +Kerbal Space Program gathering, a couple of Hackathons run by +hackster.io, and we fixed the LCD TV! Last but not least, we assembled, +launched, tracked and recovered Spaceblimp 6 and got some beautiful +images and video from the stratosphere (104,000ft!). + +Through our partnership with High School Tech Services HacDC has hosted +classes on project management, programming fundamentals, object oriented +programming, HTML5 and more. + +Besides the workshops, events and projects, we also continued to +reorganize ourselves in our new space after our late 2015 move, we +renewed a \$500 sponsorship from Accelebrate and obtained a new +sponsorship from Newark element 14, we got over \$550 in donations from +federal employees via the CFC process. We restored our reserves to 6 +months of expenses, we cleaned up the Standing Rules and some other +parts of the Wiki. Several of our members attended the Nation of Makers +meeting and continue to be involved in the new national organization. + +HARC: 132 exams were given in 2016. 116 new licenses or upgrades. We +participated in 16 radio contests and 22 National Park on the Air +events, including the National Monument and Presidents Park(White +House). We purchased and installed a 440mhz repeater. + +## Director Reports + +### President's Report + +`   nice LED lights` + +### Vice President's Report + +`   not present` + +### Treasurer's Report + +- See the January meeting minutes for numbers. We have about 7-8 months + of full operating expenses in reserve but we're close to breaking even + month-to-month, especially with the coming 5% rent increase. +- We are too reliant on membership dues (95%+ of our revenue) and the + dues are pretty high already. We should look at getting more donations + or applying for grants. +- To raise more than \$1,500/yr in donations, we need a solicitation + permit, which we should and will apply for shortly. +- Apparently HacDC has never filed tax returns with DC Govt since it was + founded. Once we start (this year), even though we've been tax-exempt, + we may get fined for not filing returns as expected. We should clear + that up before looking at grants. + +### Secretary's Report + +`   I was Secretary and a member of the BOD this past year.` + +### Director-at-Large Reports + +#### Matt + +Has been a good year. No drama. More volunteers getting involved. Maybe +next year we can grow and do really awesome things. + +#### Mike + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +### Project SEM + +### Project SUPPLIES + +### Project EXPANSION + +## Audit Committee Report + +Nobody bothered to form a committee so there's no report. All financial +statements including receipts for all purchases are at the space, in the +BOD locker, treasurer's folder. The Dwolla statements include member +names, the rest don't. -Enrique + +## Member Reports + +## Old Business + +`   The bylaws amendment has enough signatures to consider.` +`   The bylaws amendment below passed by unanimous acclamation.` + +### Bylaws Amendments + +- Proposed Amendment to Bylaws Article II, Section 6: Add "*For + substantial cause, the Board of Directors may indefinitely suspend a + member's access to the space by a 2/3 majority vote of the board. By + voting at an official meeting with quorum, members may reinstate or + suspend, access or membership, for any member whose access has been + suspended by the board. The board may suspend the access of no more + than two members per month via this procedure. Access to the space may + not be re-suspended by the Board of Directors for the same actions or + incidents. Explanation of such suspensions must be submitted + electronically to all members."* (This proposed bylaws amendment must + be signed by 3/4ths of all members before it is adopted) + +## New Business + +- Group Photo. The group photo we have is ANCIENT. Literally 90% of + those people are gone. New photo is years overdue. + +## Board of Directors Elections + +Results of the elections are as follows: + +`   President: ''Julia stood for election unopposed.` + +`   Vice President:  ''Andrew and Tom stand for VP.` +`   ''Tom won with 7 votes to 3` + +`    Treasurer: ''Enrique stood for election unopposed.` + +`    Secretary: ''Ben stood for election unopposed.` + +`   At large seats: ''Andrew, Mirage, and Kevin stand for at large seats.` +`   Mirage and Kevin won the ranked choice vote.` + +## New Members + +## Adjournment + +Adjourned at + +`   1700` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2018.md b/Annual_Meeting_2018.md new file mode 100755 index 0000000..2e599f6 --- /dev/null +++ b/Annual_Meeting_2018.md @@ -0,0 +1,177 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: 2018.13.10 (March 10, 2018)` +`   Location: HacDC` + +Meeting called to order at + +`   Time: 15:37` + +## Participants + +- Members Present: + - Kevin + - Julia + - Matt Zand + - JP + - Karen + - mirage + - Nic + - Tayeb + - Ken + - Tom + - Enrique (virtually) + + + +- Others Present: + - Aden + +[Quorum](Quorum "wikilink") met? + +`   Yes` + +## Recognition + +`   Enrique was Treasurer, thank you. Julia was President. Mirage is also an outgoing 3-year veteran of BoD.` +`   Thanks to all 3 for your service. Tom did good work as VP.` + +## Director Reports + +### President's Report + +`   President is present but incommunicado.` + +### Vice President's Report + +`   I lost our IT admin contract. Been working on various infrastructure projects like the printer, classroom TV,` +`   basement TV, videoconferencing, etc. Would like to continue my work as VP and help grow and improve our` +`   organization over the next year.` + +### Treasurer's Report + +`   Did a bunch of legwork and treasurer stuff, helped us be square with the government.` + +### Secretary's Report + +`   Nic is happy to be a member of HacDC over the past year, has found HacDC to be a valuable community to be a` +`   member of. Has been Secretary for a few months, but has been away on international travel.` + +### Director-at-Large Reports + +#### Matt + +`   Project Awesome fund allocations are still necessary but have been under-utilized the past year. USASEF is a big event,` +`   we kind of dropped the ball this year. The next BoD should bear this in mind for future years; and try to stay in touch` +`   with previous BoD members so institutional knowledge is kept.` + +`   Treasurer is an important job, hope the next one takes their responsibility seriously. Don't be too hard on folks, but it's` +`   important the Treasurer does reimburse people promptly.` + +`   HacDC's BoD needs to take responsibility for members causing problems, and members need to take responsibility for their guests.` +`   Problems need to be addressed promptly.` + +#### Kevin + +For the most part, my year has consisted of trying to network HacDC with +other groups and represent HacDC at events. To that end, I: + +- offered 3D printing services, along with Julia, at the two-day + Smithsonian Institute's [Earth Optimism + Summit](https://earthoptimism.si.edu/2017/) ["Make for the + Planet"](https://earthoptimism.si.edu/calendar/2017/events/make-planet-pitches/) + hack-a-thon +- represented HacDC for the [Community Makerspace + Day](https://www.eventbrite.com/e/community-makerspace-day-tickets-39168856103#) + event at Mary McLeod Bethune Day Academy PCS +- supported Ken's [Neighborhood Opportunity + Centers](DC_Community_Hackerspaces "wikilink") (NOCs) proposals by: + - participating in two meetings with DC government officials and + Nation of Makers executive director + - arranged a meeting between HacDC and the New America Foundation's + Open Source Institute + - established a wiki page for collecting, coalating and coordinating + potential NOC resources + +In lesser news, I've been: + +- recreating a passport stamp +- working on a brief [OpenSCAD rotate_extrude tutorial + video](https://drive.google.com/file/d/1CINyLSA3x984h7JMWaxRRfdgh0C0v81g/view) +- futzing around with the teleconferencing system, and continue + attempting to document progress on the wiki (See [La + Fonera](La_Fonera "wikilink") and [OBi110 VoIP + setup](OBi110_VoIP_setup "wikilink").) +- doing this, that and the other thing +- occasionally restocking the fridge +- kept the tunes going a la [Radio + Paradise](https://www.radioparadise.com/) + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project SPACEBLIMP + +We postponed our March 3-4 launch due to winds out in Strasburg, despite +everything being ready to go otherwise. Sad! We're currently deciding on +a new launch date but the weekends of March 24 and March 31 are likely. +We've also entered the Global Space Balloon Challenge under the team +name Hackers SLS (Space Lunch System) and plan to launch another +Spaceblimp for that competition in later April (not to far away). +Enrique + +## Audit Committee Report + +Nobody bothered to form a committee so there's no report. + +## Member Reports + +Enrique - This year I hosted events on Lockpicking (TOOOL came), +Software Defined Radio, Cryptocurrencies and the Metasploit Workshop put +on by Beltway Hackers. Also lots of Spaceblimp meetings, especially +lately. Spaceblimp 7 was postponed from the Eclipse date to early 2018 +and just postponed again due to weather but we're ready to go very soon. + +### Bylaws Amendments + +"Bylaws amendment proposal: Change the threshold for future bylaws +amendments from "more than three quarters (3/4ths) of voting members," +to "more than three quarters (3/4ths) of member votes cast 90 days from +the proposal approval date," and from "Notice of such petition must be +submitted electronically to all members," to "Notice of such a petition +must be submitted to all members electronically and, where electronic +means produce no response, all other available means." (petition +approved April 2017) +) + +## New Business + +## Board of Directors Elections + +Results of the elections are as follows: + +`   President:  ''Karen stood for election for President unopposed.` + +`   Vice President:  ''Tom stood for election for VP unopposed.` + +`   Treasurer:  ''Tayeb stood for election unopposed.` + +`   Secretary:  ''Nic stood for election unopposed.` + +`   At large seats:  ''Ken, Kevin, and stood for 2 at large seats.` + +## Adjournment + +`   Adjourned at 1627` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2019.md b/Annual_Meeting_2019.md new file mode 100755 index 0000000..03759c5 --- /dev/null +++ b/Annual_Meeting_2019.md @@ -0,0 +1,208 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: Tuesday, March 12` +`   Location: HacDC` + +Meeting called to order at + +`   Time: 7:00pm` +`   By: Karen` + +## Participants + +- Members Present: + - Karen + - Kevin + - Ken + - Bobby + - John + + + +- Members remoting: + - Tayeb + - Enrique + - Mirage (Matt) + + + +- Others Present: + - ITechGeek + +[Quorum](Quorum "wikilink") met? + +`   Unknown` + +## Approval of Previous Meeting's Minutes + +## Recognition + +## Director Reports + +### President's Report + +Fundraising Activities - scheduled and proposed + +- HacDC is going to have an event at Dupont Underground Tuesday, April + 23 - proposal is for demos, public domain films, and musical + entertainment. HacDC will approach Words/Beats/Life to see if they + would be interested in collaborating +- Board met with the owner of Exiles on U Street about the possibilities + for fundraising - they are pretty flexible so there are many options + to discuss +- Sign in sheet - we need to show our service to the community with + something more tangible - there is a sign in sheet - all members and + visitors should sign in. + +Testimony at the DC Council DMPED oversight hearing + +- Karen Shunk testified +- Was able to meet contacts at DMPED, Focus on the Story, and District + Makers Collective + +Next Movie night: + +- Friday, March 16 +- Gravity (2013) directed by Alfonso Cuaron, starring Sandra Bullock and + George Clooney + +### Vice President's Report + +### Treasurer's Report + +The cash flow spreadsheets should be visible to all present, and there +are a couple of things I would like to point out. We continue to have a +reserve of approximately \$10,000, though this is decreasing because we +are spending more money on rent per month than we are bringing in +through membership dues. The costs for January were unusually high so +look at those numbers with a grain of salt (we were charged for two +months rent during that period due to the timing of check cashing, and +we had additional one-time payments). The more important number for the +future is the \$1579/month rent that will continue to cost us in the +longer term. + +We currently have 21 members in good standing. Due to irregular payment +schedules for some members this is not clear from the cash flow +spreadsheet but the majority of our members pay through Paypal. Dwolla +has recently closed down the service we were using for a handful of our +member payments so we are no longer able to collect dues through their +platform. We will need to modify the HacDC website to remove that +offering and possibly look into other alternatives that have lower fees +like Dwolla did (Paypal currently costs us about ~\$40/month in fees). + +We have not seen any large effects due to fundraising, though we have +had a few individual donations that have helped us these last few +months. However both donations were from people within HacDC so I don't +think we are reaching a wider audience yet for our fundraising. + +This is my last month as treasurer, I am resigning and not running again +for next year since I have not been living in the DC area for a few +months now. To whoever ends up in this board seat, I will reach out to +discuss the best way to hand off the credentials and any other pressing +financial matters for HacDC (e.g. filing with the IRS to maintain our +non-profit status). + +### Secretary's Report + +### Director-at-Large Reports + +#### Ken + +#### Kevin + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +### Project SEM + +### Project SUPPLIES + +### Project EXPANSION + +## Audit Committee Report + +Nobody bothered to form a committee so there's no report. All financial +statements including receipts for all purchases are at the space, in the +BOD locker, treasurer's folder. The Dwolla statements include member +names, the rest don't. -Enrique + +## Member Reports + +## Old Business + +Rules of the Road - Code of Conduct Review + +- Please review the draft code of conduct at + + for discussion at the next member meeting in April +- This has been updated with input from other members and review of + codes of conduct of other hackerspaces + +More space cleanup + +- Need to finish cleaning out back section of basemen +- Mike Ritonia has agreed to install new lock on basement door +- We can use the dumpsters out front (within reason) +- Ideas for basement - besides storage, could we organize a workshop? + Maybe metal or woodworking? + +Proposal for an intermediate membership type: + +- We have a discounted "starving hacker/student" and a keyed, full + membership; unlike other spaces, we do not have an intermediate + membership +- Typically, the intermediate membership level gives members limited + storage, access to 'members wifi' (we would have to set that up) and a + few other perks (could work unsupervised in the basement, for example) +- Do we see value in this dues level, and what are the membership + services that come with it? + +Discussion: need to develop ROI of membership levels, possibly create +new benefits. Important to know how many members at what level right +now. It would be good to have an effort at the April 23rd event to sign +up members or take donations. + +### Bylaws Amendments + +## New Business + +Business license expires in June, James will renew it. + +## Board of Directors Elections + +Results of the elections are as follows: + +`   President: ''Karen stood for election unopposed.` + +`   Vice President:  ''John stood for election unopposed.` + +`   Treasurer: ''James stood for election unopposed.` + +`   Secretary: ''Dave stood for election unopposed.` + +`   At large seats: ''Ken and Kevin stand for at large seats unopposed.` + +Karen moved, Kevin seconded a motion to elect the slate of board +candidates in a single vote. Motion to elect the slate passed. + +## New Members + +## Adjournment + +Adjourned at + +`   Time: Change me` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2020.md b/Annual_Meeting_2020.md new file mode 100755 index 0000000..631e160 --- /dev/null +++ b/Annual_Meeting_2020.md @@ -0,0 +1,151 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: Tuesday, March 12` +`   Location: HacDC` + +Meeting called to order at + +`   Time: 7:10pm` +`   By: Karen` + +## Participants + +- Members Present: + - Karen + - Kevin + - Ken + - Tayeb + - John + - Brian Madonna + - Don Jones + - Matt + + + +- Others Present: + - ITechGeek + - Chris + +[Quorum](Quorum "wikilink") met? + +`   Yes` + +## Approval of Previous Meeting's Minutes + +Approved + +## Recognition + +- Louis -- Led a very successful round of All About Circuits sessions +- We have a new member (Chris) +- Bobby -- Has put a lot of effort into the laser cutter and it's paying + off! We're almost there + +## Director Reports + +### President's Report + +Fundraising Activities - scheduled and proposed + +- + +### Vice President's Report + +### Treasurer's Report + +10 days into March and we are net +\$677 dollars for this month. There +have been addidional payments from paypal and additional deposits made +directly to the bank of \$330, \$336, and \$1200. We currently have +\$785 dollars in the BB&T account and we are about to deposit an +additional \$1400. + +We are doing significantly better this month than before with several +one-time payments accounting for the difference + +### Secretary's Report + +- Member cleanup will be happening this coming Saturday with Don Jones. + And we have a new spring cleaning part II scheduled for March 21st + +### Director-at-Large Reports + +#### Ken + +#### Kevin + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +### Project SEM + +### Project SUPPLIES + +### Project EXPANSION + +## Audit Committee Report + +Nobody bothered to form a committee so there's no report. All financial +statements including receipts for all purchases are at the space, in the +BOD locker, treasurer's folder. + +## Member Reports + +## Old Business + +- We are still figuring out a time and list idea of things to talk about + to Nehemia of NonStop Art (who just got a new job) +- Figuring out what we are going to do at USASEF: Louis' speaker hooked + up to a theremin is one idea, possibly some additional visual elements + to be added. We should email Avi about TOOOL and try to make + lockpicking happen + +### Bylaws Amendments + +## New Business + +- HARC Foxhunt coming up in the future (early April planning, event in + June/July) +- Free Market held at the church every third Saturday, would theyu want + HacDC for electronics repair? Or other table operations? Or could we + bring a 3D printer? + +## Board of Directors Elections + +Results of the elections are as follows: + +`   President: ''Karen stood for election unopposed.` + +`   Vice President:  ''John stood for election unopposed.` + +`   Treasurer: ''Matt stood for election unopposed` + +`   Secretary: ''Tayeb stood for election unopposed.` + +`   At large seats: ''Brian and Louis stand for at large seats unopposed.` + +Karen moved, Kevin seconded a motion to elect the slate of board +candidates in a single vote. Motion to elect the slate passed. + +## New Members + +We have a new member! Chris + +## Adjournment + +Adjourned at + +`   Time: Change me` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2021.md b/Annual_Meeting_2021.md new file mode 100755 index 0000000..6d218ad --- /dev/null +++ b/Annual_Meeting_2021.md @@ -0,0 +1,145 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: Tuesday, March 9` +`   Location: HacDC` + +Meeting called to order at + +`   Time: 7:43pm` +`   By: Karen` + +## Participants + +- Members Present: + - Karen + - Kevin + - Ken + - Tayeb + - John + - Michelle + - Gabe + - Matt + - Obi + + + +- Others Present: + - Jared + +[Quorum](Quorum "wikilink") met? + +`   Yes` + +## Approval of Previous Meeting's Minutes + +Approved + +## Recognition + +- Don -- repairing the antennas on the roof +- HacDC Robot Group -- ready to start classes this week + +## Director Reports + +### President's Report + +Fundraising Activities - scheduled and proposed discussed in shared +google docs aggregating ideas from past members meetings. Board to meet +in the future. + +### Vice President's Report + +### Treasurer's Report + +Financial Report: Current Balance -- \$13,766 We currently have 17 +paying members, \$930 from dues and an additional \$120 from donations. +Rent is \$732 for September, total expenses are \$793 + +### Secretary's Report + +### Director-at-Large Reports + +#### Ken + +#### Kevin + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +### Project SEM + +### Project SUPPLIES + +### Project EXPANSION + +## Audit Committee Report + +Nobody bothered to form a committee so there's no report. All financial +statements including receipts for all purchases are at the space, in the +BOD locker, treasurer's folder. + +## Member Reports + +## Old Business + +- John: Perhaps codify the idea that the Vice President should be the + person likely to become the President in the Bylaws? Look into a + Bylaws amendment for future monthly meetings + +### Bylaws Amendments + +- No bylaws amendments + +## New Business + +- Board to meet the following Tuesday to address plan for Mike Ritonia. + Tayeb to prepare shared document for Board consideration shared with + Board members prior + + + +- Ken: Discusses Strawman Vision for HacDC Robot Project -- taking the + project beyond just the space to the community + +## Board of Directors Elections + +Slate of Candidates -- Tayeb: President, John: Vice-President, Michelle: +Secretary, Matt: Treasurer, Brian: At-Large, Gabe Altay: At-Large +Results of the elections are as follows: + +`   President: ''Tayeb stood for election unopposed.` + +`   Vice President:  ''John stood for election unopposed.` + +`   Treasurer: ''Matt stood for election unopposed` + +`   Secretary: ''Michelle stood for election unopposed.` + +`   At large seats: ''Brian and Gabe stand for at large seats unopposed.` + +Karen moved, Kevin seconded a motion to elect the slate of board +candidates in a single vote. Motion to elect the slate passed. + +## New Members + +We have a new member! Jared + +## Adjournment + +Adjourned at + +`   Time: 9:17pm` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2022.md b/Annual_Meeting_2022.md new file mode 100755 index 0000000..76a15f1 --- /dev/null +++ b/Annual_Meeting_2022.md @@ -0,0 +1,231 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: Tuesday, March 8` +`   Location: HacDC` + +Meeting called to order at + +`   Time: 7:43pm` +`   By: Tayeb` + +## Participants + +- Members Present: + - Kevin + - Ken + - Tayeb + - John + - Michelle + - Gabe + - Matt + - Obi + - Mario + - Brian + - Don + + + +- Others Present: + +[Quorum](Quorum "wikilink") met? + +`   Yes` + +## Approval of Previous Meeting's Minutes + +Approved + +## Recognition + +Michelle - initiative taking, leadership All Members - getting out of +the red + +## Director Reports + +### President's Report + +Tayeb: initial goal to reopen to the public, however we have regular +online meetings (Online Project Night, Microfabrication, FreeCAD). In +the future, would like regular meetings of some sort and continue and +move to "hybrid." Next steps: verify (and fix) tools/equipment and +prepare space for use. + +### Vice President's Report + +### Treasurer's Report + +Financial Report: Current Balance -- \$11,572.80 We currently have 18 +paying members, \$870 from dues and an additional \$148.16 from +donations. Rent is \$900 for February, total expenses are \$957.57 + +### Secretary's Report + +1. HacDC WorkRoom Safety & Security: + 1. Waiver. [Hold harmless + agreement](https://www.google.com/search?q=hold+harmless+agreement+makerspace) + for existing and new members. + 2. Safety Instruction. Training class for existing and new members. + Short-term: documentation and videos on website. Long-term: an + online Learning Management System (LMS) like [Video Lessons + Plugin](https://www.videolessonsplugin.com/) or [other LMS + plugins on WordPress](https://wordpress.org/plugins/search/lms/) + 3. Room monitoring systems. Possible solutions: room occupancy, + room safety monitoring, timed entrance, air quality monitoring + (ie. return Ken's Air Quality monitors) +2. City of DC Safety & Security: + 1. Christine: HacDC ham radio club is active in emergency + communications, assisted on the Women's March and is organizing + an emergency response group. There is also CERT training given + by the city + +### Director-at-Large Reports + +#### Ken + +#### Kevin + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +### Project SEM + +### Project SUPPLIES + +1. Need to build an (high-level) inventory list that is public-facing. + Should include dates. + +### Project EXPANSION + +## Audit Committee Report + +## Member Reports + +## Old Business + +1. Wiki-Website Re-Design - the Unified Data Team launched new Wiki and + new Website for purpose of unifying two platforms, minimizing + duplicate information, focusing sites for particular audiences. In + regards to the WordPress Admin, do all 31 users still need access? + No, they do not. +2. [ECE Conference on March + 25](https://www.ecedha.org/Meetings/2022-ECEDHA-Annual-Conference) - + annual conference hosted by Electrical and Computer Engineering + Department Head Association (ECEDHA) this year in New Orleans LA + invited Tayeb and Michelle to speak on hackerspace-related panels + (yay! we found panelists). Goals: promote HacDC, find well-resourced + partners, represent HacDC well. New programming: + 1. Tayeb's pre-panel discussion Monday veered towards ways to open + up hackerspaces to the public. + 2. Katie B - former member may have worth of information +3. [FurnishHopeDC](https://furnishhopedc.org) - Bobby says, "this seems + like it might be a good group for HacDC to get involved with + (providing & fixing computers and possibly building furniture out of + scrap wood" + +### Bylaws Amendments + +- No bylaws amendments (\<-- carry over to next Old Business...several + board members like this) + +## New Business + +1. **Workspace Opening Up** - status update. Church common areas still + requires masks. Inside workroom: members welcome to not wear masks + as long as others give consensus - default to most conservative + attendee. + 1. Two Saturdays Ago - Matt, Kevin, Tayeb went to get 3D printers + running again. Need 2-3 more "hackdays" before Octaprint server + runs with 3 functional printers. + 1. Monoprice printer (Ultamaker style) is working now (yay!). + 2. Second printer needs OEM part costs \$400 (value for \$3500 + printer). + 3. Ninjaflex printer works + 1. Kevin: the rubber does get stuck, so there is a process + for cleaning out the tube which needs to happen between + runs in order for it to work again + 2. New likely tools: + 1. ~\$2000-\$2400 for laser cutter - already scoped by Ethan + and Tayeb + 1. Matt: if do this may need to (1) account for safety + and (2) increase our insurance liability + 2. Michelle: would like to see a committee formed for + interested parties to devote long-term success for this + project + 2. Existing laser cutter - John curious if we need this =\> + Tayeb feels it should hang around because members like to + tinker on it but maybe time to relegate to basement to get + more space. + 3. Build-a-Laser-Cutter idea - Mario could produce a DIY one + 4. "tool certification" - Kevin says FabLab has this for their + laser cutter use; specifies what kinds of materials you + can/cannot burn; John points out will take some effort to + run properly +2. **Resources for Instructors** - on website, could include: list of + tools available to instructors and process for requesting access + (Zoom, Google Groups). How are Tristan/Ethan doing with Jitsi? + TechSoup Zoom is not free, sadly, so not viable unless demand is + there. See "OBS Studio" which a member could download and record + then post. See "Big Blue Button" (see Kevin) - cons: single-screen + sharing compared to Jitsi's multi-screen sharing. (note: Jitsi does + recording but does so poorly.) +3. **UpCycled** - Mario in touch with Orlando on potential + collaboration related to recycling; see [past + fundraiser](https://www.eventbrite.com/e/waste-to-wonder-happy-hour-tickets-223441719197?aff=ebdsoporgprofile#). +4. **[Farm + Hack](https://marylandorganic.org/2016/02/05/open-source-agricultural-tools-with-farm-hack/)** - + Michelle interest in non-profit of farmers who hack things together + to promote sustainable agriculture, maybe invite leadership to talk + for 5 minutes +5. **Raspberry Pi Rep** - Kevin says that on occasion a rep from + Raspberry Pi will drop in on HacDC +6. **Rockville Sci-Tech Fair on Apr 24th** - Tayeb has requested two + tables at the event; need to verify we will have power & wifi access + (event is outdoor) +7. **Bike Lights** - Tayeb wants to host event to add Persistent + Vision, artistic art, to bikes and promote bike safety +8. **Basement Cleanup** - John would like us to consider making space + use again Spring Cleaning + 1. New Committee: John, Brian, Michelle - first step is go down + there and assess what to keep/throw out & assess water damage; + would be nice to get networking going again (see Network Closet + behind security person's desk); there is also a CNC computer + which should still work with the CNC mill + +## Board of Directors Elections + +Slate of Candidates -- Michelle Savage: President, Obioma Anomnachi: +Vice-President, Tayeb Zaidi: Secretary, Matt Stafford: Treasurer, John +Pancoast: At-Large, Gabriel Altay: At-Large Results of the elections are +as follows: + +`   President: ''Michelle Savage ran unopposed` + +`   Vice President:  ''Obioma Anomnachi ran unopposed` + +`   Treasurer: ''Matt Stafford ran unopposed` + +`   Secretary: ''Tayeb Zaidi ran unopposed` + +`   At large seats: ''Gabriel Altay and John Pancoast ran unopposed` + +## New Members + +## Adjournment + +Adjourned at + +`   Time: 9:17pm` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_2024.md b/Annual_Meeting_2024.md new file mode 100755 index 0000000..1a6e7ec --- /dev/null +++ b/Annual_Meeting_2024.md @@ -0,0 +1,66 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: 03/26/2024` +`   Location: HacDC` + +Meeting called to order at + +`   Time: 7:35` + +## Participants + +- Members Present: + - Oby, Matt, Liz, Sven, Gabe, Chris, Kyle, Aure, Michelle + + + +- Others Present: + - Madeline + +[Quorum](Quorum "wikilink") met? + +`   Yes` + +## New Business + +Use of dangerous or breakable equipent. SLA Printer, welding equipment +in the basement. Who has access to these tools and whether that is +limited to members or potentially limited further to member who have +been approved by someone who has acknowledged authority over that +equipment. + +## Board of Directors Elections + +Results of the elections are as follows: + +`   President: Oby stood for election unopposed.` + +`   Vice President:  Liz stood for election unopposed.` + +`    Treasurer: Gabriel stood for election unopposed.` + +`    Secretary: Chris stood for election unopposed.` + +`   At large seats: Sven stood for election unopposed.` +`                   Don Jones / John Pancoast` + +## New Members + +## Adjournment + +Adjourned at + +`   Time: 8:12` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_Agenda_2009.md b/Annual_Meeting_Agenda_2009.md new file mode 100755 index 0000000..dead493 --- /dev/null +++ b/Annual_Meeting_Agenda_2009.md @@ -0,0 +1,93 @@ +According to the [Bylaws](Bylaws "wikilink"): + + +An annual meeting of all members shall take place sometime in January, +February or March. The [Coordinator in +Chief](Coordinator_in_Chief "wikilink") shall select the date, time and +place no later than January 31 of each year. The date, time and place of +the annual meeting must be posted in the registered office and submitted +to members electronically at least two weeks prior to the annual +meeting. A petition signed by more than three quarters (3/4ths) of +voting members and submitted to the Board of Directors before +Valentine's Day may specify a new date, time and place for the annual +meeting. At the annual meeting, the voting members shall elect the Board +of Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year. + +The 2009 Annual meeting took place on **Saturday, February 21, 2009, +starting at 5:00 pm**. Here are the [2009 Annual Meeting +Minutes](2009_Annual_Meeting_Minutes "wikilink"). + +Potential items to consider: + +- Dues - at least one member has suggested we review the dues level and + consider lowering dues +- [Quorum](Quorum "wikilink") - at least one member has suggested the + [bylaws](bylaws "wikilink") be amended to prevent the voting-in of new + members at a meeting from increasing the [quorum](quorum "wikilink") + threshold *at that meeting*, possibly thereby breaking + [quorum](quorum "wikilink") and ending the meeting prematurely +- Approval of New Members - Under the current system, prospective + members can pay membership dues for weeks or months before being + officially approved and thus able to enjoy the privileges of + membership. Is this something we'd like to change? + +`Section 3: Voting Membership Class Election`` ` +~~`Any member may nominate a qualified person to be a voting member.`~~` ` +`Any eligible person may be elected as a voting member at any regular meeting upon payment of their first periodic dues and visual approval of all members present.` + +- It is proposed to reduce the frequency of business meetings to once + per month, both to reduce the amount of formal business upkeep, and to + free up Tuesday nights for more involving events. +- It is proposed to change the meeting format to Robert's Rules of Order + from the current "MIBS" system. + +`  ``Section 7: Conduct of Meetings`` ` +` All meetings shall follow Roberts Rules of Order. `~~`the MIBS Simplified Rules of Coordinated Consensus through Chaos as approved at an annual meeting.`~~` ` + +- It is proposed to change the description of Keeper of the MIBS to + include a role as parliamentarian at the meetings, to assist the + Minister of Information in cases of parliamentary procedure under + whichever meeting format HacDC members choose to adopt. +- It is proposed to add a Quartermaster role to the Board of Directors, + whose role would be to oversee space arrangement, utilization, + sanitation, and resource management. The Quartermaster would also + maintain the HacDC eBay account and would be running auctions of + surplus HacDC items on a regular basis. +- It is proposed that no new expenditures shall be authorized in the + absence of a current, accurate financial statement certified by the + Minister of Finance +- It is proposed that we create a new position of PR Coordinator who + will be in charge of advertisement and popularize our events. +- It is proposed that we add a requirement for ministers to be present + at a certain number or percentage of business meetings + +## Elections + +A portion of the Annual Meeting is devoted to the election of new Board +of Directors, as set forth in the bylaws. The following people have +expressed an interest in running for a position: + +### Coordinator in Chief / President + +- Elliot Williams + +### Minister of Information / Vice President + +### Keeper of the MIBS / Secretary + +- [Ben](User:Ben "wikilink") + +### Minister of Finance / Treasurer + +- Tim C. + +### Two At-large Board Members + +(Apparently, we need these. +[1](http://wiki.hacdc.org/index.php?title=Bylaws#Section_1:_Role.2C_Size.2C_Term_and_Compensation) +Any volunteers?) + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Annual_Meeting_Tenplate.md b/Annual_Meeting_Tenplate.md new file mode 100755 index 0000000..21dc431 --- /dev/null +++ b/Annual_Meeting_Tenplate.md @@ -0,0 +1,105 @@ +## Purpose + +From the HacDC Bylaws, Article III, Section 2: + + +*At the annual meeting, the voting members shall elect the Board of +Directors, review and vote on the standing rules and policies of the +corporation, receive reports on the activities of the corporation, +approve the budget and determine the direction of corporation in the +coming year.* + +## Time and Location + +`   Date: Change me` +`   Location: HacDC` + +Meeting called to order at + +`   Time: Change me` + +## Participants + +- Members Present: + - Add me + - Add me + + + +- Others Present: + - Add me + +[Quorum](Quorum "wikilink") met? + +`   Unknown` + +## Approval of Previous Meeting's Minutes + +## Recognition + +## Director Reports + +### President's Report + +### Vice President's Report + +### Treasurer's Report + +### Secretary's Report + +### Director-at-Large Reports + +#### Matt + +#### Kevin + +## [Project Awesome](:Category:Project_Awesome "wikilink") Reports + +### Project HAMRADIO + +### Project SEM + +### Project SUPPLIES + +### Project EXPANSION + +## Audit Committee Report + +Nobody bothered to form a committee so there's no report. All financial +statements including receipts for all purchases are at the space, in the +BOD locker, treasurer's folder. The Dwolla statements include member +names, the rest don't. -Enrique + +## Member Reports + +## Old Business + +### Bylaws Amendments + +## New Business + +## Board of Directors Elections + +Results of the elections are as follows: + +`   President: ''??? stood for election unopposed.` + +`   Vice President:  ''??? and ??? stand for VP.` +`   ''??? won with ??? votes to ???` + +`    Treasurer: ''??? stood for election unopposed.` + +`    Secretary: ''??? stood for election unopposed.` + +`   At large seats: ''???, ???, and ??? stand for at large seats.` +`   ''??? and ??? won the ranked choice vote.` + +## New Members + +## Adjournment + +Adjourned at + +`   Time: Change me` + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Antenna_Construction_Notes.md b/Antenna_Construction_Notes.md new file mode 100755 index 0000000..b708e13 --- /dev/null +++ b/Antenna_Construction_Notes.md @@ -0,0 +1,15 @@ +## Links + +### Tried + +### Untried + +- [2m dipole](http://www.hamuniverse.com/2mtrcheap.html) simple - Must + be high above ground, no gain. + + + +- [2m 1/4-wave monopole](http://www.hamuniverse.com/2metergp.html) + simple - Note: It is ok to use 3 radials instead of 4, and they don't + really need to slope downwards unless truly perfect SWR at 50Ohms is + required. Sloping downwards will also reduce antenna gain. \ No newline at end of file diff --git a/Anti-Harassment_Policy.md b/Anti-Harassment_Policy.md new file mode 100755 index 0000000..9c6ff45 --- /dev/null +++ b/Anti-Harassment_Policy.md @@ -0,0 +1,54 @@ +This policy was approved during the +[Annual_Meeting_2013](Annual_Meeting_2013 "wikilink") by member vote. + +*This anti-harassment policy is based on [the example policy from the +Geek Feminism +wiki](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment), +created by the Ada Initiative and other volunteers.* + +HacDC is dedicated to being a harassment-free hackerspace for everyone. +We do not tolerate harassment of members or visitors in any form. + +Harassment includes but is not limited to offensive verbal comments +related to gender, sexual orientation, disability, physical appearance, +body size, race, or religion; sexual images in public spaces; deliberate +intimidation, stalking, following, harassing photography or recording; +sustained disruption of talks or other events; inappropriate physical +contact; unwelcome sexual attention; or violation of any applicable +laws. Members and visitors asked to stop any harassing behavior are +expected to comply immediately. + +If a member or visitor engages in harassing behavior, the board of +directors or event organizer may take any action they deem appropriate, +including warning the offender or expulsion from the space or event with +no refund. Members violating these rules may be subject to termination +of their HacDC membership. If you are being harassed, notice that +someone else is being harassed, or have any other concerns, please +contact a member of the board of directors or the event organizer +immediately. + +Members of the board of directors and event organizers will happily help +members and visitors contact building security or local law enforcement, +provide escorts, or otherwise assist those experiencing harassment to +feel safe and prevent harassment for the duration of their visit at +HacDC. We value your attendance. + +bod@hacdc.org + +- Building security guard hours: Monday - Thursday 6pm - 10pm; Saturday + 9am - 2pm +- DC emergency services: 911 +- National sexual assault hotline: [1-800-656-HOPE](tel:+18006564673) + (800-656-4673) +- DC Rape Crisis Center: [202-333-RAPE](tel:+12023337273) (202-333-7273) +- DC Yellow Cab: [202-TAXICAB](tel:+12028294222) (202-829-4222) +- [Howard University Hospital](http://huhealthcare.com): + [202-865-6100](tel:+12028656100) / 2041 Georgia Avenue NW +- [GWU Hospital](http://gwhospital.com): + [202-715-4000](tel:+12027154000) / 900 23rd Street NW + +We expect members and visitors to follow these rules at all +HacDC-organized events, in the space itself, and in our online spaces +including mailing lists and the official IRC channel. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Archived_Prior_BOD.md b/Archived_Prior_BOD.md new file mode 100755 index 0000000..0afb242 --- /dev/null +++ b/Archived_Prior_BOD.md @@ -0,0 +1,100 @@ +"Central Services" is the internal reference for all members who serve +in some leadership or official function at HacDC... + +## Disorganization Chart + +| The Will of the Membership (Directly Elected Positions) | +|---------------------------------------------------------| +| The [Board of Directors](Board_of_Directors "wikilink") | +| [The Ministers](The_Ministers "wikilink") | +| [Coordinator in Chief](Coordinator_in_Chief "wikilink") | +| | + + + + + + + + + + + + + + + + + + + + + +

Central Services (i.e. HacDC Organizational +Administration)

Coordinator in +Chief

Appointed by the Coordinator in Chief:

+
    +
  • Shadow Coordinator in Chief
  • +
  • Sergeant-at-Arms (Physical Security)
  • +
  • (Member who handles Public Relations)
  • +

Note: These are presently all proposed positions and are, if +the draft policy below is adopted, subject to discretion of the relevant +minister as well as full-member review. (Review means the membership can +change it if they don't like it, but they don't have to approve it in +advance)

+ +## The [Board of Directors](Board_of_Directors "wikilink") (Set by Bylaws) + +The [Board of Directors](Board_of_Directors "wikilink"), per our +[Bylaws](Bylaws "wikilink") consists of [the +Ministers](the_Ministers "wikilink") and two At-Large Directors. The +[Board of Directors](Board_of_Directors "wikilink") at HacDC is largely +ceremonial. Members generally directly decide on all issues before +HacDC. Only certain minutiae and other actions required by law are +carried out by the [Board of Directors](Board_of_Directors "wikilink"). + +Despite direct membership control wherever possible, the [Board of +Directors](Board_of_Directors "wikilink") remains primarily responsible +for the affairs of HacDC under District of Columbia Corporate Law. + +### [The Ministers](The_Ministers "wikilink") + +Most corporate law refers to "officers". [The +Ministers](The_Ministers "wikilink") are our Corporate Officers and +serve in the following roles: + +- [Coordinator in Chief](Coordinator_in_Chief "wikilink") = President + and Chairman of the [Board of + Directors](Board_of_Directors "wikilink") +- [Minister of Information](Minister_of_Information "wikilink") = + Executive Vice President and Vice Chairman of the [Board of + Directors](Board_of_Directors "wikilink") (and Chief Information + Officer) +- [Keeper of the MIBS](Keeper_of_the_MIBS "wikilink") = Secretary +- [Minister of Finance](Minister_of_Finance "wikilink") = Treasurer + +### At Large Directors + +The At Large Directors are the membership's direct representation on the +[Board of Directors](Board_of_Directors "wikilink"). At Large Directors +should be regular members who are not involved with the day-to-day +running of HacDC. They are there to offer advice and perspective to [the +Ministers](the_Ministers "wikilink") and act as a form of internal +control. + +## Current [Board of Directors](Board_of_Directors "wikilink") + +Prior board of directors. + +| Title | Name | +|---------------------------------------------------|----------------------------------------| +| [President](President "wikilink") | [Bradford Barr](User:Bbarr "wikilink") | +| [Vice President](Vice_President "wikilink") | [Ben Mendis](User:Sitwon "wikilink") | +| [Secretary](Secretary "wikilink") | [Eric Miller](User:Eric "wikilink") | +| [Treasurer](Treasurer "wikilink") | [Tim Slagle](User:Tslagle "wikilink") | +| [At Large Director](At_Large_Director "wikilink") | Martin Rothfield | +| [At Large Director](At_Large_Director "wikilink") | [Nick Stoler](User:NickS "wikilink") | +| | | + +[Category:BOD](Category:BOD "wikilink") \ No newline at end of file diff --git a/Area_science_event_info.md b/Area_science_event_info.md new file mode 100755 index 0000000..4ce2caf --- /dev/null +++ b/Area_science_event_info.md @@ -0,0 +1,141 @@ +This is the "instruction manual" for the Area science event list +(wiki.hacdc.org/index.php/Area_science_event_list). This is an +incomplete list of science events (talks and science fairs; generally +excluding book, article, or movie discussions, workshops, and events +focused on finance rather than science) in the Washington area and at +the STScI and BUGSS in Baltimore. Only free events are listed but +registration, a free ticket, or other advance arrangements may be +required (noted when known). Normal times and locations for events are +given below but note that there may be exceptions. In-person events +where the speaker is virtual are included. Warning: All events are +subject to change with no warning. Send additions, corrections, +comments, etc. to: gippgig@gmail.com CI=Carnegie Institute - +carnegiescience.edu/public-events - Capital Science Evenings - 6:30PM +MLK Library (901 G St. NW Washington, D.C. 20001) (registration) NLS - +6:30PM Broad Branch Road Campus (5251 Broad Branch Rd. NW Washington, +D.C. 20015) (registration recommended) DASER=DC Art Science Evening +Rendezvous - www.cpnas.org/events/upcoming-events.html - 6PM +(registration and photo ID required) DCSC=D.C. Science Cafe - +dcswa.org/dc-science-cafe/ - 6:30PM Busboys and Poets (1025 5th St. NW +(5th & K St.) Washington, D.C. 20001 (202)789-BBAP HacDC - www.hacdc.org +(202)556-4225 - 7:30PM St. Stephen & the Incarnation Episcopal Church +2nd floor (1525 Newton St. NW Washington, D.C. 20010) LDPL=The Labs at +DC Public Library - www.dclibrary.org/labsatdcpl LFV=Little Falls +Village - +www.littlefallsvillage.org/content.aspx?page_id=4001&club_id=560791 +(301) 320-3267 - 1:30PM Little Falls Library MCPL=Montgomery County +Public Libraries - www.montgomerycountymd.gov/library/ NAS=National +Academy of Sciences - www.nationalacademies.org/events NCAS=National +Capital Area Skeptics - www.ncas.org (240)670-NCAS - 1:30PM +PSW=Philosophical Society of Washington - www.philsoc.org/ - 8PM John +Wesley Powell Auditorium (left of Cosmos Club 2170 Florida Ave. NW +Washington, D.C. 20008) RSC=Rockville Science Center - +www.rockvillesciencecenter.org, (240)FUN-8111 (RSC=Rockville Science +Cafe - 3rd Tue. 7PM ST=Science Tuesdays \*YASC=Young Adult Science Cafe +Rockville Science Day - April noon Montgomery College (51 Mannakee St. +Rockville, Md. 20850)) TBC=The Bowen Center for the Study of the +Family - thebowencenter.org - 4400 MacArthur Boulevard, NW Suite 103, +Washington, DC 20007-2521 Biology BUGSS=Baltimore Under Ground Science +Space - www.bugssonline.org/ - (410)732-0947 (101 N. Haven St. Suite 105 +Baltimore, Md. 21224) CASSS - www.casss.org/meetings-and-events +(biotech) HHMI=Howard Hughes Medical Institute - +www.janelia.org/you-janelia/dialogues-discovery - Janelia Research +Campus (19700 Helix Dr. Ashburn, Va. 20147 (571)209-4000) (ticket +required) IBBR=Institute for Bioscience & Biotechnology Research +(UMd.) - www.ibbr.umd.edu/events/upcoming-events SCBI=Smithsonian +Conservation Biology Institute (National Zoo) - +nationalzoo.si.edu/conservation/scbi-rock-creek-park-seminars +UMdBpS=Univ. of Md. Biophysics Seminars - +marylandbiophysics.umd.edu/seminars/ (301)405-9307 - Mon. 4PM IPST 1116 +UMdBS=Univ. of Md. biology seminars (also see IBBR) - +www.bisi.umd.edu/events-3/ (301)405-6905 (ANSC=Animal & Avian Science +Seminar BBS=BISI-BEES Seminar BCBMS=BISI-CBBG and BISI-MOCB Seminar +BCS=BISI-CBBG Seminar BEES=Behaviour, Ecology, Evolution and Systematics +CBBG=Computational Biology, Bioinformatics, and Genomics CBCB=Center for +Bioinformatics and Computational Biology CBG=Computational Biology and +Genomics CBMG=Cell Biology and Molecular Genetics CSC=Cognitive Science +Colloquium EC=Entomology Colloquium EG=Evo-Gen Seminar ENTM=Entomology +Seminar MOCB=Molecular and Cellular Biology PSL=Plant Science Lecture +RIP=Research in Progress VM=VetMed Seminar) Chemistry UMdCS=Univ. of Md. +chemistry seminar - www.chem.umd.edu/whats-new/calendar (301)405-1788 +(SS=Student Seminar) CSW=Chemical Society of Washington - +capitalchemist.org/category/csw-events/ Engineering UMdEgS=University of +Md. engineering seminar (FDR=Fluid Dynamics Reviews - +enme.umd.edu/events/fluid-dynamics-seminar-series MES=Mechanical +Engineering - enme.umd.edu/events/seminars MNC=Maryland NanoCenter - +www.nanocenter.umd.edu/events CBmE=Chemical and Biomolecular +Engineering - chbe.umd.edu/seminar-series Be=Bioengineering - +bioe.umd.edu/events/seminars) WBMSDG=Washington-Baltimore Mass +Spectrometry Discussion Group - wbmsdg.org/ Environment-Geology +GLMSMC=Gem, Lapidary, and Mineral Society of Montgomery County, MD., +Inc. - www.glmsmc.com/ - 7:30PM 2nd Monday Rockville Senior Center (1150 +Carnation Dr. Rockville, Md.) GSW=The Geological Society of Washington - +www.gswweb.org UMdES=Univ. of Md. environment seminar - +aosc.umd.edu/seminars (301)405-5391 (ACBBT=Atmospheric Chemistry Brown +Bag Talk - Friday CSS 3400, DS=AOSC Departmental Seminar - Thursday +3:30PM CSS 2400, ESSIC=Earth System Science Interdisciplinary Center +Seminar - Monday noon M-Square 4102, SS=AOSC Student Seminar - Tuesday +3:30PM CSS 3400) UMdGcS=Univ. of Md. Geochemistry Seminars - +www.geol.umd.edu/department/geochemseminar.php - Wed. 11AM CHEM 0215 +UMdGS=Univ. of Md. Geology Seminars - +www.geol.umd.edu/department/seminar.php (301)405-4082 geology@umd.edu - +Fri. 3PM PLS 1140 GMUES=George Mason University environment seminar - +science.gmu.edu/academics/departments-units/atmospheric-oceanic-earth-sciences/aoes-seminars +PtSW=Paleontological Society of Washington - +nmnh.typepad.com/paleontological_society/ - 3rd Wed. 7PM National Museum +of Natural History room E-304 Math DCAPS=DC-Area Anonymity, Privacy, and +Security Seminar - dcaps.info/ MAA=Mathematical Society of America - +www.maa.org/meetings/calendar-events - Carriage House (1781 Church St. +NW Washington, D.C. 20036 (202)319-8476) (registration) UMdCSS= Univ. of +Md. computer science - www.cs.umd.edu/events & talks.cs.umd.edu/ +(301)405-2662 (CAT=Capital Area Theory Seminar CLIP=Computational +Linguistics and Information Processing HCIL=Human-Computer Interaction +Lab QuICS=Joint Center for Quantum Information and Computer Science +Seminar) UMdMS=Univ. of Md. Math Seminars - +www-math.umd.edu/research/seminars (301)405-4190 (ANT=Algebra-Number +Theory D=Dynamics GT=Geometry-Topology LGRT=Lie Groups and +Representation Theory NA=Numerical Analysis) Misc. TOOOL-DC=The Open +Organization of Lockpickers - toool.us/meetings.html - 1st Wed. The +Board Room (1737 Conn. Ave. NW Washington, D.C.) Physics APS=American +Physical Society - www.aps.org/units/maspg/meetings/ - 3rd Wed. 1PM +American Center for Physics (1 Physics Ellipse College Park, Md. 20740 +(301)209-3000) UMdPS=Univ. of Md. physics seminars - +umdphysics.umd.edu/events (301)405-3401 (AD=Applied Dynamics Seminar +CNAM=Center for Nanophysics and Advanced Materials CMTC=Condensed Matter +Theory Center DSTL=Distinguished Scholar-Teacher Lecture +GP=Gravitational Physics Seminar HEP=High Energy Physics ISP=Informal +Statistical Physics JQCS=JQI-QuICS-CMTC Seminar JQI=Joint Quantum +Institute LPS=Laboratory for Physical Sciences MSES=MSE Seminar +NP=Nuclear Physics Seminar NT=Nuclear Theory Seminar +PACP=Phys/ANE/ChemPhys Joint Seminar PP=Plasma Physics Seminar QuICS-see +UMdCSS SP=Space Physics Seminar) Space UMdObs=Univ. of Md. Observatory +open houses - www.astro.umd.edu/openhouse/ - (301)405-6555 - 5th & 20th +8PM (Nov.-April) or 9PM (May-Oct.) (Metzerott Rd.) NCA=National Capital +Astronomers - capitalastronomers.org/ - 2nd Sat. 7:30PM UMd. Observatory +(Metzerott Rd.) NoVAC=Northern Virginia Astronomy Club - www.novac.com - +2nd Sun. 7PM GMU Exploratory Hall Room 3301 GMUObs=George Mason Univ. +Observatory - physics.gmu.edu/~hgeller/observing.html - Research Hall +TPS=The Planetary Society - Jack.Kiraly@planetary.org +ISUSC=International Space University Space Cafe - www.isuspacecafe.org +ASG=Astronomical Society of Greenbelt - +www.greenbeltastro.org/events.shtml - last Thur. 7:30PM HAL=Howard +Astronomical League - www.howardastro.org/meetings.php - 3rd Thur. 7PM +Robinson Nature Center downstairs (6692 Cedar La. Columbia, Md. 21044 +(410)313-0400) NASM=National Air & Space Museum - +airandspace.si.edu/visit/events (202)633-1000 (WNIA?=What's New in +Aerospace?) Goddard Space Flight Center Scientific Colloquium - +scicolloq.gsfc.nasa.gov/ (restricted access; not included in list) +STScI=Space Telescope Science Institute - +hubblesite.org/about_us/public_talks/ - 1st Tue. 8PM (3700 San Martin +Dr. Baltimore, Md. 21218 (410)338-4700 UMdSS=UMd. space seminar - +www.astro.umd.edu/ & space.umd.edu/seminars/ (301)405-3001 (AC=Astronomy +Colloquia - Wed. 4:05PM CSS 2400 BANG=Better Astronomy for a New +Generation - Thur. 4PM PSC 1136 CTC=CTC Theory Lunch - Mon. 11AM PSC +1136 LCS=LMA/CARMA Seminar - 3PM PSC 2136 PAL=Planetary Astronomy +Late-afternoon Seminar - Mon. 2PM SCRP=Space and Cosmic Ray Physics +Seminar - Mon. 4:30PM CSS 2400) Weather AMS=American Meteorological +Society - www.ametsoc.org/chapters/washingtondc/Events.html +NOAA=National Oceanic and Atmospheric Administration - +www.nodc.noaa.gov/seminars/ - (1305 East-West Hwy. Silver Spring, Md. +20910 & 5830 University Research Ct. College Park, Md. 20740) (possible +nuisance security; may require advance notice) \ No newline at end of file diff --git a/Area_science_event_list.md b/Area_science_event_list.md new file mode 100755 index 0000000..c263077 --- /dev/null +++ b/Area_science_event_list.md @@ -0,0 +1,5 @@ +May 17 8PM PSW - Resurrecting the Unrecoverable Reading the Herculaneum +Papyri using X-ray CT and AI 31 8PM PSW - Fukushima Health Effects June +8 7:30PM NCA - Science Fair Winners 14 8PM PSW - Returning Humans to the +Moon How the United States Can Actually Get There Instead of Watching +China Do It 26 3PM NAS - The State of the Science Address (registration) \ No newline at end of file diff --git a/Articles_of_Incorporation.md b/Articles_of_Incorporation.md new file mode 100755 index 0000000..92a81c3 --- /dev/null +++ b/Articles_of_Incorporation.md @@ -0,0 +1,180 @@ +The following is the text of the HacDC Articles of Incorporation. + +## Introduction + +ARTICLES OF INCORPORATION OF HACDC + +TO: DEPARTMENT OF CONSUMER AND REGULATORY AFFAIRS BUSINESS & +PROFESSIONAL LICENSING ADMINISTRATION CORPORATIONS DIVISION + +We, the undersigned natural persons of the age of eighteen years or +more, acting as Incorporators of a corporation under the NON-PROFIT +CORPORATION ACT (D.C. Code, 2001 edition, Title 29, Chapter 3), adopt +the following Articles of Incorporation: + +## First Article : Name + +FIRST: The name of the corporation is HACDC. + +## Second Article : Period of Duration + +SECOND: The period of its duration is perpetual. + +## Third Article : Purposes + +THIRD: Said corporation is organized exclusively for charitable, +educational, and scientific purposes within the meaning of Section +501(c)(3) of the Internal Revenue Code, or the corresponding section of +any future federal tax code. The mission of the corporation is to +improve the world by creatively rethinking technology. + +Subject to and within the limits of such purposes, the corporation +shall: + +1. Build and maintain spaces suitable for technical and social + collaboration. +2. Collaborate on all forms of technology, culture and craft in new and + interesting ways. +3. Apply the results of its work to specific cultural, charitable and + scientific causes. +4. Freely share its research and discoveries, using what is learned to + teach others. +5. Recruit and develop talented members dedicated to these purposes. + +The Corporation shall have in furtherance of the aforesaid purposes all +of the powers conferred upon corporations organized pursuant to the +provisions of the District of Columbia Non-Profit Corporation Act. + +## Fourth Article : Provision for Members, Classes, Qualification and Election + +FOURTH: The corporation shall have members. The membership shall be +divided into a voting class and a non-voting class. Only the voting +class shall have voting privileges. General requirements for all +memberships and specific requirements for each class shall be specified +in the bylaws. + +## Fifth Article : Directors, Qualifications and Election + +FIFTH: Directors must be voting members elected based on provision +specified in the bylaws. + +## Sixth Article : Management, Affairs and Activities and Provision for Dissolution + +SIXTH: The management, affairs, activities, and concerns of the +corporation shall be conducted in accordance with its bylaws. The bylaws +may provide, with respect to the directors, for their qualifications; +for their number; for the place, time, method and manner of their +nomination and election or alternates; for their term of office; for +filling of vacancies; for their meetings; and, generally, for their +rights, powers, duties, privileges, and restrictions. + +No part of the net earnings of the corporation shall inure to the +benefit of, or be distributable to its members, trustees, officers, or +other private persons, except that the corporation shall be authorized +and empowered to pay reasonable compensation for services rendered and +to make payments and distributions in furtherance of the purposes set +forth in these articles. No substantial part of the activities of the +corporation shall be the carrying on of propaganda, or otherwise +attempting to influence legislation, and the corporation shall not +participate in, or intervene in (including the publishing or +distribution of statements) any political campaign on behalf of or in +opposition to any candidate for public office. + +Notwithstanding any other provision of these articles, the corporation +shall not carry on any other activities not permitted to be carried on +(a) by a corporation exempt from federal income tax under section +501(c)(3) of the Internal Revenue Code, or the corresponding section of +any future federal tax code, or (b) by a corporation, contributions to +which are deductible under section 170(c)(2) of the Internal Revenue +Code, or the corresponding section of any future federal tax code. + +Upon the dissolution of the corporation, assets shall be distributed for +one or more exempt purposes within the meaning of section 501(c)(3) of +the Internal Revenue Code, or the corresponding section of any future +federal tax code, or shall be distributed to the federal government, or +to a state or local government, for a public purpose. Any such assets +not so disposed of shall be disposed of by a Court of Competent +Jurisdiction in the District of Columbia, exclusively for such purposes +or to such organization or organizations, as said Court shall determine, +which are organized and operated exclusively for such purposes. + +## Seventh Article : Initial Registered Office + +SEVENTH: The address of the initial registered office of the corporation +is 2020 F Street N.W. Apartment 109, Washington, D.C. 20006, and the +name of the initial registered agent at such address is Nicholas Farr, a +resident of the District of Columbia. + +## Eighth Article : Names and Address of Members of the Initial Board of Directors + +EIGHTH: The number of directors constituting the initial board of +directors is six (6), and the names and addresses of the persons who are +to serve as directors until the first annual meeting or until their +successors are elected and shall qualify are: + +Ryan Clarke - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Litchfield Park, Arizona 85340 + +Nicholas Farr - 2020 F Street N.W. Apartment 109, Washington, D.C. 20006 + +Adam Koeppel - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Washington, D.C. 20009 + +Eric Michaud - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Downers Grove, Illinois 60515 + +Andrew Righter - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Grenloch, New Jersey 08032 + +Allison Treman - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Washington, D.C. 20006 + +## Ninth Article : Name and Address of Incorporators + +NINTH: The name and address of each incorporator are: + +Nicholas Farr - 2020 F Street N.W. Apartment 109, Washington, D.C. 20006 + +Adam Koeppel - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Washington, D.C. 20009 + +Andrew Righter - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, New +Jersey 08032 + +IN WITNESS WHEREOF, I have signed these Articles and acknowledge the +same to be my act. + +__________________________________________ +Date:_______________________ Nicholas Farr + +__________________________________________ +Date:_______________________ Adam Koeppel + +__________________________________________ +Date:_______________________ Andrew Righter + +I, ______________________, A Notary Public, hereby +certify that on the ______ Day of _________, 20__, the +following Incorporators: + +Nicholas Farr - 2020 F Street N.W. Apartment 109, Washington, D.C. 20006 + +Adam Koeppel - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Washington, D.C. 20009 + +Andrew Righter - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC +INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, +Grenloch, New Jersey 08032 + +appeared before me and signed the foregoing document as incorporators, +and have averred that the statements therein contained are true. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Automatic_pad_submission.md b/Automatic_pad_submission.md new file mode 100755 index 0000000..3ee6922 --- /dev/null +++ b/Automatic_pad_submission.md @@ -0,0 +1,12 @@ +Automatic [Pad Submitter](http://software.seosniper.net) with Online +Free Software Submission Service for your [software +promotion](http://software.seosniper.net) from seosniper [Pad +Submission](http://software.seosniper.net). Free User can Submit to 25 +Software Download Sites. From Pro Member You can Submit to 150 Software +Download sites, and RegNow/ShartIT/Plimus Software Submission, and your +pad submission will submit 100 Articles/100 Wikis/200 Directories/100 +SocialBookmarks/500 BlogComments Submission also.From Ulimate Member You +can Submit to 300 Software Download sites, and RegNow/ShartIT/Plimus +Software Submission, and your pad submission will submit 500 +Articles/500 Wikis/500 Directories/500 SocialBookmarks/3000 BlogComments +Submission also. \ No newline at end of file diff --git a/Avr2011_LED_Demo.c.md b/Avr2011_LED_Demo.c.md new file mode 100755 index 0000000..d9e7c7a --- /dev/null +++ b/Avr2011_LED_Demo.c.md @@ -0,0 +1,35 @@ +Cut and paste the following into a file called LED_Demo.c + + /* Blinker Demo */ + + #include /* Defines pins, ports, etc */ + #define F_CPU 8000000UL /* Sets up the chip speed for delay.h */ + #include /* Functions to waste time */ + + #define LED PB0 /* Defines pin PB0 for the LED. I + often include a bunch of the circuit + info in the code this way, which + makes porting the code to another + chip easier and reminds you of how to + hook it up. */ + + void main(void){ + + DDRB = _BV(LED); /* Data Direction Register B: + writing a one to the bit + enables output. More on the + _BV() macro in the next + lesson. */ + + while(1){ /* the main loop, from which we never return */ + + PORTB = _BV(LED); /* Turn on the LED bit/pin in PORTB */ + _delay_ms(400); /* wait */ + + PORTB = 0; /* Turn off everything(!) on PORTB */ + _delay_ms(400); /* wait */ + + } + } + +[Category:Microcontrollers](Category:Microcontrollers "wikilink") \ No newline at end of file diff --git a/Avr2011_LED_Demo_Makefile.md b/Avr2011_LED_Demo_Makefile.md new file mode 100755 index 0000000..5ef0202 --- /dev/null +++ b/Avr2011_LED_Demo_Makefile.md @@ -0,0 +1,400 @@ +Cut and paste the following into a file called Makefile in the same +directory as the LED_Demo.c + + # WinAVR Sample makefile written by Eric B. Weddington, J??rg Wunsch, et al. + # Modified (bringing often-changed options to the top) by Elliot Williams + + # make all = Make software and program + # make clean = Clean out built project files. + # make program = Download the hex file to the device, using avrdude. Please + # customize the avrdude settings below first! + + # Microcontroller Type + #MCU = attiny13 + # MCU = attiny2313 + # MCU = atmega8 + # MCU = attiny45 + # MCU = atmega88 + MCU = atmega88 + + # Target file name (without extension). + TARGET = LED_Demo + + # Programming hardware: type avrdude -c ? + # to get a full listing. + # AVRDUDE_PROGRAMMER = dapa + #AVRDUDE_PROGRAMMER = usbtiny # Note: have to use sudo make for USB + # AVRDUDE_PROGRAMMER = dt006 + AVRDUDE_PROGRAMMER = avr109 + + #AVRDUDE_PORT = /dev/usb # dummy, but it's fun :) + #AVRDUDE_PORT = /dev/parport0 # linux + # AVRDUDE_PORT = lpt1 # windows + AVRDUDE_PORT = /dev/ttyUSB0 + + BAUD_RATE = 9600 + + ############# Don't need to change below here for most purposes (Elliot) + + # Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. + # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) + OPT = s + + # Output format. (can be srec, ihex, binary) + FORMAT = ihex + + # List C source files here. (C dependencies are automatically generated.) + SRC = $(TARGET).c + + # If there is more than one source file, append them above, or modify and + # uncomment the following: + #SRC += foo.c bar.c + + # You can also wrap lines by appending a backslash to the end of the line: + #SRC += baz.c \ + #xyzzy.c + + + + # List Assembler source files here. + # Make them always end in a capital .S. Files ending in a lowercase .s + # will not be considered source files but generated files (assembler + # output from the compiler), and will be deleted upon "make clean"! + # Even though the DOS/Win* filesystem matches both .s and .S the same, + # it will preserve the spelling of the filenames, and gcc itself does + # care about how the name is spelled on its command-line. + ASRC = + + + # List any extra directories to look for include files here. + # Each directory must be seperated by a space. + EXTRAINCDIRS = + + + # Optional compiler flags. + # -g: generate debugging information (for GDB, or for COFF conversion) + # -O*: optimization level + # -f...: tuning, see gcc manual and avr-libc documentation + # -Wall...: warning level + # -Wa,...: tell GCC to pass this to the assembler. + # -ahlms: create assembler listing + CFLAGS = -g -O$(OPT) \ + -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \ + -Wall -Wstrict-prototypes \ + -Wa,-adhlns=$(<:.c=.lst) \ + $(patsubst %,-I%,$(EXTRAINCDIRS)) + + + # Set a "language standard" compiler flag. + # Unremark just one line below to set the language standard to use. + # gnu99 = C99 + GNU extensions. See GCC manual for more information. + #CFLAGS += -std=c89 + #CFLAGS += -std=gnu89 + #CFLAGS += -std=c99 + CFLAGS += -std=gnu99 + + + + # Optional assembler flags. + # -Wa,...: tell GCC to pass this to the assembler. + # -ahlms: create listing + # -gstabs: have the assembler create line number information; note that + # for use in COFF files, additional information about filenames + # and function names needs to be present in the assembler source + # files -- see avr-libc docs [FIXME: not yet described there] + ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs + + + + # Optional linker flags. + # -Wl,...: tell GCC to pass this to linker. + # -Map: create map file + # --cref: add cross reference to map file + LDFLAGS = -Wl,-Map=$(TARGET).map,--cref + + + + # Additional libraries + + # Minimalistic printf version + #LDFLAGS += -Wl,-u,vfprintf -lprintf_min + + # Floating point printf version (requires -lm below) + #LDFLAGS += -Wl,-u,vfprintf -lprintf_flt + + # -lm = math library + LDFLAGS += -lm + + + # Programming support using avrdude. Settings and variables. + + + AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex + #AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep + + AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) + + # Uncomment the following if you want avrdude's erase cycle counter. + # Note that this counter needs to be initialized first using -Yn, + # see avrdude manual. + #AVRDUDE_ERASE += -y + + # Uncomment the following if you do /not/ wish a verification to be + # performed after programming the device. + #AVRDUDE_FLAGS += -V + + # Increase verbosity level. Please use this when submitting bug + # reports about avrdude. See + # to submit bug reports. + #AVRDUDE_FLAGS += -v -v + + #Run while cable attached or don't + AVRDUDE_FLAGS += -F # -E reset #keep chip disabled while cable attached + #AVRDUDE_FLAGS += -E noreset + + ## For AVR109 Bootload Programmer + AVRDUDE_FLAGS += -b $(BAUD_RATE) + + #AVRDUDE_WRITE_FLASH = -U lfuse:w:0x04:m #run with 8 Mhz clock + + #AVRDUDE_WRITE_FLASH = -U lfuse:w:0x21:m #run with 1 Mhz clock #default clock mode + + #AVRDUDE_WRITE_FLASH = -U lfuse:w:0x01:m #run with 1 Mhz clock no start up time + + # --------------------------------------------------------------------------- + + # Define directories, if needed. + DIRAVR = c:/winavr + DIRAVRBIN = $(DIRAVR)/bin + DIRAVRUTILS = $(DIRAVR)/utils/bin + DIRINC = . + DIRLIB = $(DIRAVR)/avr/lib + + + # Define programs and commands. + SHELL = sh + + CC = avr-gcc + + OBJCOPY = avr-objcopy + OBJDUMP = avr-objdump + SIZE = avr-size + + + # Programming support using avrdude. + AVRDUDE = avrdude + + + REMOVE = rm -f + COPY = cp + + HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex + ELFSIZE = $(SIZE) -A $(TARGET).elf + + + + # Define Messages + # English + MSG_ERRORS_NONE = Errors: none + MSG_BEGIN = -------- begin -------- + MSG_END = -------- end -------- + MSG_SIZE_BEFORE = Size before: + MSG_SIZE_AFTER = Size after: + MSG_COFF = Converting to AVR COFF: + MSG_EXTENDED_COFF = Converting to AVR Extended COFF: + MSG_FLASH = Creating load file for Flash: + MSG_EEPROM = Creating load file for EEPROM: + MSG_EXTENDED_LISTING = Creating Extended Listing: + MSG_SYMBOL_TABLE = Creating Symbol Table: + MSG_LINKING = Linking: + MSG_COMPILING = Compiling: + MSG_ASSEMBLING = Assembling: + MSG_CLEANING = Cleaning project: + + + + + # Define all object files. + OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) + + # Define all listing files. + LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) + + # Combine all necessary flags and optional flags. + # Add target processor to flags. + ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) + ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) + + + + # Default target: make program! + all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \ + $(TARGET).lss $(TARGET).sym sizeafter finished end + $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) + + # Eye candy. + # AVR Studio 3.x does not check make's exit code but relies on + # the following magic strings to be generated by the compile job. + begin: + @echo + @echo $(MSG_BEGIN) + + finished: + @echo $(MSG_ERRORS_NONE) + + end: + @echo $(MSG_END) + @echo + + + # Display size of file. + sizebefore: + @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi + + sizeafter: + @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi + + + + # Display compiler version information. + gccversion : + @$(CC) --version + + + + + # Convert ELF to COFF for use in debugging / simulating in + # AVR Studio or VMLAB. + COFFCONVERT=$(OBJCOPY) --debugging \ + --change-section-address .data-0x800000 \ + --change-section-address .bss-0x800000 \ + --change-section-address .noinit-0x800000 \ + --change-section-address .eeprom-0x810000 + + + coff: $(TARGET).elf + @echo + @echo $(MSG_COFF) $(TARGET).cof + $(COFFCONVERT) -O coff-avr $< $(TARGET).cof + + + extcoff: $(TARGET).elf + @echo + @echo $(MSG_EXTENDED_COFF) $(TARGET).cof + $(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof + + + + + # Program the device. + program: $(TARGET).hex $(TARGET).eep + $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) + + + + + # Create final output files (.hex, .eep) from ELF output file. + %.hex: %.elf + @echo + @echo $(MSG_FLASH) $@ + $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ + + %.eep: %.elf + @echo + @echo $(MSG_EEPROM) $@ + -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ + --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ + + # Create extended listing file from ELF output file. + %.lss: %.elf + @echo + @echo $(MSG_EXTENDED_LISTING) $@ + $(OBJDUMP) -h -S $< > $@ + + # Create a symbol table from ELF output file. + %.sym: %.elf + @echo + @echo $(MSG_SYMBOL_TABLE) $@ + avr-nm -n $< > $@ + + + + # Link: create ELF output file from object files. + .SECONDARY : $(TARGET).elf + .PRECIOUS : $(OBJ) + %.elf: $(OBJ) + @echo + @echo $(MSG_LINKING) $@ + $(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) + + + # Compile: create object files from C source files. + %.o : %.c + @echo + @echo $(MSG_COMPILING) $< + $(CC) -c $(ALL_CFLAGS) $< -o $@ + + + # Compile: create assembler files from C source files. + %.s : %.c + $(CC) -S $(ALL_CFLAGS) $< -o $@ + + + # Assemble: create object files from assembler source files. + %.o : %.S + @echo + @echo $(MSG_ASSEMBLING) $< + $(CC) -c $(ALL_ASFLAGS) $< -o $@ + + + + + + + # Target: clean project. + clean: begin clean_list finished end + + clean_list : + @echo + @echo $(MSG_CLEANING) + $(REMOVE) $(TARGET).hex + $(REMOVE) $(TARGET).eep + $(REMOVE) $(TARGET).obj + $(REMOVE) $(TARGET).cof + $(REMOVE) $(TARGET).elf + $(REMOVE) $(TARGET).map + $(REMOVE) $(TARGET).obj + $(REMOVE) $(TARGET).a90 + $(REMOVE) $(TARGET).sym + $(REMOVE) $(TARGET).lnk + $(REMOVE) $(TARGET).lss + $(REMOVE) $(OBJ) + $(REMOVE) $(LST) + $(REMOVE) $(SRC:.c=.s) + $(REMOVE) $(SRC:.c=.d) + $(REMOVE) *~ + + # Automatically generate C source code dependencies. + # (Code originally taken from the GNU make user manual and modified + # (See README.txt Credits).) + # + # Note that this will work with sh (bash) and sed that is shipped with WinAVR + # (see the SHELL variable defined above). + # This may not work with other shells or other seds. + # + %.d: %.c + set -e; $(CC) -MM $(ALL_CFLAGS) $< \ + | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ + [ -s $@ ] || rm -f $@ + + + # Remove the '-' if you want to see the dependency files generated. + -include $(SRC:.c=.d) + + + + # Listing of phony targets. + .PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \ + clean clean_list program + +[Category:Microcontrollers](Category:Microcontrollers "wikilink") \ No newline at end of file diff --git a/Avr2011_Programming_The_Kit.md b/Avr2011_Programming_The_Kit.md new file mode 100755 index 0000000..d77cccd --- /dev/null +++ b/Avr2011_Programming_The_Kit.md @@ -0,0 +1,105 @@ +# Software: + +If you haven't already installed the laptop-side software toolchain, see +[Installing AVR Toolchain](Installing_AVR_Toolchain "wikilink") and come +on back. + +# Hookup: + +- your laptop +- an FTDI cable +- the classboard, populated with chip and FTDI header + +The chips we use in class are pre-flashed with a bootloader, which means +that you can program them over the AVR's serial port. + +Plug the FTDI cable into the board -- black wire to GND. + +
+ +
_avr2011_cable_hookup.jpg
+
+ +# Getting the Board Into Bootloader Mode + +When the chip starts up, the bootloader program checks if the "B" button +(connected to PD2) is pressed. If the button is pressed, it sits and +waits for programming data to come in over the serial line. If the +button isn't pressed, it starts your program. So, what you want to do is +reset the chip while the "B" button is pressed. + +To get the chip into ready-to-program Bootloader Mode: + +- Hold down the "B" button +- Tap the "A" button (RESET) +- Now you can release the "B" button + +You can tell you're in bootloader mode because your normal code won't be +running. If you had and LED on or blinking, for instance, it won't be +now. + +# Programming the Chip + +- Get the chip into bootloader mode +- While you're in the directory with your code and the Makefile, type + "make" or "sudo make" into the terminal +- Your code will compile, and it will upload your code to the chip +- The chip will automatically reset and start running your program + +If all is well, you will see + + avrdude: erasing chip + avrdude: reading input file "LED_Demo.hex" + avrdude: input file LED_Demo.hex auto detected as Intel Hex + avrdude: writing flash (156 bytes): + + Writing | ################################################## | 100% 0.21s + + + + avrdude: 156 bytes of flash written + avrdude: verifying flash memory against LED_Demo.hex: + avrdude: load data flash data from input file LED_Demo.hex: + avrdude: input file LED_Demo.hex auto detected as Intel Hex + avrdude: input file LED_Demo.hex contains 156 bytes + avrdude: reading on-chip flash data: + + Reading | ################################################## | 100% 0.19s + + + + avrdude: verifying ... + avrdude: 156 bytes of flash verified + + avrdude: safemode: Fuses OK + + avrdude done. Thank you. + +# If there are errors... + +Common problems and their solutions include: + +- Permissions to write to USB port. Solution: keep typing "sudo make" or + add yourself to the USB output group: + Ubuntu: sudo usermod -a -G dialout yourNameHere + + + +- /dev/ttyUSB0 not found. Is the FTDI cable plugged in? Try "lsusb" to + see if it's there. Try "ls /dev/ttyUSB\*" to see if it's registered as + USB1. Edit Makefile accordingly, and remember that you'll probably + have to change it back later. + + + +- Bugs in your code -\> failure to compile. If you get something like: + `Compiling: LED_Demo.c` + `LED_Demo.c: In function ???main???:` + `LED_Demo.c:22: error: expected ???;??? before ???while???` + `make: *** [LED_Demo.o] Error 1` + you have an error in your code that's preventing compilation. Read the + error output for hints, tweak your code, and try again. (In this case, + I left out a ';' in line 20.) + +[Category:AVR_Class](Category:AVR_Class "wikilink") \ No newline at end of file diff --git a/Avr2011_kit.md b/Avr2011_kit.md new file mode 100755 index 0000000..5d5bf38 --- /dev/null +++ b/Avr2011_kit.md @@ -0,0 +1,244 @@ +### Kit Contents + +You will need: + +1\) AVR ATMega microcontroller 2) AVR Classboard printed-circuit-board +3) Eight resistors (~120 ohm) 4) Eight LEDs (I like the small square +ones) 5) 1 uF capacitor 6) 0.1 uF capacitor 7) Two push buttons 8) 6-pin +header to connect the FTDI serial cable 9) A small-signal diode for +backward-power protection (optional, but certainly won't hurt) + +
+ +
_avr2011_kitContents.jpg
+
+ +(D'oh! I left the AVR out of the photo. You should have one.) + +### A Brief Tour of the Board + +Before you start assembling anything, have a look at the printed circuit +board. + +
+ +
avr2011_pcb.jpg
+
+ +Big and bold in the center is the location for the AVR chip. Notice the +notch in the silkscreen at one end? That corresponds to a notch on the +top of the AVR chip, and helps you get it in the right orientation when +the time comes. + +Just to the outside of the AVR chip itself, you'll see two rows of holes +labelled for the port/pin combinations that appear in the datasheet. For +instance, just below the chip see the two rows labelled PORTD, and PD0 +-- PD7. See how there are tiny white lines connecting the two rows of +holes, pairwise? Those indicate that the two holes are electrically +connected to each other. This was a convenience -- you can solder two +things easily to each AVR pin. One side of the chip has PD0-PD7, the +other has PB0-PB7 and PC0-PC6. + +Just outside of the AVR connection points, you'll see two more rows of +holes, labelled VCC and GND respectively. GND is connected to the +board's ground plane, and so is at 0V. VCC is connected to the board's +power supply and is whatever voltage you're using to drive the whole +mess -- In class, I'll refer to this as VCC or I usually just call this +5V. + +And finally, at the edge of the board is another pair of rows of holes. +These are electrically connected in pairs, and are just there to allow +you to connect things together easily. For the LED array, we'll use +these paired holes to connect the resistor to the positive end of the +LED. + +Other stuff: + +To the left of the AVR, there are holes for two buttons, a protection +diode, power-supply buffering capacitors, an optional power LED and its +resistor, a 3x2 SPI programming header, and the 6-pin inline FTDI cable. + +Below the AVR chip area and to the right, there's more prototyping space +-- just sets of holes electrically connected to each other in ways to +facilitate soldering stuff up. + +The power LED and it's associated LED are optional and included for your +creative use/abuse. Everyone should solder the coolest LED they can find +in here, with a 100-1k ohm resistor, depending on how bright you want +it. + +And those white areas? They're for writing your initials on. Or notes. +Tiny, little notes. + +### Assembling the Kit + +0\) If you're new at soldering (or even if you're not) go spend seven +minutes with [the best soldering video +ever](http://www.youtube.com/watch?v=I_NU2ruzyc4). + +1\) To get your feet wet soldering, install the two capacitors. They can +go in either capacitor position, and are non-polarized (can go in either +way). When you clip off the leads from the capacitors, save the wire for +the next step. + +2\) Now install the two pushbuttons. They're oblong, but there's no top +or bottom. + +3\) Solder in the protection diode. Notice that it's polarized, with a +black band on the diode itself corresponding to the little band in the +silkscreen. + +4\) Above the buttons, there are two pairs of holes -- these connect the +button to the pin on the AVR when they're jumpered together. (I did this +for flexibility so that you could connect the buttons up to other pins +later as you wish.) Take two of the leads you saved in step 1) and +connect each pair of holes together. + +
+ +
avr2011_jumpers.jpg
+
+ +5\) Solder in the 6-pin header for the FTDI cable. Rather than doing it +the way I did (which covers the labels on the circuit board) why not +mount the header on the bottom side like Ed did? + +
+ +
avr2011_ftdiInstall.jpg
+
+ +6\) Now start on the LEDs -- in PORTB pins PB0 through PB7. They _are_ +polarized, and you'll notice that one lead is longer than the other. The +short lead gets connected to ground, while the long lead will eventually +connect through a resistor to the AVR output pins. (Resistors soldered +in next step.) Place the LEDs so that their short leads are in the +ground strip (labelled GND), and the long lead is in one of the outside +rows of hookup holes. Orientation matters here. Double-check it before +soldering? + +
+ +
avr1022_rowLEDs.jpg
+
+ +For aligning the LEDs, I had success putting them all face-down on the +table, and using the fact that they have rectangular faces. Pro-tip: +solder one pin on each LED, make sure they're in a nice line, and +re-heat any that you need to wiggle into place. Then solder in the +second pin on each LED. + +
+ +
avr2011_aligningLEDs.jpg
+
+ +7\) Once you've done the LEDs, you can solder in their resistors. These +fit most easily and cleanly on the underside of the board, so you'll +want to trim off the extra leads from the LEDs before installing. You +want to solder each resistor to the outside strip of holes that +connected to the positive (long) pin of the LEDs, and the other end of +the resistor to the pins of the AVR. Notice that you're working on the +back-side of the board! Double-check that you're not connecting the +resistor to the VCC line that is closest to the LED. + +avr2011_LEDresistors.jpg + + + +8\) At this point, you can install the chip. They come from the factory +with the pins splayed out a little bit -- you can lean the chip into a +tabletop to straighten the pins out. Place the chip with the notch on +the top of the chip corresponding to the notch in the silkscreen. +Double-check. Solder. + +_avr2011_chipBending.jpg +_avr2011_chipAlignment.jpg + +9\) Optional fun stuff: Feel free to solder in an artistic power LED and +its resistor. (Note the polarization. Short pin downwards, or notice +that there's a flat-spot on the LED flange.) Write your name on it. Wire +up the battery (black wire to GND). + + +_avr2011_kitDone2.jpg + +10\) You should now be ready to flash in your first program. Hooray. +From here on it's (mostly) firmware! + +### Adding the Light Sensor for Class 2 (ADC) + +For the light sensor, you're creating a voltage divider with the +photoresistor and two legs of the potentiometer used as a variable +resistor. The photoresistor is connected to VCC and the AVR pin PC0, and +the variable resistor from PC0 to ground. + +In the following image, the red pins represent the potentiometer, and +the blue are the leads from the photoresistor. + +
+ +
500 px
+
+ +Start out by placing and soldering the potentiometer on the underside of +the board. Make sure that the smaller center pin connects to the ground +lines. Do _NOT_ clip the leads short yet. + +
+ +
500 px
+
+ +Bend one lead on the variable resistor up and over the two other holes +on the board, and plug it into PC0. Solder it in on the top side. Now +soldering the photoresistor in place should be easy. + +
+ +
500 px
+
+ +Flash in the light sensor firmware and turn the potentiometer until it +give you a nice range of values on the LED display. I found that turning +it up to _just_ max out in full light works well -- you'll see that +it'll get down to one or two bars when you cover the cell with your +hand. You're done! + +### Schematics, etc + +If you'd like to make yourself a class-board, the attached Eagle files +should get you started. + +Warning: It's a good idea to socket your AVR in the board so that you +can remove/swap chips when you want to. + +Also, the LEDs in port B will over-ride the SPI port. For the class, we +used AVRs with a bootloader already flashed into them, so we didn't use +the SPI most of the time. If you'd like to use the SPI instead, you can +**probably** get away with using large-value (1k Ohm?) resistors for the +LEDs. Best is to omit them if you're going to use the SPI a lot, though. + +[Media: +mega_classboard_files.zip](Media:_mega_classboard_files.zip "wikilink") + +Finally, if you want something with almost all of the functionality (but +none of the style!), Evil Mad Science sells a nice, very cheap, AVR Mega +breakout board. + +[Category:Microcontrollers](Category:Microcontrollers "wikilink") +[Category:AVR_Class](Category:AVR_Class "wikilink") \ No newline at end of file diff --git a/BATMAN-Advanced_Setup.md b/BATMAN-Advanced_Setup.md new file mode 100755 index 0000000..bea45a6 --- /dev/null +++ b/BATMAN-Advanced_Setup.md @@ -0,0 +1,72 @@ +## Compile and install BATMAN-Advanced + +Download batman-adv and batctl. Standard "make && sudo make install". + +If no interface "wlan0" exists, check for a different wireless interface +using 'ifconfig -a' + +## Setup ad-Hoc network + +1. Disable NetworkManager + 1. Right-click on NetworkManager applet, un-check "Enable + networking". + 2. Fedora: + # /etc/init.d/NetworkManager stop + 3. Ubuntu: + # stop network-manager + +2. Disable the firewall + 1. # iptables -F + +3. # ifconfig wlan0 down + +4. # iwconfig wlan0 mode ad-hoc essid hacdc-batman channel 8 + +5. # ifconfig wlan0 up + +## Setup BATMAN-Advanced + +In the unpacked 'batman-adv' directory: + +1. # insmod batman-adv.ko + +In the batctl directory: + +1. # ./batctl if add wlan0 + +2. # ifconfig wlan0 mtu 1527 + +3. # cat /sys/class/net/wlan0/batman_adv/iface_status + + Should read "active". + +4. # ifconfig wlan0 0.0.0.0 + +5. # ifconfig bat0 up + +6. give bat0 an IP address + 1. ifconfig w.x.y.z netmask a.b.c.d up + 2. dhcp + 3. dhcp6 + 4. dhclient + 5. Avahi/zeroconf + 6. IPv6 + +## Testing BATMAN-Advanced + +Display local table of known peers (by MAC address of node): + +1. batctl o + +Ping by batX MAC address of nodes: + +1. batctl p uu:vv:ww:xx:yy:zz + +Monitor traffic of batX interface: + +1. tcpdump -i bat0 -s 0 -v -X -n + +Test connectivity between nodes: + +1. ping6 -p DEADBEEF -I bat0 (IPv4 address of host) +2. ping6 -p DEADBEEF -I bat0 (IPv6 address of host) \ No newline at end of file diff --git a/BATMAN.md b/BATMAN.md new file mode 100755 index 0000000..5e26a43 --- /dev/null +++ b/BATMAN.md @@ -0,0 +1,150 @@ +**BATMAN is depreciated in favor of BATMAN-Adv or Babel** + +- Decentralization of routing knowledge. +- No node has all of the routing data possible. +- Propagation of routing information is not done with broadcast. +- Nodes have only information about routes packets were received from. + + + +- Stable. +- Slow convergance times. + + + +- Other BATMAN nodes are detected and noted. +- New nodes are noted. Neighbors are informed. + + + +- Every node broadcasts its existence periodically. \< 200 seconds. +- These periodic updates overwrite contradictory information. +- Neighbors relay this information until every node has heard about it. +- Nodes which are currently considered the best next hop are considered + neighbors. +- A particular node counts the number of messages sent in reply for + every node and determines the route length that way. +- Each node only knows about routes to its neighbors. It lets neighbors + worry about additional hops. +- Good routes, by definition, propagate farther than dodgy ones. +- Timeless FSM: events are used to react to changing network conditions, + not timers. + + + +- Aims for easy, small, and fast. +- Supports multiple network devices of probably any kind. All are used + to retransmit packets. +- Nodes can inform other nodes that they're gateways to the Net. +- Nodes can announce that they are gateways from the mesh to an attached + LAN providing services. + + + + + +- Branches: major variants of not only the codebase but the protocol + itself. +- batmand operates at layer 3. +- batman-adv users the version III algorithm, but operates at layer 2. +- Implemented as a kernel module for speed. +- batctl is the control utility. + + + +- v0.3 makes use of the kernel's policy routing capabilities. + + + +- Four routing tables. +- View routing tables: + - batmand -i \| grep rt_table + - rt_table_networks: entries for announced networks. + - rt_table_hosts: all reachable BATMAN nodes. + - rt_table_unreach: + - rt_table_tunnel: default route if the client uses routing_class + and a gateway is involved. + + + +- Need to use the ip command (iproute2 package). +- Makes use of advanced IP routing tools. + - batmand -i \| grep rt_prio + - ip rule +- Allows you to separate client nodes from network routers. +- BATMAN related routing tables are easy to flush because they're + separate. +- The normal routing table can be messed with without disturbing + batmand's operation. + + + +- batmand can announce that a node is a gateway to the Net by announcing + how much downlink bandwidth it has available: + - batmand -g + - batmand -g 1500kbit eth0 +- Opens new tunnel interface gateX, automagically sets route. +- Gateway interface must NAT traffic! +- batmand v0.3.2 and newer will automatically call iptables to configure + NAT. +- Stop announcing a gateway: + - batmand -c -g 0 +- Announce a perferred gateway: + - batmand -c -p 1.2.3.4 + + + +- batmand must be configured to watch for announced gateways. + - batmand -r 1 + - Considers link quality and gateway class before using for downlink. + - Kept open as long as possible for statefulness. + + + +- - batmand -r 2 + - Considers link quality toward gateway. + + + +- - batmand -r 3 + - Considers link quality, but will drop tunnel for one with a better + link it it sees one. + + + +- - batmand -r \[3-256\] + - Considers link quality, but will switch to another as soon as a new + one has an X better transmission quality metric. + +To reduce load if there are many clients, the batgat.ko module can do +all of this from kernelspace. batmand automatically looks for a loaded +batgat.ko module, and will use it if one is found. batgat.ko has been in +the kernel since v2.6.33. Can separately compile and install later +versions of the module if upgrading the kernel isnt' an option. v2.6.33 +-\> batman-adv v0.2.0 ... v2.6.36 -\> batman-adv v2010.1.0 v2.6.37 -\> +batman-adv v2010.2.0 v2.6.38 -\> batman-adv v2011.0.0 Because it's at +layer 2, it doesn't use UDP for transport: raw 802.11 frames. Implements +a virtual network switch. Thus, doesn't care about anything higher than +it on the stack. You can not use IP if you want. Non-mesh clients are +easier to handle. Client roaming is easier. Easier to optimize traffic +flow. + +Static hosts not running batmand must be explicitly announced - called +HNA. These announcements tell every batmand node that a network segment +/foo/ has non-clients available. The non-BATMAN network must have routes +back, possibly NAT. Example: web servers on 192.168.1.0/24: + +`   batmand -c -a 192.168.1.0/24` +`   batmand -c -a 192.168.1.0/24 -a 192.168.30.0/24` + +Revoking an announcement: + +`   batmand -c -A 192.168.1.0/24` +`   batmand -c -A 192.168.1.0/24 -A 192.168.30.0/24` + +No inherent security. Designed for community, not for privacy. Do +encryption higher in the stack. SSL, TLS, IPsec... use good Tor +security. + +Can be found in the Debian repository. Available for many embedded Linux +platforms. Comes with OpenWRT. \ No newline at end of file diff --git a/Babel.md b/Babel.md new file mode 100755 index 0000000..d175e60 --- /dev/null +++ b/Babel.md @@ -0,0 +1,188 @@ +Available in most Linux distributions (including Arch, Debian, OpenWRT). + +# Features + +Distance vector routing protocol: + +- Direction in which a packet should be forwarded. +- Interface to which a protocol should be sent +- Direction == address of next hop and exit interface +- Distance from destination +- Cost of reaching destination is computed using various metrics + + + +- Designed for both wireless (in ad-hoc mode) and wired network routing. +- Designed with mobile nodes in mind. +- Can route both IPv4 and IPv6 simultaneously and transparently. Doesn't + care which layer 3 protocols are running on top of it. +- Converges rapidly. +- Triggered updates. +- Explicit requests for routing information rather than continual + broadcasting. + + + +- Uses link quality metrics. +- Metric: packet loss, interference (optional) and RTT (optional). +- History sensitive to avoid route flapping. + + + +- Does not optimize route tables immediately, more concerned with + stability than slim tables. Premature optimization is the root of all + coders' anguish, and all that. +- This is used to cure route starvation. +- Used to choose feasibility of a particular route. +- Every route carries a sequence number that never decreases and is + propagated unchanged through the network. +- Only the route's source can ever increment that number. +- If the sequence number is more recent that the feasibility distance + maintained by the receiving node, or if it's equally recent but the + metric is smaller, then that particular route will be selected. +- Routes become feasible again after the sequence number is incremented. +- Ideal for embedded systems due to the properties inherent of DVRPs. + + + +- Most routing loops are avoided, remaining routing loops are transient, + disappear in time proportional to the diameter of the loops. +- Routers take note of loops and ensure that they do not recur. + + + +- Highly mobile nodes may elect to use shorter time constants, to + reflect their changing environment more accurately. + + + +- Nodes periodically broadcast HELLO packets. Nodes also respond to + HELLO broadcasts from neighboring nodes with I HEARD YOU packets. + These are used to calculate link costs. +- Periodically, every node B broadcasts a routing update D(B). + +Every neighboring node A checks to see if B is its next hop. If so, + +`   NH(A) = B` +`   D(A) = C(A, B) + D(B)` + +otherwise, + +`   if (C(A, B) + D(B)) < D(A)` +`       the received route is a better one` +`       NH(A) = B` +`       D(A) = C(A, B) + D(B)` + +For any node A: + +`   estimated distance to node S = D(A)` +`   next hop router to node S = NH(A)` + +Initially, D(S) == 0, D(A) == infinity, NH(A) == UNDEFINED + +If a route has to be retracted for any rason, babeld flags that route as +UNREACHABLE for a few minutes. Even if the route comes back it won't be +used until that timer is up. This is usually the worst case propagation +time for the route to a particular node C. + +Every Babel router gets a unique ID, a string of 8 octets. + +- Transmitted over UDP. +- Sent with a unicast source address to a multicast address (usually). +- Known neighbors get both multicast and unicast (directed to a + particular node). + +# Usage + +How to use babeld: Put the NIC into ad-hoc mode: + +`   iwconfig wlan0 mode ad-hoc channel X essid "mesh"` +`   ifconfig wlan0 up` + +All nodes need to have unique IP addresses. IPv4 at least, IPv6 if you +have it. + +`   ifconfig wlan0 192.168.13.37/32` +``    ifconfig wlan0 `generate-ipv6-address -r`/128 `` + +Start babeld: + +`   babeld wlan0` + +If there are multiple network interfaces: + +`   babeld wlan0 eth1 eth2 ppp0 ...` + +If a specific network gateway router exists, set it: + +`   route add default gw 1.2.3.4 dev eth1` + +These are often set on a per-node basis. For example, babeld is running +on a laptop with both wireless and wired interfaces. + +Then redistribute routes through the mesh: + +`   babeld -C 'redistribute metric 128' eth1` + +It is possible to redistribute the routes associated only with a +particular network interface: + +`   babeld -C 'redistribute if eth2 metric 128' eth1` + +Other babeld options: + +`   -h ``: interval in seconds between HELLO broadcasts over wireless.` +`       Default: 4 sec.` +`   -H ``: as -h, only for wired interfaces.` + +babeld is not designed for security. An attacker that is link-local can +inject packets, just like ARP. Local firewalls, if applicable, should be +configured to allow Babel packets. Default: 6697/UDP + +# Accessories + +## AHCPD + +AHCP can also be used to configure routing when using babeld: + +`   `[`http://www.pps.jussieu.fr/~jch/software/ahcp/`](http://www.pps.jussieu.fr/~jch/software/ahcp/) + +Arch Linux package downloaded, compiled, and ready to install. + +Automagically configures IPv6 and IPv4/IPv6 networks when babeld is +used. Implements router discovery. Replaces DHCP. Configures IPv? +addresses, DNS, NTP. Does not configure default routes, that's babeld's +job. + +Setting up an authoritative AHCP server: + +`   Configure /etc/ahcpd.conf appropriately.` +`   ahcpd -c /etc/ahcpd.conf -D wlan0` + +Does not need to run as root, only needs to be able to write a pidfile +and the lease database. If the server can sync its clock using NTP, it +will. If it can't it will only give short leases and be careful with +releasing them. Multiple servers can run on the same mesh so long as +they work different IPv4 netblocks. + +Other options: + +`   -t `` - time in second that leases are offered for.` +`   -L /path/to/log - Specify a logfile.  By default, /var/log/ahcpd.log` + +kill -USR1 to print server status to logfile. kill -USR2 checks for +interface status changes, then reopens logfile. + +Running an AHCP client: + +`   ahcpd wlan0` + +Designed for mesh networks. Doesn't set default gateway, netmask, or +on-link prefixes for IPv6. + +## WebGUI + +haxwithaxe doesn't know how this works yet but it looks really cool. +[babelweb](http://babelweb.wifi.pps.univ-paris-diderot.fr:8080) + + git clone git://git.wifi.pps.univ-paris-diderot.fr/babelweb.git \ No newline at end of file diff --git a/Babel_Setup.md b/Babel_Setup.md new file mode 100755 index 0000000..29e1488 --- /dev/null +++ b/Babel_Setup.md @@ -0,0 +1,34 @@ +## Compile and install Babel + +Download babeld and ahcpd. Standard "make && sudo make install". + +On OS X: rt lib is not available in OS X, the ahcpd README is missing +this info + + make LDLIBS='' + make install + +## Setup ad-Hoc network + +1. Disable NetworkManager + 1. Right click on NetworkManager applet, un-check "Enable + networking". + 2. Fedora: + # /etc/init.d/NetworkManager stop + 3. Ubuntu: + # stop network-manager + +2. Disable the firewall + 1. # iptables -F + +3. # ifconfig wlan0 down + +4. # iwconfig wlan0 mode ad-hoc essid hacdc-babel channel 9 + +5. # ifconfig wlan0 up + +## Setup Babel + +1. # babeld -D wlan0 + +2. # ahcpd -D wlan0 \ No newline at end of file diff --git a/Basement.md b/Basement.md new file mode 100755 index 0000000..25a03dd --- /dev/null +++ b/Basement.md @@ -0,0 +1,34 @@ +The basement contains various shelves and our more dangerous/high +powered/shop type equipment. + +## Location + +The basement is at St. Stephen and the Incarnation Episcopal Church. It +is locked and access is somewhat restricted. + +## Organization + +It's not really organized according to any principle currently. + +## Equipment + +Optical Table Robot + +CNC Lathe + +Tons of stuff... + +## Storage + +See organization. + +## Secure Rack + +We have a rack and servers in the basement. + +## Outgoing + +The outgoing area is in the basement. + +[Category:In_the_Space](Category:In_the_Space "wikilink") +[Category:Basement](Category:Basement "wikilink") \ No newline at end of file diff --git a/BasementShelves.md b/BasementShelves.md new file mode 100755 index 0000000..d7dcf28 --- /dev/null +++ b/BasementShelves.md @@ -0,0 +1 @@ +1. REDIRECT [Basement Shelves](Basement_Shelves "wikilink") \ No newline at end of file diff --git a/BasementShelvesDocumentation.md b/BasementShelvesDocumentation.md new file mode 100755 index 0000000..e7690e5 --- /dev/null +++ b/BasementShelvesDocumentation.md @@ -0,0 +1,2 @@ +1. REDIRECT [Basement Shelves + Documentation](Basement_Shelves_Documentation "wikilink") \ No newline at end of file diff --git a/BasementShelvesUpgrades.md b/BasementShelvesUpgrades.md new file mode 100755 index 0000000..41bbcd8 --- /dev/null +++ b/BasementShelvesUpgrades.md @@ -0,0 +1,2 @@ +1. REDIRECT [Basement Shelves + Upgrades](Basement_Shelves_Upgrades "wikilink") \ No newline at end of file diff --git a/Basement_Shelves.md b/Basement_Shelves.md new file mode 100755 index 0000000..0135441 --- /dev/null +++ b/Basement_Shelves.md @@ -0,0 +1 @@ +[BasementShelves](http://wiki.hacdc.org/index.php/Category:BasementShelves) \ No newline at end of file diff --git a/Basement_Shelves_Documentation.md b/Basement_Shelves_Documentation.md new file mode 100755 index 0000000..d00f6f2 --- /dev/null +++ b/Basement_Shelves_Documentation.md @@ -0,0 +1,34 @@ +# Design + +Initial design by mirage335 for HacDC Basement. Intended for placement a +few feet away from wall in either or both rooms as necessary, accessible +from both sides, providing a sort of warehouse. + +# Specifications + +- 8' high, 16' long, 4' deep, 16" elevations +- 64 square feet per shelf +- 6 shelves total +- 384 usable square feet, including floor, excluding top shelf + +# Render + +BasementShelves-Render.png + + +# OpenSource + +Please see [github](https://github.com/HacDC/BasementShelves) for CAD +model, BOM, and simulation results. + +# Credits + +Special thanks to Zack for initiative, financing, material sourcing, +timely design advice, the right tools, rigging, and most of the heavy +lifting. Also thanks to Martin, Ben Mendis (aka. sitwon), haxwithaxe, +and others for feedback. + +[Category:BasementShelves](Category:BasementShelves "wikilink") \ No newline at end of file diff --git a/Basement_Shelves_Upgrades.md b/Basement_Shelves_Upgrades.md new file mode 100755 index 0000000..48e7883 --- /dev/null +++ b/Basement_Shelves_Upgrades.md @@ -0,0 +1,78 @@ +![Before and after, same +exposure](Shelf_lights_v0.9.gif "Before and after, same exposure") + +## LED Lighting + +Feb 2014: LED strips have been added to the underside of each shelf by +[Gatohaus](User:Gatohaus "wikilink") +([talk](User_talk:Gatohaus "wikilink")). These are SMD 5050 strips, 5m +long, 300 LEDs each that draw 1.2A per meter at 12v. Note they have been +trimmed nearly a foot each to fit. Total maximum wattage for the 10 +strips currently in place is 10 x 72w = 720w. Output is around 800-900 +lumens per meter. (~40k lumens) A good balance between light and heat +(longevity) seems to be in the 3 to 4A per strip range. + +The location of the strips was chosen: to be somewhat protected, to +light the shelf adequately, to avoid as much glare as possible, and to +provide significant spillage into the surrounding area. + +Feb 2014: **Expect a few of the strips to fall down.** Some are still +partially attached by their adhesive tape which won't really fail until +they're warm for a while. When they do fail, reattach them with a hot +glue gun. That seems (fingers crossed) to be permanent. + +### Lessons Learned + +#### Strip Choice + +SMD 3528's were also tested (the strip remains in use on the shelves). +The 5050's were the same price (~\$12) at about the same efficiency but +allow for a higher maximum brightness (and greater power draw of +course). + +#### Adhering the strips + +The tape adhesive that comes on the strips works very poorly on OSB +(shelving material used). They'll hold while the lights are off, but +once they warm up the adhesive begins to fail. I tried 3M's "77" spray.. +an embarrassing failure. It too loses adhesion when warmed. + +Trying mechanical attachments, typically a nail or staple with a plastic +brace, the type used to hold cables in place, proved troublesome. The +OSB is hard enough that significant force is required with a hammer to +drive the nails in. Over a span of 50m of LEDs it seems likely that +misses would occur probably smashing some of the LED components. + +In the end a simple hot glue gun seems to have worked. + +#### Wiring & Power + +In hindsight it would have been better to mount the strips with more of +the connecting leads sticking out at the end. The leads can easily be +replaced if needed, they're just surface mounted. + +I used a PC's ATX power supply which has 2 x 12v at 15A. (I +managed to damage this ps somehow.) I don't know how efficient it is but +after spending several hours hunting for options in our collection of +stuff, this seemed the best choice. Perhaps it can be replaced at some +point. I'm giving one of the 15A sources to the lower 3 shelves, and the +other to the top two shelves. This means the upper ones will be +brighter, but the spill over will help illuminate the surrounding area. + +Temporarily (which tends to become permanent) there is another ATX ps +plus a couple of in-line wall warts in place of the ATX mentioned above. +This ATX has 12v at 21A and the two wall warts have 5A and 2.5A at 12v. +Not quite the distribution I'd like, but it works. + +**Well... almost works...** After being on for half an hour or so the +21A ATX takes a nap. Exhaust air feels cool, but it's probably too much +of a load. So I added *another* computer power supply (~5A) to help out. +Seems to be stable. Need help either repairing the original ATX supply +or finding something else. + +### Things to Improve + +In general I'm not exactly proud of the wiring. It's solid and safe, but +not quite pretty. If someone wishes to redo this work, please do! + +[Category:BasementShelves](Category:BasementShelves "wikilink") \ No newline at end of file diff --git a/Batch_III.md b/Batch_III.md new file mode 100755 index 0000000..f25f7e6 --- /dev/null +++ b/Batch_III.md @@ -0,0 +1 @@ +This list was ancient. Delete this. \ No newline at end of file diff --git a/Big_blue_button.md b/Big_blue_button.md new file mode 100755 index 0000000..6260439 --- /dev/null +++ b/Big_blue_button.md @@ -0,0 +1,24 @@ +## Introduction + +Big Blue Button is an open source communication framework that allows +for video-conferencing and more. It would allow this hackerspace to host +video conferences for other hackerspaces/makerspaces and organizations +which would further enhance our ability to communicate and share +resources. + +[Watch this video for a full +introduction](https://www.youtube.com/watch?v=6Saztv2WlKI) + +## Infrastructure + +We will be using a high-cpu Digital Ocean droplet 8GB Ram/50GB SSD/4 +CPUs. This was presented as a viable option by a very helpful Fred Dixon +from Blindside Networks. + +We will use chill.hakely.org as our domain name until another +more-appropriate domain name is decided upon. + +## Software Installation + +[Check Server +Specs](http://docs.bigbluebutton.org/install/install.html#check-server-specs) \ No newline at end of file diff --git a/Bike_Maintenance_Class.md b/Bike_Maintenance_Class.md new file mode 100755 index 0000000..41d399c --- /dev/null +++ b/Bike_Maintenance_Class.md @@ -0,0 +1,29 @@ +__notoc__ This is a 6 week series intended for all skill/knowledge +levels. Each class will have a hands on portion so bring your bike in, +stands will be provided. If you can't, don't worry, each class will have +relevant demo bikes and components on hand. Tools will be limited so +bring in your own if you have them. + +## Lesson Overviews + +- [Week 1, Introduction and Flat + Repair](Bike_Maintenance_Class:_Week_1,_Introduction_and_Flat_Repair "wikilink") +- [Week 2, Basic Fit, Component Materials, and Brake + System](Bike_Maintenance_Class:_Week_2,_Basic_Fit,_Component_Materials,_and_Brake_System "wikilink") +- [Week 3, Drivetrain and + Shifting](Bike_Maintenance_Class:_Week_3 "wikilink") + +## Online Resources + +[Sheldon Brown](http://www.sheldonbrown.com/) - More than you'll ever +want to know about bikes. [Park Tool Repair +Help](http://www.parktool.com/blog/repair-help) - World class tool +company with great, straight forward how-to's. +[WABA](http://www.waba.org/) - Washington Area Bicycle Association. +Awesome people, awesome resource. + +## Offline Resources + +Your local bike shop! Go support them! + +[Category:Bike_Maintenance_Class](Category:Bike_Maintenance_Class "wikilink") \ No newline at end of file diff --git a/Bike_Maintenance_Class__Week_1,_Introduction_and_Flat_Repair.md b/Bike_Maintenance_Class__Week_1,_Introduction_and_Flat_Repair.md new file mode 100755 index 0000000..17aae8d --- /dev/null +++ b/Bike_Maintenance_Class__Week_1,_Introduction_and_Flat_Repair.md @@ -0,0 +1,79 @@ +[Bike Maintenance Class:](Bike_Maintenance_Class "wikilink") Week 1, +Introduction and Flat Repair + +## Component Identification and Basic Terminology + +### What's What on a Bike + + +![Image:bikediagram.gif](bikediagram.gif "Image:bikediagram.gif") + +### Drive Side and Non-drive Side + +The right side of the bike is referred to as the drive side while the +left side is the non-drive side. + +### How to talk about gearing + +Gears closer to the frame are referred to as *inner* gears while the +ones furthest from the frame are the *outer* gears. High and low in +relation to the gears describes the relative mechanical advantage of the +gearing. An easy mnemonic for this is **H**igher gears are **h**arder +while lower gears are easier. The inner gears on a bike are always going +to be the lower gears and the outer gears are the higher gears. + +### Right-hand vs Left-hand Threading + +Almost every threaded component on a bike is going to be right-hand +threaded, which means that turning it clockwise will tighten it and +turning it counter-clockwise will loosen it. Pedals and bottom bracket +cups are examples where you would run into left-hand threaded +components. To identify the *handedness* of a component hold it in front +of you as in the picture below. The direction that the threads slant up +too corresponds to the components handedness. + +
+ +
LineDrawingofLeftandRightHandedSquareThreads.png
+
+ +Left-handed Right-handed + +### Valves: Schrader and Presta + +The two types of valves you will see on 99% of bikes in America are +schrader and presta. Schrader valves are the same type of valve that you +see on cars and most other pneumatic tires. Presta valves are + + +## Basic Upkeep + +### Inflating Tires + +
+ +
Image:valvedeflate.gif
+
+ +### Cleaning and lubing the chain + +## Flat Repair + +- Understanding brake and wheel quick release mechanisims +- How to remove a tire with tirelevers +- Identifying puncture source (don't forget to keep everything lined + up!) +- Patching + +## Hands On + +Repairing flat tires on demo wheels. + +## **Resources** + +More than you really need to know about flats: [Sheldon Brown Tells +All](http://www.sheldonbrown.com/flats.html) + +[Category:Bike_Maintenance_Class](Category:Bike_Maintenance_Class "wikilink") \ No newline at end of file diff --git a/Bike_Maintenance_Class__Week_2,_Basic_Fit,_Component_Materials,_and_Brake_System.md b/Bike_Maintenance_Class__Week_2,_Basic_Fit,_Component_Materials,_and_Brake_System.md new file mode 100755 index 0000000..42a5bc6 --- /dev/null +++ b/Bike_Maintenance_Class__Week_2,_Basic_Fit,_Component_Materials,_and_Brake_System.md @@ -0,0 +1,124 @@ +[Bike Maintenance Class:](Bike_Maintenance_Class "wikilink") Week 2, +Basic Fit, Component Materials, and Brake System + +## Judging Bike Fit: Stand Over Height + +Finding a bike that fits correctly is important, but its also is mostly +about personal preference. So what should you look at? +The most basic component of bike fit is stand over height. On the bike +its the distance from the top of the top tube to the ground. On the +rider this measurement should be at least an inch or two less than the +distance from your crotch to the ground. If you don't have that +clearance you could really hurt yourself when dismounting. Stand over +height differs between bikes that are the same size based on how the +manufacture measures size and the bikes geometry. ![200 +px](standoverheight.jpg "200 px") + +This will tell you if a bike fits you most of the time. While there are +other components to bike fit, most of them are adjustments, which we +will cover later in this class. + +## Frame Materials + +Bikes frames are made out of three types of material: + +- **Steel** - If your using your bike on a daily basis and have to lock + it up outside sometimes(but never overnight!) steel is what you want. + It can take more abuse than aluminium or carbon and sometimes even be + realigned after a particularly hard impact that would total other + frames. Avoid frames made of high carbon or high-tensile steel (some + times called hi-ten). Instead look for frames made of an alloy such as + chromoly (chromium-molybdenum) as they are lighter, stronger, and + resist rust better. If the frame doesn't have a sticker stating what + its made of, there's a good chance is straight gauge, high-tensile + steel. +- **Aluminium** - Stiffer and lighter than steel, aluminium is ideal for + road bikes where you want to be putting down maximum power, or in a + bike with suspension where you aren't relying on the frame to absorb + shock. The thin tubing in nicer aluminium bikes is prone to dents and + dings so be careful when leaning it up against poles and street sights + to lock it up. Also, if your frame ever gets bent, that it, game over, + time for a new frame. +- **Carbon** - Carbon fiber frame are made by laminating sheets of + carbon fiber together with epoxy in a vacuum mold. This gives + designers a great deal of flexibility in design that can result in + extremely light bikes that are stiff in some area and good at + absorbing vibration in others. The down side is that carbon fiber is + brittle and comparatively more expensive. If your riding a carbon + bike, you shouldn't be locking it up anywhere outside. + +**Butted vs Straight Gauge**: Double and triple butted tubing is thinner +in the center of the tube than at the ends, taking pounds of the weight +off a frame and providing a more comfortable ride. + +## Saddle and Cockpit Set-Up + +### Saddle Height and Position + +- **Level** + +Your saddle should always be about level or tipped slightly towards the +front of the bike. Level is measured from the highest point on the rear +of the saddle to the hightest point on the front of the saddle (the +nose). You can change this slightly but if the saddle is tilted to far +forward, your going to put extra pressure on your wrists, to far back +and the saddle's nose is going to start putting pressure on bits you +wish it wouldn't. + +- **Height** + +When in the saddle, with the peddles at 11 and 5 o'clock, place the +heels of you feet on the peddles (you might want to get a friend to hold +the bike steady for you). Adjust your saddle so that the extended leg +bends slightly at the knee. The idea is the more leg extension you can +get, the more efficient the stroke, but you *never* want your leg to +extent fully as this is very bad for you knees. ![200 +px](saddleheight.jpg "200 px") + +- **Setback** + +When in the saddle, with the peddles at 3 and 9 o'clock, the front of +your leading knee should be plumb with the peddles spindle. + +### Handlebar/Stem Position + +Seeing as you can have anything from drop bars to 5" risers on a bike, +this is mostly personal preference. Just make sure you knees aren't +going to hit the bars when your taking a sharp corner. A more upright +position gives you better visibility while a lower position will make +you more aerodynamic. + +### Cockpit Set-up + +All of this is personal preference, but here's a starting point. + +- **Flat Handlebars** +- **Drop Handlebars** + +## Breaks + +### System Overview/Styles + +#### Pull Ratio + +#### Mountain vs Road Cables + +#### Calliper, Cantilever, and Linear Pull + +##### Quick Release + +===Replacing Cable and Housing + +#### What's the Difference Between Break Housing and Shift Housing + +#### Measuring and Cutting Housing + +#### Installing Brake Cable + +### Replacing Brake Pads + +#### Styles of Pads + +## Overview, adjusting, and installing pads + +[Category:Bike_Maintenance_Class](Category:Bike_Maintenance_Class "wikilink") \ No newline at end of file diff --git a/Biomaterials.md b/Biomaterials.md new file mode 100755 index 0000000..486c3b9 --- /dev/null +++ b/Biomaterials.md @@ -0,0 +1,8 @@ +This page has been deprecated due to the creation of an appropriate +Category page and should be deleted. + +--[Shawn Nock (OpenPGP: 0x65118FA5)](User:Nock "wikilink") 13:04, 5 +November 2012 (PST) + +[Category:Candidates for +deletion](Category:Candidates_for_deletion "wikilink") \ No newline at end of file diff --git a/Bluetooth_indoor_location_system.md b/Bluetooth_indoor_location_system.md new file mode 100755 index 0000000..1d574b9 --- /dev/null +++ b/Bluetooth_indoor_location_system.md @@ -0,0 +1,52 @@ +## System + +- Use beacons mounted on stationary objects within a room to allow user + supplied devices to triangulate their rough position inside the room +- The users may share their location via various means. + - XMPP + - complex + - relies on external infrastructure eventually + - robust against network topology traversals (NAT/Firewall) + - Multicast + - simple + - not robust when traversing NATs +- Useful for a conference hall or the like, where an area is large + enough to prevent finding ones way or friends easily. + +testing guest captcha + +## Hardware + +### SOCs + +- [Nordic](http://www.mouser.com/ProductDetail/Nordic-Semiconductor/nRF51822-QFAB-R7/?qs=sGAEpiMZZMvQqVCO1QUke9rOCiF3q8UDR59ukwBL9d8%3d) +- [TI](http://www.mouser.com/ProductDetail/Texas-Instruments/CC2540F128RHAR/?qs=sGAEpiMZZMuReUCzg6bfTFMX9eNsg5flb%2fyNLpDtSPE%3d) + +### Front End/BT modules + +- just as expensive as SOCs + +## Software + +### Phone App + +#### Android + +#### iThing + +### Firmware + +- bit-bang BTLE library + [code](https://dmitry.gr/index.php?r=05.Projects&proj=11.%20Bluetooth%20LE%20fakery) + for reference + +#### Beacon + +- Similar use cases + - Beacon tagging - tags beacon to allow device to find the tagged item + - [iBeacon](http://en.wikipedia.org/wiki/IBeacon) - proprietary + implementation +- Use [Proximity + Sensing](http://en.wikipedia.org/wiki/Bluetooth_low_energy#Proximity_sensing) + Profile (PXP/FMP) to let user devices know where and roughly how far + they are from the beacons. \ No newline at end of file diff --git a/Board_Meeting_2018_04_10.md b/Board_Meeting_2018_04_10.md new file mode 100755 index 0000000..04b1a6d --- /dev/null +++ b/Board_Meeting_2018_04_10.md @@ -0,0 +1,138 @@ +## Time and Location + + +Date + +Called to order at 2110 pm by Karen + +BOD Members present: Karen Tom Tayeb Ken Kevin + +Members present: Enrique Bobby + +Members remote: None + +Others present: Diego + +[Quorum](Quorum "wikilink") + + +Quorum met? + +`   yes` + +## Director Reports (Governance related stuff) + +### President's Report + +### Vice President's Report + +Update new BOD on last year's history of IT admin relationship with +church and its denouement. + +### Treasurer's Report + +We used to have a monthly income hovering around \$1300 but for the past +five+ months it's been aroud \$6-700; we may have lost up to \$7000 in +this timeframe... depending on success or failure of back dues payment +collection. + +The treasurer???s position has been vacant since October 2017. Those +individuals who were set for entirely automatic payment systems (a +subset of those on Paypal, everyone on Dwolla) continued paying as +normal and are among the few who owe no back dues. Back in 2017, our +average monthly income was hovering around \$1300. We have since dropped +to ~\$700. + +Rent went up here starting in the month of February, from \$1043 to +\$1343. We have had some irregular finances due to a mischarge in +December, where we accidentally were charged for two and a half months +in advance. We are now back to paying rent regularly, \$1343 per month. + +Additionally we have not been completing PA allocations, and as such the +information has not been updated. This will be rectified soon. + +We have three new members! + +### Secretary's Report + +### Director-at-Large Reports + +#### Kevin + +#### Ken + +## Agenda + +### Draft Code of Conduct + +#### Karen + +There is some question on how to manage guests and people's behavior in +the space who are not members to develop relationships and troubleshoot +problem spots; and to ensure that problems are resolved regularly. To +that end I have looked at some other organizations and developed a draft +"code of conduct" (open to different names) for comment and revisions. + +#### Mirage355 + +Most importantly, lack of barriers to entry, such as strict rules about +equipment usage, borrowing, or supplies consumption, has been a huge +success at HacDC, to be continued. We have not had a problem with +accidents, nor substantial damage from supplies overconsumption, nor +theft. Permanent injuries have not happened, tools have not been damaged +in operation, and minimal supplies budgets have not remotely been +drained. This is an important part of HacDC's unique character to be +continued. + +All major problems at HacDC have been the result of total absence of +common sense or deliberate abuse. Most probably deliberate abuse. These +incidents are in an entirely separate category from on-mission +activities, while often using the same resources. + +**We need to require disruptive members, and the disruptive guests they +allow, to reach a credible "cease and desist" agreement, or be +immediately barred from the space until they do. We need to do this +without interfering with, or discouraging, our vast majority of +contributing volunteers. Immediate action is not a permanent banhammer, +but it may be followed with such.** + +Our bylaw amendment, empowering the board to bar access for "substantial +cause", is also intended to apply to members who bring trouble, as well +as their own behaviour. Members bringing in live ammunition, would be +responsible for doing so safely, as opposed to displaying it in an +obviously threatening manner. Likewise, members are responsible for the +guests they bring in, and can be barred for continuing to allow +disruptive guests. + +Explicit rules alone are not the answer. Too many situations will +involve substantial cause that involve resources being used as expected, +to a degree that is not appropriate. Rearranging some things in the +space is normal. Occasionally using a TV set is normal. Sitting in a +chair is normal. Even some personal use may be normal, below the +threshold of what the IRS would consider substantial. Scattering the +components of a tool, burning days of daytime TV on a maintenance +intensive display, or sleeping overnight in a chair, is not appropriate. + +**What we need to do, is provide guidance - in addition to rules - to +fairly explain to newcomers, members, and guests - the wonderful things +they are allowed to do, as well as the category of things they are +expected not to do. Realistically, most would never think of doing the +things in the latter category to begin with.** + +To that end, a Wiki document was written a while back as *guidance* +summarizing some norms as well as the mechanics of how things could +work. + +To provide further guidance of what is in the category of on-mission, as +opposed to inappropriate, use of HacDC resources, another wiki document +has been put up. It may be the first attempt to formally write down the +culture of how HacDC operates, both to encourage newcomers to quickly +become comfortable with the freedom we offer, as well as to provide a +sense of fairness for policy makers. + + +## Adjournment + +Adjourned by at xxx by xxx + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Board_Meeting_2021_12_21.md b/Board_Meeting_2021_12_21.md new file mode 100755 index 0000000..f4a292a --- /dev/null +++ b/Board_Meeting_2021_12_21.md @@ -0,0 +1,178 @@ +## Time and Location + + +Date: December 21st 2021 + +Called to order at 6:40pm + +BOD Members present: Brian, Tayeb, Matt, John, Michelle + +Members present: + +Members remote: None + +Others present: + +[Quorum](Quorum "wikilink") + + +Quorum met? + +`   yes` + +## Director Reports (Governance related stuff) + +### President's Report + +### Vice President's Report + +### Treasurer's Report + +### Secretary's Report + +### Director-at-Large Reports + +## Agenda + +### Agenda Item \#1: Decision-making: requiring a quorum for all meetings + +- General agreement this was the way to continue to schedule meetings + and re-schedule meetings as necessary +- Where a quorum to meet = 1/4th of board members; quorum to pay \$1000 + item = 1/3rd of board members + +### Agenda Item \#2: Board elections: clarification of roles and setting a date for elections + +- must be in Feb or Mar (according to bylaws) +- Kevin open to being At-Large +- Tayeb planning on departing +- Karen can be asked for a position +- John glad to be At-Large +- set to vote on members meeting last meeting Mar 9th +- Matt glad to be Treasurer +- Michelle glad to be President + +### Agenda Item \#3: Equipment - donations. Requesting and receiving donations + +- Michelle will respond to donors and copy board and know who's nearby + (Gabe, John, Tayeb are close by). +- Include in email "want it to be tax deductible? might take a little + research on our end." to get estimate and receipt. + +### Agenda Item \#4: Getting (and keeping) additional helpers + +- Supporting instructors & potential new instructors +- Managing volunteers & types of volunteers we need & volunteer projects + - Volunteers can do Remote - given that we meet them, a BOD vouches + for them; can get into the space if supervised + +### Agenda Item \#5: Membership. Policy for non-members attending virtual classes/events. + +### Agenda Item \#6: Membership. Should institute a virtual membership plan? + +### Agenda Item \#7: Communications - committee. ???Unified Data??? Phase 1: Wiki-Website-Meetup-Google + +- Michelle: doing the web work + - Michelle: for designs, will send out draft text to BOD for review + - Michelle: will create a distribution email list (something like: + data-unifed@hacdc.org) +- Ken: doing the wiki work and backups + +### Agenda Item \#8: Covid - Health. Air quality monitor (to replace Ken???s) via Raspberry Pi HomeBridge OS + +- Michelle: we've had Ken's air quality monitors over a year and we need + to make a plan to return them and use our own system. Maybe do a DIY + system and can use Ken's tools to compare/quality control before final + return to him. +- John: has logged air quality monitor; will gradually phase out and use + Ken's to QA our raspberry pi. +- Matt: open to trying a solution for HacDC space +- Matt: uses OpenHat (spelling?) now control home lighting +- Michelle: some (possibly) helpful videos: + - [Arduino system but maybe no logging, no wifi? @ + YouTube](https://www.youtube.com/watch?v=esY_OtDLv7g&t=135s%7CSimple) + - [Quality Raspberry Pi Homekit (buuut...Apple?) @ + YouTube](https://www.youtube.com/results?search_query=air+quality+raspberry+pi+homekit%7CAir) + - [complete house system hook-up @ + YouTube](https://www.youtube.com/user/SuperHouseTV%7CGuy's) + +### Agenda Item \#9: Safety - Waiver. Hold harmless agreement for existing and new members + +- Tayeb: has anyone know what our insurance policy is? +- John: who would we even put a claim into with? +- Matt: wants quarterly / semi-annually to list everything and keep + informed +- John: would get insurance for the space +- Michelle: should start that process now for new equipment +- Tayeb: should request this + +### Agenda Item \#10: Basement improvements. Decluttering and organizing the basement. + +### Agenda Item \#11: Government contracts. Apply for a SAM code & DUNS number. + +- Michelle: will get this started end of Spring + +### Agenda Item \#12: Comms Systems. TechSoup access for free Zoom access (see John). + +- John/Matt: needs to reset his password: + + +### Agenda Item \#13: Newsletter. Regular newsletter. + +- John: start with post-election news +- Tayeb: will solicit to membership for help to get this done every + other month. Simultaneous announcement on Twitter, FB, Instagram, etc. + - New elections + - New grant + - New website (ie. unified data) + +### Agenda Item \#14: Membership clarifying information and changes. + +- Meetup events are entirely open - nonmembers welcome +- Courses (on-site) =\> members only no charge; nonmembers for a charge +- Open Nights - MicroFab; AutoCAD - more social, more club events +- Virtual membership - tabled until we can be in the space + +### Agenda Item \#15: The Space. + +Someone to man the space - + +- Way to track and equipment and fix equipment (must be person easy to + get along with) +- Way to decide when something reached end of useful life =\> announce + available to members (two week wait for anyone to take) =\> two weeks + before for anyone to throw away =\> sell stuff on eBay + +Decommission space / Health Check of Equipment + +- John: do another annual "Spring Cleaning" clean-out to get rid of + stuff not worth fixing + +Basement space + +- Matt: noticed there was water in the basement; space floods a lot but + not to the level where its too high + - Tayeb: there is drainage outside the door (John thinks is part of + the problem) + +Roof work + +- John: (question really for HAM Radio Club) + +Spring Cleaning: Feb / Mar -- probably multi-day; when new board takes +over + +- basement +- roof +- space decommission + +### Agenda Item: Miscellaneous. + +- Due to holidays - cancelling all events until non until Jan 1st (even + virtual ones) + +## Adjournment + +Adjourned by at 8:01p by Tayeb + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Board_Of_Directors_Meeting_2012_12_04.md b/Board_Of_Directors_Meeting_2012_12_04.md new file mode 100755 index 0000000..79f1f3e --- /dev/null +++ b/Board_Of_Directors_Meeting_2012_12_04.md @@ -0,0 +1,43 @@ +### Time And Location + +Virtual meeting using Google+ hangout, 7-9pm on 4 Dec 2012 + +Present: Andy (until his battery died), Ben, Eric, Katie, Martin, Tim + +### Discussion Topics + +1. Remote voting: + 1. Only during member meeting on the issues raised during the + member meeting. + 2. Must have video telepresence of some form. + 3. Makes a public vote on the issue. + 4. Members present vote on whether or not the identity is valid, or + 1. Smaller number of members can vouch for someone if they are + not recognized by Secretary + 5. Tim volunteered to write up policy for Standing Rules +2. Workspace cleanup: + 1. Post signs around the workspace + 2. Rule in the standing rules + 3. No consequences listed, left to BoD to come up with reasonable + consequence +3. Tip jar: + 1. Need a stronger, more permanent tip jar for the space + 2. Metal box, secure lock, permanent fixture + 3. Need separate tip jars placed near consumables + 4. Need price sheet for consumable posted near their tip jars + 5. Ben posted link: + +4. Need to regulate bad behavior: + 1. Some members behave in a way that is not conducive to the group. + We need to deal with this up front to prevent members from being + driven away. + 2. Have an anti-harassment policy - Katie volunteers to draft + 3. Should also have an anti-discrimination policy + 1. We should be able to find text online + 2. Katie volunteered to prepare draft + +### Meeting Adjourned + +Meeting Adjourned 8:53pm + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Board_Of_Directors_Meeting_2014_12_02.md b/Board_Of_Directors_Meeting_2014_12_02.md new file mode 100755 index 0000000..221f81c --- /dev/null +++ b/Board_Of_Directors_Meeting_2014_12_02.md @@ -0,0 +1,23 @@ +### Time And Location + +HacDC @ 7pm 2014-12-02 + +Present: Zach, Travis, Ben + +### Discussion Topics + +1. Proposed Rule Changes + 1. Grant the BoD limited powers to revoke memberships + 2. Set a floor on the dynamic quorum + 3. Raise membership dues + 1. Raise dues with inflation? + + + +1. BoD becomes the financial committee and education committee + +### Meeting Adjourned + +Meeting Adjourned 7:30pm + +[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink") \ No newline at end of file diff --git a/Board_of_Directors.md b/Board_of_Directors.md new file mode 100755 index 0000000..5ed413b --- /dev/null +++ b/Board_of_Directors.md @@ -0,0 +1,15 @@ +Below is a list of members who currently sit on the board of directors +(2023-2024). + +| Title | Name | Email = {title}@hacdc.org | Key ID | Fingerprint | +|-----------------------|-------------------------------------------------|---------------------------|--------|-------------| +| **President** | [Obioma Anomnachi](Obioma_Anomnachi "wikilink") | president hacdc.org | | | +| **Vice President** | [Gabriel Altay](User:Galtay "wikilink") | vicepresident hacdc.org | | | +| **Secretary** | [Calliope Youngblood](User:C4lliope "wikilink") | secretary hacdc.org | | | +| **Treasurer** | [Matt Stafford](Matt_Stafford "wikilink") | treasurer hacdc.org | | | +| **At Large Director** | Don and Brian | atlarge1 hacdc.org | | | +| **At Large Director** | [Michelle Savage](Michelle_Savage "wikilink") | atlarge2 hacdc.org | | | +| | | | | | + +[Category:People](Category:People "wikilink") +[Category:BOD](Category:BOD "wikilink") \ No newline at end of file diff --git a/Board_of_Directors_2021-2022.md b/Board_of_Directors_2021-2022.md new file mode 100755 index 0000000..5176b95 --- /dev/null +++ b/Board_of_Directors_2021-2022.md @@ -0,0 +1,12 @@ +| Title | Name | Email | Key ID | Fingerprint | +|-----------------------|-------------------------------------------|-------------------------|----------|---------------------------------------------------| +| **President** | [Tayeb Zaidi](User:Tark "wikilink") | president hacdc.org | | | +| **Vice President** | [John Pancoast](John_Pancoast "wikilink") | vicepresident hacdc.org | C2FB7BDD | 20FF A728 0AA8 BAFD 784E A59A 83B8 738B C2FB 7BDD | +| **Secretary** | Michelle Savage | secretary hacdc.org | | | +| **Treasurer** | [Matt Stafford](Matt_Stafford "wikilink") | treasurer hacdc.org | D3F18AD5 | C471 9C16 0822 D885 7636 2558 EE78 8C89 D3F1 8AD5 | +| **At Large Director** | [Gabriel Altay](User:Galtay "wikilink") | atlarge1 hacdc.org | | | +| **At Large Director** | Brian Madonna | atlarge2 hacdc.org | | | +| | | | | | + +[Category:People](Category:People "wikilink") +[Category:BOD](Category:BOD "wikilink") \ No newline at end of file diff --git a/Boston_travel.md b/Boston_travel.md new file mode 100755 index 0000000..4457ca7 --- /dev/null +++ b/Boston_travel.md @@ -0,0 +1,152 @@ +------------------------------------------------------------------------ + +baghaii: + +I am not sure if you are limited to public transportation or not. + + + + + + +The BU Photonics Center has some interesting sculptures that involve +light. There is a really cool sculpture on the 7th floor. There is the +thing by the elevator. I forget what it is supposed to do. Understand +commands? I don't remember what it did or if it ever quite worked. + +Not relevant but I have always wanted to go. + + +------------------------------------------------------------------------ + +rmadams: + +Wow! Too cool! I loved _loved_ living in Boston/Cambridge. There are +lots of great geek things to do and see in Boston. Here are a few of my +favorites: + +1\. See the amazing hacks in the "Nightwork" exhibit at the MIT Museum- +geeks at MIT have been performing amazing hacks for _decades_. +Besides, the MIT museum is just plain cool. See it at: + It is cool, and kind of offbeat, and a lot +of fun. + +2\. You can also check out the MIT campus, which is right nearby- it is +a lot of fun to walk around there, and see the Media Lab, the AI Lab, +etc. etc. Plus, if your timing is good, you can check out such sights as +the famous "Infinite Corridor," etc. in the buildings. You might even +run into folks like Marvin Minsky hanging around. If you read Levy's +"Hackers" +(http://www.amazon.com/Hackers-Computer-Revolution-Steven-Levy/dp/0141000511) +before you go, you will get some of the history and local color. + +3\. While you are there in Cambridge, have lunch/dinner at the amazing +"Miracle of Science" bar/grill. All of their tables are laboratory +soapstone, and the menus is chalked up on a chalkboard in "periodic +table" form. Very amusing. They don't serve their drinks in laboratory +glassware, but the food good and the place is fun. You can overhear some +very interesting tech/science conversations there. +(http://www.miracleofscience.us/) + +4\. After lunch/dinner, grab drinks (and maybe catch some music/dancing) +at the Enormous Room, one T stop up in Central Square: + + +5\. Across the River (almost) you can visit the Boston Museum of +Science, which has a lot of really fun stuff, but don't miss the +electricity show, using some of the original "atom smashers" giant Van +de Graaff generators. Very, very cool. And loud. Also check out the +scale model of the solar system. To get to Pluto, you need to take the T +(Green Line) all the way out to the end of the line in Riverside... +(http://www.mos.org/) + +6\. Check out Willoughby and Baltic at their new digs in Union Square: +. They might have some fun +hacker-type stuff going on while you are there. Totally cool tech/arts +collective. + +Sheesh. I could go on forever. Hope this gives you a start- contact me +if you want more of the same! + +Everyone's suggestions are great! I completely forgot about the atrium +at the Broad (pronounced to rhyme with "road" in case you have to ask +around to find it.) I spend so much time that there that I forgot about +the displays in the atrium. It is really neat. If you are down that +road, you can walk through the atrium at Draper Labs, where a bunch of +the hardware they designed for the lunar landings is displayed. It is +actually very cool. + +If you take the Red Line "T" the rest of the way up to Harvard Square, +you can check out my personal favorite comic book store, "Million Year +Picnic" (http://themillionyearpicnic.com/) My brother ran into Ben +Affleck there- apparently it is his favorite comic book store, too. As +for bookstores, check out the Harvard Coop, right around the corner +there- they have a pretty remarkable selection of stuff academic and +otherwise. + +Okay- I promised that I would not go on and on- I am making myself +homesick! + +------------------------------------------------------------------------ + +mml: + +These are slightly adjacent to the topic directly at hand (already well +covered) + +If you are in to bookstores. (I was so excited when I found out about +Reiter's here in DC). - MIT Press book store is cool - Schoenhof's, the +most amazing foreign language store anywhere, with tons of useful stuff +for learners. + +I enjoyed The Computer Museum, but it's gone now. I hear the Museum of +Science is good, though. + +Um, if bikes appeal at all, Broadway Bicycle School is cool and has a +nice DIY angle. + +------------------------------------------------------------------------ + +curiouslee: + +Adding to all the great suggestions (I'm at the Media Lab this coming +Tue-Thu)... + +Not far from MIT Press are: + +- The DNAtrium\* + + This is a +lobby museum on genome mapping with huge curved interactive video walls. + +- Stata Center\* + + Amazing Frank Gehry building +if you're into crazy architecture. There's an elevated central +courtyard. During day hours, you should be able to get inside. + +- The Media Lab\* + + Access to the lab spaces is +controlled, but you can walk the upper atrium where there is the List +Visual Arts Center and the lower atrium where +you can press your nose up against the Lifelong Kindergarten Lab or even +step inside if you are nice to one of the lab staff that might be +inside. The Media Lab is also nearing completion of a new expansion out +back + +I'd offer up a peek into the offices of One Laptop per Child (and +Nicholas Negroponte's office), but I know they are swamped this weekend +with visiting students. + +------------------------------------------------------------------------ + +dcmk1mr2: + +While in Harvard Sq, check out the sign in one of the corner windows for +the law firm DEWEY, CHEETHAM & HOWE. They're the lawyers for NPR's Car +Talk. + +------------------------------------------------------------------------ + +[Category:Hacker Travel](Category:Hacker_Travel "wikilink") \ No newline at end of file diff --git a/BusinessCards.md b/BusinessCards.md new file mode 100755 index 0000000..f130741 --- /dev/null +++ b/BusinessCards.md @@ -0,0 +1,14 @@ +We approved the purchase of business cards for the HacDC board and TimS +bought some LivingSocial/Groupon discounts for VistaPrint to print them. +Here are the Inkscape design files: ![Front](TMScard_SB.svg "Front") and +![Back](TMScard_Back_CC.svg "Back"). + +The coupons actually do help on the price but not as much as one might +think because larger percentage discounts are available without them. +Net cost was about \$17 for 250 glossy two-sided color cards or 500 +matte cards. + +The QR code was generated by which +I found gave a smaller payload than . + +[Category:Marketing](Category:Marketing "wikilink") \ No newline at end of file diff --git a/Bylaws.md b/Bylaws.md new file mode 100755 index 0000000..683f82a --- /dev/null +++ b/Bylaws.md @@ -0,0 +1,276 @@ +By law, this is the core governing document of HacDC. + +Amendments are handled as specified in Article VII: Amendments + +These Bylaws were approved by the incorporators on May 17, 2008 after +consulting with prospective charter members. + +## Article I: Why We Exist + +### Section 1: General Purposes + +Said corporation is organized exclusively for charitable, educational, +and scientific purposes within the meaning of Section 501(c)(3) of the +Internal Revenue Code, or the corresponding section of any future +federal tax code. The mission of the corporation is to improve the world +by creatively rethinking technology. + +### Section 2: Specific Purposes + +Subject to and within the limits of Section 1, the corporation shall: + +- Build and maintain spaces suitable for technical and social + collaboration. +- Collaborate on all forms of technology, culture and craft in new and + interesting ways. +- Apply the results of its work to specific cultural, educational, + charitable and scientific causes. +- Freely share its research and discoveries, using what is learned to + teach others. +- Recruit and develop talented members dedicated to these purposes. + +## Article II: Who We Are + +### Section 1: Designation of Membership Class + +HacDC has a single membership class with voting rights. + +### Section 2: Voting Membership Class Qualifications + +Any person who supports the purposes laid out in Article I of these +bylaws is qualified to become a member. + +### Section 3: Voting Membership Class Election + +The [standing rules](Standing_Rules "wikilink") shall specify procedures +for inducting new members. For purposes of these bylaws, all persons +listed as initial directors on the Articles of Incorporation shall be +considered the initial voting members. + +### Section 4: Voting Membership Dues + +The amount, payment period, due date and acceptable methods for +collection of dues shall be reviewed each year at the annual meeting, +and shall be specified in the [standing +rules](Standing_Rules "wikilink"). + +### Section 5: Voting Membership Rights and Responsibilities + +Each voting member shall have an equal right to voice their opinion and +vote their preference or abstain from voting in the affairs of the +corporation. Each voting member shall exercise only one vote for each +decision before the corporation. Each voting member shall have +reasonable inspection rights of corporate records. Each voting member +shall be responsible for timely payment of dues, providing their current +address, contact information, and preference for electronic receipt of +communications. Each voting member is responsible for continuing to +support the purposes of the corporation. + +### Section 6: Voting Membership Resignation and Termination + +*The paragraph in italics below was accepted in [January +2017](Annual_Meeting_2017#Bylaws_Amendments "wikilink").* + +Any voting member may resign by filing a resignation with any Minister. +Resignation shall not relieve a voting member of unpaid dues or other +monies owed. Voting membership shall be suspended for non-payment of +dues by the Treasurer after a period of three (3) months. Any suspended +voting member may restore their membership as shall be specified in the +[standing rules](Standing_Rules "wikilink"). Voting membership may also +be terminated for any reason by written petition signed by more than +three quarters (3/4ths) of the voting members. + +*For substantial cause, the Board of Directors may indefinitely suspend +a member's access to the space by a 2/3 majority vote of the board. By +voting at an official meeting with quorum, members may reinstate or +suspend, access or membership, for any member whose access has been +suspended by the board. The board may suspend the access of no more than +two members per month via this procedure. Access to the space may not be +re-suspended by the Board of Directors for the same actions or +incidents. Explanation of such suspensions must be submitted +electronically to all members.* + +## Article III: How we meet + +### Section 1: Regular Meetings + +Regular meetings of voting members shall be held as designated in the +[standing rules](Standing_Rules "wikilink"). + +### Section 2: Annual Meetings + +An annual meeting of all members shall take place sometime in January, +February or March. The President shall select the date, time and place +no later than January 31 of each year. The date, time and place of the +annual meeting must be posted in the registered office and submitted to +members electronically at least two weeks prior to the annual meeting. A +petition signed by more than three quarters (3/4ths) of voting members +and submitted to the Board of Directors before Valentine's Day may +specify a new date, time and place for the annual meeting. At the annual +meeting, the voting members shall elect the Board of Directors, review +and vote on the [standing rules](Standing_Rules "wikilink") and policies +of the corporation, receive reports on the activities of the +corporation, approve the budget and determine the direction of the +corporation in the coming year. + +### Section 3: Special Meetings + +A petition presented to all voting members and approved by one half +(1/2) of voting members may call a special meeting. Such a petition must +include the date, time, place and agenda of the special meeting. +Notification of the result of the petition shall be presented to all +members prior to the meeting. + +### Section 4: Quorum + +At a duly called meeting, at least 25% (one quarter) of the entire +voting membership shall constitute a quorum. + +This value was lowered from 50% by Bylaws Amendment 1: Revise Quorum. + +### Section 5: Voting + +When a quorum is present, all issues, except when otherwise specified in +these bylaws, shall be decided by affirmative vote of more than 50% (one +half) of the voting members present. + +### Section 6: Conduct of Meetings + +The conduct of all meetings shall follow the rules of order as specified +in the [standing rules](Standing_Rules "wikilink"). + +## Article IV: The Officers + +### Section 1: Role, Number, Qualification, Term and Compensation + +There shall be four officers, a President, a Vice President, a Secretary +and a Treasurer. Each officer must be a voting member and each officer +shall serve from the time of their election until their successor is +elected and qualifies. No officer may serve more than 3 consecutive +terms. No officer shall be compensated for their service as an officer, +though the corporation may provide insurance and indemnity for officers +as allowed by law. + +### Section 2: Duties of the President + +The President shall preside over all meetings or designate an alternate, +attempt to achieve consensus in all decision-making, ensure the +membership is informed of all relevant issues, and serve other duties of +a President as required by law or custom. + +### Section 3: Duties of the Vice President + +The Vice President shall be primarily responsible for the information +systems and communication processes of the corporation and serve all +other duties of a Vice President as required by law or custom, including +acting when the President is unable or unwilling to act. + +### Section 4: [Duties of the Secretary](Duties_of_the_Secretary "wikilink") + +The Secretary shall be responsible for maintaining membership and +corporate records and for serving all other duties of a Secretary as +required by law or custom. + +### Section 5: Duties of the Treasurer + +The Treasurer shall serve as custodian of corporate funds, collect dues, +present a financial report at each regular and annual meeting, assist in +the preparation of the budget, make financial information available to +members and the public, and serve all other duties of a Treasurer as +required by law or custom. + +### Section 6: Duties of the Officers as whole to provide an Annual Report + +The Officers must provide an annual report. The report shall chronicle +the activities of the corporation, including specific narratives on the +corporation's work, the corporation's annual financial statements, +relevant legal filings, and relevant copies of the organization's +district and federal tax returns. + +### Section 7: Officers are Directors + +The Officers shall also serve as bona-fide directors on the Board of +Directors. Election, resignation, removal and vacancies of the Officers +are handled in accordance with procedures laid out in Article V. + +## Article V: The Board of Directors + +### Section 1: Role, Size, Term and Compensation + +The board of directors shall consist of the four Officers as defined in +Article IV and two at-large directors, all of whom are considered +directors for the purposes of this article. All directors must be voting +members of the corporation. Each director shall serve from the time of +their election until their successor is elected and qualifies. No member +may serve more than 3 consecutive terms on the board of directors. No +director may be compensated for their service as a board member, though +the corporation may provide insurance and indemnity for board members as +allowed by law. + +### Section 2: Meetings + +The Board of Directors shall meet when necessary, provided all voting +members receive notice sent electronically at least five business days +prior to the meeting. All voting members may attend a meeting of the +board of directors. The notice shall give the time, place, reason for +calling the meeting and the agenda for said meeting. Notices shall be +conspicuously posted at the registered office and electronically +distributed to all members at least five business days prior to a +meeting. Minutes shall follow the [standing +rules](Standing_Rules "wikilink") for meetings as approved at an annual +meeting. Minutes of each board meeting shall be conspicuously posted at +the registered office and electronically distributed to members within +48 hours. Minutes shall be considered approved when signed by all board +members in attendance. + +### Section 3: Elections + +Each member present shall be given an opportunity to be a candidate for +each officer position and each at-large director position on the board. +If there is more than one candidate for an officer position, the +candidate which obtains the highest number votes from voting members +present shall be elected. In the event of a tie, the election is decided +by coin flip. If there are no candidates for an officer position, the +outgoing officeholder may, if eligible, elect to serve another term. If +more than two members are candidates for at-large director, each voting +member present shall rank the candidates. The two candidates obtaining +the highest preferences from voting members present shall be elected. + +### Section 4: Quorum + +Two-thirds of board members at a duly called board member meeting shall +constitute a quorum. + +### Section 5: Voting + +All issues, except when otherwise specified in these bylaws, shall be +decided by affirmative vote of more than half of the directors present +at a duly held meeting. + +### Section 6: Resignation, Termination and Vacancies + +Any officer or director may resign by filing a written or electronic +resignation with the Secretary or two other board members. An officer or +at-large director may be terminated in their role by written petition +signed by more than two-thirds (2/3rds) of the voting membership. +Vacancies on the board shall be filled at the next regular meeting using +the applicable process outlined in Section 3. + +## Article VI: Committees + +On or before September 30, the members shall nominate and approve an +audit committee consisting of three voting members who are not members +of the board of directors and have not served as a director for 180 days +prior to appointment. The audit committee shall have full inspection +rights to the affairs and documentation of the corporation. No audit +committee shall be convened if the corporation has fewer than nine +voting members. + +## Article VII: Amendments + +These bylaws may be amended only when an amendment proposal petition is +approved at a membership meeting and signed by more than three quarters +(3/4ths) of voting members. Notice of such petition must be submitted +electronically to all members. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Bylaws_Amendment_1__Revise_Quorum.md b/Bylaws_Amendment_1__Revise_Quorum.md new file mode 100755 index 0000000..23e22b6 --- /dev/null +++ b/Bylaws_Amendment_1__Revise_Quorum.md @@ -0,0 +1,79 @@ +## Summary + +We have failed to achieve [quorum](quorum "wikilink") (50%) at all of +our meetings held since introducing the charter members. As +[quorum](quorum "wikilink") is necessary to pass member resolutions, +authorize budgets, etc. it is vital that we solve this problem so we go +back to having meetings with binding resolutions. + +## Potential Solutions + +- Amending the Bylaws to lower [quorum](quorum "wikilink") to 25% + - Pros: + - Simple: Lowering [quorum](quorum "wikilink") changes only one + rule, keeps all other scheduling, procedures, customs, etc. in + place. + - Keeps the space active, members know there is one time a week when + people will be at the space. + - Allows business to be handled weekly + - Encourages discussions to happen in an ongoing manner through the + wiki, mailing list, and other means. + - Cons: + - Those who show up to meetings more regularly tend to exercise more + influence over HacDC than those who can't make meetings regularly. + - Could lead to decisions being made by a determined minority of the + membership + + + +- Amending the Bylaws to allow for monthly, as opposed to weekly + meetings + - Pros: + - Relatively simple (changes another rule in the bylaws) + - Encourages larger gatherings of members + - Cons: + - Business could be postponed for several months if + [quorum](quorum "wikilink") fails to materialize + - Could still fail to get [quorum](quorum "wikilink") + - Leads to date confusion, rescheduling for member convenience, etc. + - Restricts handling business to a monthly schedule + - (Note: These were reasons given by other hacker spaces who changed + to monthly meetings then changed back.) + + + +- Amending the Bylaws to allow for a virtual meeting solution + - Pros: + - Allows members to participate from anywhere + - Allows business to be handled anytime + - Cons: + - Very high barriers in terms of functionality, usability, resource + drain, etc. + - Uses time/resources compared to other potential solutions + - Encourages "voting" as opposed to informed consensus building + - Discourages gatherings in "real space", one of the points of + HacDC. + +## PROPOSAL + +The following Amendment Proposal Petition is submitted for approval at +this meeting: + +Amend Article III, Section 5 of the Bylaws of HacDC to read: + +At a duly called meeting, at least 25% (one quarter) of the entire +voting membership shall constitute a [quorum](quorum "wikilink"). + +This proposal, in accordance with the bylaws, must be approved at a +membership meeting and signed by more than three quarters (3/4ths) of +voting members. + +Once approved, written notice of such petition must be submitted +electronically to all members and delivered to all members of the +corporation physically in person or by registered mail to take effect. + +## Status + +The above proposal was passed. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Bylaws_Amendment_2__Meeting_Frequency.md b/Bylaws_Amendment_2__Meeting_Frequency.md new file mode 100755 index 0000000..c34d9bb --- /dev/null +++ b/Bylaws_Amendment_2__Meeting_Frequency.md @@ -0,0 +1,23 @@ +## PROPOSAL + +The following Amendment Proposal Petition was submitted for approval at +the March 10, 2009 meeting: + +Amend Article III, Section 1 of the Bylaws of HacDC to read: + +Regular meetings of voting members shall be held every second Tuesday of +the month at 19:30 local time at the registered office. If the second +Tuesday is the day before, upon, or after a federal holiday the meeting +shall be postponed until the 3rd Tuesday of the month unless +specifically approved at the prior regular meeting or annual meeting. +Meetings shall not take place on the day of a closure declared by the +Office of Personnel Management. A different meeting place may be +designated by written petition signed by more than three quarters +(3/4ths) of voting members. + +## Status + +The above proposal was passed at the March 10, 2009 meeting and is now +subject to written approval by 3/4 of the membership. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Bylaws_Amendment_2__Single_Expenditures.md b/Bylaws_Amendment_2__Single_Expenditures.md new file mode 100755 index 0000000..403f0cb --- /dev/null +++ b/Bylaws_Amendment_2__Single_Expenditures.md @@ -0,0 +1 @@ +[Category:Obsolete](Category:Obsolete "wikilink") \ No newline at end of file diff --git a/Bylaws_Amendment_3__Revise_Quorum_Again.md b/Bylaws_Amendment_3__Revise_Quorum_Again.md new file mode 100755 index 0000000..4b7a8ea --- /dev/null +++ b/Bylaws_Amendment_3__Revise_Quorum_Again.md @@ -0,0 +1,26 @@ +Under Article III, Section 4 of the current [Bylaws](Bylaws "wikilink"): + + +At a duly called meeting, at least 25% (one quarter) of the entire +voting membership shall constitute a quorum. + +This value was lowered from 50% by [Bylaws Amendment 1: Revise +Quorum](Bylaws_Amendment_1:_Revise_Quorum "wikilink"). + +We hereby propose that this section of the [Bylaws](Bylaws "wikilink") +be amended to read: + + +At a duly called meeting, at least 20% (one fifth) of the entire voting +membership shall constitute a quorum. + +This value was lowered from 25% by [Bylaws Amendment 3: Revise Quorum +Again](Bylaws_Amendment_3:_Revise_Quorum_Again "wikilink"). + +## Status + +The above proposal has not yet been approved at a membership meeting or +signed by more than three quarters (3/4ths) of voting members as needed +to take effect. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Bylaws_Amendment_4__Change_Denominator_for_Amendments.md b/Bylaws_Amendment_4__Change_Denominator_for_Amendments.md new file mode 100755 index 0000000..1c24be5 --- /dev/null +++ b/Bylaws_Amendment_4__Change_Denominator_for_Amendments.md @@ -0,0 +1,11 @@ +PROPOSED BYLAWS AMENDMENT (not yet approved or adopted) + +Change the threshold for future bylaws amendments from "more than three +quarters (3/4ths) of voting members," to "more than three quarters +(3/4ths) of member votes cast 90 days from the proposal approval date," +and from "Notice of such petition must be submitted electronically to +all members," to "Notice of such a petition must be submitted to all +members electronically and, where electronic means produce no response, +all other available means." + + \ No newline at end of file diff --git a/Bylaws_Amendments.md b/Bylaws_Amendments.md new file mode 100755 index 0000000..ae4f8ed --- /dev/null +++ b/Bylaws_Amendments.md @@ -0,0 +1,9 @@ +| Amendment | Summary | Vote | Signatures (3/4 of voting members) | +|-------------------------------------------------------------------------------------------|----------------------------------------------------------------|--------------------------------------------------------------------------------|------------------------------------| +| [Bylaws Amendment 1: Revise Quorum](Bylaws_Amendment_1:_Revise_Quorum "wikilink") | lower quorum from 50% to 25% for regular meetings | [approved 15 July 2008](Regular_Member_Meeting_Minutes_2008_07_15 "wikilink") | | +| [Bylaws Amendment 2: Meeting Frequency](Bylaws_Amendment_2:_Meeting_Frequency "wikilink") | make regular meetings the 2nd Tuesday of each month, nominally | [approved 10 March 2009](Regular_Member_Meeting_Minutes_2009_03_10 "wikilink") | | +| **FIXME:Bad link** [omnibus amendment](http://www.jerkpile.com/bylaws/) | | [approved 14 July 2009](http://hacdc.org/wiki/july-meeting-minutes) | | + +[Bylaws](Bylaws "wikilink") amendments + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Byzantium.md b/Byzantium.md new file mode 100755 index 0000000..761bbf7 --- /dev/null +++ b/Byzantium.md @@ -0,0 +1 @@ +1. REDIRECT[:Category:Byzantium](:Category:Byzantium "wikilink") \ No newline at end of file diff --git a/ByzantiumContact.md b/ByzantiumContact.md new file mode 100755 index 0000000..f84af75 --- /dev/null +++ b/ByzantiumContact.md @@ -0,0 +1,10 @@ +## HacDC Byzantium Team Contact Info + +- IRC + - [IRC on freenode](irc://irc.freenode.net/#byzantium) + - [IRC Web + Chat](http://webchat.freenode.net/?channels=byzantium&uio=d4) +- [Bug Reports](https://github.com/byzantium/byzantium/issues) +- [Email the mailing list](mailto:byzantium@hacdc.org) +- [Subscribe to the Byzantium mailing + list](https://groups.google.com/a/hacdc.org/group/Byzantium/topics) \ No newline at end of file diff --git a/Byzantium_101.md b/Byzantium_101.md new file mode 100755 index 0000000..0b0b5ff --- /dev/null +++ b/Byzantium_101.md @@ -0,0 +1,37 @@ +- Download a copy of [Porteus Linux](http://porteus.org). + - Install it to a USB key or virtual machine, depending on your + preference. Use the official Porteus instructions to do so. +- Set up an account at [Github](https://github.com) and start watching + [Project Byzantium](https://github.com/Byzantium/Byzantium). + - This will let you not only watch the project's activity from your + Github dashboard, but if you join the project you'll be able to + check code in. + - You'll also be able to open new tickets in the bug tracker, and + comment on existing ones. +- Check out a copy of the source code: **git clone + ** + - Now you'll have all of the code we've written. + - To update your local checkout, change to the Byzantium directory and + run the command **git pull**. + - If you just want to try the latest build of Byzantium, download [the + Byzantium + module](http://svn.virtadpt.net/byzantium/000-byzantium.xzm) and + copy it into the directory */porteus/modules/* on your USB key or in + your virtual machine after you've booted it. The module will be + automatically activated the next time it's booted. + - Note that 000-byzantium.xzm isn't updated as often as the source + code repository is, so it may not be up to date. +- Join the [mailing + list](http://groups.google.com/a/hacdc.org/group/Byzantium/?hl=en). + Note that you'll need a Gmail account of some kind. + - Once you're on the list, post an introduction! Tell us how you found + out about Byzantium and a little about what you would like to work + on. +- Pick something to work on! + - Pick a ticket in the [bug + tracker](http://svn.virtadpt.net/byzantium/000-byzantium.xzm) and + fix it. Tell us about it on the mailing list if you don't already + have commit access and post a patch (**git diff**) if not. + - Experiment with Byzantium. If you manage to break it somehow, open a + ticket in the bug tracker and tell us about it. Even better, post a + fix for it. \ No newline at end of file diff --git a/Byzantium_Action_Log.md b/Byzantium_Action_Log.md new file mode 100755 index 0000000..94ed387 --- /dev/null +++ b/Byzantium_Action_Log.md @@ -0,0 +1,46 @@ +If you contribute to the Byzantium project in anyway (including +intellectually) please add a brief (if it's more than 280 characters +consider linking to a separate page) entry to this page or have someone +with edit access to this page in the following format. If there is an +objection to an entry it can always be removed so don't be afraid to +write something. If you don't want to be identified you can use the name +"Anonamoose" or anything else you want (but Anonymoose is the best +choice :P). Try to keep it in roughly chronological order if you can but +close is good enough ([haxwithaxe](User:haxwithaxe "wikilink") will +probably rewrite the page after running it through sort occasionally). + +- YYYY/mm/dd - Name - description and links etc + +## Log + +### 2011 + +- 2011/09/30 - group - byzantium planning meeting: discussed use cases, + routing between meshes with nonmesh clients, prepared to finalize the + development (pre-pre-alpha) build of the live distro +- 2011/10/01 - haxwithaxe - made this page for people to record their + contributions +- 2011/10/01 - group - byzantium sprint day: TBD +- 2011/7/9 - drwho - Set up for + Porteus modules + - Started coding web control panel for Byzantium + - Converted Slackware v13.37 packages into Porteus modules + - Converted Slackware packages from slackbuilds.org into Porteus + modules. + - Packaged web apps into Porteus modules. + - Tested package compilation using the scripts Ben and Chris wrote. + Noted the ones that worked, opened tickets in the [bug + tracker](https://github.com/Byzantium/Byzantium/issues) for the ones + that didn't, tried to include enough information to help figure out + what's going wrong in the package builder. +- 2022/11/13 - drwho - Figured out how to put together a fakeroot + directory structure that could then be used to build + 000-byzantium.xzm. This is the core module of Byzantium Linux. + - Put together the 000-byzantium.xzm module for demonstration as an + alpha release. + - Debugged rc.setup_mysql initscript so that it sets up the necessary + application MySQL databases on an instance of Byzantium and locks it + down. It's also extensible enough to build new functionality on + later. + +### 2012 \ No newline at end of file diff --git a/Byzantium_Distributed_DNS.md b/Byzantium_Distributed_DNS.md new file mode 100755 index 0000000..e1f80d8 --- /dev/null +++ b/Byzantium_Distributed_DNS.md @@ -0,0 +1,50 @@ +## Summary + +The problem: + +## Suggested Reading + +[CJDNS](https://github.com/cjdelisle/cjdns) - CJDNS == CJD's Network +Suite. it does not contain a ddns system yet. it currently uses plain +old DNS within the darknet. True DNS (i.e., port 53/UDP) with a DHT. +I've played around with it a little and it seems to do what it says on +the tin. + +[Distributed Hash Table +(DHT)](http://en.wikipedia.org/wiki/Distributed_hash_table) - Wikipeda +page on DHTs. Has a decent overview of how they work. + +[Bamboo DHT](http://www.bamboo-dht.org/) - A DHT implementation in Java. + +[UpRight](http://code.google.com/p/upright/) - A library for building +fault-tolerant distributed systems. Incorporates innovations from modern +solutions to Byzantine fault tolerance. + +[Gossip +Protocols](https://secure.wikimedia.org/wikipedia/en/wiki/Gossip_protocol): +Nodes in a network pseudorandomly select peers to exchange information +with. Could be useful for distributing the contents of a DHT-based DNS +implementation within a mesh network. +[Kademlia](https://secure.wikimedia.org/wikipedia/en/wiki/Kademlia) has +an interesting way of handling the entry distribution problem. When +inserting an entry, it iterates through the table to find suitable nodes +in the network to hold that entry and propagates it to them as well as +saving a copy locally. + +[CoDoNS +paper](http://conferences.sigcomm.org/sigcomm/2004/papers/p292-ramasubramanian1111.pdf) - +A very good paper from 2004 on a distributed DNS alternative. It still +relies on centralized domain name registration. [CoDoNS main +page](http://www.cs.cornell.edu/people/egs/beehive/codons.php) - It +appears that CoDoNS is operational and running on PlanetLab. +Unfortunately, I don't see any code. I see no reason why we can't simply +hijack their design. + +[Tutorial on DNS and +DNSSEC](http://www.surfnet.nl/Documents/DNSSSEC-web.pdf) + +[Intentional Naming System](http://nms.lcs.mit.edu/projects/ins/) - "INS +is a new naming system intended for naming and discovering a variety of +resources in future networks of devices and services. It has the +following interesting characteristics about the way it names resources +and the way names are resolved." \ No newline at end of file diff --git a/Byzantium_InterMesh.md b/Byzantium_InterMesh.md new file mode 100755 index 0000000..5f89288 --- /dev/null +++ b/Byzantium_InterMesh.md @@ -0,0 +1,49 @@ +The InterMesh is the network of meshes that is separate from the +internet either functionally (bandwidth/latency limitations) or fully +(completely disconnected). + +## Services Needed + +All these services need to be distributed throughout the InterMesh. + +I think we should err on the side of "Secure by default". To make it +easy to grow the mesh we can't really set up encryption at OSI layers 1 +and 2 (getting people to configure that in a hurry isn't going to work, +though we might have some luck if we did with [QR +codes](http://skattertech.com/2011/01/quick-tip-use-a-qr-code-to-share-wifi-passwords-with-android/)). +I think any services offered on the mesh should offer SSL/TLS by default +(we'll have to go with self-signed certs). + +- captive portal + - to let people know about the services we are providing +- Webmail + - Something that works like + [privacybox.de](https://privacybox.de/index.en.html) would be ideal + in that it's got a short learning curve and a UI that's easy to use + from a smartphone or PDA. +- Twitter equivalent + - [status.net](http://status.net/) +- Common chat networks + - AIM compatible eqiv. + - Gtalk compatible equiv. + - Facebook chat compatible equiv. + - In short, IM-over-HTTPS. + - IRC + - [Mibbit](http://www.mibbit.com/) or something that works like it. + - [CryptoCat](https://crypto.cat/) I think we should get in touch + with the person running this project. +- Collaborative notes + - Mediawiki + - Etherpad +- File uploads + - Image dump ala [Plixi](http://plixi.com/). +- Streaming audio (low priority) + - Yes, I'd plug my police scanner into my computer and stream what I + pick up. +- Voice over IP + - Asterisk + - Configure a conference bridge that people with softphones can talk + on. + - We'll have to test what kind of latency we get with such a setup. + - Voicemail + - Microblog-to-speech using Festival? \ No newline at end of file diff --git a/Byzantium_Live_Distro.md b/Byzantium_Live_Distro.md new file mode 100755 index 0000000..d7515cd --- /dev/null +++ b/Byzantium_Live_Distro.md @@ -0,0 +1,304 @@ +## Description + +We are building a portable live Linux distribution based on [Porteus +Linux](http://porteus.org/). Porteus itself is a fork of Slax that has +been brought up to date with Slackware 13.37 and uses a 2.6.38.8 kernel. +Porteus can use binary packages from Slackware 13.37 after conversion to +Porteus' native format. + +## Code Repositories + +[Github page](https://github.com/Byzantium/Byzantium) + +[Subversion repo for Porteus +packages](http://svn.virtadpt.net/byzantium/) + +## Goals + +- Make it possible for people in emergency situations to communicate and + collaborate. +- Make it possible for people in areas where the communications + infrastructure is compromised to communicate and collaborate. +- Provide services to support communication and collaboration. +- Will be secure out of the box. + - Best practices for isolating running services will be followed. + - Best practices for configuration web applications will be followed. + - Least privilege will be followed wherever possible. +- Will be extensively documented. + - A Creative Commons-licensed book will be made available with the + Byzantium distribution as well as separately + - Will explain the finer points of setting up a mesh, as well as + accompanying projects (such as dialup gateways and long-haul + transports). + - Will be translated into as many languages as possible. +- Widely compatible. + - Users need to be able to boot their desktop/laptop/netbook from + Byzantium media and set up a node. + - As little fiddling with network drivers as possible. +- Rapidly deployable. + - Users need to be able to configure their Byzantium node rapidly and + with little assistance. + - Emergency situations. + - Control panel aims to be as self-documenting as possible. +- Aims to protect confidentiality of traffic. + - Opportunistic IPsec? + - All services default to SSLv3/TLSv1. +- Aims to protect integrity of traffic. + - SSLv3/TLSv1. +- Meshes should grow without the direction of a central authority. + - Anyone can set up a mesh node. + - Anyone can set up services on the mesh. + - Services packaged by default can be managed (activated and + deactivated) from the control panel + - Services packaged by default will come preconfigured with secure + defaults and a mobile-friendly theme where appropriate. + - This is a calculated risk. The threat models of Tor and I2P take + this into account as well. +- Byzantium nodes need to be rapidly clonable. + - One copy of the live distribution needs to become many on demand. + - Nodes need to be clonable without taking the node down. +- Persistent storage has to be an option. + - Built into [Porteus](http://porteus.org). + - save.dat file + - removable media + - media Porteus is installed to +- Dependencies will be automatically managed by the control panel. + +## Features + +- Can support multiple mesh routing protocols. +- Modular configuration back end. +- Multiple pre-packaged, pre-configured web applications for + communication and collaboration. +- All services can be independently activated and deactivated. +- Aims for security by default. + - Services are not active unless explicitly triggered. + - Services are configured using best practices for security. + - Services support strong cryptography by default. +- Supports gatewaying from the mesh to the Net over a live connection. +- Supports persistent (encrypted) storage on demand (not default). + - Note: When creating a save.dat file under Porteus, if the drive it's + on is formatted FAT-32 or less, the file MUST be \<1024MB, else, the + /linuxrc script that forms the core of the distro will pretend that + it can't locate the file, regardless of where you put it. This drove + me bonkers for two months! + - If possible we should try to make save.dat a second partition on + the thumbdrive (ala casper-rw for ubuntu liveUSBs) there are some + big benefits to this: + - it makes it harder for windows users to see that there is a + second partition in case big brother decides to inspect the + contents of all thumbdrives. + - it means we won't have to worry about file size limits. + +### ToDo + +- ~~[Node Control Panel](Byzantium_Live_Distro_CP "wikilink")~~ - DONE! +- ~~[Captive Portal](Byzantium_Live_Distro_Captive_Portal "wikilink")~~ + -DONE! +- [Provided Services + Announcement](Byzantium_Live_Distro_Service_Announce "wikilink") +- [Wiki](Byzantium_Live_Distro_Wiki "wikilink") - suspended notion +- ~~[Microblog](Byzantium_Live_Distro_Microblog "wikilink")~~ - DONE! +- [File dump/Twitpic + work-alike](Byzantium_Live_Distro_FileDump "wikilink") +- [Voice chat/telephony server](Byzantium_Live_Distro_Tel "wikilink") +- ~~[Clientless web chat](Byzantium_Live_Distro_Chat "wikilink")~~ - + DONE! +- ~~[Blog](Byzantium_Live_Distro_Microblog "wikilink")~~ - see Microblog +- ~~[EtherPad-like thing](Byzantium_Live_Distro_EPad "wikilink")~~ - + DONE! +- [Streaming media + server](Byzantium_Live_Distro_StreamingMediaSrv "wikilink") +- [HTTP caching proxy](Byzantium_Live_Distro_WebProxy "wikilink") +- [Tor](https://www.torproject.org/) +- [IPset](IPset "wikilink") + +Pick a web server to host applications: + +- Converted the Apache, apr\*, and PHP packages of Slackware v13.37 into + Porteus modules. They Just Worked(tm). + +~~We need to figure out how to properly install the control panel app on +a new system. The process should be as pythonic as possible.~~ + +We need to figure out how to bundle the already configured and populated +MySQL databases for the web apps! + +- Packaging them into a module and activating it didn't work. +- ~~Write a script that detects the presence or absence of + /var/lib/db/\*/ and restores them from .sql dumps at boot-time.~~ + +[The Doctor's to-do list](The_Doctor's_to-do_list "wikilink") + +## Packages built for Byzantium + +- babeld - For great mesh routing. +- batman-adv - Kernel module which implements mesh routing at OSI + layer 2. We may not use it but it's there if we need it. +- batctl - Utility for configurating and manipulating batman-adv. + - Dependency of batman-adv. +- olsrd - from olsr.org +- ahcpd - For configuring mesh nodes that don't want to use the random + RFC-1918 IP address generator. +- CherryPy - Python module that implements a fast multi-threaded HTTP + (web application) server. + - Without this, there is no control panel. +- pySetupTools - Required for installing some Python modules. +- Mako - Python HTML templating system. + - Dependency of the control panel. +- MarkupSafe - Python library that implements a Unicode string that is + aware of HTML escaping rules and does automatic string escaping. + - Dependency of Mako. +- Git - Converted Slackware v13.37 package. + - Necessary for checking code out and into Github. +- Curl - Converted Slackware v13.37 package. + - Dependency of git. + - Note: To make git work without "error setting certificate verify + locations" errors, you need to run the following command as the root + user: git config --system http.sslcainfo + /usr/share/curl/ca-bundle.crt +- rrdtool - Used by traffic_stats.sh to monitor network traffic and + build graphs. +- sqlitebrowser - Used to develop SQLite database schemas and debug + database access code. Will not be in OS release. +- ~~nginx - Lightweight, fast HTTP(S) server. Much more lightweight than + Apache, at any rate. Custom build for Byzantium.~~ + - Enough! +- gd - Dependency of PHP. + - Used for server side image manipulation. +- libmcrypt - Dependency of PHP. +- icu4c - International Components for Unicode. i18n dependency of PHP. +- openldap-client - Dependency of PHP to make it compile. Not pleased by + having to package it, but it won't build without it. + - Can we get away with not having it because I didn't have to compile + it for Apache? Let's try it! +- php - Converted Slackware v13.37 package. +- httpd - Apache v2.2.17. Converted Slackware v13.37 package. + - ..and then stuff started working! +- apr-util - Converted Slackware v13.37 package. + - Utility used for compiling Apache modules. +- apr - Converted Slackware v13.37 package. + - Package used for compiling Apache modules. +- t1lib - Converted Slackware v13.37 package. Used for font + manipulation. +- pcre - Converted Slackware v13.37 package. + - Perl Compatible Regular Expression library. + - Unicode aware for i18n support. status.net requires this for basic + functionality, whcih means that we get i18n for free. +- ~~Firefox v6.0.2~~ + - Do not use! i_can_haz_firefox.sh builds a package with bad symlinks. + Haven't bothered to fix it so far. +- node - An event-driven I/O server-side JavaScript environment based on + V8. (from website and wikipedia). + - Required by Etherpad-lite. +- dnsmasq - All-in-one DHCP and caching DNS server. + - Much easier to work with in circumstances like this than ISC BIND or + even djbdns. +- ipcalc - Command-line IP networking calculator. Will be needed by the + control panel shortly. + - Removed the CGI-BIN script from the package when it was built. +- ngircd - Lightweight IRC server. + - Back-end for web chat application. + - Somehow we need to figure out a way to make them automagically hook + together into an IRC network. But that can wait. +- zope.interface - Required by Twisted. +- Twisted - Required by qwebirc. + - Satisfies the clientless web chat requirement. + +## Links + +Place links relevant to any part of the process of making the live +distro here. + +[Porteus Official Website](http://porteus.org/) + +[Processes for building Porteus +packages.](Processes_for_building_Porteus_packages. "wikilink") + +[Process for manually installing +Byzantium.](Process_for_manually_installing_Byzantium. "wikilink") + +[Byzantium 101](Byzantium_101 "wikilink") - How to get yourself set up. + +[Hardware compatibility list](Hardware_compatibility_list "wikilink") + +[User Feedback on Byzantium +0.1a](User_Feedback_on_Byzantium_0.1a "wikilink") + +[Handy generic git notes](Git_Notes "wikilink") + +## Timeline + +- .....uhh.... +- 20 October 2011 - Live demo, presentation, and networking at + [ContactCon](http://contactcon.com/). +- 12 May 2012 @ 1400 EST5EDT: Project Byzantium presentation at + [CarolinaCon](http://carolinacon.org/). +- 13-15 July 2012 @ TBA: Project Byzantium presentation at [HOPE Number + Nine](http://www.hopenumbernine.net/). + +## Stuff + +~~Need to edit /etc/hosts, add 'byzantium' to 127.0.0.1 so that the web +server will start up.~~ + +[Mobile devices and IPv6.](Mobile_devices_and_IPv6. "wikilink") + +~~[DNSmasq](http://thekelleys.org.uk/dnsmasq/doc.html)~~ + +- ~~One nice thing about DNSmasq is the -H option, for additional + /etc/hosts-like files. We could use those to cache the IP addresses of + other Byzantium nodes, and then query them for the services they + run.~~ + - Hostnames are IPv6 addresses of nodes. + - ifconfig wlan0 \| grep inet6 \| awk '{print \$3}' \| sed 's/:/-/g' + \| sed 's/\\64\$//' \| sed 's/\$/.byzantium.mesh/' == + fe80--21c-bfff-fe35-84c2.byzantium.mesh + - ~~Put IP addresses and hostnames in /etc/hosts.mesh.~~ + - This could also be used for status.net federation and IRC network + construction. +- ~~Move the **server=/byzantium.mesh/...** line into the generated + DNSmasq include file?~~ + - ~~Make the '...' the mesh interface's IP address?~~ + + + +- ~~Consulted with an expert about IP addressing. At first scratch, it + might be a good idea to stick wtih pseudo-randomly chosen 10/8's. + Configure the mesh interface for the .1 and give the clients .2-.254. + I'll re-work the control panel to do that.~~ + +Need to account for [APIPA](http://www.webopedia.com/TERM/A/APIPA.html) +addressing in the initial set of routes. + +- ~~Added for the purpose of making networkconfiguration.py [detect + whether or not the proposed IP address for the mesh interface is in + use](http://www.cyberciti.biz/faq/linux-duplicate-address-detection-with-arping/).~~ + - Byzantium does this now. It works like a champ. + +List of public DNSes that we may wish to fall back upon in the event a +node is made into a gateway: + +- [Google Public DNS](https://code.google.com/speed/public-dns/) +- [Public DNS servers](http://www.tech-faq.com/public-dns-servers.html) +- [OpenDNS](https://www.opendns.com/) + +[Packaging NPM.](Packaging_NPM. "wikilink") + +[Finding neighboring mesh +nodes](Finding_neighboring_mesh_nodes "wikilink") + +[Fully distributed services](Fully_distributed_services "wikilink") + +## Stuff to consider for later + +- Consider adding [Iodine](http://code.kryo.se/iodine/) to Byzantium to + help tunnel gatewayed traffic onto the Net. + - Gateway nodes in hostile areas could use Iodine to tunnel traffic + out. + - Gateway nodes in non-hostile areas could accept Iodine connections + to help less fortunate nodes evade censorship. +- Consider adding (http\|proxy)tunnel with simplified usage of some kind + to allow encapsulating arbitrary data streams in http streams. +- Firewall evasion aids that will work well even in established internet + censorship systems? \ No newline at end of file diff --git a/Byzantium_Live_Distro_CP.md b/Byzantium_Live_Distro_CP.md new file mode 100755 index 0000000..cfc6ef7 --- /dev/null +++ b/Byzantium_Live_Distro_CP.md @@ -0,0 +1,17 @@ +## Description + +[Browse source +code](https://github.com/Sitwon/Byzantium/tree/master/control_panel). + +## Features + +## ToDo + +- Modify startup code to: + - Read configuration databases + - Test each existing entry against the current hardware configuration + - If they match, start it up using the stored settings + - If they don't, delete that stored setting + - Start up system services that are configured and active. +- Modify the /index.html template to not show a sitrep but the current + configuration from the databases \ No newline at end of file diff --git a/Byzantium_Live_Distro_Captive_Portal.md b/Byzantium_Live_Distro_Captive_Portal.md new file mode 100755 index 0000000..68f8b0a --- /dev/null +++ b/Byzantium_Live_Distro_Captive_Portal.md @@ -0,0 +1,17 @@ +## Description + +Catch the first DNS request from a node or client and redirect them to a +page which will inform them of Byzantium's capabilities or lack thereof. + +## Suggestions + +- dnsmasq+custom scripts + - Have DNSmasq running, config file generated by control panel. + - Basic DNS hijacking possible (right now, intercepts www.google.com + and encrypted.google.com) + - When the captive portal is working we won't need to do this. +- [WiFiDoc](http://dev.wifidog.org/) +- [NoCatSplash](http://nocat.net/) +- [Captive::Portal](http://search.cpan.org/~gaissmai/Captive-Portal/) + - [Captive::Portal notes](Captive::Portal_notes "wikilink") + - [Dependencies](Dependencies "wikilink") \ No newline at end of file diff --git a/Byzantium_Live_Distro_Chat.md b/Byzantium_Live_Distro_Chat.md new file mode 100755 index 0000000..2a155e8 --- /dev/null +++ b/Byzantium_Live_Distro_Chat.md @@ -0,0 +1,14 @@ +## Options + +[crypto.cat](https://crypto.cat) - requires a preshared key for +encrypted sessions but is otherwise robust out of the box [akiscode +p2pchat](http://akiscode.com/projects/p2pchat/) - needs work but could +be made into a webchat and is written in python. + +## Ideal Chat Client + +- has the ability to do asymetric encryption +- has the ability to work without a server (maybe unrealistic but it + would be nice) +- if servers are required they can federate with other servers +- is easy to for end users to use \ No newline at end of file diff --git a/Byzantium_Live_Distro_EPad.md b/Byzantium_Live_Distro_EPad.md new file mode 100755 index 0000000..7469a6a --- /dev/null +++ b/Byzantium_Live_Distro_EPad.md @@ -0,0 +1,3 @@ +## Suggestions + +- etherpad-lite \ No newline at end of file diff --git a/Byzantium_Live_Distro_FileDump.md b/Byzantium_Live_Distro_FileDump.md new file mode 100755 index 0000000..4e4de1e --- /dev/null +++ b/Byzantium_Live_Distro_FileDump.md @@ -0,0 +1,42 @@ +Photoblog/Image Dump Essentially, a [Twitpic](http://twitpic.com) +work-alike for the Byzantium mesh. + +- [Pixelpost](http://www.pixelpost.org/) + - Blog optimized for photoblogging. + - Requires MySQL. + - Requires PHP. + - Needs to be configured so that anyone can log in and post images + (guest/guest?) + - EXIF information needs to stay turned off. + - Look into writing a utility which strips EXIF information fromm all + images uploaded. + - Make the "Remove EXIF" function permanant? + + + +- [Plogger](http://www.plogger.org/) + - Dedicated online photo gallery. + - Requires MySQL. + - Requires PHP. + - Requires GD. + - Defaults to the first album, first collection if there is nothing + else. + - Need a mobile theme. Develop one? + - Has i18n support already. + - Can take descriptions. + - Needs to be configured so that anyone can log in and post images + (guest/guest?) + +File dump + +- [Simple File Exchange](https://github.com/TlhanGhun/SiFiEx) + - Requires PHP. + + + +- [Forban](http://www.foo.be/forban/) + - Python app. + - Simple peer-to-peer file sharing application. + - Implements HTTP. + - Opportunistic file sharing. + - Written in Python. \ No newline at end of file diff --git a/Byzantium_Live_Distro_Microblog.md b/Byzantium_Live_Distro_Microblog.md new file mode 100755 index 0000000..8a49e9a --- /dev/null +++ b/Byzantium_Live_Distro_Microblog.md @@ -0,0 +1,16 @@ +Working on status.net for now. [status.net](http://status.net) isn't +quite what we need and it is much to complex (says haxwithaxe) + +recommend we write our own dead simple one with the following features: + +- completely anonymous posting (security via the lack thereof :P) +- distributed couchdb-like database backend +- the future ability to sign messages with pgp keys + +For the time being, let's set it up. We can code something else later, +but I need *something* to demo (and turn testers loose on). I'll see if +status.net can use SQLite as its back end. Supposedly [the Google Summer +of +Code](http://status.net/wiki/Google_Summer_of_Code_2011#RDBMS_backend) +was supposed to do this in 2011, but I don't know if it actually +happened. \ No newline at end of file diff --git a/Byzantium_Live_Distro_Prerelease.md b/Byzantium_Live_Distro_Prerelease.md new file mode 100755 index 0000000..baca98d --- /dev/null +++ b/Byzantium_Live_Distro_Prerelease.md @@ -0,0 +1,84 @@ +## Prerelease Process + +**DRAFT** On this page we have a list of things that need to happen +between the **final** build and the publishing of software or +repackaging thereof by the Byzantium Project. Unless otherwise stated +all items are required to be satisfied for an individual build before +being placed in another part of the project or before publishing the +project. + +### Build Environment + +- manifest check - make sure what you think is there is actually there. + manifest files (with name .manifest) are recommended, and will + be checked by the build environment once that is automated. + - Add a stanza to the Makefile (if we go that way, that is) - **make + manifest** or **make test** or something like that. +- ?other sanity checks? + +### Runtime Environment + +- for each package/major feature set a checklist must be made that will + reasonably ensure the software is behaving as expected. +- A list of packages that comprise 000-byzantium.xzm should be + maintained someplace. Right now we're just eyeballing it. +- A list of files associated with each package should be maintained + someplace. + - This is why I build Slackware packages (where feasible) or do a + **DEST=/tmp/SBo make install** where there aren't any followed by a + **dir2xzm /tmp/package.xzm /tmp/SBo** - to keep all of the files for + a particular package grouped together. + - A bunch of .xzm packages are easier to keep track of than compiling + stuff in sequence. Then, when it comes time to build everything the + build system can check them out of SVN and use **xzm2dir** to unpack + all of them in sequence into a fakeroot. So, I propose a two step QA + sequence: + - Make sure that some_package-rev.isi.on.xzm was compiled and + checked into SVN. + - Make sure that some_package-rev.isi.on.xzm was checked out of SVN + on the build machine and **xzm2dir**ed into /tmp/fakeroot. + - the checklist can (and is recommended to) just say to run a script + that will do the required tests and return a pass/fail status. + - if a script is used for runtime QA it should be named "runtimeQA.sh" + and have 777 (a+rwx) permissions in the root directory of it's scope + (eg for a package + "byzantium-repo/packages/thispackagedir/runtimeQA.sh"). Also it + should use paths with the expectation that the script will be run + from an arbitrary directory. + +### Human Environment + +- 2 day cool down period between building and publishing +- No .iso image goes out without being PGP signed against key + 0xD6975C17. + - While we're at it, can we get some more signatures on that key? + - Fingerprint 93F3 8B13 B52C D8F0 FA8D 03B3 37AA 847C D697 5C17 + - I've uploaded it to a bunch of keyservers around the Net. +- The person who builds the .iso image is not the one who checks the + contents of the .iso image. After you've been staring at the same + thing for long enough, it all starts looking alike. + - Does the bootloader have the right porteus.cfg? + - Does the bootloader have byzantium.jpg handy? + - Does porteus/modules/000-byzantium.xzm exist? + - Do these files exist in the root directory of the .iso image? + - README.txt + - README.NOW + - FAQ.txt + - packages.txt + - CHANGELOG + - Do all of the Porteus modules exist in porteus/base? + - 000-kernel.xzm + - 001-core.xzm + - 002-xorg.xzm + - 003-lxde.xzm + - 004-kde.xzm + - 005-kdeapps.xzm + - 006-koffice.xzm + - Do we really need to include this? + - 007-devel.xzm + - 008-firefox.xzm +- No .iso goes out without being tested, i.e., at least booted in a VM + and put through its paces. +- We need a process for loading the mirrors from a single distribution + point. +- Torrents are seeded prior to announcement. \ No newline at end of file diff --git a/Byzantium_Live_Distro_Service_Announce.md b/Byzantium_Live_Distro_Service_Announce.md new file mode 100755 index 0000000..3455e67 --- /dev/null +++ b/Byzantium_Live_Distro_Service_Announce.md @@ -0,0 +1,29 @@ +## Description + +Share services running on a network with clients and other supernodes. + +Each mesh node maintains a list of all of the services and web apps it's +running. That list is used to populate the service directory page of +each node. The trick lies in telling the other mesh nodes what you +happen to be running and what IP address it is. This is where being able +to announce what services you run to other mesh nodes will come into +play. We are using dns-sd via mdns/avahi/bonjour to announce services. +The "__byz__._tcp" service type is being used to distribute +services started by byzantium. + +This is simplified somewhat by the fact that the mesh nodes' network IP +addresses are all 192.168/16. + +## Suggestions + +### Contents + +- see dns-sd spec + +### Method + +- dns-sd via mdns/bonjour/avahi + +### Format + +- see dns-sd spec \ No newline at end of file diff --git a/Byzantium_Live_Distro_StreamingMediaSrv.md b/Byzantium_Live_Distro_StreamingMediaSrv.md new file mode 100755 index 0000000..aa5b2ee --- /dev/null +++ b/Byzantium_Live_Distro_StreamingMediaSrv.md @@ -0,0 +1,3 @@ +## Suggestions + +- [icecast](http://icecast.org) \ No newline at end of file diff --git a/Byzantium_Live_Distro_Tel.md b/Byzantium_Live_Distro_Tel.md new file mode 100755 index 0000000..d675619 --- /dev/null +++ b/Byzantium_Live_Distro_Tel.md @@ -0,0 +1,4 @@ +## Sugestions + +- Mumble/Murmur +- Asterix \ No newline at end of file diff --git a/Byzantium_Live_Distro_WebProxy.md b/Byzantium_Live_Distro_WebProxy.md new file mode 100755 index 0000000..d9fa39f --- /dev/null +++ b/Byzantium_Live_Distro_WebProxy.md @@ -0,0 +1,8 @@ +## Suggestions + +- Squidproxy + - (i'm just pulling names out of my ass on this one - haxwithaxe) + - Squid's got potential. We might also want to consider something like + polipo because it'll do the same thing, plus filtering out junk to a + certain extent, plus it's a lot more lightweight than Squid is. + --The Doctor \ No newline at end of file diff --git a/Byzantium_Live_Distro_Wiki.md b/Byzantium_Live_Distro_Wiki.md new file mode 100755 index 0000000..529d974 --- /dev/null +++ b/Byzantium_Live_Distro_Wiki.md @@ -0,0 +1,6 @@ +There was a discussion on the mailing list over whether or not it would +be worth putting a wiki on a Byzantium node. Seeing as how our use cases +involve mobile devices, it might not be worth including them because +they're not easy to edit from smartphones or MP3 players. It's easy to +browse a wiki with a good mobile skin, but not so easy to edit text. +Thus, I think we're tabling the notion until later. \ No newline at end of file diff --git a/Byzantium_Sprint_1.md b/Byzantium_Sprint_1.md new file mode 100755 index 0000000..73cad94 --- /dev/null +++ b/Byzantium_Sprint_1.md @@ -0,0 +1,43 @@ +Goal - Reliably bridge two different and separate wireless networks +without using existing internet infrastructure. + +Design goals 1) There should be a webserver on each network providing a +service of some kind (microblogs, web chat, file dump). 2) Nodes in +either network should be able to reach both webservers. 3) Nodes on one +network should be able to talk to nodes on the other network and vice +versa. 4) Networks should have at least 3-5 nodes each. + +Tentative schedule is as follows: + +Friday - 8:00pm Pizza and planning (any particular request should email +me off list). (COMPLETE!) Saturday - 9:00am Start showing up (IN +PROGRESS!) Saturday - 10:00am Divide into groups and start the sprint. +Sunday - 10:00am Start showing up. Sunday - 11:00am Finish the sprint! +Sunday - Evening Debriefing (I'll be taking extensive notes to update +the wiki). + +Notes: + +- [BATMAN](BATMAN "wikilink") +- [BATMAN-Advanced Setup](BATMAN-Advanced_Setup "wikilink") +- [Babel](Babel "wikilink") +- [Babel Setup](Babel_Setup "wikilink") + +Plans! We're gonna have two teams each will implement a mesh network +using some existing mesh protocol. One team will be working with +BATMAN-Advanced and the other with BABEL. Each network will use at least +one openwrt device the rest will be laptops and netbooks. + +from Wikipedia: +[Byzantine](http://en.wikipedia.org/wiki/Byzantine_fault_tolerance#Origin) +[From p2pfoundation.net](http://p2pfoundation.net/Mesh_Networks) + +Interesting threads: [A few comments on the BATMAN routing +protocol](http://lists.alioth.debian.org/pipermail/babel-users/2008-August/000151.html) +[A few more comments on the BATMAN routing +protocol](http://lists.alioth.debian.org/pipermail/babel-users/2008-August/000156.html) +[Tweaking BATMAN-adv](http://www.open-mesh.org/wiki/batman-adv/Tweaking) + +### Distributed DNS + +see [this](Byzantium_Distributed_DNS "wikilink") \ No newline at end of file diff --git a/Byzantium_Sprint_2.md b/Byzantium_Sprint_2.md new file mode 100755 index 0000000..05087e0 --- /dev/null +++ b/Byzantium_Sprint_2.md @@ -0,0 +1,158 @@ +Summary: Build at least one long-haul link to bridge two meshes. + +Planning meeting: Thu Mar 3 2011 after the bike maintenance class (done) +Planning meeting \#2: Wed Mar 16 2011 after the elements of computing +class (doneish) + +**Sprint Date: Fri-Sun March 25-27** +[Inventory](Byzantium_Sprint_2_Inventory "wikilink") + +### Schedule + +FRI: 8:00pm Pizza, sprint 1 recap, and prep (mostly ripping thing apart +and some assembly) SAT: + +- Noon Brunch and final assembly followed by bench tests and midrange + tests depending on speed of success +- Dinner Time: Dinner outside the space. This must occur outside the + space. +- 9:00pmish? Discussion and general planning for Sunday optionally + followed by more testing/making + +SUN: + +- Noon Brunch prep for long distance tests followed by long distance + tests +- Dinner Time: Dinner outside the space. This must occur outside the + space. +- 9:00pmish? Discussion and planning for the next sprint + +### Stuff to bring (proposed) + +- FMRS/GMRS radios that you wouldn't mind hacking. +- Childrens' walkie-talkies. [User:Drwho](User:Drwho "wikilink") knows + where to buy cheap pairs of them locally. +- Webcams *that are known to work with Linux*. That's closer to black + magick than computer science, so do your homework first (or on your + smartphone while at the store). The feature to look for is called + [UVC](http://en.wikipedia.org/wiki/USB_video_device_class) though + webcam boxes still might not mention it. +- Laser pointers (the more exotic the colors the better). Buy them when + you find them. When you go looking for them you can never find them. +- Really bright LEDs +- Photocells, photoresistors, photodetectors. +- Microcontrollers. They may come in handy for modulating/demodulating + signals. +- Hackable wireless access points. Here are some + [examples](http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&DEPA=0&Order=BESTMATCH&Description=dd+wrt) + that might work. +- old headphones/headsets/stereo audio cables and phone cords for + cutting up and making into modem to radio connectors + +### Radio + +- radio shack/hardware store high bandwidth unlicensed spectrum +- Hacked FRS/GMRS radios + - [Text messages over + walkie-talkies.](http://takethingsapart.blogspot.com/2010/07/note-before-constructing-device-such-as.html) + - [Forum post with some + ideas.](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1270645507) + - Pros: + - cheap + - longish range (35mi allegedly) + - Cons: + - Need an automated PTT switch or two radios per node +- Develop improvised antennae to improve signal quality, distance + covered. + - anything + aluminium foil = bouncy bouncy for radio waves + +The FCC has designated a number of channels in the 27 MHz band that can +be used for signaling and radio control. They are unnumbered and +in-between CB channels 1-13 +([source](http://forum.servomagazine.com/viewtopic.php?f=1&t=2736)) + +### Optical + +- Modified Ronja-like + - with lasers + - with balloon targets + - with lasers and balloon targets + - with lasers and self-adhesive mirrored decals. +- All Electronics Magazine had a couple of articles on building + lasercomm devices on the cheap. Somebody remind the Doctor to go + through his magazine collection. +- [How to make a simple laser + communicator.](http://www.make-digital.com/make/vol16/?pg=69#pg69) (I + do have this issue. Have bought parts to build a pair of transceivers. + --The Doctor) +- [Handbook of Optical Through-the-Air + Communications](http://www.imagineeringezine.com/files/air-bk2.html) + is a good read on the basics of an LED-based hardware setup, though + he's aiming at voice comms. (Elliot) + +### Inspiration + +- [Ronja](Ronja "wikilink") + +### Homework + +- read up on [Ronja](http://ronja.twibright.com/) +- read up on FMRS/GMRS +- read up on and talk to the HacDC Spaceblimp team about soundcard + modems: like [this](http://www.baycom.org/~tom/ham/soundmodem/) (also + available via apt [like so](Notes_on_Soundmodem "wikilink")) + - [Howto](http://www.linux-ax25.org/wiki/Soundmodem)(go here last it's + a bit short on soundmodem specific info) + - [Notes on Soundmodem](Notes_on_Soundmodem "wikilink") + - [Soundmodem in the + field.](http://www.qbjnet.com/packet.html#soundmodem) +- Read up on [AX.25](AX.25 "wikilink"). + +### Goals (proposed) + +- Optimize for hackability. Could your average geek build a few of these + using junk around zir house and deploy them in an emergency situation? + - not a chance +- Determine the optimum speed in bits per second for a mesh-to-mesh + link. + - very crazy slow (we didn't bother measuring it was so slow) +- Measure the bandwidth of a point-to-point long haul connection at a + particular distance. + - again to slow to bother +- Determine the maximum practical distance for a long haul connection + between two meshes in an urban environment. + - didn't get that far +- Mathematically describe the way to maximize throughput with a minimum + number of nodes. + - didn't get that far +- Run an ssh session over whatever link is established. + - done +- Interact with a web page over whatever link is established. + - connection was too unstable to get this far +- Develop methods to minimize latency. + - tweak the source and transmitter volume A LOT until the it's perfect +- Determine the efficiency of the mesh routing protocol we settle on. + - didn't get this far + - How many active nodes per mesh can be reasonably supported before + connectivity breaks down? + - to be determined + +### Apps running on Windbringer (laptop/node) to prove functionality + +- [status.net v0.9.6](http://status.net/open-source) +- [Mediawiki](http://www.mediawiki.org/wiki/MediaWiki) + +### Lessons Learned + +- "how hard can it be" ... oops :( + - very. soundmodem is finicky and creates unstable connections 20% + packet loss at best 80-90% avg. + - Don't forget network latency of 35,500ms over a distance of eight + feet. +- "What could possibly go wrong?" ... oops :( + - everything + - [There are no experimental failures. There is only more + data.](http://drwho.virtadpt.net/archive/2011/04/14/project-byzantium-development-sprint-2) + +Let's see how much of [Project FabFi](http://fabfi.fablab.af/) we can +make use of! \ No newline at end of file diff --git a/Byzantium_Sprint_2_Inventory.md b/Byzantium_Sprint_2_Inventory.md new file mode 100755 index 0000000..519f16c --- /dev/null +++ b/Byzantium_Sprint_2_Inventory.md @@ -0,0 +1,98 @@ +Add the crap you have to this list even if someone else says they have +the same stuff. + +Also, keep in mind that having spares around would be handy in case we +fry some stuff. + +## haxwithaxe (chris) + +- openwrt compatable routers....10 +- FRS/GMRS handsets....2 +- laser pointers....1 +- webcams(in laptops)....2 +- usb webcams....1(non hackable :( ) +- microcontrollers....5 + - teensy 2.0 + - teensy++ 2.0 + - mbed + - 2 jeenode v4 +- photoresistor....(will buy \$20 worth before planing meeting \#2 ... + radioshack is cheaper than digikey ... who'da thunk) + - Things are weird like that these days. +- 7805....(will buy \$20 worth before planning meeting \#2 ... again ... + wtf radioshack is cheaper) + - Cheaper but more scarce. Buy them online, you'll have a better + chance of getting them, plus it saves on gas. + +## The Doctor + +- Wireless routers: 2 +- FRS/GMRS handsets: three pairs + - Uniden GMR1235-2: one pair + - No headphone or mic jacks. + - Will have to drill into case and patch directly onto PCB. + - Will have to build a push-to-talk circuit, though we might be able + to get away with using two per node (one sending, one receiving, + on different channels). + - Audiovox GMRS602: three (one is still MIA, I think ITechGeek has it) + - [Manual](http://audiovox2.info/docs/common/GMRS602CH/GMRS602CH_OM.pdf) + - Has vox support. + - Has a combination headphone/mic jack. + - No hardware modifications will be required. + - Simplex operation. + - Supports CTCSS subcodes to multiplex channels. + - Plug pinout (held with the tip downward) + - Center: base of plug : common + - Left: middle of plug : phono + - Right: tip of plug : mic +- Walkie-talkies: 2, could get another pair, they're cheap + - Each uses a 9V battery +- Laser pointers: 4 + - See Make Magazine \#16, Spy lasercomm device. + - Simple design. + - Exposed power leads by chopping up casings last night. + - Two work well, one is kind of dodgy, one appears to be DOA. + - Taped buttons down. + - Taped stacks of coin cells together. + - Spring is negative, inside of shell is positive. +- Assorted LEDs: 20 +- Webcams (USB): 1 +- Microcontrollers: 1 Arduino Diecimiela +- Photocells: need to order +- Photoresistors: Seven, need to order more +- Modems: 2 +- TinyTrak 4 (used with Project Spaceblimp) +- Radio Shack HTX-200 HT +- Uniden BC92XLT scanner +- Encapsulated solar cells, 66mm x 95mm x 6mm + - Pre-wired, with exposed holes for probes as well. + - 0.5V @ 800mA: 1 + - Didn't generate an appreciable amount of current last night. + - Physically larger than the other one. + - Might be unsuitable for use as a detector. + - 1.0V @ 200mA: 1 + - Generates a decent amount of current. + - Reacted to room lighting and flashlight in the 'space last night. + - Might make a good optical sensor. +- High intensity white light LED flashlights (miniature): 2 + - I've had this model open and played around with them a bit, they're + just high-intensity white light LEDs that run on 3VDC. We'll have + more trouble opening the casings than putting them to use. +- 1/8" monoaural phono plugs: 4 + - Useful for plugging into laptops. +- 1/8" stereo phono plugs: 4 + - Useful for plugging into radios. +- 14" jumper leads, with alligator clips on both ends: 10 +- Audio output transformers, 1K ohms in, 8K ohms out (RS 273-1380): 4 +- Assorted resistors, carbon film type, 1/4 watt, 5% tolerance: 500 + - Note: this was the only way I could find the resistors needed to + build the lasercomm device. Fraggin' Radio Shack... +- Ultra-high brightness red LEDs, 10mm diameter: 4 +- 7805 voltage regulator, 5 VDC, 1A: 3 +- Assorted cadmium sulfide photocells (RS 276-1657): 5 +- assorted rubber bands to hold transmit buttons down +- assorted six inch lengths of heatshrink tubing to protect wiring + splices, bundle coin cells into ad-hoc power packs +- batteries for hand-helds +- 741 op amp, mini DIP formfactor, 8 pins: 4 + - could use these to build amplifiers \ No newline at end of file diff --git a/Byzantium_Sprint_3.md b/Byzantium_Sprint_3.md new file mode 100755 index 0000000..110e536 --- /dev/null +++ b/Byzantium_Sprint_3.md @@ -0,0 +1,43 @@ +**Sprint Dates: Fri 29 April 2011 - Sun 1 May 2011** + +## Goals + +- Revisit sprint 1 + - Gather metrics to determine efficiency of protocols. + - Sizes of routing protocols' packets. + - Number of packets per second/minute/hour transmitted by each + protocol. + - Average amount of traffic during normal operation. + - Determine how many nodes can participate in a mesh before + responsiveness or bandwidth begin to degrade. + +## Stuff To Bring + +- anything that can run babel + - laptops/netbooks + - desktops with wireless cards + - openwrt compatible routers (if you're feeling lucky/adventurous) + +## Homework + +- install babeld on every machine you plan to bring to the sprint +- \[optional\] install a kernel with support for batman-adv on the same + machines (it's built into the kernel after version 2.6.38+ ) or build + the modules separate from the kernel +- readup on route and ip/ifconfig commands in linux +- readup on ipv6 + +## Experiments + +- network density + - hypothesis: if the nodes are positioned very densely, then the + network quality will degrade. + - test: position nodes at increasing densities starting with evenly + distributed nodes at their maximum effective range, and run tests to + measure network quality at each level of density. + +## Suggestions + +- Babeld install guide +- LiveCD guide +- Twitter hashtag \#hacbyz ?? \ No newline at end of file diff --git a/Byzantium_Sprint_4.md b/Byzantium_Sprint_4.md new file mode 100755 index 0000000..db20040 --- /dev/null +++ b/Byzantium_Sprint_4.md @@ -0,0 +1,33 @@ +possible projects: + +- Revisit sprint 2 with different methods. + - Cantenna? + - Dialup? + - Pretty easy to test at HacDC by cross-connecting two modems and + dialing between them. + - CAT-5e or CAT-6 throws (thanks to John Gillmore)? + - Bluetooth? +- web replacement (for inside the mesh) + - Can already set up web servers on the mesh and deploy web apps. + - distributed status.net (is it already? - Yes through OStatus + ) + - Have a copy of status.net running on a mesh node right now. + - [Tahrir](https://github.com/sanity/tahrir/wiki) + - [rstat.us](http://rstat.us/) + - webmail + - May we should look into something that works like + [privacybox.de](https://privacybox.de/). + - chat proxies/interceptors? + - aim + - facebook + - gtalk (not really any work needed here) + - Could probably do it with an XMPP server and a web front-end. +- Asterisk server with web front and a couple of confs configured? + + + +- New project - something different. + - [OLSR](http://www.olsr.org/)? + +E-mail your vote to byzantium \[at\] hacdc \[dot\] org with the subject +"Sprint 4 Topic". \ No newline at end of file diff --git a/CCL_front_panal.md b/CCL_front_panal.md new file mode 100755 index 0000000..db3a6da --- /dev/null +++ b/CCL_front_panal.md @@ -0,0 +1,107 @@ +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +\ \ \ \ +\ \ \ \ \ \ +\ \ \ \ \ \ +\ \ \ \ \ \ \ \ +\ \ \ +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +\ \ \ \ \ +\ \ \ \ \ \ \ \ \ +\ \ \ \ \ +\Layer 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +\ \ \ +\ \ \ No newline at end of file diff --git a/CCL_front_panel.md b/CCL_front_panel.md new file mode 100755 index 0000000..3522408 --- /dev/null +++ b/CCL_front_panel.md @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Control Panel" + #background + + #mounting tabs + " + " + #mounting holes for studs in control cabinet + + + + + #panal flange with rounded corners + " + #panal face with rounded corners + " + + + + + + + + + + + + + + + + + + + + # power level potentiometer + # power auto-hand switch + # safety override switch + # manual fire switch + + + + + + + + + + + + +[Category: CheapChineseLaser](Category:_CheapChineseLaser "wikilink") \ No newline at end of file diff --git a/CNC_Companies.md b/CNC_Companies.md new file mode 100755 index 0000000..3edc9d2 --- /dev/null +++ b/CNC_Companies.md @@ -0,0 +1,15 @@ + + +I've used eMachineshop to cut 200 plastic bases I needed for a project. +Pretty happy with the results and pricing. I used their (proprietary) +CAD tool which then can price an order and place an order. + + + +Here's a company that specializes in low quantity runs and prototypes. I +don't know too much about them, but it seems like that fast quote system +might be nice. + +Protype, Reston + +[Category:Useful_Info](Category:Useful_Info "wikilink") \ No newline at end of file diff --git a/CNC_Mill.md b/CNC_Mill.md new file mode 100755 index 0000000..d462a96 --- /dev/null +++ b/CNC_Mill.md @@ -0,0 +1,259 @@ +# Type + +
+
+
TAIG_CNC_Mill.JPG
+ + +Our CNC mill is a [MicroMill DSLS +3000](http://www.microproto.com/MMDSLS.htm), a [Taig Manufactured CNC +Mill](http://www.taigtools.com/cmill.html). + +This mill is generously on loan from the Smithsonian. + +We are running [ArtSoft Mach3](http://www.machsupport.com/) for control +software. + +# Terms + +- Computer Numerical Control (CNC) - The ability to control a machine + using mathematical commands +- Computer Aided Design (CAD) - Software which generates a model which a + machine can translate into tooling commands for manufacturing. +- Computer Aided Manufacturing (CAM) - The actual process of production + from file to finished product. +- Tooling/tools - The bits used in a mill to actually +- Milling - The use of a spinning piece of metal to shape an object + through calculated removal of a media, normally via an X / Y / Z axis. +- Manual Data Input (MDI) - A method for doing manual milling with + precise control commands. +- Lathing - The use of a "static" piece of metal to shape an object + through calculated removal of a media which is in (usually) a circular + motion. +- [Mach3](http://www.machsupport.com/) - The software used to translate + G Code into electrical pulses which can be used by a mill. + +# Getting Started + +To initially get started with the CNC mill, it's helpful to have a basic +grasp of G Code. How better to get started with this than to begin +playing. + +## Turning on the Mill + +When turning on the mill there are three primary "light switch" style +switches which should be turned on. The first is on the back of the +black box labeled "MicroProto Systems, MicroMill DSLS 3000". This switch +is located on the back to the right side (imagine reaching around on the +rear right). Flipping the switch "up" should turn this on. + +Next, turn on the main control to the spindle. This is achieved via the +light switch on the M3/M5 box. Turn this to the "on" position (flicking +it towards the label M3/M5). + +Finally, turn on the spindle on the actual mill. This is in a blue +enameled box residing on the Z axis. Flip this switch "up". If the +spindle immediately starts spinning, this is because someone didn't send +the control command to stop it. This isn't a problem, but we will want +to stop it sooner than later. We will cover this in the next section. + +To avoid unexpectedly turning on the spindle motor when powering on the +machine, wait to flip the power switch to the on position until after +EMC2 is running. This will ensure that the parallel port is in the +appropriate state according to the configuration file to keep all motors +off by default. + +## Starting Mach3 + +This can be done by using the icon on the desktop. + +## Spindle control and Emergency Stop + +If the tooling is clear of all obstacles, you can press *F5* to toggle +the spindle motor on and off. + +The switch on the right side of the mill, near the top will cut power to +the spindle. This is the best way to shut it down in an emergency... but +note that the axis can still move after the switch is thrown. Pressing +*Reset* in the interface will signal Mach3 to make an *Emergency Stop*. +You'll see the *Reset* button blink, and the status line at the bottom +will read "E-Stop Triggered, press reset...". + +## Making our first motions + +### Jog Controls + +To start, we're going to use the "jog" functions to move the milling +cutter around and get a feel for what is "positive" and "negative" on +the X, Y, & Z axis. + +Especially, when starting out, limit motion to the X and Y axis as this +has the least potential for damaging our tooling (aka, breaking a bit). +As you get a feel for what's positive and negative, we will start using +larger motions. + +To start, hit the "tab" key to bring up the Jog controls. The main +settings on this panel are the *Jog mode*, which can be either +*continuous* or *step*. In continuous mode, holding down the motion keys +(described below) will make the axis move continuously, and quite a lot. +In step mode, pressing or holding the motion keys will move only a fixed +step per key-press. The step distance is also configurable on the Jog +control screen. You can hide the jog controls when not in use by +pressing the *Tab* key. + +To start, select continuous mode in the jog controls and press the *Left +Arrow* and *Right Arrow*. Notice that the mill table moves left and +right. This is the X axis. Next, press the *Up arrow* and *Down Arrow* +keys briefly, notice that the mill table moves front to back. This is +the Y axis. Finally, press the *Page Up* and *Page Down* keys briefly; +notice that the spindle moves up and down. This is the Z axis. As you +were moving the milling cutter around, you'll notice that the +coordinates are displayed in the main window. This is where you can +quickly survey where your tooling is located. + +### Obligatory Setup + +Sometimes the *Reset* button in Mach3 will be flashing. This usually +means that you exceeded the movement limits or speed of the mill and the +controller has signaled Mach3 to stop. Often clicking reset is enough to +clear this error. + +### Mill Controller Crash + +Sometimes the controller will crash, this is usually evidenced by +*Reset* complaining that it cannot clear a limit. It will offer a button +that says "Fix this for me". "Fix this for me" actually redefines what +an error is in the software (e.g. if input low is defined as an error, +then it will redifine error as input high). Instead of clicking *Fix +this*, you should try turning off and on the mill controller using the +switch on the rear, lower-right side. Clicking *Reset* again should +clear the trouble. + +### Advanced Manual Control - MDI (Manual Data Input) + +Click on the MDI tab in the main Mach3 screen to the MDI Controls +section. Within this section (the line next to input) we can type in +actual G Code to move our tooling around. To start, we're going to use +simple "go to" commands. This will rapidly move the tool to the position +that we tell it to. Note, at any time, we can stop the execution of +these commands by hitting the "stop" button on the screen or typing +ALT-S on the keyboard. The first command we will use is "rapid go to" or +"g0". As an example: make sure the tooling is well clear of the table +using the jog controls and all axis are (roughly) centered. Reset all +axis (X, Y, Z) to zero using the *Zero Axis* button located to the left +of the current axis location. As you click zero axis, you should see the +axis change to -0.0000. + +To make our first motion, let's move the X axis to position 0.5. To do +this, enter this command into the box marked *Input*: + +` g0 x0.5` + +The X axis should begin moving and it should stop 0.5" to the right of +it's initial position. + +Additionally, we can give multiple coordinates at once. Now try the +command: + +` g0 x0 y0` + +This should send our tool back to the starting position. This can make +things go much, much faster for resetting back to the position that you +started with the mill at. + +To have more fine grained control we can use the command "g1". There is +nothing that G0 does which G1 cannot. The only difference in syntax is +that we specify the feed rate of the motion as the first option. By +default the mill is set to operate in inches per minute. Thus, unless +you change this (via g code) it should be assumed that this will be the +unit of measure for your commands. + +Lets slowly raise our Z axis up one inch: + +` g1 f2 z1` + +Note, since we were at a position approx 1 inch up and told the mill to +return to zero at a rate of F2 or 2 inches per minute, it will take +approximately 30 seconds for this command to complete. Slow movement of +the tool (especially when 'plunging' the z axis is a good idea as it +allows for time to hit the "esc" key if things start going horribly +wrong). + +Now, let's build on some of these together: + +` g1 f10 x1 y1 z1` + +Whoops, back to zero: + +` g1 f5 x0 y0 z0` + +When moving back to zero you will see that the mill is moving half of +the original speed (5 inches per minute rather than 10 inches per +minute). + +Let's really open this thing up and see what it can do. While watching +this command move notice the *feed rate* indicator in the preview MDI +tab. This will allow you to see the actual speed of the tool. + +` g1 f50 x1 y1 z1` + +Linear motion is great and all, but how about we dwell outside the +euclidean space for a minute. The next commands that we are going to +learn are G2/G3. G2 will make a clockwise arc while G3 will make a +counterclockwise arc. The command syntax is as follows: + +`*G2 - Command` +`*Fx - Feedrate at X inches per minute` +`*Xv - Destination X coordinate (in this case end at v)` +`*Yw - Destination Y coordinate (in this case end at w)` +`*Ix - X axis center point offset` +`*Jy - Y axis center point offset` +`*Za - Interpolated Z axis coordinate (optional)` + +To start, lets make a circle: + +` g2 f5 x1 y0 i-0.5 j0` + +Annnnd we fail. This is because we've given junk data to the mill. Lets +try that again making a circle. Of course, to make a circle, we will +want our beginning (1,1,1) to be the same as our destination (1,1,1) +only changing the X axis center point offset. + +` g2 f5 x1 y1 i-0.5 j0` + +Fun math bits... run that command again and note the "distance to go" or +"DTG" in the preview area. Note the distance at the immediate start of +plotting our 1 inch diameter circle (2 \* 0.5 X offset). This should be +a predictable [result](http://en.wikipedia.org/wiki/Pi) + +# Tool Changing + +Use a wrench to gently remove the chuck. Check the toolbox beneath the +mill for different bits and other things as required. + +Little force should be required to tighten the chuck; it has been said +that finger-tight is often sufficient. + +# When you're done + +Please cleanup the mill area and place tooling back into the mill +toolbox under the bench. + +Finally, turn off all three power switches noted above. + +Thanks + +# Caution + +Please avoid doing these things, unless you can deal with the +consequences yourself. + +- Don't run the mill too far off axis. The stepper motors will usually + make a harsh grinding sound when this happens. +- Don't leave the mill completely unattended. Be prepared to hit the + *Reset* key within at most a minute of hearing something go wrong. +- Obviously, don't put your hands in hazardous places. + +Otherwise, the mill is robust and newbie friendly. + +[Category:CNC_Mill](Category:CNC_Mill "wikilink") \ No newline at end of file diff --git a/CNC_Mill_Log.md b/CNC_Mill_Log.md new file mode 100755 index 0000000..5809c65 --- /dev/null +++ b/CNC_Mill_Log.md @@ -0,0 +1,51 @@ +When something goes wrong, its nice to note it here. Also nice to note +any fixes (eg. resurfacing the milling platform). + +## 2 May. 2013 + +Maximum X-Axis feed rate of 60in/min was moderately error prone, +occasionally triggering emergency stop. Reduced to 40in/min, identical +to Y-Axis setting. [mirage335 2013-05-02](User:mirage335 "wikilink") + +## 2 Feb. 2013 + +Settings on Mach3 were incorrect; communication with the mill controller +was impossible. The following settings changes were made (and some +fiddling done) and the mill appears to be functioning and calibrated +well: + +- Changing the port to address 0x378 allowed the spindle control to + function. +- Changing X,Y,Z,A drive and step ports to port 1 (0x378) and setting + low trigger on axis X. +- Recalibrated "steps per" with the calibration wizard under *settings* + using dial indicator (now set for ~16250). + +Note: Often restarting Mach3 seems to be required to actually update +some of the port settings (although it pretends otherwise). Mill +calibration was accurate to only ~0.003" (which maybe a limit imposed by +the limited rigidity of the mill+stand). + +[Shawn Nock (OpenPGP: 0x65118FA5)](User:Nock "wikilink") 12:47, 3 +February 2013 (PST) + +## 22 Jan. 2013 + +- Major upgrades in progress thanks to TJ. + +## 10 July 2012 + +- Platform still needs replacing, but Barlow resurfaced the remaining + usable area. At least now it is level again. + +## 28 Apr. 2012 + +- Someone accidentally resurfaced the milling platform (milled too + deep). Now the platform needs replacing. + +## 11 Apr. 2012 + +- Milling platform is no longer level, thanks to the screws holding it + down being loosened up. Needs resurfacing. + +[Category:CNC_Mill](Category:CNC_Mill "wikilink") \ No newline at end of file diff --git a/CNC_Supplies.md b/CNC_Supplies.md new file mode 100755 index 0000000..33aa34b --- /dev/null +++ b/CNC_Supplies.md @@ -0,0 +1,37 @@ +# Bits + +## PCB Isolation Routing + +- [\<0.01" End Mill (PCB + Cutter)](http://www.amazon.com/dp/B0083KMIYA/ref=biss_dp_t_asn) + +## PCB Drill/Milling + +- [23mil diameter End Mill, suitable for milldrilling + holes](http://www.amazon.com/dp/B000N4A8X2/ref=biss_dp_t_asn) +- [47mil diameter End Mill, suitable for outline + cutting](http://www.amazon.com/dp/B000N48TY2/ref=biss_dp_t_asn) +- [63mil diameter End Mill, perhaps more robust for outline + cutting](http://www.amazon.com/dp/B000N4A56M/ref=biss_dp_t_asn) +- \[? + Drill bit variety from ~6mil to ~38mil cutting diameter.\] + +# Stock + +- [Single Sided Copper Clad + Board](http://www.amazon.com/electronics/dp/B000P7ALZC) +- [Medium Density + Fiberboard](http://www.homedepot.com/p/Unbranded-3-4-in-x-2-ft-x-4-ft-Medium-Density-Fiberboard-1508112/202089064#.UpYUqqqYgrQ) +- [Excellent practice material, easy on bits, and quickly laser cut into + standard-size + blocks.](http://www.homedepot.com/p/Owens-Corning-FOAMULAR-InsulPink-1-1-2-in-x-2-ft-x-8-ft-R-7-5-Furring-Lap-Insulation-Board-43WD/100320293) + +# References + +- [Amazon End Mil + directory.](http://www.amazon.com/gp/search/other/ref=sr_sa_p_cutting_diameter-v?rh=n%3A16310091%2Cn%3A383598011%2Cn%3A5825198011%2Cn%3A256305011%2Ck%3Aendmill&keywords=endmill&pickerToList=cutting_diameter-vebin&ie=UTF8&qid=1399306727) +- [Variety of End Mills with varying + specs.](http://www.amazon.com/Niagara-Cutter-59821-Finishing-Non-Center/dp/B00A0PDPSO/ref=sr_1_1?s=industrial&ie=UTF8&qid=1399306756&sr=1-1&keywords=endmill) + +[Category:CNC_Mill](Category:CNC_Mill "wikilink") +[Category:PA_SUPPLIES](Category:PA_SUPPLIES "wikilink") \ No newline at end of file diff --git a/CadSoft_Eagle.md b/CadSoft_Eagle.md new file mode 100755 index 0000000..3c74503 --- /dev/null +++ b/CadSoft_Eagle.md @@ -0,0 +1,43 @@ +[CadSoft](http://www.cadsoftusa.com/) makes EAGLE, a popular piece of +software for designing electrical circuits and laying out PCBs. It runs +on Windows, Mac OS X, and Linux. There's a [free (as in beer) +version](http://www.cadsoftusa.com/freeware.htm) available for +non-profit use. + +### Learning + +#### Sparkfun Tutorial Series + +- [Getting started with + eagle](http://sparkfun.com/commerce/tutorial_info.php?tutorials_id=108) +- [The basics of laying out a PCB with + eagle](http://sparkfun.com/commerce/tutorial_info.php?tutorials_id=109) +- [How to create a custom footprint & part in + eagle](http://sparkfun.com/commerce/tutorial_info.php?tutorials_id=110) + +#### Instructables + +- [Draw Electronic Schematics with CadSoft + EAGLE](http://www.instructables.com/id/Draw-Electronic-Schematics-with-CadSoft-EAGLE/) +- [Turn your EAGLE schematic into a + PCB](http://www.instructables.com/id/Turn-your-EAGLE-schematic-into-a-PCB/) +- [Make hobbyist PCBs with professional CAD tools by modifying "Design + Rules"](http://www.instructables.com/id/Make-hobbyist-PCBs-with-professional-CAD-tools-by-/) +- [How to make a custom library part in Eagle CAD + tool](http://www.instructables.com/id/How-to-make-a-custom-library-part-in-Eagle-CAD-too/) + +### Parts Libraries + +- [Sparkfun Eagle + Library](http://www.opencircuits.com/SFE_Footprint_Library_Eagle) +- [CadSoft's user-contributed + libraries](http://www.cadsoftusa.com/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.en&dir=eagle/userfiles/libraries) +- [Adafruit Eagle + Library](http://github.com/adafruit/Adafruit-Eagle-Library/blob/master/adafruit.lbr) + +### User Language Programs (ULPs) + +- [epscdraw_411.ulp](ftp://ftp.cadsoft.de/eagle/userfiles/ulp/epscdraw_411.ulp) + outputs color EPS (encapsulated PostScript). Handy for printing + +[Category:Useful_Info](Category:Useful_Info "wikilink") \ No newline at end of file diff --git a/Captive__Portal_notes.md b/Captive__Portal_notes.md new file mode 100755 index 0000000..74ba371 --- /dev/null +++ b/Captive__Portal_notes.md @@ -0,0 +1,85 @@ +- By default, access is denied. +- Traffic destined for anywhere but to a select few services (i.e., TCP + or UDP ports) is blocked by the local firewall. + - NTP + - IMAP(S) + - POP(S) + - OpenVPN + - IPsec +- HTTP(S) traffic caught by firewall, redirected to the mesh node's + client IP and port. + - **iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j + REDIRECT --to-port 31337** + - **iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j + REDIRECT --to-port 31338** + - We'd have to add an extra bit in there **--destination 10.x.x.1** +- A web server listening on the redirect ports (31337/TCP and 31338/TCP) + uses URI rewriting to point everything to a special URI: + +` ` +` RewriteEngine On` +` RewriteRule .* `[`https://byzantium.mesh/`](https://byzantium.mesh/)` [R,L]` +` ` +` ` +` ` +` RewriteEngine On` +` RewriteRule .* `[`https://byzantium.mesh/`](https://byzantium.mesh/)` [R,L]` +` ` + +- The web server listening on ports 31337/TCP and 31338/TCP serves a + page to the client. The client reads the text ("This is a wireless + mesh, stuff about OPSEC, click here to pass through to the directory + of services.") and clicks a button. + - It'd be nice if the page also optionally displayed a message "There + is a gateway to the public Net, so you can browse outside of this + mesh." if a gateway route existed and had been propagated. +- When the button is clicked the firewall is updated to permit that MAC + address to send traffic. + - **[ipset](http://ipset.netfilter.org/) -A capo_sessions_ipset + CLIENT_IP,CLIENT_MAC** + - Yes, MAC spoofing to bypass this is trivial. This isn't to prevent + people from getting online if they don't have a valid room number, + it's to force them to see a message from the admin and then kick + them over to a directory of services curated by the node's software. +- Set a timeout on the client IP? 10 minutes? 60 minutes? 5 minutes + (same as DHCP lease time)? + - **ipset -D capo_sessinos_ipset CLIENT_IP** + - Captive::Portal includes a script (capo-ctl.pl) which already does + this. In fact, you're supposed to run it from cron every ten minutes + or so to clean out idle sessions. +- Captive::Portal requires iptables (have it), ipset (need to compile + and install it), and a rule in */etc/sudoers* so it can run without + privileges but still carry out privileged tasks. +- fping is used to test idle sessions (have it). +- A CGI script that implements a captive portal is included in + Captive::Portal, it's called capo.cgi and runs under Apache. +- Basics of coding with this module: + +` my $capo = Captive::Portal->new(cfg_file=>$cfg_file);` +` while (my $eq = CGI::Fast->new){` +`   $capo->run($q);` +` }` + +- capo-ctl.pl is included with the module and manipulates the currently + running IPtables rules (as well as backing store of Captive::Portal) + with the ipset utility +- Everything Captive::Portal relies on the same configuration file (by + default, config.pl). +- mock-server.pl is a script that pulls the HTML from a URI (say, a web + server listening on wlan0) and spits it to stdout for testing. +- Used for testing your setup without needing a client. +- test-server.pl implements a very simple HTTP server so you can test + your capi.cgi script without having to configure Apache. + + + +- We might have to modify capo.cgi to use the DBI Perl module to access + the SQLite databases that hold the directories of services users can + reach. +- We may have either modify or subclass the Captive::Portal class and + add support for extracting and using the IP address of the client + interface (wlan0:1) rather than just the physical interface (wlan0). + It's been a long time since I've done OO under Perl but it's certainly + possible. +- config.pl should be configured for no authentication (i.e., just a + click-through). \ No newline at end of file diff --git a/Capture_the_Flag.md b/Capture_the_Flag.md new file mode 100755 index 0000000..37db271 --- /dev/null +++ b/Capture_the_Flag.md @@ -0,0 +1,48 @@ +## Build-A-CTF + +Join us to create unique hacking CTF competitions meeting **every Sunday +at the HacDC Space**. Sign up for events at +[Meetup.com](https://www.meetup.com/hac-dc/events/291602998/). + +As per Wikipedia, "A Capture the Flag (CTF) in computer security is an +exercise in which "flags" are secretly hidden in purposefully-vulnerable +programs or websites. It can either be for competitive or educational +purposes. Competitors steal flags either from other competitors +(attack/defense-style CTFs) or from the organizers (jeopardy-style +challenges)." + +### Goals + +Our first CTF aims to achieve the following goals: + +1. Be a *learning experience*, for both the organizers and participants +2. Be *beginner-friendly*, open and accessible to first-time + participants +3. Be *fun, engaging, and encouraging* to newcomers to explore the + wider world of cybersecurity + +## Design + +Based on the above goals, we have decided to design our first +competition in the style of \[ + King of the +Hill\] (KotH). A participant wins the event upon maintaining the sole +login session on the target machine for 30 **uninterrupted** minutes. +Participants may use any exploit to establish a session on the target +machine, but are only allowed to patch the exploit that they used to +enter upon establishing a session. It is in the interest of the present +King to monitor the machine for sessions established by other teams, and +to continue to research exploits in the event that they are dethroned by +an opposing team. + +### Architecture + +The environment will be developed in [GNS3](https://gns3.com/), a +virtualization software that enables the CTF organizers to construct a +purely software-based network, all within a single VM! VMs inside a VM, +a.k.a. VM-ception. + +
+ +
Example_GNS3.png
+
\ No newline at end of file diff --git a/Cardiac_Pacemaker.md b/Cardiac_Pacemaker.md new file mode 100755 index 0000000..afc5445 --- /dev/null +++ b/Cardiac_Pacemaker.md @@ -0,0 +1,45 @@ +# Overview + +In order to begin [biomaterials](:Category:Biomaterials "wikilink") +testing, GrindDC needs a realistic implant test platform. The +implantable cardiac pacemaker was chosen as the first project because it +is: + +- easily implemented +- cheap to produce +- small +- can easily utilize inductive power + +# Status + +Implant is early in the design phase. + +# Goals + +## Inductive Power + +Inductive power is a core feature that will be implemented in all future +designs for primary power or recharging of implanted power supply. + +The pacemaker test platform should implement: + +- inductive power recharge (with battery) +- inductive power only operation (without battery) +- easily replaced inductors + +## Small Size / Inexpensive + +To accomplish the [biomaterials](:Category:Biomaterials "wikilink") +testing goals the pacemaker reference implant will need to be small in +area to facilitate cheap production of the printed circuit boards. +Additionally, the required parts should be minimized in number and cost. + +## Functional + +Using a simulated cardiac cell model, the pacer should regulate the +circuit when Artrial-Ventricular block is simulated. The chosen cardiac +model is described in *Synchronization with low power consumption of +hardware models of cardiac cells* (Maeda, Yagi, Makino; +2005[1](http://dx.doi.org/10.1016/j.biosystems.2004.09.005)). + +[Category:Implants](Category:Implants "wikilink") \ No newline at end of file diff --git a/Cash_register.md b/Cash_register.md new file mode 100755 index 0000000..5fdef04 --- /dev/null +++ b/Cash_register.md @@ -0,0 +1,47 @@ +
+ +
Pic081908_3.jpg
+
+ +Our cash register is a Sharp XE-A203 ([quickstart +guide](:media:Cas_qguide_XEA203.pdf "wikilink"), [full +manual](:media:Cas_man_XEA203.pdf "wikilink")). + +## How to Use the Cash Register + +Before beginning, make sure that the key is set to the *Reg* position. +If you want a receipt, turn the key to the *OP X/2* position and hit the +**RCPT/PO** key. + +1. Hit the **ESC** key in the lower + left-hand corner. +2. If you're a HacDC member, hit the **1** key in the Amount/Clerk + Keys. Otherwise—i.e., if you're a guest—hit the **2** key in the + Amount/Clerk Keys. +3. Hit the **CL** key in the Amount/Clerk Keys. +4. Enter the amount of your purchase on the Amount/Clerk Keys. DO NOT + USE THE DECIMAL KEY. For example, to enter 50 cents, press the **5** + key then the **0** key on the Amount/Clerk Keys. +5. Under Department Keys, hit the appropriate department key, according + to the table below. If you have multiple items to ring up, repeat + steps 4 and 5. +6. Press the **CA/AT/NS** key + in the bottom right-hand corner. +7. Put in your money and close the drawer! + +## Departments + +| Department code | Description | +|-----------------|----------------------| +| **R** | Refreshments | +| **2** | Donations | +| **3** | Member Dues | +| **4** | Bulk Parts | +| **5** | Tools | +| **6** | Equipment | +| **7** | Clothing | +| **8** | Salvage Buy | +| **9** | Stickers and patches | +| **10** | Other | + +Cash register department codes \ No newline at end of file diff --git a/Categories.md b/Categories.md new file mode 100755 index 0000000..80f07c4 --- /dev/null +++ b/Categories.md @@ -0,0 +1,22 @@ +This is a list of wiki entries I (Bobby) have created (including old +ones): - +"instruction manual" for Area science event list + + - +attempt to write instructions for the ATmega328P microcontroller + + + - +telephone, printer, etc. + + + + + + + - what happened at HacDC + + - ImplicitCAD (.escad) files +for objects + + \ No newline at end of file diff --git a/Central_Services.md b/Central_Services.md new file mode 100755 index 0000000..7255f1e --- /dev/null +++ b/Central_Services.md @@ -0,0 +1 @@ +1. REDIRECT [Board of Directors](Board_of_Directors "wikilink") \ No newline at end of file diff --git a/Cheap_Chinese_Laser.md b/Cheap_Chinese_Laser.md new file mode 100755 index 0000000..1da8b7a --- /dev/null +++ b/Cheap_Chinese_Laser.md @@ -0,0 +1,532 @@ +**WARNING: Working on the laser cutter poses hazards far beyond anything +many people have encountered.** + +- The laser beam can blind instantly. It is invisible. It can reflect + unexpectedly. Operating the laser with the cover open (normally + blocked) is a really bad idea. +- The laser runs off of high power high voltage. Unlike household + current this can kill you even if you just come close to it. Think + lightning-in-a-box. Always turn the power switch off and unplug the + plug at the back of the laser cutter (so you know it's the right one) + before working on it. In addition, high voltage power supplies can + hold a charge after they've been turned off so you can still get + zapped for a while after everything's been shut off. If at all in + doubt get expert advice. +- Freak accidents happen. +- On the other hand, just using the laser cutter poses far less risk. + Take standard precautions. + +[Cheap Chinese Laser](Cheap_Chinese_Laser "wikilink") + +This is the page dealing with the [Cheap Chinese +Laser](Cheap_Chinese_Laser "wikilink") at [HacDC](https://www.hacdc.org) +in the upstairs room at St. Stephen and the Incarnate church in +Washington, DC. This page replaces [PA +LaserCutter](PA_LaserCutter "wikilink") page from some years ago. It had +high ideals, but poor execution. + +## Introduction + +HacDC has a K40, 40W, CO2, water cooled, laser for CNC cutting of +various materials, aka a cheap Chinese laser. It allegedly used to work +just fine, but someone decided that wasn't good enough so she ordered +and half-ass installed some new parts that only half-ass work. After our +intrepid hero, [James](user:James "wikilink"), fully-assed the +installation of the new parts, the laser still only half-ass worked. +[Tom](user:Tom "wikilink") was railroaded into helping with the +software, but even so the dynamic duo couldn't get the damn thing to +work. Then one day at work, boredom struck in a meeting and James had +the idea to create this wiki page to guide others through the confusion +and misinformation that plagues most equipment at HacDC and often +results in subpar operation. I beseech you, dear reader, to continue +your edification on our topic at hand and become your own evil +arch-villain with laser powers. (Sharks sold separately.) + +## Components + +### Chassis + +The chassis is the laser itself, the blue metal box with 3 flip up lids. + +- The main lid users deal with is for the **cutting chamber** on the + left front of the machine. It includes an orange plastic window. The + cutting chamber contains the transverse and longitudinal axes, aka X + and Y. X goes left to right, and Y goes back to front. The material to + be cut goes in this chamber. +- The second flip up lid is for the **controls and power supplies + chamber**. This lid contains the front panel controls and indicators. + There are two control boards, the [Smoothie + board](http://smoothieware.org/smoothieboard-v1) and the K40 ACR + plug-and-play board which connects the Smoothie board to the machine + hardware. There are two power supplies as well, the control power + supply which is right below the control boards and the high-voltage + (and I mean real high voltage, like around 15kV, not those namby-pamby + B.S. 120VAC "high voltage" warning labels) laser tube power supply + which creates enough voltage to excite the electrons in the CO2 + molecules to a higher energy level so they emit coherent light when + they drop down to a lower energy level. For more about this exciting + process, read a science book. +- The third lid covers the **laser tube chamber** at the back of the + chassis. You don't really need to mess with these last two lids unless + you are modifying the equipment or troubleshooting a failure. The + first 2 lids have interlock switches so the laser will not fire if any + one is open (unless you turn the SAFETIES switch off, in which case, + it's your own darn fault for burning out your eye; as we say in + Charlotte, "you did it to yourself") but the laser tube cover does not + yet (it should; the high voltage is probably the most dangerous thing + in the space). + +### Exhaust + +The exhaust system sucks smoke from the laser chassis cutting chamber +and sends it outside through a window. It was cobbled together using a +fan and housing salvaged from a prior laser cutter and is mostly held +together with zipties and metal duct tape. Seriously. I'm not kidding. +Actual zipties and duct tape. (I'd like to give a shout-out to Home +Depot for selling me the roll of metal tape for only one cent.) If any +part of the whole laser system is going to crap out, this would be a +good part to bet on. It also uses 4" diameter (that's 105mm for those of +you on the metric system) flexible metal clothes dryer exhaust duct to +carry the exhaust gasses. There are custom-made, 3d-printed transiton +pieces at the back of the laser chassis which replace the original +feeble exhaust system. Read about them on the [K40 Exhaust +Assembly](K40_Exhaust_Assembly "wikilink") page. + +### Cooling + +The cooling system presently consists of a 5 gallon pail in the roller +cabinet with a submersible pump. The water should be replaced with +distilled. (The pump power cord got a new plug. It stays plugged in much +better than the original cheap Chinese plug.) If the water doesn't flow, +the laser will burnout. Sadness. The cooling system presently only works +based on the heat capacity of the water in the bucket. Once the water +heats up, you just need to wait for it to cool back down all by itself. +You can read about other people with more sophisticated refrigerated +cooling systems, but this was quick and easy, like a virgin on prom +night. Julia has mentioned she's got some thermoelectric coolers in +hiding for this project. We'll cross that bridge when we get everything +else running first. The cooling system will have 3 interlocks: low water +level, low flow, and high temperature. + +### Computer + +This is CNC equipment. The first C is for Computer. (No, not for cookie, +but we often have cookies anyway.) You need a computer with a USB port. +You need computer software. I hope we can have a computer dedicated to +the laser, but let's be real, that's not likely to happen. I hope Tom +will fill out this section. + +### Software + +Hey, kids! [Ubuntourist](user:Ubuntourist "wikilink") here. In the +software department, we are using a +[LaserWeb](https://github.com/LaserWeb/LaserWeb4/wiki) AppImage +(currently version 4.0 as of 2018.09). However, additional tools +include: + +- [VisiCut](http://visicut.org/) - a user-friendy, platform-independent + tool for preparing, saving and sending jobs to Lasercutters +- [GCodeTools](http://www.cnc-club.ru/forum/viewtopic.php?t=35) - + Inkscape plugin / extension + - [Usage + "Manual"](http://www.cnc-club.ru/forum/viewtopic.php?p=101#p101) + - [Tutorial: Area + processing](http://www.cnc-club.ru/forum/viewtopic.php?p=341#p341) + - [Tutorial: Make some gears using Gcode tools and Gear + extension](http://www.cnc-club.ru/forum/viewtopic.php?p=194#p194) + +### Cabinet + +The cabinet is what the chassis sits on. The cabinet has wheels. It's +made of particle board and painted white. The left door has upper and +lower latches inside which hold it shut, so don't yank on it. The +cabinet houses the cooling system, the 12V accessory power supply, the +power strip which all the line voltage equipment plugs into: exhaust +fan, cooling pump, laser chassis, 12V power supply (marginal one +installed currently to power the cutting chamber accessory lights). + +## Safety Interlocks + +**Only some of these safeties (cutting chamber cover, control cover, & +water level) are installed presently.** Don't go futzing around with +stuff unless you know exactly what you are doing. And tell James or Tom. +For troubleshooting purposes, there is a safety override switch on the +control panel (SAFETIES; middle of three). + +### Ventilation + +1. Exhaust - If the exhaust fan isn't moving air, we don't want the + laser to fire and make lots of smoke which would then fill the room +2. Lens - Eventually we plan to install an air shroud nozzle around the + laser lens to keep smoke from coating the lens and reducing cutting + power. + +### Coolant + +1. Level - Installed +2. Flow +3. Temp + +### Doors + +1. Cutting Chamber - Installed +2. Control Chamber - Installed +3. Laser Chamber - Probably not going to install this switch because + the door is in back and control panel space is at a premium +4. Cabinet - Probably not going to install this switch because there's + not much harm in the cabinet and control panel space is at a premium + +## Workflow + +### Prestart + +1. Come up with design +2. Create SVG using software like [Inkscape](https://inkscape.org/) +3. Upload SVG to computer + +### Startup + +1. Roll cabinet out from under shelf +2. Get extension cord out of cabinet and plug laser into extension cord + and extension cord into live receptacle +3. Turn on laser master power switch (power strip inside the wooden + cabinet) +4. Close cabinet door +5. Load material to be cut in cutting chamber +6. Shut lid on cutting chamber +7. Turn on laser cutter power switch + +### Operations + +1. Ensure all safety interlocks are operable by checking indicator + lights + 1. You can skip this step for now since the lights don't work +2. Do software stuff + 1. Connect to LaserWeb server at [192.168.26.122 Port + 8000](http://192.168.26.122:8000/) from HacDC network + 2. Clear LaserWeb 4 upgrade warning popup + 3. Click on Settings on left edge of page + 4. Click on BACKUP at top of setting pane + 5. Click on Restore from file + 6. Upload + ![](Laserweb-settings-backup.json "file:Laserweb-settings-backup.json") + file + 7. Click Save + 8. Observe messages "Saved Settings" and "Please refresh page for + settings to take effect" + 9. Refresh webpage + 10. Clear LaserWeb 4 upgrade warning popup, again + 11. Load SVG file of cutting paths by dragging and dropping into the + web browser window + 12. Click Generate G-Code (on CAM menu) + 13. Click Connect at the top of the webpage + 14. If a popup appears, choose Option 1 + 15. Click Jog on left edge of the window + 16. Click home and observe the gantry move to the home position in + the far left corner of the cutting chamber +3. Run program without laser powered on to observe tool path and ensure + material to be cut is properly arranged in the cutting chamber + 1. Click check outline and observe the laser move + 1. Check that material is fully under the travel area + 2. Check that your design is the size you expect it to be (25.4 + for mm) + 3. If the size is not right, go to the Settings page and adjust + the DPI setting on the Size menu +4. Run program with laser powered on to cut material + 1. Click run gcode + 2. Watch for things catching fire + +### Shutdown + +1. Turn off laser chassis and master power switches +2. Unplug laser and extension cord +3. Coil up and store extension cord +4. Shut cabinet door +5. Roll cabinet back under the shelf +6. Continue with your evil plans for world domination + +## Custom Wiring + +Julia had some LED strips she wanted installed. We succeeded. They +illuminate when the main power is turned on. +![](Laser-leds1.jpg "File:Laser-leds1.jpg") + +They are white LEDs but the orange laser viewing window colors them. + +
+ +
File:Laser-leds2.jpg
+
+ +Sully really likes relays and discrete, analogue circuits, so he jimmied +up a bunch of stuff to make it less likely for you to poke your eye out +or burn out the laser. + +The laser power supply from the factory takes input from 3 front panel +controls: off-on laser switch, momentary-on laser switch, power control +potentiometer knob. The off-on switch was a cheap latching push button +which was connected to the leftmost two terminals of the 6 terminal plug +with black wires. It was replaced with an off-on, metal, toggle switch +on 3-23-17. The middle two terminals of the block connect to the +momentary on push button switch on the front panel which causes the +laser to fire (when the left two terminals are shorted together by the +toggle switch). The right 3 terminals (which overlap with the right +center terminal going to the push button switch) connect to the front +panel potentiometer which controls the laser current. Do not turn the +knob to full clockwise, because increasing the laser firing current past +a certain point doesn't provide any benefit and just reduces the tube +lifespan. The plan is to parallelize the push button firing switch with +a solid-state relay controlled directly by the Smoothie board and +bypassing the K40 ACR board (which was supposed to make the Smoothie +board plug-and-play, but as mentioned earlier did a halfassed job). The +potentiometer will be connected to a 3PDT switch for computerized or +manual power level control. A PWM to DC circuit will do the automatic +control and the original pot will remain for the manual control. + +The safety interlocks are basically a whole bunch of microswitches in +series so if any one of them gets tripped the left two pins of the power +supply 6 pin connector won't be shorted together and the laser won't +fire. There's also a plan to have lights illuminate to show which +safeties are operating properly or tripped. Plus indicator lights are +cool. And for the remaining manual firing switches we plan on getting +those flip-up red covers like in those military movies where they're +firing nuclear missiles and stuff like that. These would aid in +troubleshooting, and look really cool, even if they are kinda spendy. +Man, this is really turning into a wall of text. Someone should do +something about this sometime. Anyway, schematic drawings would go here, +or links to them would go here. + +**Terminal Block Connections** + +1. Cutting chamber door safety switch - common +2. Cutting chamber door safety switch - n.o. +3. Cutting chamber door safety switch - n.c. +4. Control chamber door safety switch - common +5. Control chamber door safety switch - n.o. +6. Control chamber door safety switch - n.c. +7. Cooling water level float safety switch - common +8. Cooling water level float safety switch - n.o. +9. Cooling water level float safety switch - n.c. +10. +11. +12. +13. +14. +15. 12VDC / Cutting Chamber LED positive +16. Hour meter / 12VDC / Cutting Chamber LED ground +17. Hour meter positive +18. Laser fire switch positive - shorts to ground (below) to fire laser +19. Laser power supply power level control potentiometer GND +20. Auto power control voltage divided between +V and GND - connects to + auto-hand control panel switch and to PWM-DC converter circuit + output +21. Laser power supply power level control potentiometer +V + +| Connectors at front of bottom power supply (4, 6, & 4 connections) | +|--------------------------------------------------------------------| +| Position | +| Left | +| | +| | +| | +| Center | +| | +| | +| | +| | +| | +| Right | +| | +| | +| | +| Connectors at front of middle power supply are labeled | +| | +| | +| | +| | +| | +| | +| | +| | + +## Custom Parts + +Images of custom parts like the exhaust nozzles and eventually a new +control panel and source files for 3d printed or laser cut parts can go +here. + +[CCL front panel](CCL_front_panel "wikilink") + +[Air flow switch holder](Air_flow_switch_holder "wikilink") + +[Exhaust nozzle](Exhaust_nozzle "wikilink") + +[Terminal block holder](Terminal_block_holder "wikilink") + +This image is colored for 3d printing using it as a height map: +black=0mm, gray=1mm, white=2mm. 174mm wide, 184mm tall. The SVG file was +created by a Ruby program to modularize the positions and sizes of +cutouts for switches, knobs, lamps, etc. + +
+ +
file:Control-panel.png
+
+ +## Bill of Materials, a.k.a. Donation Wishlist, and Hardware Store Shopping List + +1. Laser goggles +2. USB A-B cord, i.e. printer cable, which doesn't suck +3. Solid state relays -- we used + [1](http://www.clare.com/home/pdfs.nsf/www/LBA110.pdf/$file/LBA110.pdf) + this one. --This should move to custom parts and off the wishlist + (JS 4-20). +4. Stuff to cut + 1. 1/8" Baltic birch plywood + 2. Plastic sheets, e.g. acrylic + 3. Masonite? +5. Cabinet reinforcements + 1. dimensional lumber, e.g. 2x4, 2x2, 1x3 + 2. unidirectional casters +6. Cooling system stuff + 1. Distilled water + 2. Float switch + 3. Thermocouple or thermistor/RTD temperature sensor probe + 4. Radiator and fans + 5. Solid state heat pump + 6. Working water fountain chiller (for future use on the 100W + downstairs) + 7. PLC/Microcontroller with A/D inputs for temperature probe + conditioning and temp display (advanced task) +7. Green connectors for smoothieboard and laser power supply + [2](https://www.amazon.com/uxcell-Terminals-Pitch-Mount-Terminal/dp/B00E6Q4FE6/ref=sr_1_9?ie=UTF8&qid=1493691567&sr=8-9&keywords=pluggable+terminal+block+connector) + +## To-Do Tasks + +1. Airflow switch housing + 1. manufacture + 2. install +2. Coolant interlocks + 1. Flow sensor + 1. design + 2. manufacture + 3. install + 2. Temp sensor + 1. design + 2. manufacture + 3. install +3. Door switches + 1. Cabinet door + 2. Laser tube chamber door +4. Chassis wiring + 1. Wire up the safety switches as they are installed + 2. Draw a wiring diagram of custom components +5. CNC firing control - This svg file can be used to test run the + laser: [Laser circle test](Laser_circle_test "wikilink") + 1. find firing signal on Smoothie board + 2. in the config you specify this with laser_module_ttl_pin + 3. determine relay requirements + 4. purchase and receive relay + 5. install firing relay +6. software + 1. determine best software to use + 2. develop workflows for various programs and operating systems + 3. update this page to explain the above + 4. We're gonna use Laserweb I think so setup a RasPi or something + as a Laserweb server. + 5. backup the raspi so when the sdcard fails we don't have to + rebuild it. + +## Completed Tasks + +If you do work on the laser, please record it here. + +| Task | Fixer | Date | Notes | +|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Create Wiki page | [James](user:James "wikilink") | 3/24/2017 | Ongoing updates needed | +| Install operational exhaust system | James | 2/2017 | Still needs interlocks | +| Install cooling system | James | 2/2017 | Air cooling or refrigeration could be added | +| Connect control power supply to switched mains | James | 3/2017 | Done | +| Get x and y axis movements working | [Tom](user:Tom "wikilink") | 3/2017 | Firing still needs to be fixed | +| Replaced cooling pump power cord plug | James | 3/26/2017 | | +| Installed door closure bolts on left cabinet door | James | 3/26/2017 | | +| Installed cutting chamber illumination LEDs and 12VDC power supply | James | 3/26/2017 | | +| Control + interlock circuits design/brainstorm session | James + Tom | 3/27/2017 | See webpages below for Smoothieboard help | +| Mocked up and tested control circuit for PWM from smoothieboard | James + Tom | 3/27/2017 | | +| Scoped out various pins on the smoothieboard to find PWM out | James + Tom | 3/27/2017 | | +| Removed control panel | James | 3/30/17 | Don't mess with nothing until a new one gets installed! | +| Tried to 3d print a new control panel | James | 4/2/17 | Lulzbot Taz either didn't extrude or made bird poop. :( It's too bad we don't have a working laser cutter. | +| Adjusted program size parameters based on failed print and added ammeter mounting screw holes to control panel design | James | 4/11/17 | Still need to upload new SVG here and print it | +| Ordered self adhesive cable tie mounting squares and SSR for PWM-\> DC | Tom | 4/11/17 | Delivery expected Thursday | +| Design 3d-printed mounting bracket/clip to hold switches for door interlocks | James + Tom | 4/15/17 | Impromptu Saturday night productivity session. | +| Design, breadboard and test PWM circuit with solid state relay and newly determined time constant | James + Tom | 4/15/17 | Impromptu Saturday night productivity session. | +| Uploaded exhaust nozzle and exhaust flow switch scad files | James | 4/20/17 | Flow switch needs printing and Tom's nacelle needs dimension tweeking. | +| Tried printing control panel on the Ultimaker2 | James | 4/25/17 | Print failed twice, but third time looked good before I left. | +| Installed control panel 3d printed on Tuesday | James | 4/27/17 | Controls and indicators are installed but not operational, yet. It looks sweet! Could be thicker, maybe 4mm. Dimensions could use tweeking too: toggle switches moved down, corner radii reduced,... | +| Uploaded source code and stl for water level float switch and for terminal block holders. Installed v5 of door switch holder and soldered wires to switches. | James | 5/1/17 | Still need to print float switch parts and terminal block holders. New parts fit well. A very productive day overall. | +| Installed terminal block with manually modified v1 terminal block holder parts. Wired up cutting chamber and control chamber door safety switches. Connected laser power supply wiring to new control panel switches. | James | 5/4/17 | Need to adjust terminal block holder dimensions and reprint. | +| Uploaded v2 source code and stl for terminal block holder. | James | 5/5/17 | Need to print float switch parts and terminal block holders. | +| Printed and installed new terminal block holders (v2). Printed new air flow switch and water level float switch head and base. Remodeled exhaust header. | James | 5/6/17 | Holders fit great. Base, not so much. | +| Reprinted water level float switch base. Investigated PWM output from Smoothieboard. | James + Tom | 5/7/17 | Pin 4.2 and GND work for PWM signal. PWM to DC breadboard isn't working. Laser power supply 5V circuit for safety switches doesn't have enough current to illuminate the trouble lamps on front panel. | +| Install float switch. | James | 5/11/17 | Not seeming to function as of 5/14 - remains conductive even when open? | +| Successful CNC laser firing on circle laser test. | James + Tom | 5/14/17 | Some kind of beam splitting or 2-layer reflection is going on. PWM out can be set using laser_module_pwm_pin in smoothieboard config. | +| Setup the auto-man power level control switch. General stuff. | James + Tom | 5/28/17 | We've got some stray AC current in the case. | +| Installed RasPI as webhost. Replaced USB cable. | James + Tom | 6/4/17 | [Laserweb server](http://192.168.26.122:8000/), from HacDC network | +| Test cut Pepe the frog on opaque acrylic with painters tape mask. | James + [Andrew](user:Andrew "wikilink") | 6/5/17 | Auto fire signal still isn't working. | +| Added circuitry to breadboard to automate the firing signal. | James | 6/6/17 | Will test on Thursday. | +| Test fire was successful. Operations section updated. | James | 6/8/17 | Fully automatic operations achieved! | +| Unsuccessful work to connect hour meter. | James | 6/11/17 | Don't use laser for now. I'm waiting on some parts to make a soldered accessory board. | +| Strip boards arrived and I fabbed a circuit card to control the power, fire the laser, and drive the hour meter. It still needs to be connected and tested. | James | 6/17/17 | Don't use laser for now. Accessory board needs testing. | +| After several rounds of testing, the problem with the board is still undetermined. SSRs might be fried. Tom is researching bulk buy. Thanks, Tom. | James | 6/22/17 | Laser only works with manual fire and power control. | +| Work on firing up the laser directly from smoothieboard pinouts PWM and TTL. TTL (1.30) to Laser LO and PWM (2.4) to 5v control. Problem: PWM out looks like it is 3.3v logic. Problem: TTL needs to drive the hourmeter. | Tom + Forrest | 8/1/2017 | Configured TTL in config and changed PWM period to 20 from 200. DANGER: LASER FIRES AT ALL TIMES WHEN CONNECTED TO PWM. | +| Fix issue with leaky voltage or improper configuration why does the laser fire too much | Oni | 08/10/2017 | Attached manual fire ground. Removed and put-back small laser fire wire and ground to the smoothieboard. This appeared to fix laser autofire issue. Not 100% sure about that. Removed 2nd and 3rd mirror to find them damaged. Took photos and sought advice on their state. Put mirrors back in place but alignment is needed. Best to wait for new mirrors in the meantime. | +| Alignment and knackered mirrors | Oni | 08/28/2017 | Removed mirror 2 and 3, replacing with new mirrors. Mirror 1 should probably be checked at some point as well. Adjusted the alignment on mirrors 1 and 2. Reduced the torque on the adjustment screws to 'finger-tight'. Alignment on 3rd mirror is dead centre across the entire bed. This should improve cutting power across the entire range. Might be worth ordering another set of spare mirrors and a lens for future repairs. Laser appears to fire correctly, respecting interlocks and fire control. | + +Sept. 1, 2018 - Independent examination revealed multiple issues: 1. +Closed loop in wiring - resolved (A loop can act like a transformer and +couple noise into the wiring.) Removed. 2. AUTO/MAN switch did not +affect control of laser firing, only laser current - partially resolved +(This may explain unexpected firing of laser.) Rewired so FIRE switch +has no effect in AUTO mode and controller cannot fire laser while in MAN +mode. However, setting switch on MAN does not stop the controller; it +can continue moving the mirrors and could resume firing the laser the +instant the switch is returned to AUTO. Therefore, always HALT AUTOMATIC +OPERATION BEFORE USING MANUAL CONTROL. 3. A loose connection around the +Laser Current meter could result in deadly high voltage appearing in the +control circuitry - resolved Added shunt diode to clamp voltage to \<1V. +4. Interlock switches not connected - resolved Connected (cutting +chamber door, electronics cover, water level). Terminal block positions +10 & 11 are allocated for additional switches. 5. Missing interlock +switches - not resolved (laser tube cover, water flow, & water +temperature) New wiring is color coded (but old wiring is not): Black - +ground connection Green - safety switches White - control & temporary +Some of the wiring is rather sloppy and should probably be redone once +all the bugs are out of it. A loose wire to the power socket & the +exhaust duct (may have just come loose) were also reconnected. The laser +cutter should now be ready for testing by an expert. Oops, left out 6. +No manual control for laser position - unresolved Sept. 3 Tom showed up +to test the laser cutter. It fired under manual control but the safeties +did not stop it from firing. Tried other firing pin (C3) - same result. +Completely disconnected wire to enable pin (C2) & then also tried +disconnecting the diode I added - laser still fired, suggesting faulty +power supply. Laser did not move in y direction when commanded by +computer but moved in both x & y when commanded to move in x direction. +Tom moved a connector on the ACR board - problem solved. Mirrors now +move correctly under computer control but computer could not fire laser. +Left with enable disconnected. Time to examine power supply schematic. + +## Additional Reading + +1. [Laser blog](http://howell.seattle.wa.us/essays/lasercutter.shtml) +2. [Reddit K40 wiki](https://www.reddit.com/r/lasercutting/wiki/k40) +3. [Light Object laser + retailer](http://www.lightobject.com/Default.aspx) + +[Category:Equipment](Category:Equipment "wikilink") +[Category:LaserCutter](Category:LaserCutter "wikilink") +[Category:Projects](Category:Projects "wikilink") [Category:Ongoing +Projects](Category:Ongoing_Projects "wikilink") [Category:Project +Awesome](Category:Project_Awesome "wikilink") +[Category:CheapChineseLaser](Category:CheapChineseLaser "wikilink") \ No newline at end of file diff --git a/Circuit_Breaker.md b/Circuit_Breaker.md new file mode 100755 index 0000000..024ed5e --- /dev/null +++ b/Circuit_Breaker.md @@ -0,0 +1,9 @@ +The circuit breaker for the space is located on the last landing before +you go up to the top floor. There are two circuit breaker boxes, we use +the one on the right. + +Known circuits: + +`#32 - HacDC hallway, ham radio` + +[Category:Circuit Breaker](Category:Circuit_Breaker "wikilink") \ No newline at end of file diff --git a/Class_Drive_2012.md b/Class_Drive_2012.md new file mode 100755 index 0000000..69d006f --- /dev/null +++ b/Class_Drive_2012.md @@ -0,0 +1,40 @@ +HacDC will create a series of curriculum for classes that can be taught +on a regular basis. It'd be neat if we could create kits to teach +classes from and maybe even Kickstarter them if they get an appropriate +level of polish. + +## Past Classes + +Here are the wiki resources for our previous classes at HacDC: + +- [AVR Microcontroller Class + 2011](AVR_Microcontroller_Class_2011 "wikilink") +- [Bike Maintenance Class](Bike_Maintenance_Class "wikilink") +- [ElectronicsClass](ElectronicsClass "wikilink") +- [FPGA Workshop](FPGA_Workshop "wikilink") +- [Robotics Class 2011](Robotics_Class_2011 "wikilink") +- [Noisemaker Workshop](Noisemaker_Workshop "wikilink") +- [Microcontroller Course](Microcontroller_Course "wikilink") +- [Linux Class](Linux_Class "wikilink") +- [Introduction to Python](Introduction_to_Python "wikilink") +- [TECS](TECS "wikilink") +- [NARG](NARG "wikilink") +- [Intro to Programming](Intro_to_Programming "wikilink") +- [IntrotoVisualsforProgrammers](IntrotoVisualsforProgrammers "wikilink") + +## Class Roster + +Please fill in what classes you're interested in, want to teach or have +resources for. + +| Class | Teacher | Links | +|----------------------------|------------------------|--------------------------------------------------------------------------------------------| +| Electronics | Justin Myers, Ash | [First stab at a syllabus, parts list and cost breakdown](Intro_to_Electronics "wikilink") | +| RF Theory | Lee Ciereszko | | +| Linux (New Users) | Brad Barr, Paul Fields | | +| Linux (SysAdmin) | James Dasinger | | +| HTML/CSS | Alli R | | +| Microcontrollers (Arduino) | Brad Barr | | +| Programming (Python) | Brad Barr, Bryce | | + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/Classroom_Laptops.md b/Classroom_Laptops.md new file mode 100755 index 0000000..64e166d --- /dev/null +++ b/Classroom_Laptops.md @@ -0,0 +1,86 @@ +This page serves as a specification and feature request page for the +classroom laptops. + +The classroom laptops are running a Linux distribution, currently Debian +(probably better to be running testing than stable), with MATE desktop +environment. Tom maintains a canonical image. + +They are used primarily for modeling, rendering, and slicing 3d printed +parts, but can and should be functional for all purposes in the +classroom. + +Currently implemented on a bunch (6) of Dell D430s, maybe some D420s. + +## Hardware + +I (Tom) donated 6 old Dell Core Duo D430/420 laptops for this use. +They're super cheap and I had a pile of them. I think they're actually +kind of ideal for this purpose, all things considered. They're not nice +enough that anybody would want to re-purpose them to any other job, and +since most of them don't have batteries nobody walks off with them. +After almost a year they seem to be doing the job and getting lots of +use. + +## Software (locally installed or remote access) + +### 3d design + +- Cura +- Meshlab +- Implicitcad (runs on Jobs or gygax) + +### Browsers + +- Firefox +- Chromium +- Midori or something similarly lightweight. + +### Microcontroller + +- INO +- Arduino + +### Coding + +- Python 3 +- Rust + +### Productivity + +- Something for email +- Printing should be enabled + +### Sys utils + +- tmux ssh vi/vim emacs etc. +- Terminator +- guake +- most +- avahi-utils + +### Other HacDC activities + +Documentation, links, and how-tos on the desktop... + +## TODO + +- Update image and re-image all laptops. +- Enable all laptops for incoming and outgoing email...? +- Fix the HW clock issue possibly by setup NTP so that SSL errors don't + happen. +- Work out a way to do efficient X-forwarding over our WiFi to job + server for heavier applications. +- Configure laptops in some way to be more like a thin client so there + is no/less need to 'update' the image or re-image regularly. In the + dumbest case we could have them be simple VNC kiosks to a VM running + on jobs...? + - Test above last two for practicality. + +## Feature requests + +- Most recent Arduino suite. \[INO\] +- More scripts and or instructions for usability -- 2d printing, 3d + printing, using jobs. +- Maybe put ~/\* or ~/Desktop on a network share. + +[Category:HacDC Computers](Category:HacDC_Computers "wikilink") \ No newline at end of file diff --git a/Classroom_Laser_Cutter.md b/Classroom_Laser_Cutter.md new file mode 100755 index 0000000..7994f98 --- /dev/null +++ b/Classroom_Laser_Cutter.md @@ -0,0 +1,43 @@ +# Goals + +World peace. Also: + +- A laser cutting device. +- A 3D Printer. +- A pick and place and solder paste and laser soldering machine. +- PCB fab through resist application, laser resist removal, and etchant + application. +- Air flow controls + - forcing air down (cooling a 3d print) + - pulling air across and out (laser cutting) + +# Tools + +In order of priority. + +- Laser(s?). For cutting. +- A single plastic extruder, for 3d printing. +- A part lifting nozzle, for pick and place functionality. -- + +- Epson ink jet head, for Liquid Deposition (PCB resist) +- Unknown, for etchant deposition. + +# Parts + +- 40w computer controlled power + supply.[1](http://www.made-in-china.com/showroom/eileen916/product-detailqMfJZAkdrvYy/China-40W-Laser-Power-Supply.html) + +# Constraints + +## Julia + +Three separate rackmount components: + +- laser delivery platform +- Motion control platform +- Part delivery platform + + + +- Rackmountable footprint. ~17 inches wide, ~24 inches deep. + \ No newline at end of file diff --git a/Classroom_TV.md b/Classroom_TV.md new file mode 100755 index 0000000..4a356e1 --- /dev/null +++ b/Classroom_TV.md @@ -0,0 +1,143 @@ +The Classroom TV is hooked up to various PCs. + +Once we repair'd it by exhaustively testing each LED on the device and +replacing the broken one. + +## The TV + +The current TV is a 60-inch **Sharp Aquos LC-60LE920UN**. + +Manual is available at + + + + +It should be labeled appropriately for ease of use. There is a remote +control. If the screen won't come on and the little LED logo at the +bottom middle blinks instead of coming on solid, reset according to +instructions on the device. + +Sometimes when there's a problem, it displays a constant small blue box +which reads **\[K\] 60LE810UN** which the careful reader will note looks +remarkably like a model number... + +### Resetting the TV + + + +POWER LIGHT FLASHES ONE SHORT AND ONE LONG FLASH. + +What is the problem? THE PROBLEM IS THAT ONE OF THE LED's STRIPS IS BAD! + +SHARP AQUOS LC60LE810UN RESET INSTRUCTIONS + +`   1. Plug in TV to electric current First then wait until LED start flashing.` +`   2. Press Volume DOWN [ - ] HOLD BUTTON.` +`   3. Press Channel UP [ ^ ] HOLD BUTTON.` +`   4. Press Power [ (') ] HOLD ALL three buttons until LED stops flashing and then release.` + +This will reset the TV in order to fix the problem. + +THE FIX IS TO REPLACE ONE OF THE LED's. You need to open the back of the +TV and you will also need to remove the front cover and panel to get to +the LEDs. The TV will need to be placed facedown and on the backside. +This is a 2 person job to turn the TV on its sides. Be careful with the +white computer connectors (wide white strip) at the base of the TV where +the TV stand sits. You will need to disconnect this in order to get to +the LED's. + +Once you have the LED's exposed, you will need to unplug one by one by +placing the new strip next to it until the unit turns on. You will have +to use the RESET procedure above if the Power lite flashes. The Power +lite MUST BE ON SOLID - no blinking in order to test the strips. The +LED's will flash, but still one of them will be burned. Even if you +stare and all the strip light-up, you will still need to check +one-by-one! + +Once the TV lights up, your face will also light up with joy! Put +everything back together and you are set. If you need the complete +instructions which come from Sharp as to how to disassemble the unit, +please send me an e-mail to LGTR61@YAHOO.ES. Please note I don't check +this address daily, so a few days wait may take for you to receive the +instructions. + +Where can you buy the LED's - try searching Yahoo.com or Google.com for +resellers. + +SHARP AQUOS LC60LE810UN LCD STRIP INFORMATION + +`   LONG STRIP (49 LED's)` +`   FRONT SIDE BACK SIDE RL 94v-0` +`   E329419` +`   1029` +`   LFa` +`   Sn-Ag-Cu` +`   Ps-1` +`   K4458TP` +`   4458ZZ` +`   0921FM` +`   104863` +`   ee03A` + +`   SHORT STRIP (30 LED's)` +`   FRONT SIDE BACK SIDE` +`   RL 94v-0` +`   E329419` +`   1025 LFa` +`   Sn-Ag-Cu` +`   Ps-1` +`   K4459TP` +`   4459ZZ` +`   0714FM` +`   302213` +`   Mm05A ` + +Posted on Dec 11, 2013 + +SOURCE: + +No POWER + +How many times does the POWER led flash per second? (Dont worry about +the OPC). + +`   * 1x (steady constant blink) = Lamps or inverters` +`   * 2x = Power Supply` +`   * 3x = Main Unit` + +If i am reading it correctly, looks like the POWER led is flashing 2x, +which means it is a power supply failure. Either way, your TV needs to +have a board replaced, there isn't anything you can do to fix it +yourself. Try locating your local sharp authorized service center to +repair your TV (1-800-237-4277) + +Posted on Mar 16, 2008 + +## The PCs + +### Windows VR box + +(it's grody and uses proprietary poison). + +### Classroom TV + +(highly superior build -- uses Debian Linux, a free software +distribution, although we have compromised to allow non-free software +and firmware). + + 2018-02-27 21:29 something's up with the GPU on the classroom tv what for it won't work + 2018-02-27 21:30 but the fans turn + 2018-02-27 21:30 http://dlcdnet.asus.com/pub/ASUS/mb/LGA1366/Sabertooth_X58/e5995_sabertooth_X58.pdf#p55 + +## Instructions for use + +### How to remotely control the classroom-tv PC + +(copy from the desktop of classroom PC) + +### How to use VR + +### How to run a videoconference with another space using BBB + +[Category:Room Displays](Category:Room_Displays "wikilink") +[Category:HacDC Computers](Category:HacDC_Computers "wikilink") \ No newline at end of file diff --git a/Classroom_network.md b/Classroom_network.md new file mode 100755 index 0000000..9db7e24 --- /dev/null +++ b/Classroom_network.md @@ -0,0 +1,74 @@ +(The following diagram is available as an 8.5" x 11" page in DjVu +format. Click it to go to the downloadable image page and click that to +get a full-size image) + +### Network diagram + +![](HacDC_Network.djvu "HacDC_Network.djvu") *Diagram of classroom +network devices and cables, +traced and documented by Bobby circa 2019.03.18* + +------------------------------------------------------------------------ + +The following text is almost verbatim from Bobby's e-mail message. I +have attempted basic formatting but it could use more reformatting work +(probably as a wiki table) to make it readable. + + On floor below clock: + + Netgear ProSAFE 16-Port Gigabit Click Switch + 1 - gray - TP-Link Router 2 + 2 - gray - Printer (paper) computer + 14 - white - open (by laser cutter) + 16 - orange - renderadmin computer + others - no connection + + On bottom shelf over sink: + + LinkSys VOIP Voice + Phone - phone cable - Uniden EX18560 phone + Internet - blue - LinkSys switch 6 + + C7 TP-Link AC1750 Wireless Dual-Band Gigabit Router + Internet - blue - D-Link switch + Ethernet 1 - gray - open + 2 - yellow - TP-Link switch 7 + + On middle shelf over sink: + + D-Link Wireless AC750 Dual-Band Router DIR-817LW + LAN 4 - blue - TP-Link switch 8 + Internet - gray - LinkSys switch 5 + + TP-Link TL-SG1008D Gigabit Switch + (Numbering from left to right) + 1 - yellow - wall socket + 2 - gray - Netgear switch 1 + 3 - blue - 3D printer computer + 4 - no connection + 5 - black - Linksys switch 1 + 6 - no connection + 7 - yellow - TP-Link router Ethernet 2 + 8 - blue - D-Link router LAN 4 + + Linksys Gigabit 8-Port Workgroup Switch + (Numbering from right to left) + 1 - black - TP-Link switch 5 + 2 - no connection + 3 - gray - open (below HARC) + 4 - black - open (below HARC) + 5 - gray - D-Link router Internet + 6 - blue - Linksys VOIP Voice Internet + 7 - blue - open (below HARC) + 8 - no connection + + On table below TV screen: + + D-Link igreen DGS-1005D switch + 1 - blue - TP-Link router Internet + 2 - gray - open + 3 - no connection + 4 - no connection + 5 - yellow - TV computer + + If I read this right 3 of the 4 switches are unnecessary! \ No newline at end of file diff --git a/Code_of_Conduct.md b/Code_of_Conduct.md new file mode 100755 index 0000000..97b0ec1 --- /dev/null +++ b/Code_of_Conduct.md @@ -0,0 +1,79 @@ +# DRAFT: Code of Conduct for HacDC + +### Introduction + +HacDC???s behavior and safety rules have three primary purposes: (1) to +protect the rights and safety of all HacDC members, (2) to protect the +rights and safety of guests, and (3) to protect HacDC???s materials, +facilities and property. + +HacDC supports the right of all members to free and equal access and use +of the space without discrimination, intimidation, threat of harm or +invasion of privacy. HacDC is dedicated to offering a friendly, +courteous and respectful environment to all members and guests. + +All members and guests must follow the code of conduct. HacDC directors +and members may intervene to stop prohibited activities and behaviors +and temporarily expel anyone who violates the code of conduct. + +### Behavior Rules + +**Do:** + +- Collaborate +- Ask questions +- Answer kindly! +- Clean up after yourself +- Respect our landlord and fellow tenants + +**Don???t:** + +- Interrupt presentations, workshops, or mentoring sessions +- Smoke or bring pets into the space +- Bring or consume alcohol in the space, except in the case of approved + special events. All alcohol must be removed from the space at the end + of any approved event. +- Disrupt or interfere with the normal operation of HacDC, or disturb + members and guests, including but not limited to: + - use of rude or threatening language or gestures + - conduct that creates unreasonable noise + - security violations + - physical violence + +### Safety Rules + +Everyone ??? members and guests ??? must sign a liability waiver. + +- Please use the equipment safely! +- Treat HacDC property with care +- Take reasonable direction from other HacDC members with regard to safe + use of equipment, such as use of protective gear or safe handling of + tools and equipment. +- Clean up after yourself, including shutting off and unplugging + equipment, and returning it to its proper place when finished using + it. + +### Guests + +- Guests may only attend HacDC if a keyed member is present. +- Guests are encouraged to become members to support HacDC???s mission. +- Guests may use tools in the upstairs space with reasonable + supervision, but must be accompanied by a keyed member to use the + heavy equipment/tools in the basement area. +- Members are responsible for their guests and their actions. + +### Minors + +- Minors may not be keyed members. +- Minors 15 and under must be accompanied by a parent or legal guardian + at all times (no drop offs). +- Parents/legal guardians are responsible for their minor children and + their actions. +- Minors under the age of 18 must have their liability waiver signed by + a parent/legal guardian. + +**It is the responsibility of HacDC members to help enforce the code of +conduct. If someone is violating the code of conduct, please explain +politely to them why their behavior is not acceptable and ask them to +stop or to leave. Serious or repetitive violations should be reported to +the Board of Directors.** \ No newline at end of file diff --git a/ColumbiaHeightsWireless.md b/ColumbiaHeightsWireless.md new file mode 100755 index 0000000..85b4bad --- /dev/null +++ b/ColumbiaHeightsWireless.md @@ -0,0 +1,54 @@ +The discussion list for this project is neighborhoodwireless@hacdc.org. +Proposal + +The Columbia Heights Wireless Project aims to provide wireless access to +the Internet to HacDC's neighbors in Columbia Heights. This project, in +three phases, will help test different technologies and methods for +providing this access as well as building local neighborhood IT +infrastructure. Phase One: Rewire St. Stephen's Church + +St. Stephen's Church is used by many community organizations, each of +which are responsible for obtaining their own Internet and Telephone +service. + +There are potential costs savings for the church and its tenants to +upgrade the IT infrastructure of the facility, allowing the church and +tenants to share common Internet access and Telephone service. + +After assessing the needs of the church, its tenants and occasional +guests from out of town, HacDC will draft a plan to re-wire the +telecommunications and networking infrastructure of the church. + +`   * Replace the IT wiring infrastructure of the church.` +`         o Run house cable to church office and basement and other key areas of the church, reducing need for cabling on the outside of the building and/or expansive cable runs within the building` +`         o Install wired outlets in offices and other places they may be necessary` +`         o Run wire to ares where wireless access points may be deployed` +`   * Provide building wide Internet access` +`         o Replace multiple DSL lines with one solid, very high speed internet connection` +`         o Install building router to handle and segregate internet connection` +`         o Provide church and its tenants with private subnet` +`         o Provide wired network access to tenants who require it` +`         o Provide infrastructure for building-wide wireless network` +`   * Build church wireless network` +`         o Provide private wireless networks to tenants who require it` +`         o Provide public wireless network for church and tenant guests, etc.` + +As of June 20, 2009 this phase is almost entirely complete. Phase Two: +Provide Wireless to the Housing Project Surrounding the Church + +Once the hurdles of providing wireless to a given area (the church) are +handled, the goal is to extending the public church network to the +housing project which surrounds the church. The goals of this project +are relatively less complex: + +`   * Provide public wireless accessible in all rooms of the development around the church` +`   * Work with community members on best methods for building and supporting a public wireless network` +`   * Deploy specialized equipment on the roof of the church and possibly on the development property` +`   * Work out technical challenges present in extending the public network beyond church immediate line-of-sight` + +Phase Three: Provide Wireless to Neighborhood Buildings + +`   * Provide public wireless available throughout Columbia Heights` +`   * Attract public and government support to make such a public wireless network viable and sustainable` + +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/Columbia_Heights_Wireless.md b/Columbia_Heights_Wireless.md new file mode 100755 index 0000000..ebc390f --- /dev/null +++ b/Columbia_Heights_Wireless.md @@ -0,0 +1,147 @@ +The discussion list for this project is +[neighborhoodwireless@hacdc.org](http://hacdc.org/mailman/listinfo/neighborhoodwireless_hacdc.org). + +# Proposal + +This project, in its current form, will be announced at the June 17 +member meeting + +The Columbia Heights Wireless Project aims to provide wireless access to +the Internet to HacDC's neighbors in Columbia Heights. This project, in +three phases, will help test different technologies and methods for +providing this access as well as building local neighborhood IT +infrastructure. + +## Phase One: Rewire St. Stephen's Church + +St. Stephen's Church is used by many community organizations, each of +which are responsible for obtaining their own Internet and Telephone +service. + +There are potential costs savings for the church and its tenants to +upgrade the IT infrastructure of the facility, allowing the church and +tenants to share common Internet access and Telephone service. + +After assessing the needs of the church, its tenants and occasional +guests from out of town, HacDC will draft a plan to re-wire the +telecommunications and networking infrastructure of the church. Prior to +consultation with the tenants (this consultation meeting is scheduled +for June 13) this phase has the following goals: + +- Replace the IT wiring infrastructure of the church. + - Remove all "dead cables" from the exterior and interior of the + church + - Run house cable to church office and basement and other key areas of + the church, reducing need for cabling on the outside of the building + and/or expansive cable runs within the building + - Replace the demarc with more modern equipment (should be done by + Verizon) + - Install wired outlets in offices and other places they may be + necessary + - Run wire to ares where wireless access points may be deployed +- Provide building wide Internet access + - Replace multiple DSL lines with one solid, very high speed internet + connection + - Install building router to handle and segregate internet connection + - Provide church and its tenants with private subnet + - Provide wired network access to tenants who require it + - Provide infrastructure for building-wide wireless network +- Build church wireless network + - Provide private wireless networks to tenants who require it + - Provide public wireless network for church and tenant guests, etc. +- Integrate church security system into building wide network + - Replace existing church security and entry system (see also + [Physical_Access_Control_Project](Physical_Access_Control_Project "wikilink")) + - Provide method for tenants to view persons outside the building and + allow building access + +## Phase Two: Provide Wireless to the Housing Project Surrounding the Church + +Once the hurdles of providing wireless to a given area (the church) are +handled, the goal is to extending the public church network to the +housing project which surrounds the church. The goals of this project +are relatively less complex: + +- Provide public wireless accessible in all rooms of the development + around the church +- Work with community members on best methods for building and + supporting a public wireless network +- Deploy specialized equipment on the roof of the church and possibly on + the development property +- Work out technical challenges present in extending the public network + beyond church immediate line-of-sight + +## Phase Three: Provide Wireless to Neighborhood Buildings + +- Provide public wireless available throughout Columbia Heights +- Attract public and government support to make such a public wireless + network viable and sustainable + +------------------------------------------------------------------------ + +# Implementation + +A meeting was held with the church coordinator and a few tenants on +Friday, June 13th, to assess the needs and scope of the project. As +outlined above, it looks quite viable, with a few considerations: + +All the tenants we met with are currently using some form of DSL or +dialup access. They'd all be happy with a plain vanilla shared +connection, using whatever sort of upstream we find appropriate. One +tenant (CISPES) uses VoIP phones, and at least one other (Brainfood) +uses Skype heavily, so QoS factors (latency, jitter) are important. + +Telephone needs were also discussed. Most tenants have POTS lines into +their spaces, with a few using cellular phones exclusively, and one +using VoIP, as mentioned above. There's at least one FAX line. The POTS +customers weren't averse to going VoIP at some point in the future, as +long as they can keep their existing numbers. + +As for security, it'd be nice to distribute front-door video to each +space and provide tenants with an intercom and a way to buzz guests into +the building. This would let the church go down to a nighttime guard +only, saving the cost of the daytime guard. + +In my (Nate B) professional judgment, the voice and video projects +should be considered separately from the data project, except where it +would be wise to combine cabling installation. Running a PBX is a wholly +separate set of administration skills and maintenance considerations. +Likewise, assembling a video distribution network and interfacing with +the door lock system is a separate job, only related because it also +involves running wire in the building. + +Since inexpensive baluns are available to transmit video over a single +pair of UTP, a single additional run of Cat-5 to each space should be +adequate to support the access project. Since wire is cheap compared to +labor (even volunteer labor, trust me!), I don't think there's any such +thing as pulling "too many" drops into each space. Leave the unused ones +coiled and tagged in the ceiling if need be, but run extra cable now. + +The next steps for the first phase, then, are as follows: + +- Formally present this project at the next HacDC meeting and get member + approval and buy-in. +- Obtain, or draw, floor plans of the building. Scope out good cable + routes, be they inside walls, above drop ceilings, or held in surface + wiring raceways. +- Perform a site-survey to ascertain the RF propagation characteristics + of the church building. Plaster lath walls are notorious for eating + wifi signals. +- Determine whether it's appropriate to do everything as a home-run to a + single closet, or to have "vertical" house-cables that appear on each + floor. (I like home runs. --Nate B.) +- Pick a location for a wiring closet. In addition to patch panels, it + should be able to hold (and provide cooling for) a moderate amount of + infrastructure gear: A DSL modem, a router, an Ethernet switch or two, + a midspan PoE injector, a video distribution amplifier, a small PBX, + and whatever lock control system gets built. A bit of room for growth + would be good, to allow for scope creep. +- Solicit donations of wire, jacks, accesspoints, and the above + infrastructure gear. +- Evaluate potential upstream connections. Nick mentioned that + point-to-point microwave access may be available in our location. + Consider multi-homing the network, if financially practical. +- Contact community members who'd be interested in helping the project + and learning to maintain and administer the network. + +[Category:Proposed Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/CommonStupidMan.Com.md b/CommonStupidMan.Com.md new file mode 100755 index 0000000..75e64b0 --- /dev/null +++ b/CommonStupidMan.Com.md @@ -0,0 +1,4 @@ +[CommonStupidMan.Com](http://commonstupidman.com) is overseen by +Shahnawaz Sadique. He expounds on specialty site business, programming, +topics, wp modules audit. He is know subsidiary advertiser and item +launcher. \ No newline at end of file diff --git a/Communications_Methods.md b/Communications_Methods.md new file mode 100755 index 0000000..3521856 --- /dev/null +++ b/Communications_Methods.md @@ -0,0 +1,109 @@ +Our general communications policy is simple: + +1. Pick a system that works to facilitate communication +2. Use it +3. Don't change it unless it's failing. + +## E-Mail + +E-mail is the most common method of communication within HacDC and +between HacDC and the outside world. + +### Public E-mail Lists + +Our public lists, which anyone can sign up for, are: + +- [announce@hacdc.org](http://hacdc.org/mailman/listinfo/announce_hacdc.org) + : A moderated, weekly update list designed to keep the general public + informed about what's happening, what's been discussed and what's + coming up at HacDC. +- [blabber@hacdc.org](http://hacdc.org/mailman/listinfo/blabber_hacdc.org) + : Our completely unmoderated and public open discussion forum covering + a wide range of topics and questions. + +### Public POC E-mail + +All inquiries from the outside world, via e-mail, should go to +[bod@hacdc.org](bod@hacdc.org "wikilink"). + +[bod@hacdc.org](bod@hacdc.org "wikilink") may be used within the web +page, wiki, on documents, flyers, etc. as a way for those outside HacDC +to contact the organization. + +### Internal/Member E-mail Addresses/Aliases + +Each member is entitled to an @hacdc.org e-mail account. HacDC shall +offer hosting for @hacdc.org e-mail accounts or offer the option of +forwarding to the member's chosen e-mail address. Member e-mail shall +not be archived, except as chosen by the member in a hosted e-mail +account. + +### Internal E-mail Lists/Accounts + +| E-mail address | Purpose | List Members | Archived by | +|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|------------------------------------------| +| advisors@hacdc.org | A discussion forum for the HacDC [Advisory Council](Advisory_Council "wikilink"), where HacDC solicits advice and council. | [Advisory Council](Advisory_Council "wikilink"), [Members](:Category:Members "wikilink") | Mailman | +| bod@hacdc.org | Contact list for the Board of Directors | [The Board of Directors](:Category:BOD "wikilink") | Mailman | +| finance@hacdc.org | E-mail account for all things relating to HacDC Finances | [The Minister of Finance](The_Minister_of_Finance "wikilink") | Archived E-Mail (7 year retention cycle) | +| members@hacdc.org | Open, unmoderated discussion for HacDC Voting and Non-Voting (i.e. Honorary) Members | [The Members](:Category:Members "wikilink"), [Honorary Members](:Category:Honorary_Members "wikilink") | Mailman | +| members-announce@hacdc.org | Moderated, essential traffic for members. Primary distribution method for weekly members update, meeting minutes and agendas and emergencies. | [The Members](:Category:Members "wikilink"), [Honorary Members](:Category:Honorary_Members "wikilink") | Mailman | +| ministers@hacdc.org | Primary contact address for the administrators of HacDC, designed for use by members to address specific concerns and by ministers to keep each other updated on minor administrative action. | [The Ministers](The_Ministers "wikilink"), [Shadow Ministers](Shadow_Ministers "wikilink") | Mailman | +| news@hacdc.org | Primary contact list for the PR team of HacDC, designed to help members and associates get events publicised via HacDC's public e-mail lists, blog, twitter, etc. | [news@hacdc.org](news@hacdc.org "wikilink") | Mailman | + +### Project Contact E-Mail Addresses + +Each ongoing project must have an e-mail address associated with it. The +e-mail address may be an alias for the project coordinator, a discussion +list for the project as a whole or an alias to bod@ so [The +Ministers](The_Ministers "wikilink") may be able to send project +inquiries to the correct relevant parties. In any case, the status of +each project contact e-mail must be documented here: + +| E-mail address | Aliases | General Purpose | Delivery Mechanism | Archived? | +|-------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------|-----------------------|-----------| +| [multi-touch-int-display@](http://hacdc.org/mailman/listinfo/multi-touch-int-display_hacdc.org) | (None) | Discussion list for the [HacDC Multi-touch device](HacDC_Multi-touch_device "wikilink") Project. | Mailman via hacdc.org | Yes | +| [museum@](http://hacdc.org/mailman/listinfo/museum_hacdc.org) | (None) | Discussion list for the [HacDC Museum](HacDC_Museum "wikilink") Project. | Mailman via hacdc.org | Yes | +| [neighborhoodwireless@](http://hacdc.org/mailman/listinfo/neighborhoodwireless_hacdc.org) | (None) | Discussion list for the [Columbia Heights Wireless](Columbia_Heights_Wireless "wikilink") Project. | Mailman via hacdc.org | Yes | +| [smartclothing@](http://hacdc.org/mailman/listinfo/smartclothing_hacdc.org) | (None) | Discussion list for the [Smart Clothing](Smart_Clothing "wikilink") Project. | Mailman via hacdc.org | Yes | +| [micromondays@](http://hacdc.org/mailman/listinfo/micromondays_hacdc.org) | (None) | Discussion list for the [Microcontroller Course](Microcontroller_Course "wikilink") | Mailman via hacdc.org | Yes | +| [reddoor@](http://hacdc.org/mailman/listinfo/reddoor_hacdc.org) | (None) | Discussion list for the [Door Entry Project](Door_Entry_Project "wikilink") | Mailman via hacdc.org | Yes | + +## Web Presence + +### Homepage/Blog: hacdc.org + +Our main website is run on [Drupal](Wikipedia:Drupal "wikilink") and +functions primarily as a blog. + +### Wiki + +Our wiki is run on [MediaWiki](Wikipedia:MediaWiki "wikilink"). You're +most likely reading it now. + +### Twitter + +Our twitter is [hacdc](http://twitter.com/hacdc). + +### Livejournal + +Our Livejournal is [hacdc](http://hacdc.livejournal.com/). + +### Meetup + +Our meetup is [hacdc](http://www.meetup.com/hac-dc/). + +## Phone + +Our Phone number is (202) 556-4225 (556-HACK). + +## CHAT + +Visit [chat.hacdc.org](http://chat.hacdc.org) or point your IRC client +to \#hacdc at [freenode.org](irc://irc.freenode.org/hacdc). This is the +primary chat medium for HacDC. + +Projects whose communities rely on IRC are encouraged to start their own +IRC channels or actively participate in existing channels - we have +control of the entire \#hacdc-\* namespace, if sub-channels are needed. + +[Category:HacDC_Systems](Category:HacDC_Systems "wikilink") \ No newline at end of file diff --git a/CompoentStore.md b/CompoentStore.md new file mode 100755 index 0000000..1f1bf8e --- /dev/null +++ b/CompoentStore.md @@ -0,0 +1 @@ +1. REDIRECT [Components Store](Components_Store "wikilink") \ No newline at end of file diff --git a/CompoentStoreManagement.md b/CompoentStoreManagement.md new file mode 100755 index 0000000..1f1bf8e --- /dev/null +++ b/CompoentStoreManagement.md @@ -0,0 +1 @@ +1. REDIRECT [Components Store](Components_Store "wikilink") \ No newline at end of file diff --git a/ComponentStore.md b/ComponentStore.md new file mode 100755 index 0000000..bfd2e81 --- /dev/null +++ b/ComponentStore.md @@ -0,0 +1 @@ +1. REDIRECT [Components_Store](Components_Store "wikilink") \ No newline at end of file diff --git a/Components_Store.md b/Components_Store.md new file mode 100755 index 0000000..5a96919 --- /dev/null +++ b/Components_Store.md @@ -0,0 +1,182 @@ +`*** See also `[`Suppliers`](Suppliers "wikilink")` ***` + +A sizable inventory of electronic components was purchased for +[Hackersmart](Hackersmart "wikilink"), with the goal that the unsold +portion thereof would seed HacDC's electronics lab. This has come to +pass, and the components are arranged on a pegboard by the soldering +desk. This page is to explain what's available, how much it cost, where +to get more, and as a place to request additions. + +This list has not been actively maintained in some time. We are not able +to resell items or run a store because that would require us to collect +and pay DC sales tax. So, think of the parts as office supplies that we +have stocked. If you use something, please donate an appropriate amount +to the tip jar. + +### Large Parts (Dept 4) + +| Item | Supplier | our cost | retail price | +|---------------------------|----------|----------|--------------| +| Arduino with Atamega328 | Adafruit | \$28 | \$35 | +| Boarduino kit w/ USB | Adafruit | \$22 | \$25 | +| USB TTL-232 Cable | Adafruit | \$18 | \$23 | +| Arduino Protoshield Kit | Adafruit | \$14 | \$15 | +| USBtinyISP AVR Programmer | Adafruit | \$20 | \$25 | +| XBee Adapter | Adafruit | \$10 | \$15 | +| XBee Module | Adafruit | \$23 | \$25 | + +### Small Parts + +| Component | Supplier | partno | our cost | retail price | [department](cash_register "wikilink") | +|------------------------------------------------------|--------------------------------------|----------------------|-----------------------|-----------------|----------------------------------------| +| resistors | Mouser/BG | partno | 1.4c (\$2.95 for 200) | 2c | 6 | +| 100-ohm trim pots | All Electronics | TPK-100 | 10c | 25c | 6 | +| 100k trim pots | All Electronics | TP-100k | 10c | 25c | 6 | +| 0.1uF 'decoupling' caps | Mouser | K104K15X7RF53H5 | 5c | 5c | 6 | +| 4.7uF capacitors | Mouser | 647-UVR1H4R7MDD1TD | 4c | 5c | 6 | +| 47uF capacitors | All Electronics | 47R10 | 4c | 5c | 6 | +| Misc caps (grab box) | Goldmine | G3060 | 1c? | 5c | 6 | +| 56uH inductors | Goldmine | G16521 | 35c | 50c | 6 | +| Red/Grn/Yel 3mm LEDs | MPJA | 15101/15102/15103 OP | 2c | 5c | 6 | +| Red/Grn/Yel 5mm LEDs | MPJA | 15108/15308/15309 OP | 2c | 5c | 6 | +| Aqua LEDs | Goldmine | G16645 | 25c | 50c | 6 | +| Infrared LEDs | supplier | partno | cost | price | 6 | +| Ultraviolet LEDs | supplier | partno | cost | price | 6 | +| 12MHz crystal | Goldmine | G3840 | 1.50 | 2.00 | 6 | +| 1xAA holder | Mouser | 12BH311-GR | 0.69 | 1.00 | 7 | +| 2xAA holder | Mouser | 12BH321D | 0.67 | 1.00 | 7 | +| 4xAA holder | Mouser | 12BH351-R | 0.99 | 1.50? | 7 | +| 9V battery snap | MPJA | 2600BT | 0.29 | 0.50 | 7 | +| SPDT pushbutton PCB mount | Goldmine | G14045 | \$1/5 | 0.25 | 7 | +| SPDT pushbutton panel mount | MPJA | 5019SW | 0.29 | 0.50 | 7 | +| DPDT slide | Goldmine | G1827 | 5/\$1 | 0.25 | 7 | +| DPDT 5v relay | All Electronics | RLY-506 | 0.70 | 1.00 | 7 | +| 2.1mm DC power jack | supplier | partno | cost | price | 7 | +| 2.1mm DC power plug | All Electronics | DCSID | 0.50 | 0.50 | 7 | +| 2.5mm DC power jack | All Electronics | DCJ-6 | 0.20 | 0.25 | 7 | +| 2.5mm DC power plug | supplier | partno | cost | price | 7 | +| 2.5mm (3/32") stereo plug | supplier | partno | cost | price | 7 | +| 3.5mm (1/8") stereo plug | supplier | partno | cost | price | 7 | +| 3.5mm (1/8") stereo jack | Goldmine | GP3 | 50/\$2.49 | 0.25 | 7 | +| USB B jack | Mouser | 649-61729-1010BLF | 0.50 | 1.00 | 7 | +| 8-pin DIP sockets | Digi-Key | 3M5461-ND | 0.156 | 0.25 | 7 | +| 14-pin DIP sockets | Digi-Key | 3M5462-ND | 0.13 | 0.25 | 7 | +| 20-pin DIP sockets | Digi-Key | 3M5465-ND | 0.18 | 0.25 | 7 | +| 28-pin DIP sockets | Digi-Key | 3M5469-ND | 0.23 | 0.50 | 7 | +| 0.100" headers | Goldmine | GP6 | 50/\$2.49 | 0.25 | 7? | +| 830-point breadboard | MPJA | 4443TE | 3.95 in qty 10 | 5.00 | 8 | +| small perfboard | All Electronics | PC-1 | 0.75 | 1.00 | 8 | +| large perfboard | BG Micro | ACS1052 | 1.95 | 3.00? | 8 | +| crappy clipleads | Goldmine | G1498 | 10/\$2 | 25c | 8 | +| Minigrabbers (yellow) | DealExtreme | sku.8391 | 30/\$7.41 | 50c | 8 | +| Micrograbbers (red/black) | DealExtreme | sku.7892 | 20/\$6.10 | 50c | 8 | +| 6 amp Triac 400 PIV | RS | 276-1000 | 0.00 | 0.95 | 9 | +| 7805 regulator | Mouser | 512-LM7805ACT | 0.31 | 0.50 | 9 | +| 78L05 regulator | Mouser | 512-LM78L05ACZX | 0.18 | 0.50 | 9 | +| 7812 regulator | Mouser | 512-LM7812ACT | 0.31 | 0.50 | 9 | +| TL431 adjustible zener regulator | RS | 276-559 | 0.00 | 1.50 | 9 | +| LM317 adj reg | Mouser | 511-LM317MT | 0.30 | 0.50 | 9 | +| 1n914/1n4148 diode | Goldmine | G13807 | 100/\$1 | 5c | 9 | +| 1n4007 diode | MPJA | 5217DI | 0.07 | 0.10 | 9 | +| Zener diodes | BG Micro | partno | 0.12 | 0.25 | 9 | +| 2n4891 UJT Transistor | RS | 276-2029 | 0.00 | 7.08 | 9 | +| 2n3904 NPN transistor | BG Micro | TRN2N3904 | 0.06 | 0.25 | 9 | +| 2n3905 PNP transistor | Goldmine | G43374 | 0.12 | 0.25 | 9 | +| 2SC945 NPN Transistor | RS | 276-2051 | 0.00 | 0.25 | 9 | +| ICL7621 Dual Op Amp Low Power | RS | 276-2331 | 0.00 | 1.07 | 9 | +| LM358 opamp | Mouser | 512-LM358N | 0.25 | 0.50 | 9 | +| LM1458 dual opamp | Mouser | 512-LM1458CN | 0.33 | 0.50 | 9 | +| LM393 dual comparator | All Electronics | LM393 | 0.30 | 0.50 | 9 | +| LM3915N LED bargraph driver | RS | 276-1708 | 0.00 | 2.50 | 9 | +| LM555 timer | Mouser | 512-LM555CN | 0.22 | 0.50 | 9 | +| ADM202 RS232 transceiver | All Electronics | ADM202EAN | 0.75 | 1.00 | 9 | +| 4n33 optoisolator | Mouser | 78-4N33 | 0.32 | 0.50 | 9 | +| LM386 audio amp | Mouser | 513-NJM#386BD | 0.42 | 0.50 | 9 | +| MC34063 switching power supply controller | Mouser | 863-MC34063AP1G | 0.70 | 1.50 | 9 | +| 74HCT573 Octal D-type Latch | RS | CD74HCT573E | 0.00 | 0.85 | 9 | +| 74HCT4020 14 stage binary counter | RS | 74HCT4020N | 0.00 | 1.80 | 9 | +| 74HCT240 Octal Inverting Buffer | RS | 74HCT240N | 0.00 | 0.68 | 9 | +| 74HCT273 Octal D Flip Flop | RS | 74HCT273N | 0.00 | 0.66 | 9 | +| 74HCT393 Dual 4 Bit Binary Counter | RS | 74HCT393E | 0.00 | 0.60 | 9 | +| 74HCT164 8 Bit Serial In Parallel Out Shift Register | RS | 74HCT164N | 0.00 | 0.55 | 9 | +| SN74LVC16245A 16 bit bus transceiver | hamfest | SN74LVC16245A | 0.00 | 1.52 | 9 | +| 74LS244 Octal Noninverting Buffer | RS | SN74LS244N | 0.00 | 0.30 | 9 | +| 74LS373 octal transparent latch | RS | SN74LS373N | 0.00 | 1.39 | 9 | +| 4093 CMOS 2 input NAND Schmitt Trigger | RS | CD4093BCN | 0.00 | 0.55 | 9 | +| AVR microcontrollers | I'm gonna leave this to Elliot or TC | | | | 10 | +| ferrite snap beads | All Electronics | FB-80 | 2.50 | 2.00 + shipping | 10 | +| Hantronix HDM16216H-5-300S 2x16 LCD no backlight | Goldmine | G16717 | 2.95 | 5.00 | 11 | +| 0.6 amp Polyfuse | Mouser | 576-60R065XU | 0.24 | 0.50 | 11 | +| 1.1 amp Polyfuse | Mouser | 576-30R110UU | 0.26 | 0.50 | 11 | +| CF-IDE 44-pin | DealExtreme | sku.10310 | 2.26 | 3.00 | 15 | +| CF-IDE 40-pin male | DealExtreme | sku.10309 | 2.09 | 3.00 | 15 | +| CF-IDE 40-pin female | DealExtreme | sku.2720 | 2.16 | 3.00 | 15 | +| CF-IDE 40-pin male on bracket | DealExtreme | sku.10311 | 3.52 | 5.00 | 15 | +| 2.5-to-3.5-inch IDE adapter | DealExtreme | sku.727 | 1.33 | 2.00 | 15 | +| 2GB CF card | DealExtreme | sku.12352 | 22.12 | 30.00 | 15 | +| 1GB MicroSD (TransFlash) | DealExtreme | sku.1458 | 5.43 | 7.00 | 15 | +| 2GB MicroSD (TransFlash) | DealExtreme | sku.2934 | 9.22 | 12.00 | 15 | +| SDHC-to-USB adapter | DealExtreme | sku.6858 | 2.52 | 3.00 | 15 | +| All-in-one USB memory reader | DealExtreme | sku.2708 | 4.87 | 5.00 | 15 | +| | | | | | | + +### Proposed Additional Inventory + +| Component | Supplier | partno | our cost | retail price | department | QTY Desired | +|----------------------------------------------------------------------------|-----------------------------|--------------------------------------------------------------------------|------------|--------------|------------|-------------| +| IRFZ20 MOSFET | TBD | | | | | | +| H-Bridges | TBD | (SN754410, aka L293) | | | | | +| piezo elements | TBD | | | | | | +| 22 AWG hookup wire | TBD | | | | | | +| TBD Light Sensor | TBD | | | | | | +| TIP102 Transistor | TBD | | | | | | +| USBtinyISP AVR Programmer Kit | adafruit.com | | \$22 | | | | +| AVR Programming Adapter | Sparkfun.com | BOB-08508 | \$0.99 | | | | +| Infrared Emitters and Detectors | Sparkfun.com | SEN-00241 | \$1.95 | | | | +| 8-Bit Shift w/Latch | Mouser | 595-SN74HC595N | \$0.66 | | | | +| 5.6v Zener Diode | Mouser | 512-1N5232B | \$0.06 | | | | +| 10-pin bussed 10K-100K resistor network | Mouser | 266-100K-RC | \$0.25 | | | | +| L293D Dual H-Bridge | Mouser | 595-L293DNE | \$2.74 | | | | +| 5-position 5.08 terminal block | Mouser | 538-39880-0303 | \$077 | | | | +| 2-position 5.08 terminal block | Mouser | 538-39880-0302 | \$0.46 | | | | +| cisco 48V power supplies | | | \$10ea-ish | | | | +| Darlington array | Mouser | 511-ULN2801A | \$0.91 | | | | +| Opto-Isolator | Mouser | 782-139 | \$1.12 | | | | +| Power Transistor | Mouser | 511-2N3055 | \$1.40 | | | | +| 74C CMOS Logic Hex Schmitt Trigger | Mouser | 512-MM74C14N | \$0.72 | | | | +| LED Assortment | Alan Parakh | | \$25 | | | | +| IRL3713PBF MOSFET 30V/260A continuous drain current, very low gate voltage | Newark Electronics | or Mouser 844-IRL3713PBF | \$4 | | | | + +### Suppliers: + +[Mouser](http://www.mouser.com) and [Digi-Key](http://www.digikey.com) +are the "big guns" of the hobbyist and small professional electronics +market, with breathtaking inventories, fast order fulfillment, and +sophisticated websites. Digi-Key adds a handling fee to orders under +\$25. + +[Marlin P. Jones & Associates](http://www.mpja.com) is a smaller web +retailer specializing in power supplies, but with a fair assortment of +other stuff too. Their prices on breadboards are hard to beat. (Thanks +[Jon](http://serialwombat.com/) for that tip!) + +[All Electronics](http://www.allelectronics.com/) has been in the +surplus electronics game for a long time, with a small newsprint catalog +that's a staple in many geeks' bathrooms. As with any surplus dealer, +their inventory is constantly in flux, and sometimes they have really +amazing deals. + +[B.G. Micro](http://www.bgmicro.com/) (known pre-9/11 as "The +Electronics Mecca", now calls itself "The Electronics Supplier") is a +small mostly-surplus dealer whose bright yellow catalog offers Texas +humor mixed with eyestrain. Their shopping cart software is chaotic +evil, but they have great prices, particularly on industrial stuff like +thermal fuses and zener diodes. + +[Electronics Goldmine](http://www.goldmine-elec-products.com/) has a +better selection of motors, magnets, and boxes than almost anyone else. +They offer "GoldPaks", grab-bags and assortments of surplus (sometimes +take-outs) hardware, some of which are so-so deals and some of which are +simply jawdropping. + +[Category:Materiel](Category:Materiel "wikilink") \ No newline at end of file diff --git a/Conferences.md b/Conferences.md new file mode 100755 index 0000000..e617e3c --- /dev/null +++ b/Conferences.md @@ -0,0 +1,13 @@ +| What | When | Where | Who's going | What we're doing there (e.g., [Hackersmart](Hackersmart "wikilink")) | +|-------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|-----------------------------------------------------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------| +| [Notacon](http://www.notacon.org/) | April 15-18, 2010 | Cleveland, OH | | | +| [Robotfest](http://robotfest.com/) / [Mid-Atlantic Mini Maker Faire](http://baltimorenode.org/2010/01/mid-atlantic-mini-maker-faire-robot-fest-2k10/) | April 24, 2010 | [National Electronics Museum](http://www.hem-usa.org/), Linthicum, Maryland | | | +| [Maker Faire North Carolina](http://makerfairenc.com/) | April 25, 2010 | Durham, NC | | | +| [Penguicon 7.0](http://www.penguicon.org/) | April 30 - May 2, 2010 | Troy, MI | | | +| [The Next HOPE](http://www.thenexthope.org/) | July 16-18, 2010 | New York, NY | [User:Katie](User:Katie "wikilink"), [Nocko](User:Nock "wikilink") ... | [under discussion](TheNextHOPE "wikilink") | +| [Defcon](http://www.defcon.org/) | July 29 - August 1, 2010 | Las Vegas, NV | | | +| [Maker Faire New York City](http://www.makerfaire.com/) | September 26-26, 2010 | Queens, NY | | | + +Upcoming Conferences of Interest + +[Category:Conferences](Category:Conferences "wikilink") \ No newline at end of file diff --git a/Crypto_Party.md b/Crypto_Party.md new file mode 100755 index 0000000..9c8bd89 --- /dev/null +++ b/Crypto_Party.md @@ -0,0 +1,223 @@ +"They who can give up essential liberty to obtain a little temporary +safety deserve neither liberty nor safety." -Benjamin Franklin, +Franklin's Contributions to the Conference on February 17 (III) Fri, Feb +17, 1775 (http://www.ushistory.org/franklin/quotable/singlehtml.htm) + +# Anonymity/Privacy? + +Q: What is anonymity? A: In the context of security anonymity refers to +the inability of unauthorized parties to link communications to your +"real" identiy in whatever for that may take. This can also work on a +sliding scale such as "Can my + find me?". +The answer of yes for the "crazy stalker" will be significantly easier +to achieve than the yes for "federal law enforcement". Q: What is +privacy? A: Privacy is the ability to expose your information or +behavior to only those parties you wish to share it with. This does not +inherently include the ability to obscure your identity. + +Anonymity and privacy are complementary to each other in many cases but +are not mutually inclusive. + +# SSL + +Why SSL is broken: The red +circles on that map are the "root CAs", the Certificate Authorities that +have their certificate trusted in most browsers. The size of the circle +is based on the amount of certificates the CA is thought to have issued. +These are all the entities that if one gets hacked, they can issue a +wildcard certificate and your browser would show the certificate as +valid. + +# GPG + +This page shows how the web of trust works: + + +# TOR + +What is TOR and why does it matter? + + +What is TOR? A beginner's guide to the privacy tool - + + +What is TOR from the EFF (https://www.eff.org/torchallenge/what-is-tor): +Tor is a service that helps you to protect your anonymity while using +the Internet. Tor is comprised of two parts: software you can download +that allows you to use the Internet anonymously, and the volunteer +network of computers that makes it possible for that software to work. + +When you use the Tor software, your IP address remains hidden and it +appears that your connection is coming from the IP address of a Tor exit +relay, which can be anywhere in the world. There are many reasons you +might use Tor, including keeping websites from tracking you and your +family members, using websites or services which are blocked in your +country (for example, getting around the Great Firewall of China), and +maintaining anonymity when communicating about socially sensitive +information, such as health issues or whistleblowing. Learn more about +who uses Tor. + +# Hard Drive Encryption + +## Truecrypt (Windows drive encryption) + +How to encrypted your system drive (Windows boot drive) on Windows using +Truecrypt: + + +# Suggested Software: + +Software usable under multiple operating systems is normally listed +under each operating system. + +Note about Truecrypt-No complete audit has been done yet, people are +currently collecting funds for a full audit - + + +## GPG Key IDs: + +These are GPG Key IDs which can be obtained from keyservers. + +| Group: | Key: | +|--------------------------------------------|----------| +| TAILS (The Amnesiac Incognito Live System) | BE2CD9C1 | +| Tor Browser Bundle (TOR Project) | 63FEE659 | +| GPG4Win | EC70B1B8 | +| Truecrypt | F0D6B1E0 | +| GPGTools | 00D026C4 | +| Enigmail | 9369CDF3 | + +## OS independent (Normally bootable iso images): + +| Program: | Desc: | URL: | Why? | +|--------------------------------------------|-----------------------------------|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| TAILS (The Amnesiac Incognito Live System) | Secure workstation LiveCD | | A Linux Live edition for accessing TOR outside of your normal operating system (Note, for security reasons make sure your normal hard drive isn't accessible while booted into this, running encrypting with any whole drive encryption software should work). | +| DBAN | Secure storage media destruction. | | | + +If you require help burning ISO images, please join the HacDC Blabber +mailing list +(https://groups.google.com/a/hacdc.org/group/Blabber/subscribe) and ask +how (make sure to include which operating system you are running when +asking for help). + +## Linux and other Unix variants: + +| Program: | Desc: | URL: | +|--------------------|----------------------------------------------------|-------------------------------------------------------------| +| Truecrypt | Hard Drive Encryption, File encryption | | +| Tor Browser Bundle | Anonymous web surfing (includes Tor & web browser) | | +| Thunderbird | Email Encryption | | + +## Windows: + +| Program: | Desc: | URL: | +|--------------------|----------------------------------------------------|-------------------------------------------------------------| +| Truecrypt | Hard Drive Encryption, File encryption | | +| Tor Browser Bundle | Anonymous web surfing (includes Tor & web browser) | | +| Thunderbird | Email Encryption | | +| GPG4Win | GPG front-end for Windows | | +| eraser | Secure Delete | | + +## Mac OS: + +| Program: | Desc: | URL: | +|--------------------|----------------------------------------------------|-------------------------------------------------------------| +| Truecrypt | Hard Drive Encryption, File encryption | | +| Tor Browser Bundle | Anonymous web surfing (includes Tor & web browser) | | +| Thunderbird | Email Encryption | | +| GPGtools | Integrates GnuPG with MacOSX. | | + +## Android: + +| Program: | Desc: | +|--------------|----------------------------------------------------------------------| +| Orbot | TOR for Android | +| Orweb | TOR web browser for Android (Orbot required) | +| APG | GPG Program | +| K-9 Mail | Email program for Android that can directly interact with APG | +| Adblock Plus | Detects and blocks advertisements (images, JavaScript, Java applets) | + +## iOS: + +| | | | +|----------|----------------------------------------------------|-----------------------------| +| Ghostery | Blocks web analytics agents (web bugs, JavaScript) | | + +## Web Browser Plugins: + +### Safari: + +| Ghostery | Blocks web analytics agents (web bugs, JavaScript) | | +|----------|----------------------------------------------------|-----------------------------| +| Lastpass | Password manager | | + +### Firefox: + +| Noscript | Disable JavaScript, Java, Flash, Silverlight, XSS, Clickjacking, etc | | +|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------| +| Lastpass | Password manager | | +| HTTPS Everywhere | Enable SSL wherever possible | | +| Web of Trust | Website reputation checker | | +| Mailvelope | GPG Add-on for Firefox and Chrome. Needs vetting and only the chrome addon is available prebuilt from them but the ff adon is easy to build and can be built ahead of time if needed. | | +| Calomel SSL Validation | Analyzes SSL configuration of sites you visit and gives you an analysis with reasoning behind the rating. | | +| ShareMeNot | Blocks sharing buttons and applets unless you specifically click on them to enable them. | | +| HTTPS Finder | Automatically detect SSL capabilities. Generates rules for HTTPS Everywhere. | | +| Ghostery | Blocks web analytics agents (web bugs, JavaScript) | | +| Adblock Plus | Detects and blocks advertisements (images, JavaScript, Java applets) | | + +### Chrome: + +| Lastpass | Password manager | | +|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| +| HTTPS Everywhere | Enable SSL wherever possible | | +| Web of Trust | Website reputation checker | | +| Mailvelope | GPG Add-on for Firefox and Chrome. Needs vetting and only the chrome addon is available prebuilt from them but the ff adon is easy to build and can be built ahead of time if needed. | | +| ShareMeNot | Blocks sharing buttons and applets unless you specifically click on them to enable them. | | +| Ghostery | Blocks web analytics agents (web bugs, JavaScript) | | +| Adblock Plus | Detects and blocks advertisements (images, JavaScript, Java applets) | | + +### Opera: + +| Lastpass | Password manager | | +|--------------|----------------------------------------------------------------------|-----------------------------| +| Ghostery | Blocks web analytics agents (web bugs, JavaScript) | | +| Adblock Plus | Detects and blocks advertisements (images, JavaScript, Java applets) | | + +### Internet Explorer: + +| Lastpass | Password manager | | +|----------|----------------------------------------------------|-----------------------------| +| Ghostery | Blocks web analytics agents (web bugs, JavaScript) | | + +## Non web browser plugins: + +### Thunderbird: + +| Enigmail | GPG Add-on for Thunderbird | | +|----------|----------------------------|----------------------------------------------| + +# Links: + +## Internet: + +| Site: | URL: | Notes: | +|--------------------------------------------|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Mailvelope | | In-browser PGP encryption for webmail | +| Encrypt Everything | | Good resource on encryption for the web. Good resource for beginner to intermediate skill level. | +| Surveilance Self-Defense | | EFF's guide to protecting yourself from digital surveilance. Extremely in-depth and detailed. For the advanced (or very paranoid). Not light reading. | +| Qualys Browsercheck | | Automated scanning of browser, plugins, and Windows updates for vulnerable, out-of-date configuration | +| SSL Labs | | Tool for checking any site's SSL setup for bad practices and vulnerabilities | +| Calomel SSL Validation | | Firefox add-on for analyzing and verifying SSL configurations of sites you visit. | +| DEATH NOTE: L, ANONYMITY & ELUDING ENTROPY | | A.k.a., why "metadata" matters and how much the NSA can really know about you from your phone records. | +| Using Metadata to Find Paul Revere | | Illustration of how to use seemingly useless data points to pin charges on someone. Told from the perspective of a British intelligence officer looking for trators in collonial America. | +| crypto-log | | Updated 1996 | +| Intro level guide to Internet Security | | A guide for non-technical denizens of the Internet on how not to be low-hanging fruit for hackers. | +| How the Heartbleed Bug Works | | Nice illustration of how Heartbleed worked to give layfolk an idea of how some of these exploits happen and how client/server systems negotiate a connection. | + +## TOR: + +| Site: | URL: | Notes: | +|-------------|--------------------------------------------------------|--------------------------------------| +| tormail.org | (http://tormail.org/) | Email service only available via tor | +| Mailtor | (http://mailtor.net/) | Email service only available via tor | \ No newline at end of file diff --git a/Crypto_Party_2017.md b/Crypto_Party_2017.md new file mode 100755 index 0000000..0b5b993 --- /dev/null +++ b/Crypto_Party_2017.md @@ -0,0 +1,34 @@ +This is an internal working wiki page to assist in cryptoparty +organization. + +Morning Session, suggested topics: + +Order, Time, Presenter(s), Title + +1, 10:30 am, Enrique/etc, Welcome to HacDC + +2, 10:35 am, Enrique, Why do computers suck at security? SQL injections +and buffer overflows. + +3, 11:00 am, Enrique, Scams: Phishing and Spearphishing + +4, 11:15 am, Enrique/Ankeet, Password Security, Hashing, Two-Factor +Security + +5, 11:30 am, Xavier, Introduction to Encryption + +6, 11:45 am, Xavier, Digital Signatures & Certificates + +7, 12:15 pm, Ankeet?, PGP, Signal, Tor + +Afternoon Session: + +Order, Time, Presenter(s), Title + +8, 1:00pm, somebody, Tor 9, 1:30pm, Micah Sherr, Georgetown University, +"Hidden Voice Commands," 10, 2:00 pm, Lindsay Beck, Open Tech Fund, +"Resources for your Digital Security Projects??? 10, 2:20 pm, Ross +Schulman, Open Tech Institute, "Security Law in 2017" 11, 2:40 pm+ Open +Discussion, Q&A, Self-organized workshops, etc + +Wrap-up at 3:30pm (HacDC Annual Meeting is at 4pm.) \ No newline at end of file diff --git a/Cthulhu.md b/Cthulhu.md new file mode 100755 index 0000000..7045880 --- /dev/null +++ b/Cthulhu.md @@ -0,0 +1,47 @@ +## Functions + +- Transparent caching proxy for package management traffic (apt, yum, + etc) +- Mirroring and timeshifting of distribution repositories to offset + bandwidth usage. + +# Access + +This machine is just for caching package management traffic and +rehosting it. There are no user accounts available on this machine. + +## Caching Proxies + +- apt - via apt-cacher-ng - +- web + +# Admin Notes + +## Xen Config + +- CPU: 2 +- RAM: 2048MB +- Disk: + - / - albert/cthulhu-disk + - swap - albert/cthulhu-swap + - cache - albert/proxy + +# Software + +## Squid + +- **Not configured** +- Caches: + - Packages for: + - Debian/Ubuntu/Mint + - does not cache Packages\* files - prevents stale package lists + - Installer and live ISOs for: + - Debian/Ubuntu/Mint + - Fedora/Centos + - Slackware/Slax/Porteus + - Gentoo/Funtoo + - Will coordinate with mirage + +[Category:Infrastructure](Category:Infrastructure "wikilink") +[Category:Servers](Category:Servers "wikilink") +[Category:VMs](Category:VMs "wikilink") \ No newline at end of file diff --git a/Cube_Alt_Slicer.md b/Cube_Alt_Slicer.md new file mode 100755 index 0000000..601f3ea --- /dev/null +++ b/Cube_Alt_Slicer.md @@ -0,0 +1,35 @@ +# Alternate Slicer Instruction (Experimental) + +**Don't do this until we verify** + +1. Open the Kisslicer link on the desktop +2. Load your stl +3. Slice +4. Save (should save with a .bfb ext) +5. Open CodeX32 link on the desktop + 1. Printer: CubePro + 2. Function: EnCode + 3. Input File: your.brb + 4. Output File: youre.cube (cubepro file should work with cube ext) + +## References + +You can use a regular slicer and convert it to .cube code See this +[Thread](https://groups.google.com/forum/#!topic/kisslicer-refugee-camp/ZMuIrtn5Mfo) + +Here's a [Thread](http://www.kisslicertalk.com/viewtopic.php?f=20&t=353) +specific to the cube 2 + +Another +[Thread](http://cube3d.createaforum.com/general-discussion/alternative-slicer-to-the-cubes-standard-software/). +This seems to be the latest. + +## Troubleshooting Notes + +- Decoding a .cube file generated by cubes software and re-encoding with + cubepro setting and then renaming file .cube seems to work. Using + cubex setting does not work. +- Setting Filament parameter to -1 does not cause an error +- Setting Time to 0 does not cause an error + +[Category:Cube](Category:Cube "wikilink") \ No newline at end of file diff --git a/Cube_Operators_Log.md b/Cube_Operators_Log.md new file mode 100755 index 0000000..659d07a --- /dev/null +++ b/Cube_Operators_Log.md @@ -0,0 +1,62 @@ +**When you use the Cube, please add notes here. Newest at top.** + +- Operational at Makersmiths. Seems to print a RasPi case fine. + [Mirage335](User:Mirage335 "wikilink") + ([talk](User_talk:Mirage335 "wikilink")) 11:27, 8 April 2016 (PDT) + + + +- Printed Reprap Wilson Z Brace. Failed becuase cartridge ran out of + filament. Refilled filament making sure not to wind it too tightly + (Did by hand). Also made sure to release tension on wound filament + very few winds by counter rotation cartridge. + --[Nostromo](User:Nostromo "wikilink") + ([talk](User_talk:Nostromo "wikilink")) 16:45, 16 April 2015 (PDT) + + + +- James reports: Attempted to print LCD Knob for Reprap Wilson but + printer refused to start printing with a "Cartridge Empty" error + message. Need to procure another cartridge and being doing cartridge + swap procedure to bypass this check. + --[Nostromo](User:Nostromo "wikilink") + ([talk](User_talk:Nostromo "wikilink")) 09:52, 13 March 2015 (PDT) + + + +- James reports: Printed Y bearing holders from Prusa Mendel upgrade. + New mirrored build surface is working well with Elmers glue stick + (Easier to release parts). Several failed attempts at printing + filament bypass for cube because of poor STL file orientation. + --[Nostromo](User:Nostromo "wikilink") + ([talk](User_talk:Nostromo "wikilink")) 09:34, 1 March 2015 (PST) + + + +- James reports: Printer is operating well. There is slight warping of + larger 4 inch parts on the corners but prints complete successfully. + The part I was printing failed in a strange way (printed part was + missing a geometric section). This might be due to forgetting to run + heal in the software. Also when transferring the .cube file to the + printer just use the USB key as it is far more reliable than the wifi. + --[Nostromo](User:Nostromo "wikilink") + ([talk](User_talk:Nostromo "wikilink")) 13:49, 11 February 2015 (PST) + + + +- James reports: Performed Bed Leveling procedure (Ugh!!). Printing + Wilson Piecemeal Y Idler. The print looks a little smooshed on the + bottom. Consider recalibrating Z a little higher. + --[Nostromo](User:Nostromo "wikilink") + ([talk](User_talk:Nostromo "wikilink")) 17:36, 5 February 2015 (PST) + + + +- James reports: Printed 2nd part on this printer. Reset Z axis to 1.60z + so that it wouldn't smoosh the part as much. seemes to have worked but + has a little bit of warping of the edges of the 5" part I was + printing. Removing the part is requiring long times in a water bath to + permeate the glue underneath --[Nostromo](User:Nostromo "wikilink") + ([talk](User_talk:Nostromo "wikilink")) 16:01, 8 February 2015 (PST) + +[Category:Cube](Category:Cube "wikilink") \ No newline at end of file diff --git a/CultureJamming.md b/CultureJamming.md new file mode 100755 index 0000000..7eb3291 --- /dev/null +++ b/CultureJamming.md @@ -0,0 +1,79 @@ +## Overview + +Welcome to the Culture Jamming page. Here we will explore and document +the history and practice of culture jamming. Feel free to add to this +wiki if you have gems to share. + +From [Wikipedia](http://en.wikipedia.org/wiki/Culture_jamming): Coined +by the collage band Negativland on its release JamCon '84, the phrase +"culture jamming" comes from the idea of radio jamming: that public +frequencies can be pirated and subverted for independent communication, +or to disrupt dominant frequencies\[12\]. + +\[12\] [Disrupt Dominant +Frequencies](http://disruptdominantfrequencies.net/) + +## Museums, collections, directories + +[The Alternative Museum](http://www.alternativemuseum.org/) (Doesn't +appear to have been updated since 2003) + +## DIY projects related to CJ + +[MAKE electronics +projects](http://blog.makezine.com/archive/2009/12/culture_jamming_open_source_hardwar.html) + +## DC Area Culture Jamming + +[Capitol Climage Action](http://www.capitolclimateaction.org/) +(apparently the webmaster has moved to SF?) + +## Examples + +- Barbie Liberation Organization + - [Youtube Video](http://www.youtube.com/watch?v=OVT4T7OR3iQ) + +## Articles and papers + +- [Elliot Feldman, Aug 22 2007, + AP](http://www.associatedcontent.com/article/350004/what_is_culture_jamming.html) +- [Mark Dery, Dec 23 1990, NY + Times](http://www.nytimes.com/1990/12/23/arts/the-merry-pranksters-and-the-art-of-the-hoax.html) + +## Movers and shakers + +[Mark Dery popularized the term "culture jamming" in his +writing](http://en.wikipedia.org/wiki/Mark_Dery) + +[Gareth Branwyn](http://en.wikipedia.org/wiki/Gareth_branwyn) has +written about and practiced culture jamming writ large, influenced in +part by the theories and practice of the +[Dadaists](http://en.wikipedia.org/wiki/Dada), the +[Surrealists](http://en.wikipedia.org/wiki/Surrealism), the +[Futurists](http://en.wikipedia.org/wiki/Futurism), the 60s +counter-culture, [The Situationist +International](http://en.wikipedia.org/wiki/Situationist_International), +[Fluxus](http://en.wikipedia.org/wiki/Fluxus), [William +Blake](http://en.wikipedia.org/wiki/William_blake), and other +proto-culture-jammers and thinkers. During the 80s and 90s he practiced +[mail art](http://en.wikipedia.org/wiki/Mail_art), published +[zines](http://www.streettech.com/bcp/BCPgraf/CyberCulture/goinggaga.html), +wrote early DIY-culture texts such as [The Happy Mutant +Handbook](http://www.amazon.com/Happy-Mutant-Handbook-Carla-Sinclair/dp/1573225029/ref=sr_1_1?ie=UTF8&s=books&qid=1268709584&sr=8-1), +the seminal HyperCard stack, [Beyond +Cyberpunk!](http://www.streettech.com/bcp/), held countless discussions +on the topic on [The Well](http://en.wikipedia.org/wiki/The_WELL), and +articles for culture hacking champions, [Mondo +2000](http://en.wikipedia.org/wiki/Mondo_2000) and +[Wired](http://en.wikipedia.org/wiki/Wired_%28magazine%29) where he +created and edited the longest running column for that publication, +[Jargon +Watch](http://www.amazon.com/Jargon-Watch-Dictionary-Jitterati-Hardwired/dp/1888869062/ref=sr_1_1?ie=UTF8&s=books&qid=1268710455&sr=8-1), +about the accelerating influence that information technology was +exerting on the evolution of the English language. In 1997, he wrote +[Jamming the +Media](http://www.amazon.com/Jamming-Media-Gareth-Branwyn/dp/0811817954/ref=sr_1_2?ie=UTF8&s=books&qid=1268708624&sr=8-2), +a citizen's guide to reclaiming the tools of communication. He is +currently Editor in Chief of the [MAKE Blog](http://blog.makezine.com/). + +[Category:HacDC_Culture](Category:HacDC_Culture "wikilink") \ No newline at end of file diff --git a/Curriculum_Development_and_key_Project_Documents.md b/Curriculum_Development_and_key_Project_Documents.md new file mode 100755 index 0000000..0fc1b22 --- /dev/null +++ b/Curriculum_Development_and_key_Project_Documents.md @@ -0,0 +1,3 @@ +1. REDIRECT [HacDC Spaceblimp 6/Projects/Curriculum Development and key + Project + Documents](HacDC_Spaceblimp_6/Projects/Curriculum_Development_and_key_Project_Documents "wikilink") \ No newline at end of file diff --git a/DC_CRISPR_Initiative_at_HacDC.md b/DC_CRISPR_Initiative_at_HacDC.md new file mode 100755 index 0000000..9d6af8b --- /dev/null +++ b/DC_CRISPR_Initiative_at_HacDC.md @@ -0,0 +1,234 @@ +## Project Description + +- Organizers: Enrique C., Nancy C. Wolfson, Bobby B. +- Contact: crispr@hacdc.org + +CRISPR-Cas9 is a groundbreaking new (2012 vintage) gene editing +technique. While gene editing is not a new concept, previous methods +were far more expensive, slow and restricted in capabilities than +CRISPR. Further, whereas previous methods only successfully edited a few +percent of the exposed cells, CRISPR's efficiency approaches 100%. This +is particularly important for gene editing in living multi-cellular +organisms. The new technique is dramatically accelerating the pace of +genetic engineering since its invention in 2012. + +CRISPR is an acronym that describes a genetic curiosity observed several +decades ago: Clusters of Regularly Interspaced Short Palindromic +Repeats. A few years go it was recognized that these odd DNA sequences +in bacteria are deactivated virus DNA and make up a kind of Virus +Definition Database. Finally, it was discovered that a protein exists +which goes around scanning bacteria DNA searching for matches to virus +DNA sequences and, when a match is found, cuts the gene in the bacteria +DNA very precisely and efficiently. This protein was termed Cas9. In +effect, bacteria and other organisms already have an excellent built-in +gene-editing mechanism, and scientists have since learned to hijack that +mechanism using engineered RNA sequences that direct the Cas9 protein to +cut DNA in any desired location in the genome. + +The Cas9 mechanism only cuts the DNA in one location, leaving DNA repair +mechanisms to fix the double-strand cut. Repair mechanisms for such a +serious double-strand break are so imperfect as to incapacitate the gene +with errors most of the time. Thus the Cas9 protein deactivates genes +rather than removing them. However, by programming two custom RNA target +strands, two Cas9 proteins can be used in tandem to excise part of a +genome altogether. To add a new gene, there must be enough of that gene +floating around during the CRISPR process that it becomes incorporated +into the genome via the repair mechanisms. + +These are the best videos we've found so far: Genome Editing with +CRISPR-Cas9 by McGovern Institute for Brain Research + + +What is CRISPR? by Bozeman Science + + +Read more here: + +Read more here: + +In the ODIN kit experiment, bacteria (E. coli HME63 strain) are modified +to add resistance to the antibiotic streptomycin. The kit provides the +vulnerable bacteria, the resistance gene, and growth media with and +without antibiotic. The original unmodified bacteria can only grow on +the plain agar media whereas bacteria with a successfully edited genome +will also grow on the streptomycin-laced agar. This is similar to Wenyan +Jiang, David Bikard, David Cox, Feng Zhang and Luciano Marraffini, +RNA-guided editing of bacterial genomes using CRISPR-Cas systems, Nature +Biotechnology 31(3), pp.233 (2013). + + +## Financial Support / Sponsors + +HacDC - 8/2016 - purchased Bacterial DIY CRISPR kit. Enrique C - +11/2016- purchased Bacterial DIY CRISPR Kit. Nancy W - purchased +Bacterial DIY CRISPR kit. Enrique C - 5/2017 - purchased Bacterial DIY +CRISPR Kit Refill. Nancy W - 2017 - purchased Bacterial DIY CRISPR kit +refill. Nancy W - 2017 - purchased temperature-controlled water bath. +Nancy W - 2017 - loaned 1600X Optical Microscope with USB camera. +Enrique C - 2017 - purchased supplies and gram staining kit. The ODIN - +01/2018- provided free sample of next-gen CRISPR kit. + +## Activities and Goals + +DC CRISPR Initiative is our effort to learn about, perform, and teach +CRISPR genetic editing at HacDC. To begin the project, we???ve ordered a +Do-It-Yourself CRISPR Kit, which includes (supposedly) all the tools and +ingredients needed to perform a CRISPR procedure a few times. We???ll +hold a few events at HacDC to go through the procedure and document our +experience. Eventually we???ll create a guide that older high school +kids can follow. This project also explores interest in molecular +biology and genetics at HacDC. We're just starting! Keep an eye out for +CRISPR events in our MeetUp page, on the mailing list, and our Blabber +discussion forum. + +## Project Team Members + +Enrique C. - Project Manager and Point of Contact Nancy W. - Project +Development Lead Bobby B. - Molecular Biology Advisor Sophia M. - +Scientific Advisor + +## Worklog + +July 30, 2016 We received the CRISPR kit purchased with Project +EXPANSION funds (thanks!). + +August 2, 2016 Nancy and Enrique inventoried the ODIN kit and designated +the small classroom fridge as the "NO FOOD" Project CRISPR fridge. + +August 5, 2016 Nancy and Enrique prepared four Petri dishes (two plain +agar, two streptomycin-agar). The agar and +antibiotic(streptomycin)-laced agar are gel-like substances similar to +gelatin. They come as powders which must be mixed with water and heated +to dissolve. The recipe is proportioned for seven Petri dishes but we +scaled down to one of each, scaling the agar powders and water by +one-seventh. Even so we were able to coat two dishes with each growth +medium. We didn't have distilled or deionized water and used bottled +purified drinking water in a pinch. The mixture (agar gel only, no +bacteria!) was heated in the microwave 7 seconds at a time. It took 4-5 +cycles until the powders were fully dissolved and the liquid +transparent, then another 5 minutes until they were cool enough to +handle and pour into the plastic Petri dishes. The dishes cooled at room +temperature for an hour to remove some condensation (the covered hot +liquid creates condensation on the lid), then placed in the fridge. Two +are agar (no antibiotic) and two are streptomycin/Kan agar (antibiotic +laced). + +August 10, 2016 Ken, Bobby, Nancy, and Enrique. We streaked some of the +original E. coli HME63 bacteria onto two plain agar plates. Plate 1 was +left out tonight (the bacteria need to grow). Plate 2 was immediately +refrigerated and will be taken out to grow just before the actual +experiment. + +August, 2016 Nancy, Ken and Enrique. We performed the CRISPR experiment, +but realized we don't have a constant-temperature water bath. We used an +IR thermometer and the microwave to prepare and maintain a water bath of +approximately 42C. The incubation period post-CRISPR is also quite long, +up to 4 hours at room temperature, which makes this experiment +problematic as an after-work evening activity. It'd work better on a +weekend day or holiday since we have day jobs. + +September, 2016 Nancy, Enrique. The first CRISPR-modified bacteria on +the Strep-Kan plate was left at room temperature over the weekend (48 +hours). However, no bacteria colonies could be easily seen in the plate. +The plate was left at room temperature several more days with no change. +It looks like our first attempt did not wildly succeed. + +September, 2016 Enrique. I prepared a new set of Agar (3) and Strep-Kan +Agar (3) plates for troubleshooting experiments and a second try at +CRISPR. We should test the full CRISPR protocol again, both on Agar and +Strep-Kan plates, but also test the survival of bacteria at several +other steps: Transformation Mix only and Transformation Mix + tracrRNA + +crRNA. + +September, 2016 Enrique and Nancy. We developed a troubleshooting +protocol under the suspicion that maybe none of the bacteria are +surviving (we did not make a plain Agar control plate last time). We +also tested the 'sterile' innoculation loops vs. a bag of zip-ties we +found laying around. Nancy brought an alcohol thermometer that's +probably more accurate in water than the IR thermometer. The resulting +plates were incubated for 24-48 hours. It was difficult to re-suspend +the bacteria in solution after harvesting from the first plate. A vortex +generator (basically a strong vibrator) would be helpful. + +September, 2016 Enrique and Nancy. Hm... there are some specs on the +CRISPR plate this time, just 2-3 colonies though. All the other (Agar) +plates had tons of bacteria, so clearly the low efficiency is at the +CRISPR step with the Template DNA. Also we brought in more Bleach for +disposal of old samples, and bleach wipes. + +September, 2016 Enrique. I located a much better (real) biological +microscope with up to 1000x magnification in the basement. Man our +inventory sucks; I had no idea we had this thing. Images are much +better, although I'm not certain we're looking at individual bacteria. I +also purchased a hotplate so we can actually control temperature baths +in the future. + +January, 2017 See notebook. + +February, 2017. The third trial of the CRISPR process gave us a positive +control sample, which makes the result inconclusive. While the Agar +media grew more, both the CRISPR and original LD 21 bacteria grew +somewhat on the Strep-Kan media. We perfomed a second control +experiment, plating 100uL of the LD21 bacteria and the +Transformation-Mix HME 63 strain with 400uL of DI water each, onto +Strep-Kan media. + +June, 2017 Purchased Bacterial CRISPR refill kit using HacDC Project +CRISPR funds. + +July 2017 - Bobby, Nancy, Enrique, Sophia and Richard. Met to plan +workshop. Bobby gave us his Introduction to Molecular Biology talk - it +was about 90 minutes but could probably be shortened to 60 if needed. +Prepared fresh Agar and Strep-Kan plates. Sophia showed us a new +(correct) streaking technique. We plated some bacteria but they overgrew +(storage place on top of the fridge is too warm in the summer), making +it impossible to isolated a colony. Sophia took a second batch home and +it was better with some isolated colonies. + +August 23, 2017 - Sophia, Nancy and Enrique. Trial 4 of the full CRISPR +process. Enrique took the resulting plates home to monitor growth at +room temperature. No growth observed on the CRISPR sample. Control +sample grew quickly. + +December 11, 2017 - Nancy and Enrique. Contacted kit supplier to obtain +fresh ingredients. + +January 09, 2017 - Enrique. Prepared fresh Agar and Strep-Kan Agar +plates. Checked for contamination growth 48 hours (none). + +January 12, 2017 - Nancy, Enrique and guests Tobi and Tom. Trial 4.5 of +the CRISPR process. Used bacteria straight from the supply rather than a +colony (not available). The result after 48 hours was much growth on the +Agar plate and zero growth on the Strep-Kan plate. (no modification) + +## Sample Inventory + +**CRISPR Trial 8/24/2017** LB-Agar Plate at 1 and 20 Hours: +![](IMG_20170825_001628s.jpg "File:IMG_20170825_001628s.jpg") +![](IMG_20170825_190805s.jpg "File:IMG_20170825_190805s.jpg") + +StrepKan Plate at 1, 20, 28 and 57 Hours: +![](IMG_20170825_001648s.jpg "File:IMG_20170825_001648s.jpg") +![](IMG_20170825_190912s.jpg "File:IMG_20170825_190912s.jpg") +![](IMG_20170826_032748s.jpg "File:IMG_20170826_032748s.jpg") +![](IMG_20170827_093620s.jpg "File:IMG_20170827_093620s.jpg") + +**CRISPR Trial 1/12/2018**Clean Agar plate after 48 hours incubation. No +contamination growth observed. +[Media:CRISPR-180112-Agar_blank_48h.jpeg](Media:CRISPR-180112-Agar_blank_48h.jpeg "wikilink") +Clean Strep-Kan plate after 48 hours incubation. No contamination growth +observed. +[Media:CRISPR-180112-StrepKan_blank_48h.jpeg](Media:CRISPR-180112-StrepKan_blank_48h.jpeg "wikilink") +Agar plate with the post-protocol bacteria incubated 48 hours (control +sample): much growth (overgrown). +[Media:CRISPR-180112-Agar_Bact_48h.jpeg](Media:CRISPR-180112-Agar_Bact_48h.jpeg "wikilink") +Strep-Kan plate with the post-protocol bacteria incubation 48 hours +(CRISPR result): no growth. +[Media:CRISPR-180112-StrepKan_CrisprBact_48h.jpeg](Media:CRISPR-180112-StrepKan_CrisprBact_48h.jpeg "wikilink") + +## News References + +- Video: bacteria evolving antibiotic resistance in 11 days. + +- Video: CRISPR Patent Controversy: + \ No newline at end of file diff --git a/DC_Community_Hackerspaces.md b/DC_Community_Hackerspaces.md new file mode 100755 index 0000000..8246b3a --- /dev/null +++ b/DC_Community_Hackerspaces.md @@ -0,0 +1,343 @@ +## 2017.11.21 "Inaugural" Meeting + +In attendance: + +- Ken Kenworthy, KnowledgeRealm, (instigator) +- Marvin Gay, Coomunity Outreach Coordinator, [Safer, Stronger + DC](https://www.facebook.com/SaferStrongerDC) Community Partnerships, + out of the [Office of the Deputy Mayor for Health and Human + Services](https://dmhhs.dc.gov/) +- Michael Dodson, Program Assistant, [Safer, Stronger + DC](https://www.facebook.com/SaferStrongerDC) Community Partnerships, + out of the [Office of the Deputy Mayor for Health and Human + Services](https://dmhhs.dc.gov/) +- Dorothy Jones-Davis, Executive Director, [Nation of + Makers](http://nationofmakers.org/) +- Enrique Cobas (ex-exchequer, [HacDC](http://hacdc.org/)) +- Julia Longtin (once and future queen / madame president, + [HacDC](http://hacdc.org/)) +- Kevin Cole ([Ubuntourist](User:Ubuntourist "wikilink")) (fugitive + at-large, [HacDC](http://hacdc.org/)) +- Betty Amos (designer, educator, animator [Betty Amos + Designs](http://bettyamosdesigns.com/)) +- Nicolas Sabharwal (lewlking) + +## DC government initiative + +From June 2017, the ["Innovation Space and Marketplace Report: +Developing a Makerspace in the +District"](https://dmped.dc.gov/page/innovation-space-and-marketplace-report-developing-makerspace-district) +from the Office of the Deputy Mayor for Planning and Economic +Development + +???There's a 77-page PDF at the bottom of the page. Lots of good +information here on needs and possibilities. + +## Neighborhood Artisan Centers (NACs) + +- [concept + paper](https://docs.google.com/document/d/1UxZ_VBHbBEJ9fVJN7rdwqIjmKjv-HTKhiVUrSnDJta4/edit) + by Ken + +### Background/Reference + +- **Makers: The New Industrial Revolution** + - Wikipedia: + \[: + Makers: The New Industrial Revolution\] by Chris Anderson + - Video: [Makers: The New Industrial + Revolution](https://vimeo.com/60496236) by Chris Anderson. (Highly + recommended.) + - Book: [Makers: The New Industrial + Revolution](https://www.amazon.com/Makers-Industrial-Revolution-Chris-Anderson/dp/0307720969) + by Chris Anderson. (Highly recommended.) +- [The Skills + Revolution](http://www.manpowergroup.co.uk/the-word-on-work/skills-revolution/) + by The ManpowerGroup. + + + +- **Good Sources To Keep Pace with Technology** + - [The Singularity Hub](https://singularityhub.com/), "Singularity Hub + chronicles technological progress ..." + - [3DPrint.com](https://3dprint.com/) "3DPrint.com is a news + organization dedicated to bringing you up to date on all the latest + news from the 3D printing industry." + - [Road to VR](https://www.roadtovr.com/) "Founded in 2011, Road to VR + is the world???s leading independent news publication dedicated to + the consumer virtual reality industry." + - [Science X](https://sciencex.com/) "a network of high-quality + websites that provides the most complete and comprehensive daily + coverage of science, technology, and medical news." + + + +- **Examples of Project Based/Self Organized Learning, Virtual and + On-site Mentors** + - Video: [Anacostia HS Aquaponics + Project](https://youtu.be/UgGpn_6Ryss), Teens and young adults + participating in Aquaponics project at Anacostia High School + - Video: [Web Conferencing with Virtual + Mentors](https://youtu.be/gEV2-b_w7hg) Older teens at Anacostia HS + interacted via web conferencing with Dr. Subhrankar Mukherjee + (Subra), India chapter Club of Rome, from Mumbai, and David Li, + founder of first Makerspace in China, from Shanghai + - Video: [Videoconferencing with Virtual + Mentor](https://youtu.be/jxKilY6Wvmo) Older teens at Anacostia HS + interacted via web conferencing with Tyrese Gould, daughter of Mark + Gould, Chief of the Nanticoke Lenni-Lenape Tribal Nation in New + Jersey +- **Potential Funding Sources and Grants** + - [Funding + Alert](http://links.govdelivery.com:80/track?type=click&enid=ZWFzPTEmbXNpZD0mYXVpZD0mbWFpbGluZ2lkPTIwMTcwOTExLjc3OTUzODYxJm1lc3NhZ2VpZD1NREItUFJELUJVTC0yMDE3MDkxMS43Nzk1Mzg2MSZkYXRhYmFzZWlkPTEwMDEmc2VyaWFsPTE3MTA4OTEyJmVtYWlsaWQ9bWFydmluLmdheTJAZGMuZ292JnVzZXJpZD1tYXJ2aW4uZ2F5MkBkYy5nb3YmdGFyZ2V0aWQ9JmZsPSZtdmlkPSZleHRyYT0mJiY=&&&103&&&https://opgs.dc.gov/publications?type=732) + Mayor???s Office of Partnerships and Grant Services + - [NSF Smart and Connected Communities (S&CC) + Solicitation](https://www.nsf.gov/pubs/2018/nsf18520/nsf18520.htm) + - [NSF Campus Cyberinfrastructure + (CC\*)](https://www.nsf.gov/pubs/2018/nsf18508/nsf18508.htm) + +------------------------------------------------------------------------ + +**Add your notes and thoughts below** + +Try to make an effort to keep the page sane and readable by using +[Mediawiki's formatting](https://www.mediawiki.org/wiki/Help:Formatting) +correctly. + +## DC/MD/VA spaces + +Following up with some of the other local maker/hacker/bio/food spaces +in the area (*Dorothy*): + +- **Washington, DC** + - [FabLab DC](http://www.fablabdc.org/) (FabLab) + - [Hac DC](http://www.hacdc.org/) (Hackerspace) + - [Local Motors](http://localmotors.com/national-harbor/) (Commercial + Makerspace) + - [Mess Hall](http://messhalldc.com/) (Food Makerspace) + - [Taste Lab](http://tastelab.co/) (Food Makerspace) + - [Union Kitchen](http://unionkitchendc.com/) (Food Makerspace) + - [MLK Library "Fab Lab"](https://www.dclibrary.org/labs/fablab) + (Makerspace) + - [Maker Hub at Georgetown + University](https://www.library.georgetown.edu/makerhub) (University + Makerspace) + - [Catholic University + FabLab](https://architecture.catholic.edu/student-experience/technology/fabrication-labs/index.html) + (University Makerspace; FabLab) + - [District Makers + Collective](http://www.districtmakerscollective.org/) (a + work-in-progress from the refugees of the now-shuttered Tech Shop in + Crystal City) + + + +- **Northern Virginia** + - [NoVA Labs](http://nova-labs.org/) (Reston, VA; Community + Makerspace) + - [Building Momentum](http://buildingmomentum.us/) (Alexandria, VA; + Community problem-solving space) + - [Makersmiths](https://makersmiths.org/) (Leesburg, VA; Community + makerspace) + + + +- **Maryland** + - [Baltimore Underground Science Space + (BUGGS)](http://www.bugssonline.org/) (Baltimore, MD; Biospace) + - [Catylator](http://catylator.com/) (Silver Spring, MD; Makerspace) + - [Digital Harbor Foundation](http://www.digitalharbor.org/) + (Baltimore, MD; Youth Makerspace (Rec To Tech) + - [The Foundery](http://foundery.com/) (Baltimore, MD; Focus on + economic empowerment - working with City of Baltimore) + - [Greenbelt MakerSpace](http://make125.org/) (Greenbelt, MD - + Community Makerspace; co-op model) + - [KiD Museum](http://kid-museum.org/) (Bethesda, MD; Children's + makerspace) + - [Open Works](http://www.openworksbmore.com/) (Baltimore, MD; Focus + on entrepreneurship) + - [Pyramid Atlantic Art + Center](http://www.pyramidatlanticartcenter.org/) (Hyattsville, MD; + Art makerspace) + - [Station North Tool + Library](http://www.stationnorthtoollibrary.org/) (Baltimore, MD) + - [Unallocated Space](https://www.unallocatedspace.org/) (Severn, MD) + - [John and Stella Graves Makerspace at the University of + Maryland](https://www.lib.umd.edu/tlc/makerspace) (College Park, MD; + University Makerspace) + - [Rhizome DC](http://www.rhizomedc.org/) (Takoma Park, MD) + +## Miscellaneous links + +Some of the places, people and events mentioned yesterday, in no +particular order (**[Ubuntourist](User:Ubuntourist "wikilink")**) + +- **HacDC Space Blimp videos** - very cool! + - [Space Blimp VI launch, flight and + re-entry](https://www.youtube.com/watch?v=JhjD4Q3JfMM) + - [Space Blimp III video with + narration](https://www.youtube.com/watch?v=Mh8xYoCoLSU) + + + +- **Other HacDC activities** + - Make for the Planet Hackathon, Earth Optimism Summit, Smithsonian + Institute and Conservation X Labs + - [Huffington Post + article](https://www.huffingtonpost.com/entry/make-for-the-planet-challenge-transforming-conservation_us_59137564e4b04e66b8c3ad94) + - [Tweet + + Photo](https://twitter.com/conservationx/status/855850944063524865) + + + +- **Free Geek** - community-built refurbished computers, E-cycling, + education centers + - [Free Geek provides jobs and free classes to the + community](https://opensource.com/life/13/1/free-geek) - an article + by [Ubuntourist](User:Ubuntourist "wikilink") + - [Free Geek Arkansas](http://www.freegeekarkansas.org/) - Formerly + instigated and run by Julia + - [Governance nitty-gritty for Free Geek, + Portland](http://wiki.freegeek.org/index.php) + + + +- **Fab Lab** + - Wikipedia: [Neil + Gershenfeld](https://en.wikipedia.org/wiki/Neil_Gershenfeld), + Director, MIT Center for Bits and Atoms; Creator of the Fab Lab + "blueprint" + - Book: [Fab: The Coming Revolution on Your Desktop-From Personal + Computers to Personal + Fabrication](https://books.google.com/books?id=rHdkDiUMpaUC) by Neil + Gershenfeld. (Highly recommended.) + + + +- **Potential partners locally** + - [John Capozzi](https://www.linkedin.com/in/john-capozzi-3154561/), + Program Manager at The Office of the Chief Technology Officer, + Government of the District of Columbia. He was part of the Broadband + Bridge Coalition, and other progressive tech efforts. + - [Mike Lee](https://www.linkedin.com/in/curiouslee/), Senior Advisor, + Digital Strategy at AARP Digital Strategy & Membership; Founder, One + Laptop Per Child (OLPC) Learning Club DC + - [Leshell Hatley](http://www.leshellhatley.com/), Founder and + Director, [Uplift, Inc.](http://upliftdc.org/) in SE DC. A fantastic + program. ([LinkedIn + profile](https://www.linkedin.com/in/leshellhatley/)) + - Phil Shapiro, tweeter/ promoter / dreamer / writer + [Makezine](https://makezine.com/author/pshapiro/), + [OpenSource.com](https://opensource.com/users/pshapiro), + [Twitter](https://twitter.com/philshapiro), + [LinkedIn](https://www.linkedin.com/in/phshapiro/) (He can be very + good at "getting the word out") + - [Greg Bloom](https://www.linkedin.com/in/gregbloom/) - serial + digital justice crusader / organizer (no longer in the area but + still "connected" to DC) + - [Gerald Cooper](https://twitter.com/itwizkids) - Founder, [IT + Computer Wizkids](https://www.itcomputerwizkids.com/) + - [Damon Jones](https://www.linkedin.com/in/steamteacher/), Founder / + Director, [STEAM America](http://www.steam-america.org/) + - [Alex Dehgan](https://www.linkedin.com/in/alex-dehgan-aa81335/), CEO + and co-Founder, [Conservation X Labs](http://conservationxlabs.com/) + & Chanler Innovator, Duke University. He invited HacDC to + participate in the Smithsonian Institute's Earth Optimism Summit + **Make for the Planet** hackathon. + - (If you talk to any of the above, drop my name.) + - [Code for DC Brigade](https://codefordc.org/) of Code for America + - The [Open Technology Institute + (OTI)](https://www.newamerica.org/oti/), a division of the [New + America Foundation](https://www.newamerica.org/), a progressive + think tank in DC. New America Foundation has some fantastic lectures + and panels on science, technology, and policy. OTI folks helped the + DC Broadband Bridge group set up a neighborhood mesh network, that + the DC government *was* hoping to model when Bryan Sivak ran OCTO. + (Alas, the community got cut out of those conversations after Bryan + left.) + - [Digital Stewardship progam](http://digitalstewards.org/about) from + the Open Technology Institute + - [Cities of Learning, DC](https://www.lrng.org/dc) part of [Cities of + LRNG](https://www.lrng.org/cities) (pronounced "learning"), + mentioned by Ken + - \[???http://www.sustainabledc.org/ Sustainable DC 2.0\] - several + education, energy, and urban agriculture goals + - [Youth Entrepreneur Institute + (YEI)](http://www.youthentrepreneurinstitute.org/about-us/) - + Tacharna Crump, Executive Director + - [Workshop DC](http://www.workshopdc.org/?page_id=7) - also Tacharna + Crump +- **Non-HacDC Past Events** (a bit biased: I only know about them cuz I + volunteered for and/or hosted them) + - [DISCovering TECHnology Fair I (Disco Tech + I)](https://web.archive.org/web/20160914185155/http://www.breadforthecity.org/2011/10/discovering-technology-fair-saturday/) - + Bread for the City, November 5, 2011 + [Photos](https://www.flickr.com/photos/33621330@N07/albums/72157627954349203) + [Washington Post + article](https://www.washingtonpost.com/business/capitalbusiness/training-to-bridge-the-digital-divide/2011/11/10/gIQAx2YMIN_story.html) + - [DISCovering TECHnology II (Disco Tech + II)](https://www.facebook.com/events/692870980840136/) - Thurgood + Marshall Academy, Anacostia, February 25, 2012 + - Photos: [Software Freedom Day at Takoma Park Folk + Festival](https://www.flickr.com/groups/ubuntu-us-dc/) - Several + years (plus some additional gatherings of the Ubuntu DC Local + Community, a.k.a. the DC "LoCo") + - Photos: [Scratch Day 2013, OLPC Learning Club + DC](https://www.flickr.com/photos/curiouslee/sets/72157633511463081) - + Mike's a photo junkie and tech junkie. LOTS of good photos. See the + rest of his streams. + - [OLPC Learning Club + (audio)](https://archive.org/details/MikeLeeOLPCLearningClubAugustMeetingatNortelNetworks) + and [OLPC Learning Club + (slides)](https://www.slideshare.net/fotogeek/1ccmedia-lab-aug-2008-presentation) - + Nortel Networks, August 2008 + + + +- **Further afield** (but in cyberspace, distance is irrelevant) + - [Detroit Digital Justice Coalition's Disco Tech + Fair](http://detroitdjc.org/documentation-from-the-last-discotech-get-ready-for-the-next-april-15/) - + The model for the DC Disco Techs, promoted at the [Allied Media + Conference](https://www.alliedmedia.org/). HIGHLY RECOMMENDED: The + [Disco Tech 'Zine](http://detroitdjc.org/discotech-zine-out-now/) + featuring articles from both Detroit and DC folks on how to run a + Disco Tech (Detroit, MI) + - [Qeyno Group / Academy](https://www.qeyno.com/), co-founded and + headmastered by [Kalimah Atreyu + Priforce](https://www.linkedin.com/in/priforce/) (Oackland, CA) + - [**ELiTE** Education (**E**merging **L**eaders **i**n **T**echnology + and **E**ngineering)](http://www.elite-education.org/) - Executive + Director, [Chelsey + Roebuck](https://www.linkedin.com/in/chelseyroebuck) (New York City, + NY) + - [OPEN International](http://openinternational.org/about-open/), + Founder: [Khady + Lusby](https://www.linkedin.com/in/khady-lusby-9921ab21/) (Nioro, + Mali but Khady lives in Arlington) + - [Barre Open Source Institute + (BOSI)](http://45.33.3.156:8080/bosivt.org), Founder, director and + ringmaster: [Paul + Flint](https://www.linkedin.com/in/paul-flint-98ab5b/) (Barre, VT) + - [NextFab](https://nextfab.com/) (N. Philadelphia, PA, S. + Philadelphia, PA and Wilmington, DE) + - [Idea Foundry](https://ideafoundry.com/) (Columbus, OH) + +## 2017.12.13 Virtual Reality Demo Meeting + +In attendance: + +- Ken Kenworthy, KnowledgeRealm, (instigator) +- Marvin Gay, Coomunity Outreach Coordinator, [Safer, Stronger + DC](https://www.facebook.com/SaferStrongerDC) Community Partnerships, + [Office of the Deputy Mayor for Health and Human + Services](https://dmhhs.dc.gov/) +- Cameron Shields, [Safer, Stronger + DC](https://www.facebook.com/SaferStrongerDC) Community Partnerships, + [Office of the Deputy Mayor for Health and Human + Services](https://dmhhs.dc.gov/) +- Dorothy Jones-Davis, Executive Director, [Nation of + Makers](http://nationofmakers.org/) +- Julia Longtin (once and future queen / madame president, + [HacDC](http://hacdc.org/)) +- Kevin Cole ([Ubuntourist](User:Ubuntourist "wikilink")) (fugitive + at-large, [HacDC](http://hacdc.org/)) \ No newline at end of file diff --git a/DC_travel.md b/DC_travel.md new file mode 100755 index 0000000..df44a1d --- /dev/null +++ b/DC_travel.md @@ -0,0 +1,29 @@ +## Listings + +- [DCist](http://dcist.com) +- [Washington City Paper](http://www.washingtoncitypaper.com) +- [Washington Post](http://www.washingtonpost.com) +- [Baltimore City Paper](http://www.baltimorecitypaper.com) +- [Ticket Master](http://www.ticketmaster.com) +- [Beer Advocate](http://www.beeradvocate.com) +- [batches of tickets to events around DC for a discounted + price.](http://www.goldstar.com/events/browse/20201) +- [For art and local culture stuff](http://pinklineproject.com/) + +## Museums, Clubs, Orgs + +- [Smithsonian National Air and Space Museum](http://www.nasm.si.edu/) + Amazing overview of mans efforts of lifting himself off the ground. + Downtown DC near many tourist sites. +- [National Building Museum](http://www.nbm.org/) Exhibits and + collections on cityscapes, urban planning, building design and + construction. Relates how we live relates to technology. Hosts many + hands on activities throughout the year +- [National Cryptologic + Museum.](http://www.nsa.gov/about/cryptologic_heritage/museum/) +- [Washington Woodworkers + Guild](http://www.washingtonwoodworkersguild.org/) +- [Chesapeake Area Metalworking Society](http://www.cams-club.org/) +- [DC Maxecuter](http://dcmaxecuter.org/) Flying model aircraft club + +[Category:Hacker Travel](Category:Hacker_Travel "wikilink") \ No newline at end of file diff --git a/DIYHackerSpacePassport.md b/DIYHackerSpacePassport.md new file mode 100755 index 0000000..f56decf --- /dev/null +++ b/DIYHackerSpacePassport.md @@ -0,0 +1,2 @@ +1. REDIRECT [DIY HackerSpace + Passport](DIY_HackerSpace_Passport "wikilink") \ No newline at end of file diff --git a/DIY_ECG.md b/DIY_ECG.md new file mode 100755 index 0000000..4614035 --- /dev/null +++ b/DIY_ECG.md @@ -0,0 +1 @@ +1. REDIRECT[:Category:DIY_ECG](:Category:DIY_ECG "wikilink") \ No newline at end of file diff --git a/DIY_ECG_notes.md b/DIY_ECG_notes.md new file mode 100755 index 0000000..d67f78a --- /dev/null +++ b/DIY_ECG_notes.md @@ -0,0 +1,85 @@ +## Overview + +Here are notes for myself and others interested in building DIY ECG +equipment. There are many ways to skin this particular err.. project, +from crude to incredibly complex. Here are lists of parts, websites, +theory, etc. + +Page maintained by [User:Obscurite](User:Obscurite "wikilink") who is +working on his own ECG equipment. Enjoy. + +## PARTS for higher-precision version(s) + +- Instrumentation Amplifiers (not sure why these are priced so + differently) + - Both have CMMR of 110+ for gain of 1000, so they should both work + equally well. AD624AD is referenced in the sciam article, but it + also mentions the AD620A which is 1/3 the cost at about \$7. + - Cheaper version: + [AD620A](http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=AD620ANZ-ND) + - Expensive version: + [AD624AD](http://parts.digikey.com/1/parts/453660-ic-amp-inst-25mhz-prec-ln-16cdip-ad624ad.html) +- Better op amp - OP97 (need to review data sheet) + +## PARTS for basic version(s) + +- LM358 (dual opamp) or LM324 (quad opamp), or LF353 (which is pin + compatible) +- Diodes +- 0.1uF capacitor(s) +- Variety of 1/4 watt resistors (10k, 100k, etc) +- shielded wires for electrodes (phone or coax cables) +- electrodes (soldered pennies, medical electrodes, etc) +- diodes (1N4001) + +## Microcontrollers and FPGAs + +- Atmel atmega168/328 has onboard ADC +- Xilinx Spartan3E dev board has built in ADC + +## References + +These sites, papers, and articles provide info on ECG making, A/D +conversion, signal processing, projects, and general theory: + +General info: + +- [OpenECG Project](http://www.open-ecg-project.org/tiki-index.php) +- [Scientific American, Shawn + Carlson](http://www.scientificamerican.com/article.cfm?id=home-is-where-the-ecg-is) +- [AVR ADC tutorial (a little + old)](http://extremeelectronics.co.in/avr-tutorials/using-the-analog-to-digital-converter/) +- [wikipedia ECG + article](http://en.wikipedia.org/wiki/Electrocardiography) +- [EKG Report from ITP (describes the Ramsey kit circuit, + etc)](http://itp.nyu.edu/physcomp/sensors/Reports/EKG) + +DIY Projects (some with tutorials): + +- [DIY ECG, Scott + Harden](http://www.swharden.com/blog/2009-08-14-diy-ecg-machine-on-the-cheap/) + - [DIY ECG Improvements (based on Jason Nguyen's 6 opamp design), also + from Scott + Harden](http://www.swharden.com/blog/2009-01-20-diy-ecg-improvements/) +- [DIY ECG, Jason + Nguyen](http://www.eng.utah.edu/~jnguyen/ecg/ecg_index.html) +- [ECG Measurement System, Chia-Hung Chen, Shi-Gun Pan, Peter + Kinget](http://www.cisl.columbia.edu/kinget_group/student_projects/ECG%20Report/E6001%20ECG%20final%20report.htm) +- [DIY ECG howto (AD620A and OP97 used in schematic) by Refik + Hadzialic](http://www.radiolocman.com/shem/schematics.html?di=47010) + - [Refik Hadzialic's AVR ADC code for his + ECG](http://www.rlocman.ru/i/File/2008/04/15/egg.txt) +- [Holter ECG based on AVR by Dragisa + Jankovic](http://www.gilefx.com/avrecg.htm) + - [also an ARM based Holter ECG by Dragisa + Jankovic](http://www.gilefx.com/armecg.htm) +- [Homemade EKG by Jake Haglund](http://www.diyhappy.com/homemade-ekg) +- [Dual-purpose EEG/EKG by artist/composer Adam + Overton](http://plus1plus1plus.org/Resources/EEG-EKG) + +Kits: + +- [Ramsey ECG + kit](http://www.ramseyelectronics.com/cgi-bin/commerce.exe?preadd=action&key=ECG1C) + +[Category:DIY_ECG](Category:DIY_ECG "wikilink") \ No newline at end of file diff --git a/DIY_HackerSpace_Passport.md b/DIY_HackerSpace_Passport.md new file mode 100755 index 0000000..f26a35c --- /dev/null +++ b/DIY_HackerSpace_Passport.md @@ -0,0 +1,41 @@ +## Description + +The process taken to make a Hackerspace Passport of similar quality to a +US passport. + +## Status + +Received parts (paper and cover material) + +## Plan + +Use paper and cover material similar to US passport to make Hackerspace +Passports + +1. order fancy paper and vinyl cover material (done) + - ordered 100% cotton paper and [vinyl report + covers](http://www.factory-express.com/Supplies/BindingSupplies/BindingCovers/bindingcovers.html) +2. make wood/plastic block stamps to print the generic info and layouts + - planning to use the CNC to route the SVGs to wood blocks or PCB + blanks +3. make/order inks for printing + - depends on the printing blocks +4. print a test run on regular printer paper + - the cotton paper is cheaper than gold but more expensive than + plain printer paper by a lot +5. print a Hackerspace Passport + - pages only here +6. figure out that whole embossing thing + - pressing down the vinyl til it satays that way i get but the + application of the metal leaf in conjunction is outside my realm + of experience +7. emboss cover art + - insert magic here +8. bind a Hackerspace Passport + - my US passport is bound with some fancy string. i think i'll use + telcom twisted pairs for mine :P +9. enjoy perplexed look on TSA officers face when they search my bag at + + - "WTF?" is such a satisfying expression to see :P + +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/DSONano_white_screen_of_death.md b/DSONano_white_screen_of_death.md new file mode 100755 index 0000000..e7838b6 --- /dev/null +++ b/DSONano_white_screen_of_death.md @@ -0,0 +1,27 @@ +## Problem + +DSONano v2 with DFU loader v3.26 does not work with the firmware used by +the other v2 models. The drivers for the LCD display changed so flashing +the "normal" thirdparty firmware causes an all white screen to persist +on the screen. In some cases it flickers as well. + +## Sollution + +1. use the patched firmware provided + [here](http://www.seeedstudio.com/forum/viewtopic.php?f=22&t=4823&sid=3e537c759d444eb3ae50c74adf5fc1eb&start=40) + and mirrored + [here](Media:BenF_P2-3.64APP_3.53LIB_LCD_patched_v2.hex "wikilink") + +### flashing + +1. plug the dsonano in via usb +2. press the down arrow and power on the device +3. mount the block device (/dev/sdX, no number) +4. copy the .hex file to the mount point +5. wait for it to dissappear +6. unmount the mount point +7. mount the new block device +8. check to see that the extension on the file now reads .RDY (limited + file name length truncates the rest of the name sometimes) +9. powercycle to check if it worked +10. repeat until it works \ No newline at end of file diff --git a/Data_Destruction_and_Donation_Day.md b/Data_Destruction_and_Donation_Day.md new file mode 100755 index 0000000..262e8aa --- /dev/null +++ b/Data_Destruction_and_Donation_Day.md @@ -0,0 +1,42 @@ +This is a proposal to create an ongoing event aimed at procuring more +quality hardware for HacDC. + +## Proposal Vitals + +**Status**: In Progress, Discussion + +- Project Lead: ? +- Proposed Budget: \$0 +- Goals: + - To obtain more quality hardware for HacDC + - To teach the public/corporations about proper Data Destruction + techniques + - To build relationships with potential donors, future sources of + hardware + - To develop & demo creative ways of recycling computers + +## Detailed Proposal + +A lot of local companies and non-profits have old computers sitting +around. They know they need to destroy the data before the dispose of +the machines, but they can't afford a professional disposal service. + +I thought it would be fun to have a public event where we would teach +people how to dismantle and destroy their hard-drives. We could pitch it +as a security event, capitalizing on the Hacker name in a positive way. +We could publicize the event by sending invitations to local companies, +perhaps through the chamber of commerce. I'd like to also invite local +non-profits but I don't know if there's an easy way to reach them. + +My thought was that we could harvest the magnets and use them to build a +windmill generator. The only problem is that I've been too tired to +follow through. My current consulting arrangment ends on the first of +January. If I don't get another job or contract immediately I may have +time to work on this. + +## Links + +[1](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1489) +[2](http://ccrma-www.stanford.edu/~verplank/ThePlank.pdf) + +[Category:Proposed Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/DiezelSun_culture.md b/DiezelSun_culture.md new file mode 100755 index 0000000..f703d66 --- /dev/null +++ b/DiezelSun_culture.md @@ -0,0 +1 @@ +spam \ No newline at end of file diff --git a/Disassembly.md b/Disassembly.md new file mode 100755 index 0000000..67d061e --- /dev/null +++ b/Disassembly.md @@ -0,0 +1,87 @@ +## References + +Some links to get us started: + +[Bit](wikipedia:Bit "wikilink") + +[Byte](wikipedia:Byte "wikilink") + +[Pointer](wikipedia:http:Pointer_(computing) "wikilink") + +[6502](wikipedia:MOS_Technology_6502 "wikilink") + +[6502 instruction +set](http://e-tradition.net/bytes/6502/6502_instruction_set.html) + +[Atari 8-bit documentation online](http://www.atariarchives.org/) + +[Atari 8-bit memory +map](http://www.atariarchives.org/mapping/memorymap.php) + +[Atari 800 emulator](http://atari800.sourceforge.net/) + +[Altirra - an Atari 800 emulator for +Windows](http://www.virtualdub.org/altirra.html) + +[A ton of Atari 8-bit +documentation](http://thepiratebay.org/torrent/5576778) + +[Atari 8-bit +ROMS](http://sourceforge.net/projects/atari800/files/ROM/Original%20XL%20ROM/xf25.zip/download) + +[Space +Invaders](http://www.atarimania.com/game-atari-400-800-xl-xe-space-invaders_4831.html) + +git repository for work so far is at + + +[gitweb view of +above](http://git.cluephone.com/git/gitweb.cgi?p=atari8/spaceinvaders) + +## Getting Started + +prerequisites + +- knowledge +- tools + - emulator + - cc65 + - roms + - documentation of the atari 800 + +Toolchain + +`   get and install cc65, etc.` + +`   * description of the various tools included in the package` + +Set up your info file: + +`   jason started with the example info file from the cc65 website` +`   `[`http://www.cc65.org/doc/da65-4.html#ss4.7`](http://www.cc65.org/doc/da65-4.html#ss4.7) + +`   ** notes about setting up your info file` +`       tell the DA what is code, what is a bytetable, what is a list of addresses` +`       tell the DA about the labels you are aware of` + +`       iterative process of creating this info file as you learn more about the program` + +`       eventually naming functions, etc.` + +disassemble your ROM + +`da65 --start-addr 0xa000 Space\ Invaders.rom --comments 3` + +re-assemble your ROM + +`   first time, this should be from the base output from the disassembly` +`   subsequent assemblies will include changes that you made to the ASM in your quest for information` + +ITERATE + +[6502 cross-compiler and tools](http://www.cc65.org) + +[Atarimania 8-bit +games](http://www.atarimania.com/pgemainsoft.awp?type=G&system=8) + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/Discussion_2_Exercises_Solution_notes.md b/Discussion_2_Exercises_Solution_notes.md new file mode 100755 index 0000000..e6122c1 --- /dev/null +++ b/Discussion_2_Exercises_Solution_notes.md @@ -0,0 +1,23 @@ +Problem 4, Part D was omitted from the solutions. It is presented here. + +D\) What is t_pd of the fastest equivalent circuit (i.e. one that +implements the same function) built using only the three components +listed above? + +Lets start by reducing the logic equation....I'm going to use three +intermediary signals, alpha, beta and gamma, and pull identity numbers +from the slides + +alpha=!(A+B) beta=!(alpha+A) gamma=!(alpha+!B) OUT=!(beta+gama) + +OUT=!(!(alpha+A) + !(alpha+!B)) substitution OUT=!(!(!(A+B)+A) + +!(!(A+B)+!B)) substitution OUT=!(!(!A\*!B+A) + !(!A\*!B+!B)) demorgans +OUT=!!(!A\*!B+A) \* !!(!A\*!B+!B) demorgans OUT= (!A\*!B+A) \* +(!A\*!B+!B) identity 4 elementary OUT= (!A\*!B+A) \* (!B) identity 10 +absorption OUT= (!A\*!B+A\*!B) identity 8 distributivity OUT= !B (!A + +A) identity 8 distributivity OUT= !B 5 elementary + +Since this can be implemented with a single inverter, the smallest +propagation delays is 1ns. + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/Distributed_Sferics_Sensors.md b/Distributed_Sferics_Sensors.md new file mode 100755 index 0000000..f4b78b3 --- /dev/null +++ b/Distributed_Sferics_Sensors.md @@ -0,0 +1,19 @@ +## Proposal + +Very nebulous idea at the moment, but the idea would be to build a +distributed lightning detection system, with the intended goal of having +precision high enough to go find the aftereffects of strikes (like +[geocaching](http://en.wikipedia.org/wiki/Geocaching)). After thinking +of this, I found some dutch folks have done [much what I had in +mind](http://members.home.nl/fkooiman/lightning/), so the problem is +kind of a solved one. Still, it would be neat thing to make, and it +doesn't appear to have a stateside equivalent yet (its sort of a public +service project). [Here](http://www.blitzortung.org/) is live data +coming from the central European system. + +I've heard the government runs these, but I haven't found any place the +data is accessible online. If that's the case (and it's fairly high res) +my enthusiasm for this idea is dimmed a lot. +--[Bjorn](User:Bjorn "wikilink") 14:49, 28 May 2008 (UTC) + +[Category:Proposed_Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/Diversity_Statement.md b/Diversity_Statement.md new file mode 100755 index 0000000..f76ff3d --- /dev/null +++ b/Diversity_Statement.md @@ -0,0 +1,26 @@ +The following statement was member approved during +[Annual_Meeting_2013](Annual_Meeting_2013 "wikilink"). + +We welcome you. + +We welcome people of any gender identity or expression, race, ethnicity, +size, nationality, sexual orientation, ability level, neurotype, +religion, elder status, family structure, culture, subculture, political +opinion, identity, and self-identification. + +As a U.S.- and District of Columbia-based 501(c)(3) non-profit +organization we're obliged to follow applicable laws, but we're serious +about knowing and protecting your rights when it comes to free +expression and privacy. + +We support maximum freedom of creative expression, and only restrict +that when we must for the safety and sanity of other folks. We think +creativity is one of the greatest accomplishments of the human mind, and +we want to enable that creativity in everyone from pro to amateur. We +think neurodiversity is a feature, not a bug. We believe in being +inclusive, welcoming, and supportive of anyone who comes to us with good +faith and the desire to build a community. + +*(CC BY-SA 3.0) inspired by dreamwidth.org* + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Document_Printer.md b/Document_Printer.md new file mode 100755 index 0000000..e69de29 diff --git a/Documentation-3D_printer-Mini.md b/Documentation-3D_printer-Mini.md new file mode 100755 index 0000000..1ea8f80 --- /dev/null +++ b/Documentation-3D_printer-Mini.md @@ -0,0 +1,152 @@ +ins3DMinipronsolequick.txt - May 23, 2019 version The Mini is for +printing with rubbery filament. This covers common situations; if +something else is encountered consult the full instructions +(ins3DMinipronsole.txt) Q.1 In MATE Terminal: cura (program to convert +surface representation(.stl) to 3D printer instructions(.gcode)) Q.2 +When Cura control display appears click on Machine (at top) Q.3 Click on +LulzBot Mini Q.4 At Fill - Fill density (%): enter desired value (i.e., +20 for prototypes) Q.5 At Speed and temperature - Printing temperature +(C): 220 Q.6 At Speed and temperature - Bed temperature (C): 70 Q.7 At +Support - Support type: select None, Touching buildplate, or Everywhere +(depends on object to be printed;if in doubt select Everywhere) Q.8 At +Support - Platform adhesion type: select None, Brim, or Raft (depends on +object; if in doubt select Brim) Q.9 Click on LOAD MODEL (top center of +Cura window) Q.10 Click on filetoprint.stl (scroll down if needed; i.e., +testcube.stl) Q.11 Click on Open (lower right) Q.12 Put glue (purple +glue stick (PVA)) on Mini bed Q.13 Check that there is sufficient +correct (rubbery) filament on reel (the following steps may take a long +time) Q.14 When SAVE GCODE lights up (just to right of LOAD MODEL) click +on it; if a removable drive message does not appear skip Q.15-Q.17 Q.15 +Click on Custom file destination Q.16 Click on OK Q.17 Click on hacdc +Q.18 When Save toolpath window appears click on Save (bottom right) Q.19 +When Cura states (at bottom) Saved as /home/hacd... (with a large X to +the right) click on tiny x at far right top of Cura (to close Cura) Q.20 +scp filetoprint.gcode hacdc@pronterhost.hacdc.org:/home/hacdc (i.e., +testcube.gcode; send to 3D printer computer) Q.21 At Password: enter +standard password Q.22 If Mini power is off turn it on (rocker switch on +left; red light in switch should come on) Q.23 At 3D printer computer +(keyboard usually on Taz):Ctrl Alt F3 (always hold Ctrl & Alt down when +pressing the other key (F3 (at top) not F & 3)) Q.24 If the monitor +(above Taz on left) shows a final line starting with a printer in use +see full instructions Q.25 If the monitor shows a final line that starts +with offline, MINI, ROSTOCK, or TAZ skip Q.26-Q.28; \[nnnnn@pronterhost +~\]\$ where nnnn is anything skip Q.26-Q.27; anything else other than +pronterhost login: see full instructions Q.26 pronterhost login: hacdc +Q.27 At Password: enter standard password Q.28 pronsole Q.29 connect +/dev/MINI Q.30 load /home/hacdc/filetoprint.gcode (i.e., +/home/hacdc/testcube.gcode) Q.31 Wait until the monitor states the file +is loaded (may take a while) Q.32 If the final line does not show MINI +in green see full instructions Q.33 print Q.34 Wait for Mini to start +and check that it is printing OK Q.35 Wait - printing large objects can +take an extremely long time ins3DMinipronsolequick.txt - May 23, 2019 +version ins3DMinipronsole.txt - May 23, 2019 version The Mini is for +printing with rubbery filament. This is the full detailed instructions +for using the Mini with pronsole (the old way). Many of the steps (i.e., +M.1-M.4) can usually be skipped; see ins3DMinipronsolequick.txt for +minimal instructions. M.1 Make sure long power strip above microwave +oven is on (orange light on in switch at right end) M.2 Make sure Mini +is plugged in to long power strip M.3 Make sure 3D printer computer +(Dell computer left of Rostock) is plugged in to horizontal power strip +just to left of Taz M.4 Make sure the 3D printer computer monitor (above +& to left of Taz) is plugged into power strip left of Taz M.5 If the +power strip left of Taz is off (no orange light) turn it on ((switch at +wall end; orange light in switch should come on) M.6 If the 3D printer +computer is off (no green light in power button in center of front above +silver Dell logo) press the power button (light should come on) M.7 +Check that there is sufficient correct (rubbery) filament on the reel +M.8 If the filament diameter is not written on the reel measure the +diameter (calipers are in the Measurement bin) in several places and +write the average diameter on the reel M.9 At the tabletop computer in +MATE Terminal: cura (program to convert surface representation(.stl) to +3D printer instructions(.gcode)) M.10 If Basic appears at the top left +when the Cura control display appears click on it & skip M.11-M.13 M.11 +Click on Expert M.12 Click on Switch to full settings... M.13 At Profile +copy click No M.14 If Quality is not immediately below Basic click on +Basic M.15 Click on Machine (at top) M.16 Click on LulzBot Mini M.17 At +Fill - Fill density (%): enter desired value (i.e., 20 for prototypes) +M.18 At Speed and temperature - Printing temperature (C): 220 M.19 At +Speed and temperature - Bed temperature (C): 70 M.20 At Support - +Support type: select None, Touching buildplate, or Everywhere (depends +on object to be printed;if in doubt select Everywhere) M.21 At Support - +Platform adhesion type: select None, Brim, or Raft (depends on object; +if in doubt select Brim) M.22 At Filament - Diameter (mm): enter +diameter written on reel M.23 Click on LOAD MODEL (top left of image) +M.24 If you don't see the file to print (i.e., testcube.stl) click on +hacdc & scroll down if needed M.25 Click on filetoprint.stl (i.e., +testcube.stl) M.26 Click on Open (lower right) M.27 Put glue (purple +glue stick (PVA)) on Mini bed (some of the following steps may take a +long time); if you do not want to change a dimension of the object or +make its mirror image skip M.28-M.35 M.28 When the object appears on +right click on it; if you do not want to make a mirror image skip +M.29-M.30 M.29 Click on MIRROR (right icon of 3 at bottom left of image) +M.30 Click on the new icon above MIRROR with the correct reflection +plane (MIRROR Z, MIRROR Y, MIRROR X); if you do not want to change a +dimension skip M.31-M.35 M.31 Click on SCALE (center icon of 3 at bottom +left of image) M.32 At X: enter number to scale x direction by (i.e., .5 +to shrink to half width); to scale all directions (x, y, & z) by the +same amount skip M.33-M.35 (Cura will do it automaticly) M.33 Click on +lock to right of Uniform Scale M.34 At Y: enter number to scale y +(depth) by M.35 At Z: enter number to scale z (height) by M.36 When SAVE +GCODE lights up (just to right of LOAD MODEL) click on it; if a +removable drive message does not appear skip M.37-M.39 M.37 Click on +Custom file destination M.38 Click on OK M.39 Click on hacdc M.40 When +Save toolpath window appears enter file name (i.e., testcubeM.gcode) +after Name: (at top) M.41 Click on Save (bottom right) M.42 When Cura +states (at bottom) Saved as /home/hacd... (with a large X to the right) +click on tiny x at far right top of Cura (to close Cura) M.43 scp +filetoprint.gcode hacdc@pronterhost.hacdc.org:/home/hacdc (i.e., +testcubeM.gcode; send to 3D printer computer; note that it may be +necessary to wait later (at M.68) for this to finish) M.44 At Password: +enter standard password M.45 If Mini power is off (no red light in +rocker switch on left) turn it on (light should come on) M.46 At 3D +printer computer (keyboard usually on Taz):Ctrl Alt F3 (always hold Ctrl +& Alt down when pressing the other key (F3 (at top) not F & 3)) M.47 If +the monitor (above Taz on left) does not show a final line starting with +a printer in use skip M.48-M.52 M.48 Ctrl Alt F2 M.49 If the final line +does not start with a printer in use skip M.50-M.52 M.50 Ctrl Alt F6 +M.51 If the final line does not start with a printer in use skip M.52 +M.52 Ctrl Alt F5 M.53 If the monitor is blank or only shows a flashing +dash wait a minute M.54 Press Backspace & hold it down if anything is +disappearing from the window M.55 If the monitor shows a final line that +is just a flashing dash press Enter M.56 If the monitor shows a final +line that starts offline, MINI, ROSTOCK, or TAZ skip M.57-M.66; +\[nnnnn@pronterhost ~\]\$ where nnnn is anything skip M.57-M.65; +pronterhost login: skip M.57-M.63 M.57 If either Rostock or Taz printer +is in use \*\*\*STOP\*\*\* & either wait for the printers to finish or +get expert help M.58 Ctrl Alt F1 M.59 Click on 3 dots & \> symbol in +lower left corner of monitor M.60 Move cursor over Leave at lower right +corner of new window M.61 Click on Reboot M.62 Click on OK M.63 When +monitor comes back on (it takes a while):Ctrl Alt F3 M.64 pronterhost +login: hacdc M.65 At Password: enter standard password M.66 pronsole +M.67 connect /dev/MINI M.68 load /home/hacdc/filetoprint.gcode (i.e., +/home/hacdc/testcubeM.gcode; it may be necessary to wait for the file to +finish transferring from the other computer (step M.43)) M.69 Wait until +the monitor states the file is loaded (may take a while) M.70 If the +final line begins with MINI in green skip M.71-M.81 M.71 disconnect M.72 +connect /dev/MINI M.73 Wait a minute M.74 Enter M.75 If the final line +has MINI in green skip M.76-M.81 M.76 Turn off Mini power (rocker switch +on left) M.77 Wait a minute M.78 Turn on Mini power M.79 Wait a couple +minutes M.80 Repeat steps M.72-M.75 M.81 STOP & get expert help M.82 +print M.83 Wait for Mini to start and check that it is printing OK M.84 +Wait - printing large objects can take an extremely long time +ins3DMinipronsole.txt - May 23, 2019 version ins3DMinimaint.txt - Jan. +2, 2020 Disassembling & unclogging the printhead - Note: All bolts are +hex bolts unless otherwise stated\*\*\*Incomplete preliminary +version\*\*\* U.1 Unplug the Mini U.2 Discnnect the USB cable U.3 Lift +the Mini down onto a table U.4 Remove the 2 bolts from the top of the +printhead mount (above horizontal rod) U.5 Remove the cover U.6 +Disconnect the newly exposed connector U.7 While holding the printhead, +remove the 3 big bolts & washers from the back of the mount (printhead +will come off) U.8 Remove 2 or 3 bolts holding motor (motor will come +off) U.9 Remove big nut holding big black gear U.10 Remove washer U.11 +Remove bearing U.12 Remove gear (with washers, bearing, & black washer +on it) if possible U.13 Remove bolt holding tiny fan (fan will come off) +U.14 Remove 2 bolts at bottom holding fan together (fan will come off) +U.15 Remove 2 bolts holding base of fan (base will come off) U.16 Remove +2 bolts with washers that hold printhead together (printhead & nuts will +come apart) U.17 Remove any stuck filament from the gear area by pulling +on the filament & turning the gear (if stuck in place) back & forth +Temporary - reverse steps to reassemble; the fan end of the bottom part +goes to the right, the gap in the metal piece goes in the back, the +wires to the hot end go in back to the right, & the "tail" (motor +holder) on the top piece goes to the right \ No newline at end of file diff --git a/Documentation-3D_printer-Rostock.md b/Documentation-3D_printer-Rostock.md new file mode 100755 index 0000000..3a3b060 --- /dev/null +++ b/Documentation-3D_printer-Rostock.md @@ -0,0 +1,426 @@ +ins3DRostockpronsolequick.txt - May 24, 2019 version This covers common +situations. If something else is encountered consult the full +instructions (ins3DRostockpronsole.txt) \*\*\*NOTE\*\*\* The Rostock is +currently miscalibrated & prints too small in the x & y directions. +These instructions change the scale to compensate. For better results, +multiply all x & y values by 1.065 when designing the object & skip +lines Q.15-Q.19. Q.1 In MATE Terminal: cura (program to convert surface +representation(.stl) to 3D printer instructions(.gcode)) Q.2 When Cura +control display appears click on Machine (at top) Q.3 Click on DeltaBot +Style (yes, Deltabot not Rostock) Q.4 At Fill - Fill density (%): enter +desired value (i.e., 20 for prototypes) Q.5 At Speed and temperature - +Printing temperature (C): 215 (for PLA) Q.6 At Speed and temperature - +Bed temperature (C): 0 (bed heater not working) Q.7 At Support - Support +type: select None, Touching buildplate, or Everywhere (depends on object +to be printed; if in doubt select Everywhere) Q.8 At Support - Platform +adhesion type: select None, Brim, or Raft (depends on object; if in +doubt select Brim) Q.9 Click on LOAD MODEL (top left of image) Q.10 +Click on filetoprint.stl (scroll down if needed; i.e., testcube.stl) +Q.11 Click on Open (lower right) Q.12 Put blue masking tape on Rostock +bed Q.13 Put glue (purple glue stick (PVA)) on tape Q.14 Check that +there is sufficient correct filament on reel (the following steps may +take a long time) Q.15 When the object appears on right click on it Q.16 +Click on SCALE (center icon of 3 at bottom left of image) Q.17 Click on +lock to right of Uniform Scale Q.18 X: 1.065 Q.19 Y: 1.065 Q.20 When +SAVE GCODE lights up (just to right of LOAD MODEL) click on it; if a +romovable drive message does not appear skip Q.21-Q.23 Q.21 Click on +Custom file destination Q.22 Click on OK Q.23 Click on hacdc Q.24 When +Save toolpath window appears click on Save (bottom right) Q.25 When Cura +states (at bottom) Saved as /home/hacd... (with a large X to the right) +click on tiny x at far right top of Cura (to close Cura) Q.26 scp +filetoprint.gcode hacdc@pronterhost.hacdc.org:/home/hacdc (i.e., +testcube.gcode; send to 3D printer) Q.27 At Password: enter standard +password Q.28 If Rostock power is off turn it on (rocker switch above & +to left of F4 (may be hidden under removable bed); display should come +on) Q.29 At 3D printer computer (keyboard usually on Taz): Ctrl Alt F4 +(always hold Ctrl & Alt down when pressing the other key (F4 (at top) +not F & 4)) Q.30 If the monitor (above Taz to left) shows a final line +starting with a printer in use see full instructions Q.31 If the monitor +shows a final line that starts with offline, MINI, ROSTOCK, or TAZ skip +Q.32-Q.34; \[nnnnn@pronterhost ~\]\$ where nnnnn is anything skip +Q.32-Q.33; anything else other than pronterhost login: see full +instructions Q.32 pronterhost login: hacdc Q.33 At Password: enter +standard password Q.34 pronsole Q.35 connect /dev/ROSTOCK Q.36 load +/home/hacdc/filetoprint.gcode (i.e., /home/hacdc/testcube.gcode) Q.37 +Wait until the monitor states the file is loaded (may take a while) Q.38 +If the final line does not show ROSTOCK in green see full instructions +Q.39 print Q.40 Wait for Rostock to start and check to see that it is +printing OK Q.41 Wait - printing large objects can take an extremely +long time ins3DRostockpronsolequick.txt - May 24, 2019 version +ins3DRostockpronsole.txt - May 24, 2019 version This is the full +detailed instructions for using the Rostock with pronsole (the old way). +Many of the steps (i.e., R.1-R.7) can usually be skipped; see +ins3DRostockpronsolequick.txt for minimal instructions. \*\*\*NOTE\*\*\* +The Rostock is currently miscalibrated & prints too small in the x & y +directions. These instructions change the scale to compensate. For +better results, multiply all x & y values by 1.065 when designing the +object & use 1 instead of 1.065 at R.37-R.38 or just skip R.32-R.39. R.1 +Make sure long power strip above microwave oven is on (orange light on +in switch at right end) R.2 Make sure power strip above sink is plugged +into long power strip R.3 Make sure Rostock fan power supply is plugged +into power strip over sink R.4 Make sure Rostock is plugged into +horizontal power strip just to left of Taz R.5 Make sure 3D printer +computer (Dell computer left of Rostock) is plugged into power strip +left of Taz R.6 Make sure 3D printer computer monitor (above & to left +of Taz) is plugged in to power strip left of Taz R.7 Maker sure power +strip over sink is on R.8 If the horizontal power strip left of the Taz +is off (no orange light) turn it on (switch at wall end; orange light in +switch should come on) R.9 If the 3D printer computer is off (no green +light in power button in center of front above silver Dell logo) press +the power button (light should come on) R.10 Check that there is +sufficient correct filament on the reel R.11 If the filament diameter is +not written on the reel measure the filament diameter (calipers are in +the Measurement bin) in several places and write the average diameter on +the reel R.12 At the tabletop computer in MATE Terminal: cura (program +to convert surface representation(.stl) to 3D printer +instructions(.gcode)) R.13 If Basic is at the top left when the Cura +control display appears skip R.14-R.16 R.14 Click on Expert R.15 Click +on Switch to full settings... R.16 At Profile copy click No R.17 If +Quality is not immediately below Basic click on Basic R.18 Click on +Machine (at top) R.19 Click on Deltabot Style (yes, Deltabot not +Rostock) R.20 At Fill - Fill density (%): enter desired value (i.e., 20 +for prototypes) R.21 At Speed and temperature - Printing temperature +(C): 215 (for PLA) R.22 At Speed and temperature - Bed temperature (C): +0 (bed heater not working) R.23 At Support - Support type: select None, +Touching buildplate, or Everywhere (depends on object to be printed; if +in doubt select Everywhere) R.24 At Support - Platform adhesion type: +select None, Brim, or Raft (depends on object; if in doubt select Brim) +R.25 At Filament - Diameter (mm): enter diameter written on reel R.26 +Click on LOAD MODEL (top left of image) R.27 If you don't see the file +to print (i.e., testcube.stl) click on hacdc & scroll down if needed +R.28 Click on filetoprint.stl (i.e., testcube.stl) R.29 Click on Open +(lower right) R.30 Put blue masking tape on Rostock bed R.31 Put glue +(purple glue stick (PVA)) on tape (the following steps may take a long +time) R.32 When the object appears on right click on it; if you do not +want to make a mirror image skip R.33-R.34 R.33 Click on MIRROR (right +icon of 3 at bottom left of image) R.34 Click on the new icon above +MIRROR with the correct reflection plane (MIRROR Z, MIRROR Y, or MIRROR +Z) R.35 Click on SCALE (center icon of 3 at bottom left of image) R.36 +Click on lock to right of Uniform Scale R.37 At X: enter 1.065 or, to +change the x dimension of the object, 1.065 multiplied by the number to +scale x direction by (i.e, .532 (1.065 x .5) to shrink to half width) +R.38 At Y: enter 1.065 or, to change the y dimension (depth) of the +object, 1.065 multiplied by the number to scale y direction by R.39 To +change the z dimension enter the number to scale the z direction by +(i.e., 2 to double the height) at Z: R.40 When SAVE GCODE lights up +(just to right of LOAD MODEL) click on it; if a removable drive message +does not appear skip R.41-R.43 R.41 Click on Custom file destination +R.42 Click on OK R.43 Click on hacdc R.44 When Save toolpath window +appears enter file name (i.e., testcubeR.gcode) after Name: (at top) +R.45 Click on Save (bottom right) R.46 When Cura states (at bottom) +Saved as /home/hacd... (with a large X to the right) click on tiny x at +far right top of Cura (to close Cura) R.47 scp filetoprint.gcode +hacdc@pronterhost.hacdc.org:/home/hacdc (i.e., testcubeR.gcode; send to +3D printer computer; note that it may be necessary to wait later (at +R.73) for this to finish) R.48 At Password: enter standard password R.49 +If Rostock power is off turn it on (rocker switch above & to left of F4 +(may be hidden under removable bed); display should come on) R.50 At 3D +printer computer (keyboard usually on Taz):Ctrl Alt F4 (always hold Ctrl +& Alt down when pressing the other key (F4 (at top) not F & 4)) R.51 If +the 3D printer computer monitor (above Taz on left) does not show a +final line starting with a printer in use skip R.52-R.56 R.52 Ctrl Alt +F2 R.53 If the final line does not start with a printer in use skip +R.54-R.56 R.54 Ctrl Alt F6 R.55 If the final line does not start with a +printer in use skip R.56 R.56 Ctrl Alt F5 R.57 If the monitor is blank +or only shows a flashing dash wait a minute R.58 Press backspace & hold +it down if anything is disappearing from the monitor R.59 If the monitor +shows a final line that is just a flashing dash press Enter R.60 If the +monitor shows a final line that starts offline, MINI, ROSTOCK, or TAZ +skip R.61-R.71; \[nnnnn@pronterhost ~\]\$ where nnnnn is anything skip +R.61-R.70; pronterhost login: skip R.61-R.68 R.61 If either Mini or Taz +printer is in use \*\*\*STOP\*\*\* & either wait for the printers to +finish or get expert help R.62 Ctrl Alt F1 R.63 Click on 3 dots & \> +symbol at lower left corner of monitor R.64 Move cursor to Leave at +lower right corner of new window R.65 Click on Reboot in center of +window R.66 Click on OK R.67 Wait for monitor to come back on (it takes +a while) R.68 Ctrl Alt F4 R.69 pronterhost login: hacdc R.70 At +Password: enter standard password R.71 pronsole R.72 connect +/dev/ROSTOCK R.73 load /home/hacdc/filetoprint.gcode (i.e., +/home/hacdc/testcubeR.gcode; it may be necessary to wait for the file to +finish transferring from the other computer (step R.47)) R.74 If any of +the horizontal rods joining the printhead platform to the 3 support arms +or joining the arms to the movable mounts on the side bars of the frame +have shifted off to the side push them back in so they are centered R.75 +Wait until the monitor states the file is loaded (may take a while) R.76 +If the final line begins with ROSTOCK in green skip R.77-R.87 R.77 +disconnect R.78 connect /dev/ROSTOCK R.79 Wait a minute R.80 Enter R.81 +If the final line has ROSTOCK in green skip R.82-R.87 R.82 Turn off +Rostock power (rocker switch on top of & to left of display) R.83 Wait a +minute R.84 Turn on Rostock power R.85 Wait until the regular Rostock +display appears R.86 Repeat steps R.78-R.81 R.87 STOP & get expert help +R.88 print R.89 Wait for Rostock to start and check to see that it is +printing OK R.90 Wait - printing large objects can take an extremely +long time ins3DRostockpronsole.txt - May 24, 2019 version +ins3DRostockstart.txt - June 13, 2019 version If you can't fix a problem +& expert help is not available: !.1 If the Rostock power has already +been turned off STOP here !.2 pause !.3 Press knob on Rostock (to right +of display on base) !.4 Select Adjust Temps by turning knob !.5 Press +knob !.6 Select NOZ Temp: by turning knob !.7 Press knob !.8 Set +temperature to 0 by turning knob !.9 Press knob If printing does not +begin: P.1 If the nozzle temperature stays (it may overshoot for a short +time) above the correct value by more than a few degrees skip P.2-P.19; +if the temperature is below the correct value but rising STOP & wait +(the Rostock is still preparing to print) P.2 Select NOZ Temp: by +following steps !.3-!.7 P.3 Set temperature to 0 by turning knob P.4 +Press knob P.5 Press knob again P.6 Set temperature to correct value by +turning knob P.7 Press knob; if the printhead temperature rises skip +P.8-P.17 P.8 Turn the Rostock power off (rocker switch to left & on top +of display) P.9 Wait a minute P.10 Turn Rostock power on P.11 Wait until +the regular display appears on the Rostock P.12 If not using pronsole +start over; if using pronsole: connect /dev/ROSTOCK P.13 If the final +line of the screen starts with ROSTOCK in green skip P.14-P.17 P.14 Wait +briefly & press Enter P.15 If the final line of the screen shows ROSTOCK +in green skip P.16-P.17 P.16 Repeat P.14-P.15 P.17 If ROSTOCK is still +red STOP & get expert help P.18 print; if the printhead heats up STOP +here P.19 STOP & get expert help P.20 Turn the Rostock power off P.21 +Get expert help If the display shows NOZ: def or BED: def or you get the +error message: Error:Printer set into dry run mode until restart! D.1 +Turn Rostock power off (rocker switch to left & on top of display; may +be covered by square bed) D.2 Make sure bed temperature was set to 0 +when stl file was converted to gcode (i.e., when using Cura) D.3 Wait a +minute D.4 Turn Rostock power back on D.5 Wait until regular Rostock +display appears D.6 Start over If you get the error message: Error:One +heater seems decoupled from thermistor H.1 Press knob on Rostock H.2 +Select Adjust Temps by turning knob H.3 Press knob H.4 Select BED Temp: +by turning knob H.5 Press knob H.6 Set temperature to 0 C by turning +knob (clockwise for lower) H.7 Press knob H.8 Select NOZ Temp: by +turning knob H.9 Press knob H.10 Set nozzle temperature to correct value +by turning knob H.11 Press knob ins3DRostockend.txt - June 13, 2019 +version To remove printed objects from the bed: Z.1 Spread water around +the base of the object so a shallow layer touches it all around Z.2 Wait +until the object has cooled fully and water has soaked in; add more +water as needed to maintain a shallow layer all around Z.3 If the object +is sturdy you can try to remove it by slowly but firmly trying to tilt +it in different directions; if it comes off skip Z.4-Z.8 Z.4 Remove tape +around base of object Z.5 Slice under the object from various directions +with a razor blade (careful!) Z.6 Pry up the object from different +directions with a putty knife or similar item; if the object comes off +skip Z.7-Z.8 Z.7 Wait some more; add more water as needed to maintain a +shallow layer all around Z.8 Repeat steps Z.5-Z.8 Z.9 Dry off the bed +ins3DRostockprob.txt - June 13, 2019 version To pause printing if using +pronsole: P.1 pause (it may take a while to stop) P.2 If you might want +to resume the print avoid moving the printhead unless necessary and only +use the move commands to move it (i.e., move z 10) being careful not to +hit the partial print with the printhead unit & noting how much it is +moved in each direction P.3 To resume printing: If the printhead has not +been moved skip P.4 P.4 Use move commands to move the printhead back to +where it paused (i.e., move z -10) being careful not to hit the partial +print with the printhead unit P.5 resume If you can't fix a problem & +expert help is not available: !.1 If the Rostock power has already been +turned off STOP here !.2 pause !.3 Press knob on Rostock (to right of +display on base) !.4 Select Adjust Temps by turning knob !.5 Press knob +!.6 Select NOZ Temp: by turning knob !.7 Press knob !.8 Set temperature +to 0 by turning knob !.9 Press knob !.10 Get expert help when it becomes +available; it may be possible to resume printing If the nozzle +temperature stays (it may overshoot for a short time) above the correct +value by more than a few degrees: T.1 Turn Rostock power off (rocker +switch to left & on top of display) T.2 Get expert help If the display +shows NOZ: def or BED: def: D.1 Turn Rostock power off (rocker switch +left and on top of display; may be partially covered by square bed) D.2 +Turn Rostock power back on (you may need to use a pencil etc. to flip +the switch) D.3 Make sure the bed temperature was set to 0 when the stl +file was converted to gcode (i.e., when using Cura) D.4 Start over If +the display shows gibberish: G.1 If the printer is printing normally +wait until the print finishes G.2 Turn Rostock power off (rocker switch +left and on top of display; may be partially covered by square bed) G.3 +Turn Rostock power back on (you may need to use a pencil etc. to flip +the switch) G.4 Start over If the feed gear won't turn: F.1 If the main +display is shown skip F.2-F.4 F.2 Select Previous Screen by turning knob +F.3 Press knob F.4 Repeat steps F.1-F.4 F.5 Press knob (should then show +Printer Settings selected) F.6 Press knob again F.7 Select Disable +Steppers by turning knob F.8 Press knob ins3DRostockmaint.txt - June 13, +2019 version To change Rostock filament: F.1 Make sure new reel has +correct filament F.2 Press knob to right of display on Rostock base F.3 +Select Adjust Temp: by turning knob F.4 Press knob F.5 Select NOZ Temp: +by turning knob F.6 Press knob (\> at left of display should change to +\*) F.7 Set temperature to 180 C by turning knob F.8 Press knob F.9 Trim +end of new filament if it is blunt or distorted; try to make it slightly +pointed F.10 Loosen 2 adjacent screws next to large purple gear on feed +mechanism attached to top of Rostock noting how much they were turned +F.11 Measure the diameter of the new filament (calipers are in the +Measurement bin) in several places and write the average diameter on the +reel; note that if the diameter is different gcode should be recompiled +(i.e., with Cura) using the new diameter F.12 Wait until nozzle +temperature reaches about 180 C F.13 Pull filament up until it comes out +of feed mechanism F.14 Select NOZ Temp: by repeating steps F.2-F.6 F.15 +Set temperature to 215 C by turning knob F.16 Press knob F.17 Pull old +filament up from above Rostock (i.e., by turning filament reel) out of +hole in top of Rostock above feed mechanism F.18 Unscrew nut on outside +of reel from threaded rod holding reel F.19 Remove washer from threaded +rod F.20 Remove pink reel holder from threaded rod F.21 Remove reel from +threaded rod F.22 Put new reel on threaded rod so filament hangs down +from front of reel as seen from front of Rostock F.23 Put pink reel +holder on threaded rod so new reel is held snugly and is centered on +holders F.24 Put washer back on threaded rod F.25 Screw nut back on +threaded rod until reel holder is held firmly (but reel can still turn +freely) F.26 Insert filament thru hole in top of Rostock above feed +mechanism making sure it is not twisted or tangled F.27 Push end of +filament into hole above purple gear on feed mechanism while turning +purple gear clockwise; if filament enters feed tube (visible in short +exposed section of feed tube just below purple gear) skip F.28-F.30 F.28 +Unscrew feed tube below purple gear F.29 Feed filament from below purple +gear into feed tube F.30 Screw filament feed tube back onto feed +mechanism below purple gear F.31 Wait until NOZ Temp reaches around 215 +C F.32 Turn purple gear clockwise until filament starts coming out of +extruder head (it will take a while for it to reach the head) F.33 +Tighten 2 screws next to purple gear the same amount they were loosened +F.34 If you are going to print now stop here F.35 Select NOZ Temp: by +repeating steps F.2-F.6 F.36 Set temperature to 0 by turning knob F.37 +Press knob To set printhead height: Z.1 Press knob to right of display +on base Z.2 Select Advanced Settings by turning knob Z.3 Press knob Z.4 +Select Calibration Menu by turning knob Z.5 Press knob Z.6 Select Z +Position by turning knob Z.7 Press knob Z.8 Set printhead to correct +height (barely above bed; it should slightly drag on a sheet of paper) +by turning knob Z.9 Press knob Z.10 Select Set Z Origin by turning knob +Z.11 Press knob Z.12 Select Previous Screen by turning knob Z.13 Press +knob Z.14 Repeat Z.12-Z.13 until you reach the desired display To level +the bed: L.1 Unclip & remove glass bed plate L.2 Clean off any debris on +the Rostock base or the bottom of the plate L.3 Replace & reclip plate +L.4 Make sure the printhead is at the proper height in the center of the +bed (see To set printhead height immediately above) L.5 If bed still +needs leveling turn the vertical screw sticking out of the inside top of +the movable joint where an arm meets a main vertical bar of the frame +less than a full turn clockwise to raise the printhead on that side, +counterclockwise to lower it L.6 Repeat until that side is level L.7 +Repeat for other two sides as needed NOTE: Since the Rostock is +currently printing smaller than it should the feed rate has been set +lower than normal to compensate To calibrate the filament feed rate: R.1 +Ctrl Alt F4 (always hold the Ctrl & Alt keys down while pressing the +other key (F4 (top row) not F & 4)) R.2 If the screen does not show a +final line starting with a printer that is in use skip R.3-R.7 R.3 Alt +F2 R.4 If the final line does not start with a printer in use skip +R.5-R.7 R.5 Alt F6 R.6 If the final line does not start with a printer +in use skip R.7 R.7 Alt F1 R.8 If the final line starts with offline, +MINI, ROSTOCK, or TAZ skip R.9-R.11; if it is nnnn@pronterhost:~\$ where +nnnn is anything skip R.9-R.10; if it is not pronterhost login: see +ins3Dcompprob.txt R.9 pronterhost login: hacdc R.10 At Password: enter +standard password R.11 pronsole R.12 connect /dev/ROSTOCK R.13 If the +final line shows ROSTOCK in green skip R.14-R.19 R.14 Wait a minute R.15 +Enter R.16 If screen shows ROSTOCK in green skip R.17-R.19 R.17 +disconnect R.18 Repeat R.12-R.16 R.19 See ins3Dcompprob.txt R.20 Select +NOZ Temp: by following steps F.2-F.6 R.21 Set temperature to 215 C by +turning knob R.22 Press knob R.23 If the nozzle is close to the bed or a +print: move z 20 R.24 Wait until NOZ Temp: is about 215 C R.25 Mark the +filament at a known distance from where it enters the feed mechanism +(i.e., 120 mm) R.26 extrude \# where \# is somewhat less than the +distance to the mark (i.e., 100 R.27 Wait until the Rostock finishes +extruding R.28 If the mark has entered the feed mechanism repeat +R.25-R.28 with a longer distance to the mark R.29 Measure the distance +from the mark to where the filament enters the feed mechanism (i.e., +21.6 mm) R.30 Repeat steps R.25-R.29 with the same distance to the mark +& extrude length R.31 If the result is not the same STOP & get expert +help (if help is not available set printhead temperature to 0 or turn +Rostock power off) R.32 Subtract the length remaining (i.e., 21.6 mm) +from the original length to the mark (i.e., 120) to determine how much +filament was actually extruded (i.e., 98.4 mm) R.33 Press knob on +Rostock (to right of display on base) R.34 Select Advanced Settings by +turning knob R.35 Press knob R.36 Select Extruder by turning knob R.37 +Press knob R.38 Select Steps/MM: by turning knob R.39 Multiply number +shown (i.e., 798.4) by length that should have been extruded (i.e.,798.4 +x 100 = 79840) R.40 Divide by amount that was actually extruded (i.e., +98.4) to get the correct feed rate (i.e., 79840 / 98.4 = 811.4) R.41 +Press knob (\> at left of display should change to \*) R.42 Set +Steps/MM: to correct value by turning knob R.43 Press knob R.44 Repeat +steps R.25-R.29 with a longer length (i.e., mark at 205 mm & extrude +200) R.45 Subtract the length remaining from the original length to +determine the actual length extruded R.46 If display does not still show +Steps/MM: repeat steps R.33-R.38 R.47 If the actual length is correct +skip R.48; if it is way off STOP & get expert help (if help is not +available set printhead temperature to 0 or turn Rostock power off) R.48 +Repeat steps R.39-R.43 R.49 Select Previous Screen by turning knob R.50 +Press knob R.51 Select Store to EEPROM by turning knob R.52 Press knob +R.53 If you are going to print now stop here R.54 Select Previous Screen +by turning knob R.55 Press knob R.56 Select Adjust Temps by turning knob +R.57 Press knob R.58 Select NOZ Temp: by turning knob R.59 Press knob +R.60 Set temperature to 0 by turning knob R.61 Press knob To tighten a +belt: B.1 Turn off printer B.2 For easier access, move the arm-rod joint +down so the arm tilts up towards the center B.3 Unscrew the 2 hex head +bolts with washer & white spacer at the inside center of the arm-rod +joints B.4 Pull out the narrow vertical piece in the inside center of +the arm-rod joint B.5 While holding the joint, pull up on the LOWER belt +end sticking out from where the removed piece was B.6 While maintaining +tension on the belt, swing the belt end down B.7 While continuing to +maintain tension, replace the narrow vertical piece so the teeth press +against the belt at top & bottom B.8 Replace one of the hex bolts with +the washer & white spacer (the spacer must fit in the hole in the +vertical piece) B.9 Thighten the bolt until it holds the vertical piece +securely B.10 Replace the other bolt, washer, & spacer B.11 Firmly +tighten both bolts B.12 Push the joint back up so the arm tilts down +towards the center To unclog the Rostock printhead: C.1 Unscrew the +coupling (gold color with 6 sides & blue piece at top where filament +enters; CAUTION - may be hot) at the top of the printhead C.2 Press knob +C.3 Select Adjust Temps by turning knob C.4 Press knob C.5 Select NOZ +Temp: by turning knob C.6 Press knob C.7 Set to 215 C by turning knob +C.8 Press knob C.9 Select Previous Screen by turning knob C.10 Press +knob C.11 Select Previous Screen by turning knob C.12 Press knob C.13 +Wait until NOZ: reaches around 215 C.14 If there is filament going into +the printhead pull it out (up); if there is a short piece of tubing on +the end of the filament skip steps C.15-C.19 C.15 If the top of the +vertical piece of tubing in the top center of the printhead where the +filament enters is not clogged skip C.16-17 C.16 Using a 1/16" bit in a +hand drill, drill a short distance into the clog being careful to keep +the drill bit centered C.17 Lift out the drill bit; if the piece of +tubing comes out with it skip C.18-C.19 C.18 Screw a fairly long screw +slightly bigger than the filament into the end of the tubing where the +filament enters until the screw catches in the tubing C.19 Pull out the +piece of tubing C.20 If there is a piece of filament sticking out of the +tubing try to pull it out (may take considerable effort) C.21 If there +is still a clog in the tubing push the feed tube snake (should be behind +& to right of Rostock on top of electrical box on wall) or other rigid +straight item into an open end of the tube to try to force the clog out +(may also take considerable effort); if it comes out skip C.22-23 C.22 +Using a 1/16" bit in a hand drill, carefully drill out the clog (from +both ends if necessary) C.23 Using a 5/64" bit in a hand drill or your +fingers, drill out the remainder of the clog C.24 Push the tubing back +into the top center of the printhead with the burnt end up (use a pencil +eraser etc. to push it all the way in) C.25 If the filament goes all the +way thru the feed tube & moves freely when the purple feed gear on the +extruder (hanging from the top of the Rostock) is turned skip C.26-C.33; +if the coupling at the end of the feed tube is not clogged skip C.26 +C.26 Using a 5/64" bit in a hand drill, carefully drill out the clog +(Caution: the coupling may still be hot) C.27 Unscrew the coupling at +the other end of the feed tube where it connects to the extruder C.28 +Try to pull the filament out of the tube; if it won't come out STOP and +get expert help; the tube may need to be replaced C.29 Check if the tube +is clear (i.e., by pushing the feed tube snake thru it); if it isn't & +the clog can't be pushed out STOP and get expert help; the tube may need +to be replaced C.30 If the end of the filament is swollen, damaged, or +blunt trim off any swollen or damaged part and try to make the end +slightly pointed C.31 Insert the end of the filament into the feed tube +C.32 Screw the connector back into the extruder C.33 Feed filament by +turning the purple gear on the extruder clockwise (as viewed from the +front) until it emerges from the other end of the feed tube (requires a +lot of turning; if there is a problem the instructions for changing the +filament may be helpful) C.34 If the end of the filament is swollen, +damaged, or blunt trim off any swollen or damaged part and try to make +the end slightly pointed C.35 Retract excess filament by turning the +purple extruder gear counterclockwise until only a tiny amount sticks +out C.36 Screw the coupling (Caution - it may still be hot) back into +the top of the printhead C.37 Repeat steps C.2-C.6 if needed to select +NOZ temp: C.38 Set temperature to 225 by turning knob C.39 Repeat steps +C.8-C.12 C.40 Wait until NOZ temp: reaches around 225 C.41 Slowly turn +purple gear clockwise (or use the extrude command) until filament starts +to emerge (if the gear becomes hard to turn but no filament comes out it +may have reclogged; start over (it has taken a couple tries before final +success)) C.42 Repeat steps C.2-C.6 C.43 Set NOZ temp: to 215 by turning +knob C.44 Press knob C.45 Put feed tube snake away if you used it C.46 +If you are going to print now stop here C.47 Set NOZ temp: to 0 by +turning knob C.48 press knob ins3DRostockmaint - June 13, 2019 version +insCuraaddRostock.txt - How to add the Rostock to Cura (Warning: +instructions are for one specific version of Cura; others may differ but +the basic idea should be the same) - Jan. 4, 2018 version To add the +Rostock to Cura (numbers are for standard filament): R.1 Click on +Machine (top left) R.2 Click on Add new machine... R.3 At Select your +machine (pictures) click on Other Printers R.4 Click on Next R.5 At +Select your machine (list) click on Other R.6 Click on Next R.7 At Other +machine information click on DeltaBot R.8 Click on Next R.9 At Cura +Ready! click on Finish R.10 Click on Machine R.11 Click on Machine +settings... R.12 At Machine settings: Maximum width (mm): 320 R.13 +Maximum depth (mm): 320 R.14 Maximum height (mm): 320 R.15 Click on OK +R.16 At Speed and temperature: Printing temperature (C): 215 R.17 Bed +temperature (C): 0 R.18 At Filament: Diameter (mm): 1.75 To fix Cura so +it will compile for the Rostock (Warning: this is for a specific version +of Cura): sudo emacs -nw /usr/share/cura/Cura/util/sliceEngine.py scroll +down to line 359: pos += (objMin + objMax) / 2.0 \* 1000 edit it to: pos += numpy.add(pos, (objMin + objMax) / 2.0 \* 1000) and save (Ctrl x Ctrl +s) \ No newline at end of file diff --git a/Documentation-3D_printer-Taz.md b/Documentation-3D_printer-Taz.md new file mode 100755 index 0000000..b0d8da2 --- /dev/null +++ b/Documentation-3D_printer-Taz.md @@ -0,0 +1,4 @@ +Specifications - Oct. 4, 2019 y-axis: The drive belt has a tooth every 3 +mm. There are 16 teeth on the motor drive gear so 1 rotation=48 mm. 200 +steps of the stepper motor is 1 rotation so: 1 step = .24 mm 1 mm = +4.1666... steps \ No newline at end of file diff --git a/Documentation-3D_printer-Ultimaker.md b/Documentation-3D_printer-Ultimaker.md new file mode 100755 index 0000000..9a339a2 --- /dev/null +++ b/Documentation-3D_printer-Ultimaker.md @@ -0,0 +1,65 @@ +ins3DUltiSD.txt - June 13, 2022 version To print from an SD memory card: +U.1 Sometimes glue (glue stick (PVA)) should be put on the bed; it is +currently unclear when glue should be used U.2 Make sure there is +sufficient correct filament on the spool U.3 Turn on UltiMaker (power +switch is in back on left) U.4 Insert SD card (SD card must be left in +until print is finished) U.5 Select PRINT by turning dial U.6 Press dial +U.7 Select desired file by turning dial U.8 Press dial U.9 Wait for +printer to start and make sure it is printing properly +ins3DUltimaint.txt - Oct. 1, 2019 Leveling: L.1 Turn on power switch in +back if it is off L.2 Select MAINTENANCE by turning dial L.3 Press dial +L.4 Select BUILD-PLATE by turning dial L.5 Press dial L.6 Select +CONTINUE by turning dial L.7 Press dial L.8 Turn knob under front right +corner of bed below printhead until there is about a 1 mm gap between +the tip of the printhead and the bed L.9 Press dial L.10 Turn knob under +back center of bed below printhead until there is about a 1 mm gap +between printhead tip & bed L.11 Press dial L.12 Turn knob under front +left of bed below printhead until there is about a 1 mm gap between +printhead tip & bed L.13 Press dial L.14 Slide a sheet of paper between +printhead and bed (front right) then adjust knob until paper binds very +slightly L.15 Press dial L.16 Slide the paper between printhead & bed +(center back) and adjust knob until paper binds very slightly L.17 Press +dial L.18 Slide the paper between printhead & bed (front left) and +adjust knob until paper binds very slightly L.19 Press dial L.20 Slide +the paper between printhead & bed (front right) again and adjust knob if +needed so paper binds very slightly. L.21 Press dial (Instructions for +changing the filament have been deleted since they are outdated because +the extruder has been replaced) Calibrating the filament feed rate R.1 +Connect the USB port on a tabletop computer to the port on the Ultimaker +with the appropriate cable R.2 Login: hacdc R.3 At Password: enter +standard password R.4 If the MATE Terminal icon is on the screen double +click on it and skip R.5-R.7 R.5 Click on Applications (top left) R.6 +Select System Tools R.7 Click on MATE Terminal R.8 pronterface R.9 Click +on downward arrowhead under & just to right of help (at top) R.10 Click +on 250000 (connection speed) R.11 Click on Connect R.12 Heat: 185 R.13 +If the nozzle is close to the bed or a print: move z 20 R.14 Wait for +the nozzle to heat to around 185 C R.15 Mark the filament at a known +distance from where it enters the feed mechanism (i.e., 120 mm) R.16 +Extrude - At Length: enter a distance somewhat smaller than the mark +(i.e., 100 mm) R.17 Click on Extrude R.18 Wait until the Ultimaker +finishes extruding R.19 If the mark has entered the feed mechanism +repeat steps R.15-R.19 with a longer distance to the mark R.20 Measure +the distance from the mark to where the filament enters the feed +mechanism (i.e., 22.4 mm) R.21 Repeat R.15-R.20 using the same distance +to the mark & Length:; if the result is the same skip R.22-R.24 R.22 +Follow the instructions at If the filament is not feeding properly: in +ins3DUltiprob.txt R.23 Repeat R.15-R.20 R.24 Repeat R.15-R.20 again with +the same distance to the mark & Length:; if the result is not the same +STOP and get expert help R.25 Subtract the distance to the mark from the +oringinal distance to determine how much filament was actually extruded +(i.e., 120-22,4 = 97.6 mm) R.26 At bottom right left of Send: M503 R.27 +Click Send R.29 Find the line that starts echo: M92 & note the number +after E at the end of this line (i.e., 2158.32) R.29 Multiply this +number by the value of Length: (i.e., 2158.32 x 100 = 215832) R.30 +Divide the result by the actual length of filament used (i.e., 215832 / +97.6 = 2211.39); this is the new value for E R.31 M92 E# where \# is the +new value (i.e., M92 E2211.39) R.32 Click Send R.33 M503 R.34 Click Send +R.35 Verify that E has the new value (i.e., E2211.39) R.36 Repeat +R.15-R.20 with a longer length (i.e., mark at 205 & extrude 200) R.37 +Subtract the distance to the mark from the original distance to the mark +to determine how much filament was extruded R.38 If the actual length is +correct skip R.39; if it is way off STOP & get expert help (if help is +not available set Heat: to off or turn off Ultimaker) R.39 Repeat +R.26-R.35 R.40 M500 R.41 Click Send; the screen should state that the +new value was stored in EEPROM R.42 Heat: Click on Off +ins3DUltimaint.txt - May 8, 2018 \ No newline at end of file diff --git a/Documentation-3D_printer_computer.md b/Documentation-3D_printer_computer.md new file mode 100755 index 0000000..30b9d8e --- /dev/null +++ b/Documentation-3D_printer_computer.md @@ -0,0 +1,86 @@ +ins3Dcomp.txt - July 25, 2019 version To shut down the computer & +optionally restart it from the main screen (WARNING: will stop printing +in progress): L.1 Ctrl Alt F1 (Always hold the Ctrl & Alt keys down when +pressing the other key (F1 in top row not F & 1)) L.2 Click on the icon +at the bottom left of the monitor that looks like part of a clock face +L.3 Move the cursor over Leave at the bottom right of the window that +appears L.4 To shut down & restart the computer click on Restart L.5 To +shut down the computer click on Shut Down L.6 Optional: click on OK to +speed things up To shut down the computer & optionally restart it from a +terminal (WARNING: Will stop printing in progress): S.1 If there is no +terminal window on the monitor: Ctrl Alt F2 (Always hold the Ctrl & Alt +keys down when pressing the other key (F2 in top row not F & 2)) S.2 If +the last line on the terminal window is not pronterhost login: skip +S.3-S.4 S.3 pronterhost login: hacdc S.4 At password: enter standard +password S.5 If the last line is offline\> or starts with the name of a +printer: exit S.6 To shut down & restart the computer: sudo shutdown -r +now S.7 To shut down the computer: sudo shutdown -h now S.8 At \[sudo\] +password for hacdc: enter standard password ins3Dcompprob.txt - July 22, +2019 version If all else (i.e., see If a terminal does not respond at +all below) fails and 3D printer computer does not respond at all: !.1: +If horizontal power strip left of Taz is off (no orange light in switch +at wall end of sockets) turn it on (light should come on) !.2 Make sure +3D printer computer is plugged in to power strip !.3 Make sure 3D +printer computer monitor is plugged in to power strip !.4 If monitor is +off (no orange light in power (rightmost) button at bottom) push button +(light should come on) !.5 If a printer is printing normally wait until +it finishes or get expert help !.6 If there is no green light on in +power button in center of front of 3D printer computer skip steps +!.7-!.9 !.7 Push power button !.8 Wait until green light in button goes +off & stays off !.9 Turn off all printers !.10 Turn on any printers that +are to be used !.11 Push power button on 3D printer computer !.12 If +green light doesn't come on STOP & get expert help !.13 If screen does +not eventually (it takes quite a while for it to start up) come on STOP +& get expert help If a terminal does not respond at all (i.e., terminal +5): T.1 Ctrl Alt F2 (always hold the Ctrl & Alt keys down when pressing +the other key (F2 in top row not F & 2)) T.2 If this terminal is not +responding skip T.3 T.3 If the bottom line does not start with a printer +in use skip T.4-T.16 T.4 Ctrl Alt F6 T.5 If this terminal is not +responding skip T.6 T.6 If the bottom line does not start with a printer +in use skip T.7-T.16 T.7 Ctrl Alt F3 T.8 If this terminal is not +responding skip T.9 T.9 If the bottom line does not start with a printer +in use skip T.10-T.16 T.10 Ctrl Alt F4 T.11 If this terminal is not +responding skip T.12 T.12 If the bottom line does not start with a +printer in use skip T.13-T.16 T.13 Ctrl Alt F5 T.14 If this terminal is +not responding skip T.15 T.15 If the bottom line does not start with a +printer in use skip T.16 T.16 In the unlikely event you get here all the +terminals are either in use or broken; you can either get expert help, +stop one of the printers, or wait for one of them to finish and use the +terminal that was controlling that printer T.17 If the bottom line is +not pronterhost login: skip T.18-T.19 T.18 pronterhost login: hacdc T.19 +At Password: enter standard password T.20 If the bottom line starts +offline\> or the name of a printer that is not in use: exit T.21 ps +auxwww \| grep tty# where \# is the number of the nonworking terminal +(i.e., ps auxwww \| grep tty5) T.22 The display should show a list with +a name (user; i.e., root or demo), an integer (process ID), 2 decimal +numbers (% used of CPU & memory), 2 integers, tty#, some characters +(status), a time (start), a time (CPU used), and a name (command), +including one entry ending with /bin/login -- and another ending with +-bash; DISREGARD any entry where tty# is not the number of the +nonworking terminal; if there are no other entries skip T.23-T.28 T.23 +sudo kill -9 \# where \# is the process ID (1st integer, 2nd column) of +an entry with the correct tty# other than the ones ending /bin/login -- +or -bash \*\*\*WARNING\*\*\* - make sure the number is correct! T.24 At +\[sudo\] password for hacdc: enter standard password T.25 Ctrl Alt F# +where \# is the number for the terminal that was not responding T.26 If +the terminal now responds STOP HERE - DONE T.27 Ctrl Alt F\$ where \$ is +the number for the terminal you were using T.28 Repeat steps T.21-T.27 +until only the 2 entries with login & bash remain T.29 sudo kill -9 \# +where \# is the process ID (right after demo) in the line ending -bash +\*\*\*WARNING\*\*\* - make sure the number is correct! T.30 At \[sudo\] +password for hacdc: enter standard password T.31 Ctrl Alt F# where \# is +the number for the terminal that was not responding T.32 If the terminal +now responds STOP HERE - DONE T.33 Ctrl Alt F\$ where \$ is the number +for the terminal you were using T.34 sudo kill -9 \# where \# is the +process ID (right after root) in the line ending with /bin/login -- +\*\*\*WARNING\*\*\* - make sure the number is correct! T.35 At \[sudo\] +password for hacdc: enter standard password If this doesn't fix the +problem get expert help If the computer states \[ERROR\] Can't read from +printer (disconnected?) (SerialException): device reports readiness to +read but returned no data (device disconnected or multiple access on +port?) more than 1 terminal may be connected to the printer. R.1 If you +are using terminal 2 skip R.2-R.3 R.2 Ctrl Alt F2 (always hold the Ctrl +& Alt keys down when pressing the other key (F2 in top row not F & 2)) +R.3 If the bottom of the display shows the printer you are using: +disconnect R.4 Repeat R.1-R.3 for terminal 3 & Ctrl Alt F3, terminal 4 & +Ctrl Alt F4, terminal 5 & Ctrl Alt F5, & terminal 6 & Ctrl Alt F6 \ No newline at end of file diff --git a/Documentation-ATmega_microcontroller.md b/Documentation-ATmega_microcontroller.md new file mode 100755 index 0000000..ce39131 --- /dev/null +++ b/Documentation-ATmega_microcontroller.md @@ -0,0 +1,227 @@ +This is an attempt to write documentation for the ATmega328P +microcontroller (& learn to use it as I go along). Send corrections, +suggestions, & comments to: gippgig@gmail.com Bobby The ATmega328P +Microcontroller - 1 Setting up the I/O pins - Oct. 3, 2019 version Note: +In the following, the more negative voltage (Gnd) is 0 & the more +positive voltage (Vcc) is 1. Addresses & data are given in hexadecimal. +The ATmega328P is one of a large family of similar 8-bit +microcontrollers and can operate on 1.8 to 5.5 V. The data sheet is +available at +ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf +(in the following the section describing an item is often given +afterwards in parentheses, i.e. SREG(7.3.1)); the instruction set manual +for this family is available at +ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf +(note that the 328P does not have all of the instructions listed) & also +see en.wikipedia.org/wiki/Atmel_AVR_instruction_set. Other members +differ in various ways; consult their data sheets for details. The +ATmega328P has 32 8-bit general purpose registers (which can also be +addressed as data memory locations 0000-001F), 224 8-bit I/O registers +(which can also be addressed as data memory locations 0020-00FF; note +that 20 must therefore be added to the I/O register number when +addressing it as memory), 2kx8 data RAM(8.3) (data memory locations +0100-08FF), a separate 16kx16 program flash memory(8.2) (note that while +it is an 8-bit chip the instructions are 16 bits), & a separate 1kx8 +EEPROM(8.4). The ATmega328P is available as a 28-pin DIP (more exotic +packages are also avilable) with 23 general purpose I/O pins which can +also have specialized functions(14.3.1-14.3.3); in particular, pin 1 is +an external reset(11.4) unless RSTDISBL(28.2) has been programmed to 0. +Altho each pin can be individually controlled, they are grouped into the +8 bit port B (B0-B7), 7 bit port C (C0-C6), & 8 bit port D (D0-D7). 1=C6 +B7=10 2=D0 B6=9 3=D1 B5=19 4=D2 B4=18 5=D3 B3=17 6=D4 B2=16 9=B6 B1=15 +10=B7 B0=14 11=D5 C6=1 12=D6 C5=28 13=D7 C4=27 14=B0 C3=26 15=B1 C2=25 +16=B2 C1=24 17=B3 C0=23 18=B4 D7=13 19=B5 D6=12 23=C0 D5=11 24=C1 D4=6 +25=C2 D3=5 26=C3 D2=4 27=C4 D1=3 28=C5 D0=2 There are 3 I/O registers +associated with each port: DDR(14.4.3, 14.4.6, 14.4.9) (data direction +register), PORT(14.4.2, 14.4.5, 1.4.8), & PIN(14.4.4, 14.4.7, 14.4.10). +The DDR determines whether the pins are inputs or outputs; if a bit in +the DDR is 0 the corresponding pin is an input; if 1 it is an output. +When the chip is reset (which happens automatically when power is turned +on) all the DDR & PORT bits are cleared making all pins inputs; bit 6 if +pin 1 is reset & unused bit 7 of DDRC, PORTC, & PINC are always 0. The +PORT register contains the value that is output on the corresponding +pins that are set as outputs. Note that if a bit corresponding to an +input pin is set to 1 an internal "pullup" resistor is connected from +the positve voltage to that pin unless PUD(14.4.1) has been set to 1. +Reading the PIN register gives the value of the corresponding pins +(regardless of whether they are an input or output). Note that +unconnected inputs are not defined and may give erratic values when +read. Unconnected inputs can also cause high power consumption so unused +inputs(14.2.6) should be connected to something; this is easily done by +turning on the pullup resistors. Also note that there is a 1 instruction +delay(14.2.4) between writing data to the PORT and having it appear in +the PIN register. Writing 0 to a PIN bit does nothing but writing a 1 +will cause the corresponding bit in PORT to change state(14.2.2) (from 1 +to 0 or from 0 to 1). Here are the I/O addresses for the various +registers: 03 PINB 04 DDRB 05 PORTB 06 PINC 07 DDRC 08 PORTC 09 PIND 0A +DDRD 0B PORTD Suppose that pin 1 is reset, 2 is an input with the pullup +resistor on, 3-6 & 9 are outputs with 9 set to 0, 10 is unused, 11-15 +are outputs with 11-13 set to 1, 16-19 are unused, & 23-28 are inputs +with the pullups on for 24-25. Also suppose that setting pin 9 to 1 +(except under special conditions) could damage the circuit; to reduce +the chance of this happening this output is placed next to Gnd (pin 8), +a resistor (~5k ohms suggested) is connected from the pin to Gnd, & the +other adjacent pin (10) is unused & is connected thru a "pulldown" +resistor (1k suggested) to Gnd instead of using the internal pullup. +Here is the port bit map (the port bit is given first followed by the +corresponding pin, the value of the DDR for that position, the value (if +the value doesn't matter it is generally set to 0 in these examples) of +the PORT for that position, & a description; after the last bit of a +port the hexadecimal value of DDR & PORT is shown): B7 10 0 0 unused, +resistor to Gnd B6 9 1 0 out, =0, cannot be set to 1, resistor to Gnd B5 +19 0 1 unused (set PORT to 1 to turn on pullup resistor) B4 18 0 1 +unused B3 17 0 1 unused B2 16 0 1 unused B1 15 1 0 out B0 14 1 0 out +DDRB=43 PORTB=3C C6 1 0 0 reset C5 28 0 0 in C4 27 0 0 in C3 26 0 0 in +C2 25 0 1 in, pullup on C1 24 0 1 in, pullup on C0 23 0 0 in DDRC=00 +PORTC=06 D7 13 1 1 out, =1 D6 12 1 1 out, =1 D5 11 1 1 out, =1 D4 6 1 0 +out D3 5 1 0 out D2 4 1 0 out D1 3 1 0 out D0 2 0 1 in, pullup on +DDRD=FE PORTD=E1 The following code fragment sets up the pins (in all +code examples the program memory address is given first (4 hexadecimal +digits) followed by the opcode (4 digits), the instruction, & an +explanation). When power is turned on the processor resets and starts at +address 0000(11.1) unless BOOTRST(27.6) has been programmed to 0. +However, interrupts can cause execution to start nearby (for example, +INT0 can cause execution to start at 0002(12.4)) so the first +instruction is often a jump to get out of the way. 0000 940C JMP 0001 +1000 1000 ... 1000 E423 LDI R18,43 Load value to make pins 9 & 14-15 +outputs into arbitrarily chosen temporary register 1001 B924 OUT 04,R18 +Store into DDRB 1002 EF6E LDI R22,FE Load value to make pins 3-6 & 11-13 +outputs 1003 B96A OUT 0A,R22 Store into DDRD 1004 E31C LDI R17,3C Load +value to turn on pullup resistors for unused pins 16-19 1005 B915 OUT +05,R17 Store into PORTB 1006 EE51 LDI R21,E1 Load value to set pins +11-13 to 1 & turn on pullup for pin 2 1007 B95B OUT 0B,R21 Store into +PORTD 1008 E036 LDI R19,06 Load value to turn on pullups for pins 24-25 +1009 B938 OUT 08,R19 Store into PORTC 100A rest of program No need to +load DDRC since it was reset to 00 when power was turned on If possible, +do not connect or disconnect whatever would be damaged if pin 9 was 1 & +connect it to Gnd instead if applicable. Once the rest of the circuit is +built, turn on a voltmeter, set it on DC volts, & select the lowest +range that includes the voltage chosen to power the circuit. Before +connecting power to the circuit turn on the power source, select the +correct voltage, & measure the output. If the voltage is wrong make sure +the power source is plugged into an outlet that has power or test the +batteries & check for corroded battery contacts. If the voltage is +correct verify which connection is positive & which is negative. Turn +off power, connect power to the circuit MAKING SURE THE POSITIVE VOLTAGE +IS CONNECTED TO VCC, turn on power, & measure the voltage at pin 7 +(Vcc). If it is negative shut off power (& hope the circuit hasn't blow +out) because the power is somehow connected backwards, if it is 0 check +for a loose connection or short circuit, if it is low check for weak +batteries or a short. If Vcc is correct check the voltage at pin 9. If +it is not 0 find & fix the problem and repeat the check. If it is 0 turn +off power, connect the rest of the circuit, & turn on power. Check pin 9 +again; if it is not 0 shut off power, find & fix the problem, & repeat +the check. If it is 0 repeat the check of Vcc. If Vcc is not correct fix +the problem, repeat the check of pin 9, & then test Vcc again. If Vcc is +correct see if the circuit works. The ATmega328P Microcontroller - 2 +Adding a self-test - Oct. 21, 2019 version The self-test works by +checking whether the pins have the expected values. Note that the value +of PIN should equal the value of PORT for output pins unless a pin is +heavily loaded (which should generally be avoided and always avoided at +higher Vcc); this is also the case for unused pins with the pullup +enabled & unused pins with the pullup off if pulled down to Gnd (i.e., +pin 10 below). Unless it would cause something bad to happen to whatever +the microcontroller is controlling, the test should be repeated with +each output pin set to both 0 & 1 to detect excessively low resistance +to either Vcc or Gnd and adjacent pins should have opposite values to +detect shorts between pins. Using the previous example, suppose that pin +1 is reset, 2 is an input with pullup on, 3-6 & 9 are outputs with 9 set +to 0, 10 is unused, 11-16 are outputs with 11-13 set to 1, 17-19 are +unused, & 23-28 are inputs with pullups on for 24-25. Pin 2 should +initially be 0, pin 6 is heavily loaded, pin 9 must not be set to 1 & +has a resistor to Gnd, pin 10 also has a resistor to Gnd, pin 16 is the +self-test output (0=fail, 1=pass), pin 23 is an analog input, pin 24 +should initially be 1 & pin 27 0, & pin 28 should be the same as pin 26 +until the self-test sets pin 12 to 1. Note that the self-test +momentarily sets pin 16 to 0 so this must not trigger an error response. +Here is the port bit map; 3 values are given for PORTB (the first 2 +being the values used for self-testing with the 2nd also being the final +value if the self-test passes (there is no need to change it since pin +16 is already 1 & 14-15 don't need to be set to a particular value) +while the 1st (pin 16 already 0) or 3rd is the final value if the +self-test fails) & 3 values are given for PORTD (the first 2 again being +the values used for self-testing & the 3rd the final value that sets the +outputs to the correct values). B7 10 0 0 0 0 unused, resistor to Gnd B6 +9 1 0 0 0 out, =0, cannot be 1, resistor to Gnd B5 19 0 1 1 1 unused B4 +18 0 1 1 1 unused B3 17 0 1 1 1 unused B2 16 1 0 1 0 out, self-test B1 +15 1 1 0 0 out B0 14 1 0 1 1 out DDRB=47 PORTB=3A,3D,39 C6 1 0 0 reset +C5 28 0 0 in, =C3 until pin 12 is set to 1 C4 27 0 0 in, initially 0 C3 +26 0 0 in, =C5 until pin 12 is set to 1 C2 25 0 1 in, pullup on C1 24 0 +1 in, pullup on, initially 1 C0 23 0 0 in (analog) DDRC=00 PORTC=06 D7 +13 1 1 0 1 out, =1 D6 12 1 0 1 1 out, =1 D5 11 1 1 0 1 out, =1 D4 6 1 0 +1 0 out, heavy load D3 5 1 1 0 0 out D2 4 1 0 1 0 out D1 3 1 1 0 0 out +D0 2 0 1 1 1 in, pullup on, initially 0 DDRD=FE PORTD=AB,55,E1 The +following code fragment sets up the pins & does the self-test. 0000 940C +JMP 0001 1000 1000 ... 1000 E427 LDI R18,47 Load value to make pins 9 & +14-16 outputs 1001 B924 OUT 04,R18 Store into DDRB 1002 EF6E LDI R22,FE +Load value to make pins 3-6 & 11-13 outputs 1003 B96A OUT 0A,R22 Store +into DDRD 1004 E31A LDI R17,3A Load value to do 1st B self-test 1005 +B915 OUT 05,R17 Store into PORTB 1006 EA5B LDI R21,AB Load value to do +1st D test 1007 B95B OUT 0B,R21 Store into PORTD 1008 E036 LDI R19,06 +Load value to turn on pullups for pins 24-25 1009 B938 OUT 08,R19 Store +into PORTC 100A B173 IN R23,03 Load temporary register from PINB 100B +2771 EOR R23,R17 Clear bits where PINB=PORTB (CPI R23,3A is an equally +good alternative) 100C F4D1 BRNE 1A PINB not same as PORTB, self-test +failed, pin 16 already 0, go to 1027 (note that the branch distance is +relative to the following instruction so this jumps ahead 1B) 100D B179 +IN R23,09 Load from PIND 100E 7E7F ANDI R23,EF Clear bit D4 +corresponding to heavily loaded pin 6 100F 3A7A CPI R23,AA Test for +correct value (note that EOR R23,R21 is not an alternative since PORTD0 +is 1 but input pin 2 should be 0 so the result should be 01 not 00) 1010 +F4B1 BRNE 16 PIND outputs not same as PORTD besides D4, fail, pin 16 +already 0, go to 1027 1011 B176 IN R23,06 Load from PINC 1012 7F7A ANDI +R23,FA Clear unpredictable bits C0 & C2 1013 3072 CPI R23,02 Test for +pass with C3=C5=0 1014 F011 BREQ 02 Pass with C3=C5=0, go to 1017 1015 +327A CPI R23,2A Test for pass with C3=C5=1 1016 F481 BRNE 10 PORTC +wrong, fail, pin 16 already 0, go to 1027 1017 E555 LDI R21,55 Load +value to reverse D outputs 1018 B95B OUT 0B,R21 Store into PORTD 1019 +E31D LDI R17,3D Load value to reverse B outputs except pin 9 101A B915 +OUT 05,R17 Store into PORTB (no need to change PORTC since it has no +outputs) 101B B179 IN R23,09 Load from PIND (note that PINB couldn't be +tested yet because of 1 instruction delay) 101C 7E7F ANDI R23,EF Clear +heavily loaded bit D4 101D 3474 CPI R23,44 Test for correct value 101E +F439 BRNE 07 PIND outputs not same as PORTD besides D4, fail, go to 1026 +101F B173 IN R23,03 Load from PINB 1020 2771 EOR R23,R17 Clear bits +where PINB=PORTB 1021 F421 BRNE 04 PINB not same as PORTB, fail, go to +1026 1022 B176 IN R23,06 Load from PINC 1023 7D72 ANDI R23,D2 Clear +unpredictable bits C0,C2-3,C5 1024 3072 CPI R23,02 Test for C1=1 & C4=0 +1025 F009 BREQ 01 Self-test passes, pin 16=1, go to 1027 1026 982A CBI +05,2 Set pin 16 to 0 1027 EE51 LDI R21,E1 Load value to set pins 11-13 +to 1 & turn on pin 2 pullup 1028 B95B OUT 0B,R21 Store into PORTD +1029... rest of program To turn on an LED if the self-test passes +(recommended because it indicates that the initialization routine +executed) connect the positive LED lead to pin 16 & the negative lead +thru a resistor (the value depends on the voltage used) to Gnd. However, +the LED may be too dim to see if the voltage is under 2V (test by +connecting it directly from Vcc to Gnd (no resistor needed if under +2V)). To do more than just set pin 16 if the self-test fails, add +additional code after 1026 & change the value of BREQ at 1025 to jump +past the end of the added code. For example, this alternate ending will +halt the program at the point the self-test failed to make it easier to +find (as described below) the problem: 1025 F011 BREQ 02 Pass, go to +1028 (increased by 1 since 1 instruction added) 1026 982A CBI 05,2 Set +pin 16 to 0 1027 CFFF RJMP FFF Go to 1027 (halt by going into infinite +loop) 1028 EE51 LDI R21,E1 Load D value 1029 B95B OUT 0B,R21 Store into +PORTD 102A... rest of program In this particular case only, it makes +sense to also change the BRNE at 100C,1010,& 1016 to F7F9 BRNE 7F to +halt the program at those points. After all the tests described +previously pass, if the self-test does not pass measure the voltage at +pin 16; if it is not 0 test the resistor & LED, make sure the LED isn't +backwards, & check for a wiring error. If pin 16 is 0 connect a 2.7k +resistor from pin 16 to Vcc; if it now reads \>1V the pin apparently was +not initialized to an output, check the program for errors (beware +typos) & make sure it was loaded into the microcontroller correctly. If +it still reads 0 the self-test really did fail. Check the voltages on +all of the pins. Suppose that the supply is 2V & the voltages on pins +1-6 are 2,0,2,0,2,1, on 9-19 are 0,0,2,0,0,0,2,0,2,2,2, & 23-28 are +.7,2,2,0,0,0. The odd value at pin 6 is not unexpected because of the +heavy load and pin 23 is an analog input while 9-10 & 14-19 match the +1st test value for port B indicating that the first part of the +self-test (at 100C) passed (but the test failed before PORTB was +reloaded at 101A). Pins 23-28 match the expected value (pin 1 should be +2V because it's reset) for port C. Pins 2-6 & 11-13 match the 1st value +for port D except for pin 13 (D7), which should be 2V but was 0. This +indicates that pin 13 is shorted, check the wiring to that pin. On the +other hand, if pins 12 & 13 were both .9V that would indicate that pins +12 & 13 are shorted together. Fix the problem & try again. If the +self-test passes see if the circuit works. \ No newline at end of file diff --git a/Documentation-AVR_microcontroller.md b/Documentation-AVR_microcontroller.md new file mode 100755 index 0000000..3a096c6 --- /dev/null +++ b/Documentation-AVR_microcontroller.md @@ -0,0 +1,2 @@ +1. REDIRECT [Documentation-ATmega + microcontroller](Documentation-ATmega_microcontroller "wikilink") \ No newline at end of file diff --git a/Documentation-CAD.md b/Documentation-CAD.md new file mode 100755 index 0000000..1aa29df --- /dev/null +++ b/Documentation-CAD.md @@ -0,0 +1,33 @@ +Tabletop computer terms - move over means to use the touch pad to move +the arrow on the display to the described position click on means to +move the arrow to the described position & then press either click +button type means to type what is described type: means to type the +characters that follow the space after : enter means to type what is +described (if anything) & then press the Enter key (at right) enter: +means to type the characters that follow the space after : & then press +Enter insCADImp How to use ImplicitCAD on one of the tabletop +computers - Dec. 26, 2019 version I.1 Turn on the computer & log in (see +Documentation-Tabletop_computers for detailed instructions) I.2 Click on +Applications (top left) I.3 Move over System Tools I.4 Click on MATE +Terminal in window that just appeared I.5 To connect (ssh) thru the +HacDC network & perform the following on the renderadmin computer +instead of the tabletop computer type: ssh renderadmin@jobs.hacdc.org +I.6 At renderadmin@jobs.hacdc.org's password: enter standard password +I.7 Enter cd directorybeingused/ (i.e., ImplicitCAD/radioshack_box/) I.8 +Enter emacs -nw file.escad (i.e., testcube.escad - editor (one of many +that can be used) for creating or modifying file (in this case object +description)) I.9 Create or modify object description I.10 Type Ctrl X +Ctrl S (saves file) Ctrl X Ctrl C (exits from editor) I.11 Enter make +file.stl (i.e., testcube.stl - convert from object description (.escad) +to surface description (.stl)) I.12 Wait - complex objects can take a +very long time I.13 If there is an error then repeat I.8-I.12 as many +times as necessary I.14 To disconnect from the renderadmin computer +enter: exit I.15 Enter scp +renderadmin@jobs.hacdc.org:/home/renderadmin/directorybeingused/file.stl +./ (i.e., +renderadmin@jobs.hacdc.org:/home/renderadmin/ImplicitCAD/radioshack_box/testcube.stl +./ - copy source, item, to; copy file back to tabletop computer) I.16 At +Password: enter standard password I.17 Enter meshlab file.stl (i.e., +meshlab testcube.stl - display object) I.18 At Post-Open Processing: +click on OK I.19 After examining object type Ctrl Q (exits from meshlab) +I.20 Repeat I.5-I.19 as many times as needed \ No newline at end of file diff --git a/Documentation-Computer_network.md b/Documentation-Computer_network.md new file mode 100755 index 0000000..6203db6 --- /dev/null +++ b/Documentation-Computer_network.md @@ -0,0 +1,59 @@ +HacDC computer network - Jan. 2, 2020 Tabletop computer terms - move +over means to use the touch pad to move the arrow on the screen to the +described position click on means to move the arrow to the described +position & then press either click button type means to type what is +described type: means to type the characters that follow the space after +: enter means to type what is described (if anything) & then press the +Enter key (at right) enter: means to type the characters that follow the +space after : & then press Enter It is possible to connect to devices on +the network using the internet or using the local network. To connect +using the internet: 1. Enter ssh systemname@machinename.hacdc.org (i.e., +ssh renderadmin@jobs.hascdc.org) 2. At Password: enter standard password +To connect using the HacDC network: 1. Enter ssh +systemname@machinename.local (i.e., ssh renderadmin@jobs.local) 2. If +the system asks Are you sure you want to continue connecting (yes/no)? +enter: yes 3. At Password: enter standard password To check if it is +possible to communicate with a device: 1. Open a MATE terminal (if not +already present; see Documentation-Tabletop_computers) 2. Enter ping +machinename.hacdc.org or ping machinename.local (i.e., ping jobs.local) +3. If it responds \## bytes from \###... it is communicating 4. To stop +pinging type Ctrl C To determine the path to the address the computer is +connected to: 1. Enter mtr address (i.e., mtr jobs.hacdc.org) 2. When +finished click on Quit If the network will not connect: 1. Try using the +other connection method (.local if .hacdc.org doesn't work or vice +versa) 2. Check if it is possible to communicate by using ping (see +above) 3. If it is not communicating stop here & get help 4. Enter mtr +address (i.e., mtr jobs.hacdc.org) 5. Look at the column labeled Loss; +if any of the values are close to 100% that could be the problem 6. +Click on Quit 7. If there was a problem with the path restart the +computer & hope it uses a different path this time Components of the +network: Renderadmin computer (large computer at left under table below +clock) - for converting .escad files to .stl files for 3D printing +etc. - machine name=jobs, system name=renderadmin 3D printer computer +(Dell Optiplex 760 to left of Rostock) - controls Rostock, Mini, & Taz +3D printers - machine name=pronterhost, system name=hacdc Classroom TV +computer (large Sharkoon below big screen) - controls screen - machine +name=classroom-tv, system name=hacdc Laser cutter computer (small +computer in cabinet below laser cutter) - controls laser cutter Here is +the current HacDC network wiring: On floor below clock - Netgear ProSAFE +16-Port Gigabit Click Switch 1 - gray - TP-Link Router 2 2 - gray - +Printer (paper) computer 14 - white - open (by laser cutter) 16 - +orange - renderadmin computer others - no connection On bottom shelf +over sink - LinkSys VOIP Voice Phone - phone cable - Uniden EX18560 +phone Internet - blue - LinkSys switch 6 C7 TP-Link AC1750 Wireless +Dual-Band Gigabit Router Internet - blue - D-Link switch Ethernet 1 - +gray - open 2 - yellow - TP-Link switch 7 Middle shelf - D-Link Wireless +AC750 Dual-Band Router DIR-817LW LAN 4 - blue - TP-Link switch 8 +Internet - gray - LinkSys switch 5 TP-Link TL-SG1008D Gigabit Switch 1 - +yellow - wall socket 2 - gray - Netgear switch 1 3 - blue - 3D printer +computer 4 - no connection 5 - black - Linksys switch 1 6 - no +connection 7 - yellow - TP-Link router Ethernet 2 8 - blue - D-Link +router LAN 4 Linksys Gigabit 8-Port Workgroup Switch (note that the +connections on this switch are numbered from right to left while the +TP-Link switch is left-to-right) 1 - black - TP-Link switch 5 2 - no +connection 3 - gray - open (below HARC) 4 - black - open (below HARC) +5 - gray - D-Link router Internet 6 - blue - Linksys VOIP Voice Internet +7 - blue - open (below HARC) 8 - no connection On table below TV +screen - D-Link igreen DGS-1005D switch 1 - blue - TP-Link router +Internet 2 - gray - open 3-4 - no connection 5 - yellow - TV computer If +I read this right 3 of the 4 switches are unnecessary! \ No newline at end of file diff --git a/Documentation-HacDC_equipment.md b/Documentation-HacDC_equipment.md new file mode 100755 index 0000000..15b6566 --- /dev/null +++ b/Documentation-HacDC_equipment.md @@ -0,0 +1,18 @@ +Cordless telephone To change the cordless phone ring: 1. Hold down cid +(menu) button (top right) until phone beeps a 2nd time and text is +displayed (the arrowhead at the left should be at the top pointing to +Ringer; the up/down button moves the arrowhead). 2. Press select channel +button (bottom) to select desired ring (don't use Type A since it's the +same as the door intercom; Type C is recommended). 3. Press END button. +Brother printer To adjust the paper tray (note that paper feeds from the +front of the tray): 1. Slide the blue button in the back side of the +tray out (away from the tray) 2. Squeeze the vertical blue tab near the +center of the back side & move the back side in or out 3. Slide the blue +button in (towards the tray) If the back side is pulled all the way out +14" (legal size) paper should fit. If the paper seems to be too long to +fit in the tray pull the back side out no more than is needed for the +paper to fit. If the tray will not go in all the way but goes in if the +paper is removed try pulling the back side out & make sure the paper +fits correctly (does not stick up). If the paper does not feed but there +is no sign of jamming try pushing the back side in until the paper is +snug (but does not stick up). \ No newline at end of file diff --git a/Documentation-Laser_cutter-K40.md b/Documentation-Laser_cutter-K40.md new file mode 100755 index 0000000..4b541c5 --- /dev/null +++ b/Documentation-Laser_cutter-K40.md @@ -0,0 +1,94 @@ +Tabletop computer terms - move over means to use the touch pad to move +the arrow on the display to the described position click on means to +move the arrow to the described position & then press either click +button type means to type what is described type: means to type the +characters that follow the space after : enter means to type what is +described (if anything) & then press the Enter key (at right) enter: +means to type the characters that follow the space after : & then press +Enter insLaserK40 Instructions for the K40 laser cutter (cheap Chinese +laser cutter) - Nov. 1, 2019 1. Make sure the laser cutter POWER switch +(top panel) is in the OFF position (bottom side down) 2. Make sure the +SAFETIES switch on the laser cutter is in the ON position 3. Make sure +the float switch with 2 ping-pong balls in it is in the bucket in the +cabinet under the laser cutter 4. Make sure the pump is in the bucket 5. +Make sure the end of the 2nd plastic tube (drain line from laser tube) +is in the bucket 6. If water in the bucket does not push the ping-pong +balls up so they close the switch at the top of the float switch add +water until they do (note that the switch is finicky & it may later be +necessary to jiggle the ping-pong balls to get the switch to close) 7. +Make sure the pump is plugged into the power strip at the top right in +the cabinet 8. Make sure the exhaust fan is plugged into the power strip +9. Make sure the computer is plugged into the power strip 10. Make sure +the power cord for the laser cutter (coming down into the right rear of +the cabinet) is plugged into the power strip 11. Make sure the other end +of the power cord is plugged into the back (right side) of the laser +cutter 12. Plug (an extension cord is needed) the white power cord +coming out of the top of the cabinet under the laser cutter into the +long power strip to right of the KILL SWITCH ULTIMAKER WORKBENCH LASER +CUTTER sign 13. Switch on the power strip to right of the KILL SWITCH +sign 14. Switch on the power strip in the cabinet under the laser cutter +15. Make sure the exhaust fan is running 16. Lift the 2nd plastic tube +slightly out of the bucket, make sure water is flowing out of it, & +replace it 17. Place the material to be cut in the laser cutter 18. +Switch the laser cutter POWER switch ON 19. For manual operation set the +CONTROL switch to MANUAL 20. Turn the LASER CURRENT knob all the way +counterclockwise (off) 21. Push the LASER switch to the FIRE position +(it will only fire as long as it is held there) 22. Turn the LASER +CURRENT knob clockwise until the LASER CURRENT meter reaches the correct +level (maximum is about 15mA) 23. When finished turn the LASER CURRENT +knob all the way counterclockwise 24. Turn the POWER switch OFF 25. Turn +off the power strip under the laser cutter 26. Unplug the extension cord +from the power strip to right of the KILL SWITCH sign insLaserK40maint +To adjust the stationary mirrors - Oct. 8, 2019 1. If moving part of the +mirror forward loosen the nuts on the bolts on the back of the mount 2. +Loosen the bolt on the side of the mount that part of the mirror is to +be moved towards 3. Turn the bolt on the opposite side clockwise to move +part of the mirror in the desired direction 4. Repeat steps 1-3 if +needed 5. Tighten the bolts on the side the mirror was moved towards 6. +Tighten the other bolts 7. Tighten the nuts on the bolts on the back To +control the Smoothieboard directly from a tabletop computer using +minicom (minicom should already be installed; if after step 7 the +display states bash: minicom: command not found see +wiki.hacdc.org/index.php/Documentation-Tabletop_computers for +instructions) - Dec. 26, 2019 1. Unplug the laser cutter computer USB +cable from the back of the Smoothieboard 2. Connect another USB cable +from the tabletop computer to the connector in the back of the +Smoothieboard 3. Turn on the computer & log in (see +Documentation-Tabletop_computers for detailed instructions) 4. Click on +Applications at top left 5. Move over System Tools 6. Click on MATE +Terminal in window that just appeared 7. Enter: minicom 8. To show +instructions for controlling the Smoothieboard enter: help 9. When +finished disconnect the tabletop computer USB cable from the +Smoothieboard 10. Reconnect the USB cable from the laser cutter computer +to the Smoothieboard To control the Smoothieboard directly from a +tabletop computer using screen - Dec. 26, 2019 1. Unplug the laser +cutter computer USB cable from the back of the Smoothieboard 2. Connect +another USB cable from the tabletop computer to the connector in the +back of the Smoothieboard 3. Turn on the computer & log in (see +Documentation-Tabletop_computer for detailed instructions) 4. Click on +Applications at top left 5. Move over System Tools 6. Click on MATE +Terminal in window that just appeared 7. Enter: screen /dev/ttyACM0 8. +If the display does not state bash: screen: command not found then skip +steps 9-12 9. Enter: sudo apt install screen 10. If the display shows +\[sudo\] password for hacdc: then enter standard password 11. If the +display asks Do you want to continue? \[Y/n\]: then enter: y 12. Enter: +screen /dev/ttyACM0 13. For instructions type Ctrl a? (hold down Ctrl & +press a, then release both before typing ? (note that characters entered +after Ctrl a will not appear on the display)) 14. To show instructions +for controlling the Smoothieboard enter: help 15. When finished +disconnect the Smoothieboard from the tabletop computer USB cable 16. +Reconnect the USB cable from the laser cutter computer to the +Smoothieboard insLaserK40spec Specifications - K40 power supply - Oct. +8, 2019 The power supply for the K40 (cheap Chinese laser cutter) is a +"4-6-4" type with a 6-terminal connector in the center with a 4-terminal +connector on both sides. L1=G - ground (typically connected to negative +terminal of laser tube, in this case thru a current meter (laser current +on front panel)) L2=G L3=AC - one side of 120VAC power L4=AC - other +side of 120VAC power C1=G C2=P - enable - ground to allow laser to fire +C3=L - laser - ground to fire laser C4=G C5=IN - intensity - analog +laser power control (i.e., in manual mode) C6=5V R1=24V R2=G R3=5V +R4=L - laser - ground to fire laser Note that C3 & R4 are connected on +the power supply PC board as are C6 & R3. The laser power can be +controlled using L by PWM. Note: Diode D15 has been disconnected because +it was leaky; it was only used for an on-board TEST button which is +never used so there is no particular reason to replace it. \ No newline at end of file diff --git a/Documentation-Laser_cutter-K40_power_supply.md b/Documentation-Laser_cutter-K40_power_supply.md new file mode 100755 index 0000000..57d1598 --- /dev/null +++ b/Documentation-Laser_cutter-K40_power_supply.md @@ -0,0 +1,2 @@ +1. REDIRECT [Documentation-Laser + cutter-K40](Documentation-Laser_cutter-K40 "wikilink") \ No newline at end of file diff --git a/Documentation-Tabletop_computers.md b/Documentation-Tabletop_computers.md new file mode 100755 index 0000000..0f165f0 --- /dev/null +++ b/Documentation-Tabletop_computers.md @@ -0,0 +1,93 @@ +Using the tabletop computers Terms - move over means to use the touch +pad to move the arrow on the screen to the described position click on +means to move the arrow to the described position & then press either +click button type means to type what is described type: means to type +the characters that follow the space after : enter means to type what is +described (if anything) & then press the Enter key (at right) enter: +means to type the characters that follow the space after : & then press +Enter To use a tabletop computer (should be stored on the Tabletop +Computer cart to the right of the laser cutter; make sure there is a USB +drive glued into the back) - Dec. 26, 2019: C.1 Plug the round connector +of a tabletop computer power supply (19-20V; they should be on the cart +next to the computers) into the hole at the left of the back of the +computer. C.2 Plug the power supply into an outlet that has power. C.3 +Slide the silver latch at the front of the computer to the right & open +the computer. C.4 Push the power button in the right end of the hinge (3 +green lights should briefly come on at the center back of the computer, +then the left one should come back on & stay on) C.4 If the display +states Strike the F1 key to continue then press F1 (at left of back) C.5 +At Login: (it takes a long time to appear) enter: hacdc C.6 At Password: +enter standard password To use the computer for general use (Linux) - +Dec. 12, 2019: G.1 Click on Applications (top left of display) G.2 Move +over System Tools (at bottom of new list) G.3 Click on MATE Terminal +(middle of 2nd list; new window should appear) To use the computer to +access the internet - Dec. 12, 2019: I.1 Click on Applications (top left +of display) I.2 Move over Internet (middle of new list) I.3 Move over +directly to the right to Chromium Web Browser in the 2nd list I.4 Click +on the desired web browser To shut off the computer - Dec. 12, 2019: S.1 +Click on System (top left of display) S.2 Click on Shut Down on new list +S.3 To speed things up click on Shut Down at bottom right of new window +If the computer isn't responding at all hold down the power button in +the right end of the hinge until it shuts off To update the software - +Feb. 23, 2020: U.1 In a MATE terminal (see To use the computer for +general use (Linux) above) enter: sudo apt update U.2 If the terminal +displays \[sudo\] password for hacdc: then enter standard password U.3 +Optional - to see what updates exist enter: sudo apt list --upgradable +\| most U.4 Optional - to see how much space is available on the USB +drive enter: df -h U.5 enter: sudo apt full-upgrade U.6 When the +terminal states how much additional disk space will be used and asks Do +you want to continue? \[Y/n\] enter: y U.7 If at any point the terminal +states that a file has been modified and asks what you would like to do +about it (keep your currently-installed version is preselected) note the +file name and enter U.8 If the terminal states that xdm must be stooped +before the upgrade & If you want to interrupt the upgrade now and +continue later, please answer No to the question below. \ (\ +should be preselected) enter U.9 If the terminal asks Do you want to +upgrade glibc now? \ \ (Yes should be preselected) enter U.10 +If the terminal states Display manager must be restarted manually... +(\ should be preselected) enter U.11 If the terminal states The +grub boot loader was previously installed to a disk that is no longer +present, ... & asks for GRUB install devices: enter space (selects +first) down arrow space (selects second too) tab U.12 If the terminal +asks for any other input (an option should be preselected as the +default) enter U.13 When the update is finished enter: sudo shutdown -r +now U.14 If the graphical display (not just a text display like the +terminal) reappears (it takes a while) after logging in skip steps +U.15-U.18 U.15 enter: sudo apt-get purge xserver-xorg-video-intel U.16 +sudo shutdown -r now U.17 sudo apt-get install xserver-xorg-video-intel +U.18 sudo shutdown -r now U.19 In a MATE terminal enter: emacs -nw +update.txt U.20 Enter or change the date of the update U.21 Enter or +change the list of files that weren't updated because they had been +modified (see step U.7) U.22 Type Ctrl x Ctrl s Ctrl x Ctrl c To install +minicom - Dec. 23, 2019: M.1 If a MATE Terminal is already displayed +then skip steps M.2-M.4 M.2 Click on Applications at top left M.3 Move +over System Tools M.4 Click on MATE Terminal M.5 Enter: sudo apt install +minicom M.6 If the screen displays \[sudo\] password for hacdc: then +enter standard password M.7 If the display asks Do you want to continue? +\[Y/n\]: then enter: y M.8 When hacdc@XXXXXXX:~\$ (where XXXXXXX is the +computer name) appears (it takes a while) enter: sudo minicom -s M.9 +Press down arrow twice to move highlighted line down to: Serial port +setup M.10 Enter M.11 If A - Serial Device : is /dev/ttyACM0 then skip +M.12-M.14 M.12 At Change which setting? type: a M.13 Use the Backspace +key to change /dev/modem to /dev/ttyACM0 M.14 Enter M.15 Enter M.16 +Press down arrow twice to move highlighted line down to Screen and +keyboard M.17 Enter M.18 At Change which setting? (Esc to exit) if Q - +Local echo : is no then type: q M.19 If T - Add carriage return : is no +then type: t M.20 Enter M.21 Press down arrow to move highlighted line +down to Save setup as dfl M.22 Enter (Configuration saved should appear +briefly) M.23 Press down arrow 3 times to move highlighted line to Exit +from Minicom M.24 Enter M.25 Enter: sudo usermod -G dialout hacdc M.26 +Click on System at top towards left M.27 Click on Log Out hacdc... M.28 +To speed things up click on Log Out at lower right of new window M.29 At +Login: enter hacdc M.30 At Password: enter standard password M.31 Repeat +steps M.2-M.4 M.32 emacs -nw installed.txt M.33 Add minicom (in +alphabetical order if a list already exists) M.34 Type Ctrl x Ctrl s +Ctrl x Ctrl c (always hold down the Ctrl key while pressing the +following letter) M.35 Enter minicom To rename the computer - Jan. 13, +2020: N.1 Enter: sudo -i N.2 If the display shows \[sudo\] password for +hacdc: then enter standard password N.3 cd /etc/ N.4 Enter: nano +hostname N.5 Change the name to the new name N.6 Type Ctrl x N.7 At Save +modified buffer? type: y N.8 At File Name to Write: hostname enter N.9 +Enter: nano hosts N.10 Change the name on the 2nd line to the new name +N.11 Type Ctrl x N.12 At Save modified buffer? type: y N.13 At File Name +to Write: hosts enter N.14 Enter: reboot \ No newline at end of file diff --git a/Doing_Things_in_Drupal.md b/Doing_Things_in_Drupal.md new file mode 100755 index 0000000..6ec7043 --- /dev/null +++ b/Doing_Things_in_Drupal.md @@ -0,0 +1,43 @@ +This page collects information about how to use +[hacdc.org](http://hacdc.org/)'s copy of Drupal. To use the website to +create content, you need to sign up for an account on the drupal page, +activate your account (follow instructions in the email), and then bug +Will Gibb to make sure your account is setup as a member. + +# Creating a blog post + +The site's blog content is driven by content nodes. To add something to +it, [create a new story "node"](http://hacdc.org/node/add/story) and +fill it out the page appropriately. Give your story a title and content. +You can add content in HTML, Wordpress or drupal wiki markup langauge. +You have the option of splitting your post into two parts, with the +"Split summary at cursor" option, if you have a longer post than you +feel is appropriate for the main site. + +Your post will automatically be sent to the HacDC twitter feed. You can +disable this (why would you?) or change the title. You can use !url, +!url-alias, !tinyurl, !title and !user as replacement text. + +You can also attach images to your post and use them inline. You can +also post images to the wiki. To do that, you can use the HTML +tag, and set your input to "Full HTML". You can read more about how to +use the img tag here \[syntax\] + and here \[examples\] + Poke around the drupal +site and see how other authors have used the img tag in their posts, to +do positioning. Katie has some pretty good examples. + +# Adding an Event + +Drupal's [calendar](http://hacdc.org/date-browser) is driven by content +nodes. To add something to it, [create a new event +"node"](http://hacdc.org/node/add/event) and fill it out. That node is +what the calendar will link to. If you select "Promoted to front page" +(under "Publishing options") it will also be published to the front +page, as a blog post like thing. **Note:** Please include an end time as +well as a start time, even if it's just approximate. Otherwise chaos +will ensue as different pieces of software assume different things. + +Once you have created an event, it may take an hour or more for it to +appear in the web side's sidebar and in the Google Calendar version of +our calendar. \ No newline at end of file diff --git a/Donating_Hardware.md b/Donating_Hardware.md new file mode 100755 index 0000000..436758b --- /dev/null +++ b/Donating_Hardware.md @@ -0,0 +1,110 @@ +# Draft + +## What should you donate? + +- Yes, if you see it on our WishList +- Always ask before bringing in a donation as we have limited space and + cannot dispose of items in a speedy manner due to our disposal policy. + We can help you find a home for anything we can't take. + +### if it is a computer + +- No if it: + - was made before dinosaurs walked the earth + + + +- Else yes if: + - you could use it as your primary desktop machine \<=2 years ago + - you could use it as a PC gaming machine \<=8 years ago + + + +- Else: + - If it is a server: goto [server + section](#If_It_Is_A_Server "wikilink") + - If it is a laptop: goto [laptop + section](#If_It_Is_A_Laptop "wikilink") + +#### If It Is A Server + +- No if it: + - sounds like a commercial air liner taking off (we can't have those + in places people are in and that is everywhere for us). + + + +- Yes if it: + - has multiple core and or sockets + - has lots of ram slots (preferably with \>2GB of ram in them) + +#### If It Is A Laptop + +- No if: + - it has no power supply + - it cannot power on + - it has no usb or ethernet ports (they must work as well) + - it has no battery, unless it is a "desktop replacement" + + + +- Yes if: + - it works but has no screen, keyboard, or mouse + +### Cell Phones + +#### Smart Phones + +- Yes + +#### Dumb Phones + +- No if (see our list of [charities](Alt_Donation_Charities "wikilink") + in the area that accept mobile phones): + - it is CDMA phones (Verizon, Sprint, Cricket, Ting Wireless) + - it doesn't power on + + + +- Yes if: + - it is from a GSM based carrier + +### Parts + +- No if: + - they are in a giant mixed box/bag (feel free to sort them then + continue with the list :P) + - you won't put them where they belong (a member can help you if you + need) + - they are coated in a known or unknown substance that is gooy or + sticky, and not supposed to be there :P + + + +- Else yes if: + - they don't match anything in the "no" section + +### Software + +- Ask bod@hacdc.org if: + - it is not + [FOSS](http://en.wikipedia.org/wiki/Free_and_open-source_software) + - it requires a paid license to use at all (even if it's part of the + donation) + +### Procedures + +### Donations + +If you would like to donate items to HacDC please email bod@hacdc.org +and we can help you decide what to donate and if needed where things +that we can't take can go. When the donation arrives at the space each +item should be labeled with a date of arrival and put where it belongs. +A member can help you find where that is. + +#### Give Aways + +If you would like to just give away free stuff please label each item +with the date it entered HacDC and that it is a "Give Away" so we can +dispose of them if no one wants them after a (currently unspecified) +amount of time. \ No newline at end of file diff --git a/Donation.md b/Donation.md new file mode 100755 index 0000000..d84e03d --- /dev/null +++ b/Donation.md @@ -0,0 +1,14 @@ +## Donating Money + +www.hacdc.org/support + +## Donating Stuff + +We're always on the lookout for donations. Put what you've got to good +use! Donate it to HacDC! + +E-mail if you have questions about specific items that +do not appear here, or to arrange specific donation times. Otherwise, +please stop by any of our public events with your donations! + +[Category:Supporting_HacDC](Category:Supporting_HacDC "wikilink") \ No newline at end of file diff --git a/Door_Entry_Project.md b/Door_Entry_Project.md new file mode 100755 index 0000000..debd2e2 --- /dev/null +++ b/Door_Entry_Project.md @@ -0,0 +1,56 @@ +Note that, as a point of distinction from the [Physical Access Control +Project](Physical_Access_Control_Project "wikilink"), this project's +scope includes the whole [church](http://www.saintstephensdc.org/), its +staff and tenants. + +There was a meeting in the space at 1pm on Saturday, 6 December 2008 to +start prototyping the Asterisk back-end. + +Discussion is taking place on [the red door mailing +list](http://hacdc.org/mailman/listinfo/reddoor_hacdc.org). + +# Current plans + +As per a discussion Nate had with Brian on Tuesday, December 16th, here +are the current plans: + +Requirement: the person doing the unlocking must see the guest before +opening the door. So, unlocking by phone is not permissible. Either get +video on screen, or just walk downstairs and see 'em through the window. + +Outside: All that's needed is a camera, a keypad, and a place Brian can +stick a printed directory page. Two-way audio (speakerphone at the +outside panel) would be nice too but isn't a strict requirement. The +video will be served to the internet over St. Stephen's internet +connection. + +When a guest dials a suite number: (which will be a 1 or 2 digit number, +probably followed by the star or pound key) The system should place a +call over the PSTN to ring whoever's associated with that space. The +suite-number-to-phone-number lookup table will be maintained by Brian. + +When the phone is answered: It'd be nice to have two-way audio to the +panel, so the answerer can talk to the guest and ascertain who they are. +BUT UNLOCKING CANNOT BE DONE BY PHONE. See "requirement", above. + +To unlock the door: The answerer (or anyone else) can just walk +downstairs and open the door, OR pull up video over the web, and after +having visually confirmed the guest's identity, the answerer can enter +their PIN on the website and unlock the door that way. So the webserver +will need a copy of the PIN database, or will need to forward all +attempts to some other device to try them. + +Any authorized user can just enter their PIN at the keypad and let +themself in, of course. (Yeah, I know that's not a word. Bite me, +English language!) + +Caveat: The answerer could just tell their PIN to the guest over the +phone, couldn't they? To prevent this, and enforce the face-view +requirement, perhaps the keypad could refuse to accept PINs for a while +after dialing a suite number. + +Ideally: Video from the panel camera will be split, so it can be +digitized by the web video server AND by the surveillance recorder in +Brian's office, which is NOT connected to the internet. + +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/Door_switch_mounting_block.md b/Door_switch_mounting_block.md new file mode 100755 index 0000000..9d4974b --- /dev/null +++ b/Door_switch_mounting_block.md @@ -0,0 +1,60 @@ + //Front Door Switch Holder + //Mark 5 + //James Sullivan + //4/28/17 + //OpenSCAD version 2015.03-1 + //HacDC, cheap Chinese laser, K40, 40 watt + //This part holds 2 microswitches to shut down the laser power supply if the cutting chamber door or the control equipment chamber door is opened + thick=5; //thickness of part + metal=1; //metal thickness + slot=16; //width of slot in mount, width of flange on machine, full width outside to outside! + //height=16; //z distance of mount, extrusion height, installed length + pin=1.25; //switch hold radius + pitch = 10 ; //switch hole center-center distance + ph = 9; //pin height, centerline of screw holes above flange top + height = pitch + 6 * pin; //z distance of mount, extrusion height, installed length + wr=4; //wrench size for nuts width across flats + nh=1; //nut height, depth of nut sockets + lfw=15; // left flange width, distance from left face of machine flange to right face of left mounting post + nhl = slot + lfw + 2 * nh; //nut hole length + tw=slot+lfw+2*thick; //total width + $fn=40; + difference(){ + union(){ + translate([-lfw,0,0]) cube([tw,thick,height]); //top horizontal + translate([thick+metal,-thick-metal,0]) cube([slot+thick-metal,thick,height]); //lower horizontal + translate([-lfw,0,0]) cube([thick,ph+3*pin,height]); //far left vertical + translate([0,-metal-thick*1.5,0]) cube([thick,metal+thick*2.5,height]); //left vertical + translate([thick+metal,-1.5*thick-metal,0]) cube([thick,thick*1.5,height]); //center vertical + translate([slot+thick,-metal-thick,0]) cube([thick,metal+thick+ph+3*pin,height]); //right vertical + translate([0,0,height/2]) cube([thick*2,thick*2,height],center=true); //fillet material + } + translate([-1.5*thick-lfw,ph,(height-pitch)/2]) rotate([0,90,0]) cylinder(r=pin,h=tw+2*thick); //bolt hole + translate([-1.5*thick-lfw,ph,(height+pitch)/2]) rotate([0,90,0]) cylinder(r=pin,h=tw+2*thick); //bolt hole + translate([nhl/2-lfw+thick-nh,ph,(height-pitch)/2]) union(){ //nut sockets + cube([nhl,wr/sqrt(3),wr],center=true); + rotate([120,0,0]) cube([nhl,wr/sqrt(3),wr],center=true); + rotate([240,0,0]) cube([nhl,wr/sqrt(3),wr],center=true); + } + translate([nhl/2-lfw+thick-nh,ph,(height+pitch)/2]) union(){ //nut sockets + cube([nhl,wr/sqrt(3),wr],center=true); + rotate([120,0,0]) cube([nhl,wr/sqrt(3),wr],center=true); + rotate([240,0,0]) cube([nhl,wr/sqrt(3),wr],center=true); + } + translate([-thick,-thick,-height/2]) cylinder(r=thick,h=height*2); //corner fillet + translate([thick/2-lfw,thick/2,-height/2]) rotate([0,0,180]) difference(){ //left round + cube([thick,thick,height*2]); + cylinder(d=thick,h=height*2); + } + translate([slot+thick*3/2,-thick/2-metal,-height/2]) rotate([0,0,-90]) difference(){ //right round + cube([thick,thick,height*2]); + cylinder(d=thick,h=height*2); + } + } + +
+ +
File:Fdsh-v5.stl
+
+ +[Category:CheapChineseLaser](Category:CheapChineseLaser "wikilink") \ No newline at end of file diff --git a/Downloading_Byzantium.md b/Downloading_Byzantium.md new file mode 100755 index 0000000..a49fee5 --- /dev/null +++ b/Downloading_Byzantium.md @@ -0,0 +1,105 @@ +[Byzantium Project](http://byzantium.virtadpt.net/byzantium.pubkey) +public PGP key. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Version

Codename

Released

Fitness*

Torrent

Direct DL

PGPSign

Comments

0.1a

Scarab

2012/01/11

0

    +
  • current version.
  • +
+

*EXTREME ALPHA

+ +\`\*Fitness is a score from 0 to 5 indicating the fitness of a release +for use as an **Emergency** networking aid. Do not let this put you off +downloading it to try it out or help us by finding and reporting bug and +feature requests. In order to make it to a level 5 fitness we need as +many people to use it as possible so we are more likely to find bugs +before they end up causing trouble for people who expect our livedistro +to work in an emergency. + +- 0 = completely unfit (likely to do more harm than good in any + emergency) +- 1 = still mostly unfit (unless you are an active developer on the + project you won't likely benefit from this in an emergency) +- 2 = works well enough to provide basic connectivity with minimal + configuration. (yeh! we're a little bit fit now! which is not to say + we're fit enough to run a marathon, so don't expect to be able to do + much without a regular internet connection or some sysadmin skills) +- 3 = in addition to qualifying for level 2 fitness this has basic + intermesh services like a built in chat server, microblog server and + similar user oriented services ready to run with minimal + configuration. (still needs a service to tell other mesh users and end + users about the services on the mesh, aka our DNSless service + distribution). +- 4 = fully featured and works well enough to be used in friendly + network conditions (you aren't in jeopardy of getting + arrested/attacked for using it for things that are considered legal + where you are using it) +- 5 = fully featured and setup with best effort secure defaults and + possibly other security features (this by no means should suggest that + it is safe to use in an environment where there is a government or + government like entity is actively trying to suppress network + connectivity by means other than denial standard network connectivity) +- 6 = if we find the magic sauce that can make it super hard to find + users if you aren't a user and reasonably impossible to detect or + decrypt traffic not sent to you, then you will see this magic number + as the fitness score. Until then it is the metaphorical unicorn. It + doesn't exist. + +You may have noticed that the fitness list doesn't ever say it's safe to +use in a hostile network. That's because it won't likely ever be safe to +use in a hostile network. The best we can do is to set reasonably secure +defaults and policies and try to educate users on internet hygiene so +they don't let people rub malware in their face if they go someplace we +can't protect them. \ No newline at end of file diff --git a/Downloading_Byzantium_testlayout.md b/Downloading_Byzantium_testlayout.md new file mode 100755 index 0000000..6d6dfa6 --- /dev/null +++ b/Downloading_Byzantium_testlayout.md @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Version

Codename

Released

Torrent

Direct DL

PGPSign

Comments

0.1a

Scarab

2012/01/11

S3

S3

    +
  • current version.
  • +
+

*EXTREME ALPHA

\ No newline at end of file diff --git a/Draft_3d_printing_class_syllabus.md b/Draft_3d_printing_class_syllabus.md new file mode 100755 index 0000000..0956510 --- /dev/null +++ b/Draft_3d_printing_class_syllabus.md @@ -0,0 +1,31 @@ +**Session I: I have a printer, now what?** + +Brief overview of process: + +`   What is 3d printing` +`   Slicers and gcode` +`   .stl files and cads` +`   .stl files and downloads (design sources like Thingiverse)` +`   Scanners` + +Working with designs: + +`   What kind of files can I edit and how do I find them?` +`   Creative Commons license` +`   Customizations` +`   Creating your own basic designs` + +Cad tools: + +`   Gui-based - TinkerCad` +`   Parametric -  OpenScad, Implicit` +`   Hybrids` + +How do I convert the file so I can print it on a different printer? What +materials can I print in? Create simple designs Small project, like a +keychain charm or something else tiny but customizable + +**Before class:** Create an account on TinkerCAD Create an account on +Thingiverse + +**Bring your own laptop!** \ No newline at end of file diff --git a/Drupal_wiki.md b/Drupal_wiki.md new file mode 100755 index 0000000..4e1fa95 --- /dev/null +++ b/Drupal_wiki.md @@ -0,0 +1,5 @@ +## Desired Features + +- RSS feeds + - recent changes +- [categories](http://www.mediawiki.org/wiki/Help:Categories) \ No newline at end of file diff --git a/Duties_of_the_Secretary.md b/Duties_of_the_Secretary.md new file mode 100755 index 0000000..0b5cc18 --- /dev/null +++ b/Duties_of_the_Secretary.md @@ -0,0 +1,42 @@ +Here be the UNofficial duties of the Secretary.. well, in the eyes of +the current (Jan '14) secretary.. + +The only guidance I (David Mc.) was given upon taking this position was +to take notes at the meetings. Having been in this position for a while, +I'm certain that was an inadequate description. So here's a list of +things I think the Secretary should be responsible for.. + +- Primary, but not sole, 'handler' for incoming emails on info@hacdc.org + +:\* Mostly this means either deleting things or forwarding them on to +the Blabber list.. sometimes it means longer conversations, particularly +with other groups around the world trying to start a hacker-space. + +:\* Always be positive and promote openness, learning, and growth. + +- Governance of the wiki + +:\* Not necessarily watching the wiki software, but definitely taking +lead on the wiki's flow and standards + +- NEW: no one ever mentioned this, but I think it's a good idea for the + Sec to keep the calendar updated with happenings not only from within + HacDC, but from the general community + +:\* ..actually I'm just starting this now (Jan '14), it never occurred +to me before, but I think it'll help people engage. + +- Yes, keep the minutes of the meetings.. b/c no one else will, and it + sounds like we should. +- While I have never had to say anything.. keep an eye on what + conversations are in Members vs Blabber. Roughly, I default to + Blabber, unless it's something that only members could act upon. +- Never forget that the Board's primary mission is to keep out of the + way. +- Just in case ya' missed it, Board members are expected to participate + in the monthly meetings. I'd say missing one out of the year is ok. +- There's a bit of confusion regarding new members.. The Sec. is + supposed to get their email and ID, but the Treasurer is the one that + needs this info. This really hasn't been worked out. +- Keep an eye on who is in the various groups, specifically Members and + BOD. Remove those that have left. \ No newline at end of file diff --git a/Dynamic_symlinks_for_3D_printers.md b/Dynamic_symlinks_for_3D_printers.md new file mode 100755 index 0000000..2400633 --- /dev/null +++ b/Dynamic_symlinks_for_3D_printers.md @@ -0,0 +1,138 @@ +### Executive Summary + +From the 3d printing server (reachable from the network via +pronterhost.local and pronterhost.hacdc.org) 3d printers can be +referenced by /dev/TAZ, /dev/MINI, and /dev/ROSTOCK. (added by Tom +9/9/2019) + +### The problem + +When powering cycling computers and various USB devices attached to said +computer, one does not necessarily get the same `/dev/ttyACM...` +associated with the same physical device every time. This makes it a +royal pain in the ass to use `pronsole` or other applications that need +to be explicitly told what to connect to, because each time you want to +connect to a specific printer you have to do somersaults to determine +the ACM number du jour for the printer (or other device) you want. + +### The solution + +So, on the artist currently known as `pronterhost.local`, as of +2019.01.21... Julia had previously created +`/etc/udev/rules.d/80-printer-names.rules`, the contents of which were: + + # This file was automatically generated by the /lib/udev/write_net_rules + # program, run by the persistent-net-generator.rules rules file. + # + # You can modify it, as long as you keep each rule on a single + # line, and change only the value of the NAME= key. + + SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="7403431393835160C070", SYMLINK+="MINI" + # old + #SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="6403636363835110D101", SYMLINK+="TAZ" + SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="640363534303516070A1", SYMLINK+="TAZ" + SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="64032373833351906091", SYMLINK+="ROSTOCK" + +Following directions at [How to write udev Rules for USB +Devices](https://weininger.net/how-to-write-udev-rules-for-usb-devices.html), + +`$ ``lsusb` +`Bus 005 Device 006: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader` +`Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub` +`Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub` +`Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub` +`Bus 002 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard` +`Bus 002 Device 002: ID 27b1:0001` +`Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub` +`Bus 001 Device 003: ID 27b1:0001` +`Bus 001 Device 002: ID 27b1:0001` +`Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub` + +I'm going to take a guess at the new TAZ being one of the three lines +above which contain no human-readable vendor information (while the +other two lines will correspond to the known 3D printers in the space -- +the ROSTOCK and MINI): + +- Bus 002 Device 002: ID 27b1:0001 +- Bus 001 Device 003: ID 27b1:0001 +- Bus 001 Device 002: ID 27b1:0001 + +Testing two of them (Bus 001 Devices 003 and 002) yielded: + +`$ ``udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/003) | \` +`   egrep "(7403431393835160C070|6403636363835110D101|640363534303516070A1|64032373833351906091)"` +`   ATTR{ID_SERIAL}=="UltiMachine__ultimachine.com__RAMBo_64032373833351906091"` +`   ATTR{ID_SERIAL_SHORT}=="64032373833351906091"` + +`$ ``udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/002) | \` +`   egrep "(7403431393835160C070|6403636363835110D101|640363534303516070A1|64032373833351906091)"` +`   ATTR{ID_SERIAL}=="UltiMachine__ultimachine.com__RAMBo_7403431393835160C070"` +`   ATTR{ID_SERIAL_SHORT}=="7403431393835160C070"` + +Note that the first `udevadm ...` yields a serial number that matches +Julia's serial number for the ROSTOCK and the second `udevadm ...` +matches that of the MINI. + +Testing Bus 002 Device 002 did not match any of the existing numbers but +did provide a serial number with RAMBo in the name. Looking a the entire +output of the command, + +`$ ``udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/002)` + +`Udevadm info starts with the device specified by the devpath and then` +`walks up the chain of parent devices. It prints for every device` +`found, all possible attributes in the udev rules key format.` +`A rule to match, can be composed by the attributes of the device` +`and the attributes from one single parent device.` + +`  looking at device '//devices/pci0000:00/0000:00:1d.1/usb2/2-1':` +`    KERNEL=="2-1"` +`    SUBSYSTEM=="usb"` +`    DRIVER=="usb"` +`    ATTR{SUBSYSTEM}=="usb"` +`    ATTR{DRIVER}=="usb"` +`    ATTR{DEVTYPE}=="usb_device"` +`    ATTR{PRODUCT}=="27b1/1/1"` +`    ATTR{TYPE}=="2/0/0"` +`    ATTR{BUSNUM}=="002"` +`    ATTR{DEVNUM}=="002"` +`    ATTR{MAJOR}=="189"` +`    ATTR{MINOR}=="129"` +`    ATTR{USEC_INITIALIZED}=="3639901"` +`    ATTR{ID_VENDOR}=="UltiMachine__ultimachine.com_"` +`    ATTR{ID_VENDOR_ENC}=="UltiMachine\x20\x28ultimachine.com\x29"` +`    ATTR{ID_VENDOR_ID}=="27b1"` +`    ATTR{ID_MODEL}=="RAMBo"` +`    ATTR{ID_MODEL_ENC}=="RAMBo"` +`    ATTR{ID_MODEL_ID}=="0001"` +`    ATTR{ID_REVISION}=="0001"` +`    ATTR{ID_SERIAL}=="UltiMachine__ultimachine.com__RAMBo_6403335373035101E171"` +`    ATTR{ID_SERIAL_SHORT}=="6403335373035101E171"` +`    ATTR{ID_BUS}=="usb"` +`    ATTR{ID_USB_INTERFACES}==":020201:0a0000:"` + +And so, the second `TAZ` line in +`/etc/udev/rules.d/80-printer-names.rules` gets commented out and + + SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="6403335373035101E171", SYMLINK+="TAZ" # Current + +gets appended to the file (and the lines, rearranged). The end result: + +`# You can modify it, as long as you keep each rule on a single` +`# line, and change only the value of the NAME= key.` +`#` +`# Last modified by Ubuntourist  2019.01.21 (kjc) ` +`#` +`# 2019.01.21 KJC - Updated the serial number of the TAZ to our current beastie` +`#` + +`#SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="6403636363835110D101", SYMLINK+="TAZ"      # Oldest` +`#SUBSYSTEM=="tty", KERNEL=="ttyACM?", ATTRS{serial}=="640363534303516070A1", SYMLINK+="TAZ"      # Older (Julia's)` +`SUBSYSTEM=="tty",  KERNEL=="ttyACM?", ATTRS{serial}=="6403335373035101E171", SYMLINK+="TAZ"      # Current` +`SUBSYSTEM=="tty",  KERNEL=="ttyACM?", ATTRS{serial}=="64032373833351906091", SYMLINK+="ROSTOCK"` +`SUBSYSTEM=="tty",  KERNEL=="ttyACM?", ATTRS{serial}=="7403431393835160C070", SYMLINK+="MINI"` + +Reboot (because I'm too lazy to figure out which service(s) I need to +restart) and done! I hope. + +[Category: 3D Printers](Category:_3D_Printers "wikilink") \ No newline at end of file diff --git a/EPSON_REVERSE_ENGINEERING.md b/EPSON_REVERSE_ENGINEERING.md new file mode 100755 index 0000000..c0bf913 --- /dev/null +++ b/EPSON_REVERSE_ENGINEERING.md @@ -0,0 +1 @@ +Instruction for how to reverse engineering a epson printer step by step \ No newline at end of file diff --git a/Effective_Communication.md b/Effective_Communication.md new file mode 100755 index 0000000..2d9a88b --- /dev/null +++ b/Effective_Communication.md @@ -0,0 +1,15 @@ +This is a guide. While it is part of the [:Category:Communications +Policy](:Category:Communications_Policy "wikilink"), this is meant to +act as more of a guideline for how we communicate. Everyone can improve +their communication skills, which are vital not only to our work within +HacDC, but in our careers and relationships as well. + +## Within The Group + +Show respect! + +## With the Outside World + +Show respect! + +[Category:HacDC_Culture](Category:HacDC_Culture "wikilink") \ No newline at end of file diff --git a/Electron_Tube_Class.md b/Electron_Tube_Class.md new file mode 100755 index 0000000..c2bc5e9 --- /dev/null +++ b/Electron_Tube_Class.md @@ -0,0 +1,81 @@ +## About + +Some people have made the mistake of expressing interest in electron +tubes. They're about to learn more than they bargained for. + +## News + +The first session was a great success. We covered the first item in the +syllabus and part of the second. + +The next session will feature a brief review of the first session and +finish covering the second section. I think it should be possible to +reach the section on advanced circuits. during the next session. + +I also owe you guys a tube dissection, I'll try to work that into the +next session too. + +## Schedule + +Next class: Aug 11 at 7:30 PM. + +## Silly Bus + +- Thermionic emission: From the lightbulb to the pentode. +- Fundamental circuits and coupling +- Push-pull and Phase splitting circuits +- Transformers in single-ended and push-pull. +- Advanced circuits +- Tube failure modes + + + +- Hands-on experience building a battery-powered single tube filamentary + pentode pre-amp. + + + +- Power supplies and tweaking. + + + +- What is the real secret to great sound? + +### Laboratory Supplies + +[cheap demo +pre-amp](http://www.bottlehead.com/store.php?crn=220&rn=438&action=show_detail) + +Go to \[tubedata.info\] and obtain what you think is the most +informative datasheet for the following tubes and print out a copy. -- +you need a physical copy. + +**filamentary diode** 5U4\* Optional: GZ34 / 5AR4 + +**canonical triode** 2A3 Optional: 845 + +**to explore gain versus output** 6SN7\* 6SL7\* or 12AX7 / ECC83 + +**Pentodes** 6BQ5 / EL84 Optional: KT88, EF86 + +3S4 \<\<\< absolutely required, this is the tube we're using. + +### Suggested Reading + +Radiotron Designer's Handbook 4th ed. \[www.pmillett.com\] Might have +one lying around. + +Tube Circuits for Audio Amplifiers (1-882580-03-6) features some very +elegant and practical designs. + +An Approach To Audio Frequency Amplifier Design. (1-882580-05-2) Has +some good discussions about output transformers and ultralinear design. +Then it starts out with some nice practical amps but, before long at +all, starts talking about 1,100 watt monsters with 2.5KV power supplies. + +Building Valve Amplifiers (0-7506-5695-6) is probably too practical to +be enjoyable but I have to deem it essential. His other book is +fantastic, one of the most well worn tomes in my personal library, but +get this one first. + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/Electronic_Goban.md b/Electronic_Goban.md new file mode 100755 index 0000000..b807771 --- /dev/null +++ b/Electronic_Goban.md @@ -0,0 +1,95 @@ +## Background + +[Go](http://en.wikipedia.org/wiki/Go_(board_game)) is a board game of +strategy, like chess, that is around 3000 years old and the most popular +game of it's type in the world. Before going any further, take a look at +the wikipedia page... the short version is that it's an *extremely* easy +game to learn and for every player to date beyond mastery. No computer +or algorithmic approach can beat even a moderately skilled amateur (it's +been in the crosshairs of the AI community since chess, a vastly +inferior pastime, fell with little resistance) but four year olds are +routinely taught to play. Its played on a grid, usually 19x19, but +occasionally bigger and frequently smaller for faster or educational +games (9x9 and 13x13 being the other standard sizes). The object is for +two players to try to surround as much of the board as possible by +placing immovable stones on the intersection points of the grid, the +central caveat being that stones can be captured if totally surrounded +by opposing colored stones. There are maybe two other rules, depending +on how you count, but it's beautifully simple. + +Games are played ([illustrative +picture](http://en.wikipedia.org/wiki/Image:Go-Equipment-Narrow-Black.png)) +on a board called a Goban, traditionally a very thick slab of wood with +it's own feet that sat directly on the floor, with players on opposing +sides sitting on cushions. These days you're more likely to see a table +board, which is still essentially a slab of wood. The stones range from +traditional (read: expensive) slate and shell to bottlecaps +(glass/plastic coated lead being the most common). + +## Concept + +Many clients exist to play Go on computers/handheld devices. These are +wonderful in that they can record your game in the SGF format, which is +(near) universally used by players to review their games (an important +part of getting better, often done with a teacher or opponent). They're +also handy when you're moving around, and can't set up a bunch of slick +stones on a slab of wood (trains, planes, automobiles, bicycles). For +casual games, it's nice to be able to stop and resume at any time. + +The big downside is face to face interaction. It's simply nowhere near +as enjoyable to play by passing a handheld back and forth or staring at +a computer, the latter not being particularly portable most of the time +anyway. + +So the plan would be to build something that's as close to the form +factor of a real goban, but shrunk a bit for portability, and completely +electronic. I'd say about a 30cm square (~1 foot for the unit +challenged) and no thicker than a paperback book would be a good size. +Something you can throw in a bag without hesitation. It should have as +intuitive an interface as possible, the ability to automatically score +the game, and best of all store games and export them to a computer +somehow. + +Of course, it should also have some pointless eastereggs built in... +[the game of life](http://en.wikipedia.org/wiki/Conway%27s_game_of_life) +springs to mind. + +## Implementation Ideas + +Simply but, a big array of multicolor LEDs, each one an "intersection" +on the board. 19^2, 361, of them. A glorious sight to behold. Initially +I thought it would be neat to make each LED a pushbutton, but quickly +realized that multicolor LED pushbuttons are expensive, make the whole +project orders of magnitude more difficult and would be rather fragile +(I'd be delighted if someone showed me otherwise though). So the backup +plan would be to simply have a big old grid of LEDs and a d-pad +(think... nintendo controller) to move around your "stone" on the matrix +before placing it. A five button interface, one on each side. If you use +Red/Green bicolor LEDs you can get three colors (tricky eh?): Red, +Green, and Yellow. I *think* +[these](http://www.superbrightleds.com/TriColor%20LED.htm) are true +tricolor LEDs... in the sense that you have one anode (or cathode, your +choice) per color (unfortunately they cost way too much, we'll see if +they can be found cheaper, something under \$0.30 would be nice). The +stone you're "placing" would be yellow, and upon pressing would turn +your color (based on whose turn it is, obviously). The yellow could also +be used to mark the "edge" when playing on a smaller 9x9 or 13x13 board. + +This is a project ideally suited for a microcontroller of some sort. +They're surprisingly cheap (once you factor in how much it costs to get +PIC/AVR prog hardware) and should be very easy to interface to a +computer for game data offload. Also, the algorithms for driving this +thing will be more sophisticated than I'd want to try to implement on a +PIC or AVR. Totally open to ideas here though - I've never done anything +with microcontrollers except some robot programming in C with PICs, and +then only using an existing framework. + +Driving a huge multicolor LED matrix will be... interesting. The normal +solution for a monochrome display is, as I understand it, a bunch of +shift registers. I guess for this, if you use "true" tricolor LEDs, +you'd just need twice as many shift registers. If you use bicolor LEDs, +which, as I understand it, achieve the third color by duty cycle +trickery (switching between the two colors very rapidly to blend them) +I'm not sure how you could accomplish this. Advice needed. + +[Category:Proposed_Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/ElectronicsClass.md b/ElectronicsClass.md new file mode 100755 index 0000000..c4deebc --- /dev/null +++ b/ElectronicsClass.md @@ -0,0 +1,501 @@ +# Electronics Class + +This class is targeted at the beginner who wants to learn electronics. +It would make a fine prerequisite to the [Microcontroller +Course](Microcontroller_Course "wikilink") or the +[HAMClass](HAMClass "wikilink") + +### tease + +These images form a slide show and a gestalt introduction to +electronics. In which we map the techniques available to hackers and +their surrounding requisite building blocks. + +- \[ + +My hacking started with music and production. it wasn't exacly the tech; +more for the ride. + +- [1](http://wiki.hacdc.org/images/5/5c/Wmuc_main.jpg) WMUC main studio + +Complicated behaviour arises from iteration of simple models. Learning +how to operate something like this is simpler and more subtle than it +looks. + +- [2](http://wiki.hacdc.org/images/thumb/9/99/Wheatstone.jpg/800px-Wheatstone.jpg) + wheatstone broadcast console + +Easier to see is block diagram form; a gestural view of a complex +system. WMUC recording suites and broadcast control rooms. Computing. + +- [3](http://wiki.hacdc.org/images/b/b9/Mixerschem.png) signal diagram + +Why study DC/baseband/RF electronics; anachronism? + +- [4](http://wiki.hacdc.org/images/a/a3/Roofchill.png) chill on the + roof. + +Space shuttle shots; APRS , RACES, field day. Social technical effects +require proficiency. + +- [5](http://wiki.hacdc.org/images/e/ea/W3eaxtower.png) W3EAX tower + +Small systems scale into big ones. 40,000 people at Operation ceasefire +(united for peace& justice) '05 at the national mall. Standing between +SS, Park police and thousands of protesters. + +- [6](http://wiki.hacdc.org/images/d/d7/Ceasefirestage.jpeg) ceasefire + stage +- [7](http://wiki.hacdc.org/images/3/30/Ceasefirecrowd.jpeg) ceasefire + 40k + +No always smooth sailing. + +- [8](http://images.spaceref.com/news/2003/09.06.03.noaa-n.med.jpg) mars + needs bolts + +Building whimsey. + +- [9](http://wiki.hacdc.org/images/b/bf/Dancepanel.jpeg) lightup dance + floor + +Computer control over physical objects. microcontrollers + christmas +tree lights. + +- [10](http://wiki.hacdc.org/images/f/f3/Dancectll.jpeg) dance floor + controller + +Not always smooth. Electrical compatibility != political compatability + +- [11](http://wiki.hacdc.org/images/2/2c/Hhr.png) hhr - phear the + transaxle + +More small systems iterated. + +- [12](http://wiki.hacdc.org/images/c/cc/Igniterschem.jpeg) fireworks + diagram + +DIY Ignition source in Berlin. in a pinch you don't need a parts +catalog. + +- [13](http://wiki.hacdc.org/images/9/91/Igniterface.jpeg) igniter + controller + +Apologies to Dakami + +- [14](http://wiki.hacdc.org/images/d/d1/Fireworkscrates.jpeg) fireworks + crates + +Simple systems, RC control, Robots and igniters. + +- [15](http://2.bp.blogspot.com/_KqHQ-3WDqyk/SFqH25qqRwI/AAAAAAAAAS0/sJ2S8ppcBWQ/s1600-h/1055943372_295788412e.jpg) + wm greek fire + +Recently robotics have become accessible to experimenters. Bluto cuts, +welds and hugs. + +- [16](http://wiki.hacdc.org/images/4/47/Cadfab.jpg) Welding robots! + +## Required Materials + +(see also: our [Suppliers page](Suppliers "wikilink")) +---- Digital_Multimeter.jpgAnalog_Multimeter.jpg + +- Multimeter \$4 + - [Source: Harbor + Freight](http://www.harborfreight.com/7-function-digital-multimeter-92020.html) + +------------------------------------------------------------------------ + +
+ +
Soldering_iron.jpg
+
+ +- Soldering Iron (25-30w) \$10 + - [Source: Harbor + Freight](http://www.harborfreight.com/30-watt-120-volt-soldering-iron-47887.html) + +------------------------------------------------------------------------ + +
+ +
Solder.jpg
+
+ +- Solder ( 22ga ) + - [Source: Harbor + Freight](http://www.harborfreight.com/lead-free-rosin-core-solder-95861.html) + - [Source: Radio + Shack](http://www.radioshack.com/product/index.jsp?productId=2062712) + - Or ANYWHERE, really. + +------------------------------------------------------------------------ + +
+ +
Breadboard.jpg
+
+ +- Bread Board ( or [AshClassBoard](AshClassBoard "wikilink") ) \$10 + - [Source: + Mouser](http://mouser.com/ProductDetail/BusBoard-Prototype-Systems/BB400/?qs=sGAEpiMZZMskUkxWo/qA8g6E2/%252b0L/2p) + - [Source: + Digi-Key](http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=438-1045-ND) + +------------------------------------------------------------------------ + +- wire 24ga + +------------------------------------------------------------------------ + +- 30ga solid core wire + +------------------------------------------------------------------------ + +- Resistors 10kohm + +------------------------------------------------------------------------ + +- variable resistor 10kohm linear \$1 + +------------------------------------------------------------------------ + +- switch + [17](http://www.mouser.com/search/ProductDetail.aspx?qs=JTMHOUw%252b%2fhkyoxmWRloCXw%3d%3d) + +------------------------------------------------------------------------ + +- leds (various) + +------------------------------------------------------------------------ + +- capacitor 470uf (ish) + [18](http://www.mouser.com/Search/ProductDetail.aspx?qs=Dj1PTMaP5uJBsuYHd%252b9oGQ%3d%3d) + +------------------------------------------------------------------------ + +- pn2222 transistor \$.03 + +------------------------------------------------------------------------ + +- 1/8 male phono jack + +`Read The Fine Data Sheet:  They hide secrets in the documentation.` + +## Metering + +`There are many like it but this one is mine.` + +- Naming of parts +- Should be a VOM - Volt Ohm Meter + - metering modes + - restistance - Ohms of resistance + - voltage - Volts + - Current - Amps/Milliamps - check the leads + - diode check - see \[Diodes\] + - leads - plugged into the right ports? +- Continuity testing + - set the meter to the lowest resistance mode (200ohms or auto + resistance) + - or perhaps Diode check; or even beeping + - reads "off scale" when the leads are unconnected, this is an open + circuit + - firmly touch leads together -loopback test + - reads near 0 if the leads are crossed +- Voltage testing + - set meter to 20Vdc or VautoDC + - touch leads to metered points + - the reading on the meter is the difference in voltages between the + leads + - Try AC mains!! - safety second. + +#### SwitchLab + +- use the continuity meter to diagram the electrical layout of the + switch. +- solder switch to the board. +- test under power with meter voltage setting + +## Relays/Switches + +Codespeak + +- SPDT - single pole dual throw +- DPST - dual pole single throw +- 4P10T - ??? + +`- Map this mystery switchLab` + +## Wire + +The basic wire is a pipe through which electrons can flow from the +lowest voltage side to the highest ([conventional +current](wikipedia:Electric_current#Conventional_current "wikilink")) up +to the physical limits of the wire. + +- Condunctor vs. Insulators +- Current limit via wire gauge + [19](http://www.powerstream.com/Wire_Size.htm) +- Voltage limit via insulation. +- Magnetic and Electric fields surround an energized wire (what?!) +- And wire will respond with current when moved through magnetic flux + - bass pickups + - Lentz law + - Siemens, mho, ohms +- strip wire +- and don't nick the conductor + +## Electromagnetics + +- Einstein's "spukhafte Fernwirkung" +- Quantum Electrodynamics + - Electron and photons interact - somehow +- Gauss, Maxwell and +- Permanent magnets useful - locked domains + - Ferro materials, Ni, Co, Sr, Rb, Nb, Nd, Cr and Fe. + - Except when they aren't - curie temperature. +- Hall effect - sensing - spaceship drives +- Motors, linear, rotary, vibrational, direct ( magnetohydrodynamic) +- Radios + - EM probe demo + - EM spectrum + - DC, ELF, SLF (submarines, blue whales), AF, LF,HF, (Short wave), + VHF, UHF, Microwave, weird stuff, gamma rays (the incredible hulk, + gian ants). + +## Soldering + +`Hold the cold end.` + +Soldering ( for our purposes ) is the process of joining electrical +contacts with a low melting point metal to make a mechanically and +electrically strong connection. + +- Restrain long hair/clothing/jewelry. +- Clean both parts of waxes, oils or debris. + - Ethanol/Methanol/SLX + - Flux/Rosin/Dry +- Mechanically fit connections together +- Clean and wet the iron + - Tip should be immaculate and bright +- Heat both parts until hot + - Cheat, use another heating element + - quartz floodlight, sterno, propane or mean stare. + - but not too hot - see blue smoke lab +- Apply just enough solder to wet the contact surfaces +- Wait for the connection to shine smoothly +- remove the iron an test the connection + - yes it's hot stupid. + - the meter should find near 0 ohms of resistance between the two + parts even when mechanically stressed. + - the meter should read "off scale" to everything that should be + isolated +- Splice practice + - Western Union Splice + - Pigtail Splice + +## Speakermaking lab + +materials: + +- junk wire, lots of it +- magnet ( stronger is better ) + +Test stuff: + +- multimeter +- signal generator, (or music source) +- power amp + +Construction: + +- Make coil of wire 24ga 1" dia, 50-400 turns. + - use a form, marker, tp tube, pvc pipe + - Measure impedance \> 1.5 ohm +- Stick coil of wire to diaphram +- Make stator/armature + - stick magnet to something - not too ferrous +- stick diaphram near armature (correct axis??) +- connect to amplifier; apply Rock! + +Exercises for suckers: + +- Use the lentz law to calculate the force generated by thingy. +- Why 8ohm speakers in the house? + +## Resistor + +`Not like the NYC variety` + +Resistors impede the flow of electrons across them; usually to protect +components from excessive current. + +
+ +
Image:resistoriv.png
+
+ +- [Ohm's law](wikipedia:Ohm's_law "wikilink") +- Diagonal IV curve. +- symmetric + +##### ResistorLab + +- solder resistors, meter and record; +- compare to ohms law math + +##### BlueSmokeLab + +`Get this out of the way early (and often)` + +- turn off the switch +- Solder the 30ga wire ends on to the lab 0 area +- stow fingers away from wire +- turn on switch + +## Power + +- Measured in watts (usally) + +`* .01w laser pointer` +`* .25w cell phone` +`* 1w ` +`* 15w car stereo` +`* 25w soldering iron` +`* 100w light bulb` +`* 1500w hair dryer` +`* 200 horsepower (750w/hp)` +`* 3 tons of Air conditioner capacity (3.5kw/ton)` + +- The notion of instant work +- Energy or work is expressed in joules (watt\*second). Or perhaps + (Kw\*H) +- Power(watts) = Current (Amps) \* Volts + +`Electromechanical relay is a switch that's controlled electrically.` + +### pros + +- Easy to design for +- debugging (listen for satisfying click) +- excelent isolation +- high power control/\$ + +### cons + +- high drive current (mostly) +- noisy (mostly) +- slow +- moving parts (eeew) + +[a typical +relay](http://ecommas.tycoelectronics.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+Sheet%7F1308242_T77%7F1104%7Fpdf%7FEnglish%7FENG_DS_1308242_T77_1104.pdf) - +map this mystery relay lab + +#### Diode + +
+ +
Image:diodeiv.png
+
+ +##### ScaryDataSheetLab + +- a favorite led [20](http://www.vishay.com/docs/83012/83012.pdf) +- LED ( Light emitting diode ) are diodes with a clear case. +- electrons only permitted to flow in one direction: cathode to anode + - there are exceptions \[diode breakdown voltage\] +- discontinuous IV curve +- diode logic +- the cathode is marked +- the diode check function of the meter can reveal the correct polarity + of a mystery diode with a suspect cathode mark. + +## Light Emitting Diode + +- the short lead is the cathode +- LED's need current limiting (see + [BlueSmokeLab](ElectronicsClass#BlueSmokeLab "wikilink")) + +##### LEDLab + +- solder in 1kOhm resistor for the led , although you may use another if + you can justify the value +- Solder in the LED, with the short lead towards the ground. + +## Motor + +## Printed Circuits + +## Capacitor + +`470??f electrolytic cap` + +
+ +
Image:capt.png
+
+ +[wikipedia capacitor](http://en.wikipedia.org/wiki/Capacitor) +$\operator {work} (V) = +\frac {1}{2} +2)Cv^2$ Hmm.. no teX support here. + +#### Applications + +- Filters + - Decoupling - Ripple rejection + - Blocking - DC Bias rejection + - Use in networks - equalization networks +- Storage + - Pump and dump - Photoflash. + - Tank application - DC - DC converters +- Esoteric + - Sensors - Strain gauge + - Microphones - Old school + - nonlinear math - Calculating logs/exponents. + +## Transistor + +`PN2222 N channel transistor` +`Elliot substitute-taught a class on transistor amplifiers...` +`Notes in PDF are here:` +[`Media:transistorLecture.pdf`](Media:transistorLecture.pdf "wikilink") + +### little amplifierlab + +- class A amp +- DC blocking caps +- bias resistors +- fixed gain +- inverted waveform + +### construction intro + +- breadboard intro +- soldering intro +- led circuit + +## Digital Logic + +- AND C = A & B +- OR C = A \| B +- NOT C = !A +- NOR C = !(A\|B) +- NAND C = !(A&B) +- MUX C = select A(n) based on B(n) + +## IC + +`LM386 Audio Amplifier `[`21`](http://www.national.com/mpf/LM/LM386.html) + +# Links and class notes + +- 7-28 + - [How bipolar junction transistors actually + work](http://www.allaboutcircuits.com/vol_3/chpt_2/8.html) + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/Emergency_Prep.md b/Emergency_Prep.md new file mode 100755 index 0000000..717ec93 --- /dev/null +++ b/Emergency_Prep.md @@ -0,0 +1,35 @@ +# Household Emergency Prep + +## Indoors + +- make ice blocks in freezer with cleaned used drink containers leaving + room for the ice to expand when filling +- DO NOT BURN STUFF INSIDE THE HOUSE unless you have a fireplace or the + like that has ventilation. + +### Cold Weather + +- use rocks/bricks/concrete to transfer heat from a outdoors fire inside + the house using cotton or wool clothe to wrap them after removing them + from the fire so you don't burn yourself of stuff inside the house. + +### Warm Weather + +- water mist near doorways or around porches cools the air nearby. + +### Hygiene + +- traditional siphon flush toilets can be flushed by pouring water into + the bowl until it flushes. using waste water and/or urine can help to + prevent wasting potable water. + +## Outdoors + +- store dry wood in recycle bins and trashcans and secure the lids + +### High Wind + +- store or tie down items such as lawn furniture, tables, umbrellas, + flowerpots, construction material, etc. + +# After The Event \ No newline at end of file diff --git a/Equipment_CheapChineseLaser.md b/Equipment_CheapChineseLaser.md new file mode 100755 index 0000000..8b5ab79 --- /dev/null +++ b/Equipment_CheapChineseLaser.md @@ -0,0 +1,3 @@ +[Cheap Chinese Laser](Cheap_Chinese_Laser "wikilink") This is the page +dealing with the cheap Chinese laser at HacDC in the upstairs room at +St. Stephen and the Incarnate church in Washington, DC. \ No newline at end of file diff --git a/Event_Survey.md b/Event_Survey.md new file mode 100755 index 0000000..31edb27 --- /dev/null +++ b/Event_Survey.md @@ -0,0 +1,69 @@ +**HacDC Event Survey** + + +How did you find out about the Event? + +- HacDC Web Site +- HacDC Wiki +- RSS Feed Site (if possible, provide URL or Name of Feed) + ________________ +- Word of mouth + + + + +What is your technical expertise in relation to the Event's content? + +- I wrote the book or I am in the process of writing a book. +- I am a technical expert and work with the content on a day to day + basis +- I have studied the content but only work with the content once every + few months +- I have heard of the content and browsed websites, but I do not work + with the content. +- I have no technical experience with the content. + +Grade the Event A = Excellent, B = Good, C = Average, D = Lacking, F = +Fail Circle the grade. + + +Presentation of the content + +- A +- B (What can we improve: + _______________________________________________ + ) +- C (What can we improve: + _______________________________________________ + ) +- D (What can we improve: + _______________________________________________ + ) +- F (What can we improve: + _______________________________________________ + ) + + + + +Quality and accuracy of information presented + +- A +- B (What can we improve: + _______________________________________________ + ) +- C (What can we improve: + _______________________________________________ + ) +- D (What can we improve: + _______________________________________________ + ) +- F (What can we improve: + _______________________________________________ + ) + +Additional Comments: +____________________________________________________ + +[Category:Events](Category:Events "wikilink") +[Category:Marketing](Category:Marketing "wikilink") \ No newline at end of file diff --git a/ExcessDisposal.md b/ExcessDisposal.md new file mode 100755 index 0000000..19cd570 --- /dev/null +++ b/ExcessDisposal.md @@ -0,0 +1 @@ +1. REDIRECT [Excess Disposal](Excess_Disposal "wikilink") \ No newline at end of file diff --git a/Excess_Disposal.md b/Excess_Disposal.md new file mode 100755 index 0000000..0ea31fc --- /dev/null +++ b/Excess_Disposal.md @@ -0,0 +1,254 @@ +**Not yet official HacDC policy until approved at a monthly meeting.** + +# Donation Rules + +Donations must be labeled with the names of donor(s) and member(s) +accepting them. Donors and accepting members have authority to, and are +expected to manage the donation consistent with the following: + +- Refuse or dispose of any materials not meeting the "Relevant to HacDC + Criteria". +- Properly store and/or deploy the new resources. +- Refuse or dispose of any new materials that cannot be stored properly + on shelves, installed in equipment, or otherwise kept out of the way. + HacDC work areas are not for storage. +- Low-value items (eg. keyboards, low-end computers, etc) must be + clearly labeled "free for all, take home, will be summarily disposed + of in one week," to that effect. +- Leased items at HacDC must be clearly labeled with lender's name by + permanent pen, tape, etc. + +New donations not handled in a manner consistent with the above should +be **disposed of immediately**. + +# Disposal Rules + +- Expiration on the going-out pile is a point of no return. Retrieval + from a dumpster and return to HacDC is explicitly forbidden. +- The going-out pile is a process to members to throw-away or take + resources permanently, not to borrow resources. +- A majority vote at an official meeting is required to allow return of + a disposed resource to HacDC. + +Materials violating these rules should be **disposed of immediately**. + +# Space Use Rules + +## Everywhere + +- Floor and work surfaces must be kept clean. + +## Upstairs + +- Front room will not be used for storage. +- Storage in back room limited to shelves and lockers. +- Arrangement of back room will reasonably permit secondary use as class + room or meeting space. + +## Unshared Member Storage + +Limited to 3 cubic feet (3' \* 1'), must be clearly labeled with contact +information, and must fit on a shelf. + +## Basement + +- Front room will reasonably permit usage of at least 3 wood/metal + machining workstations and optical table. +- Front room storage is limited to overhead shelves. +- Back room arrangement must permit temporary storage for at least 3 + front-room workstations. + +## Unshared Member Storage + +Limited to 27 cubic feet (3' \* 3' \* 3'), must be clearly labeled with +contact information, and must fit on a shelf. + +HacDC BoD may change the rules or authorize corrective actions, +including "Emergency Disposal". + +# Relevant to HacDC Criteria + +HacDC's goals include education, research, and engineering. + +- Actively in use, or likely to be deployed in six months. +- Worthwhile components likely to be salvaged in six months. +- Rare, valuable, and useful, likely to be sorely missed. Repurchasing + multiple items worth \>\$250 is a costly mistake. + + + +- Not already present in excessive quantities, see "Rotation". + + + +- Available to other HacDC members (not private). HacDC is for + collaboration, individual member storage should be limited. +- Labeled as loaned to HacDC. Lenders should always have a reasonable + chance to repossess their items. + +**The following consultants may be able to offer insights on specific +items:** + +Note: salvage experts can quickly identify advanced hardware and +identify valuable components likely to be inside. + +- mirage335 (Hardware and Salvage Expert) +- Dan Barlow (Hardware and Salvage Expert) +- Julia Longtin aka. juri (Hardware and Salvage Expert) + + + +- Lee Ciereszko (Radio Communications and CCTV Equipment Expert) + +# Going out Pile + +Designated going out pile is in the basement. Anything put on the right +side of that pile has a lifetime of **two weeks**, at which time it may +be disposed of. Anything on the left side has already expired, awaiting +disposal, and may not return to HacDC without a majority vote at an +official meeting. + +When possible, it is preferred that: + +- Going out pile photographed at the beginning of the week (Monday). +- Photo and/or contents list published to a HacDC mailing list within a + day (Tuesday). +- Expired items moved to the expired side of the pile next week + (Monday). + +Items meeting the "Relevant to HacDC Criteria" should not be added to +this pile except in dire need. + +**Members are welcome to bid on unexpired items, return unexpired items +to service or storage at HacDC, or take expired items.** + +# Emergency Disposal + +When at least half the HacDC floor space and work areas are unusable due +to improper resource storage, the going-out pile expiration period may +be reduced to **three days**, with no requirement to photo or publish +the contents list. + +Such emergencies must be declared by HacDC BoD on the HacDC members +mailing list, with an expiration time, three days prior to a disposal. +Emergency disposal procedures may not be in effect more than 60 days per +year. + +# Rotation + +Not all valuable or useful items at HacDC are in mint condition. When +better condition items of the same type become available, and agreed +upon limits have been exceeded, **poorer condition items should be be +sent to the going out pile immediately.** + +Limits apply to non-in-use equipment (eg. not dedicated to CNC mill, not +on the test cart, etc), and are set in the following table: + +| Item | Limit | Comments | +|:------------------------|-------|-------------------------------------------------------------------------------------------------------------------------------| +| Laptops | 5 | ThinkPads, more CPUs/cores/threads, and identical models (for classes) preferred. | +| Desktops | 3 | More CPUs/cores/threads and RAM preferred. | +| WYSE Terminals | 50 | More RAM preferred. | +| LCD Monitors | 5 | Higher resolution preferred, especially \>1080p. | +| Keyboards/Mice | 3 | Ridiculously cheap, not worth keeping. | +| CRT Monitors, TVs, etc. | 1 | Must fit on shelves. Longer (higher-voltage) is better. Useful mainly for elementary particle physics experiments. | +| Full Size Oscilloscopes | 3 | Higher speed, measurement functions, ease of use, special purpose uses (ie. scope clock), and working order determines value. | +| | | | + +**Members are welcome to revise this table as necessary.** + +# Disposal Methods + +Unwanted donations, expired items on the going out pile, or items +declared unwanted at an official meeting should be disposed of ASAP as +follows: + +## Salvage + +Small, usable parts may be salvaged from bulky equipment for active +HacDC projects, education, or crafts. The parts may be permitted to +return to HacDC service or storage, unless declared otherwise by +majority vote at an official meeting. + +## Regifting + +Another non-profit organization may be able to keep the undesired items +out of the waste stream. + +## Sale + +Ham fests (amateur radio conventions) are an excellent opportunity to +obtain cash for junk. Proceeds should go to HacDC. + +## Take Home by Member + +Members may take an undesired item home, so long as the purpose is not +to sell the item{s) for personal gain. + +## Dump + +Anything efficient that does not inconvenience our host or other +authorities is acceptable, including without limitation: + +- Throw it in an empty dumpster we are authorized to use, within reason. +- Take it to the dump. +- E-waste and hazardous materials should be properly recycled or + processed. + +## Local Electronics Recycling Resources + +The [DC Department of Public Works](http://www.dpw.dc.gov) offers a +free, weekly electronics recycling drop-off service at the Benning Road +Trash Transfer Station, [3200 Benning Road +NE](http://maps.google.com/maps?f=q&hl=en&geocode=&q=3200+Benning+Road+NE,+Washington,+DC&sll=37.0625,-95.677068&sspn=29.992289,59.0625&ie=UTF8&ll=38.900385,-76.962662&spn=0.028723,0.090981&z=14&iwloc=addr), +each Saturday from 8 am to 3 pm. + +[From Tom +Lee](http://www.hacdc.org/pipermail/blabber/2009-August/001563.html): + +> The DC government will take electronic waste without an additional +> fee, but you need to drop it off at the Ft. Totten Waste Transfer +> Station, which is almost impossible to find, particularly since the +> directions on their website refer to the use of a road that is +> currently closed. [Here's a quick Google +> Map](http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=117070561667971774162.000470c9871f982a1fc2c) +> that conveys three key things: +> +> 1. McCormick Road cannot be used -- at least, not the last time I +> went there +> 2. you should not cross Puerto Rico Ave from Taylor, but rather get +> onto Brookland Ave going north immediately before it (I believe +> you can use either ramp off of Taylor to do this, but am not sure) +> 3. The employees at the station can be a little vague on where +> electronics recycling occurs. Go to the end of the path on the map +> (although I should emphasize that its final location, not the +> specific way it gets there, is the important thing -- I can't +> recall the exact geometry of the station, and would encourage you +> not to drive your car into anything that looks like a giant +> crushing machine, despite what my map may say) +> +> \[,\|34219\|.asp +> Hours are listed here.\] + +# Conflict Resolution + +By majority vote, HacDC members may declare items unwanted at an +official meeting. These items should then be disposed of immediately, +and are not permitted to return without a similar vote taking place. + +By majority vote, HacDC Board of Directors is authorized to identify +cases of improper disposal, warn specific members that the disposal was +improper, and if necessary, prohibit specific members involved from +undertaking further disposal. Further, improper disposal by those +members after this prohibition may be deemed as occurring without the +permission of HacDC members. That may have legal implications. + +Nothing in this policy establishes disciplinary measures to be +automatically taken upon mistakes or abuse, nor is it to conflict with +purchases, salvage, scrap disposal, or normal use of HacDC tools, +materials, supplies, beverages, etc. However, it does set guidelines +agreed upon by HacDC members, with the expectation that other members +will make a good faith effort to abide them. The expectation is also set +that members will make reasonable efforts to discourage theft by guests. + +[Category:EverydayPolicy](Category:EverydayPolicy "wikilink") \ No newline at end of file diff --git a/Exhaust_nozzle.md b/Exhaust_nozzle.md new file mode 100755 index 0000000..f0038ef --- /dev/null +++ b/Exhaust_nozzle.md @@ -0,0 +1,21 @@ +This is the exhaust nozzle to transition from the header on the back +panel of the chassis to the 4 inch flexible metal exhaust duct which +goes to the exhaust fan. + +//James Sullivan //exhaust nozzle for laser cutter to connect to 4" +exhaust hose //dimensions in millimeters //parametric version //4-20-17 +//OpenSCAD version 2015.03-1 \$fn=80; nid=60; //nozzle inner diameter +nod=80; //nozzle outer diameter mod=100; //maximum outer diameter sh=30; +//step height sw=5; //step width oah=50; //over-all height tlw=3; //top +ledge width bcd=46.8\*2; //bolt circle diameter bhd=3.6; //bolt hole +diameter fw=12; //foot width fh=15; //foot height fod=108; //foot +outside dimension, from outside edge to outside edge +fid=(nid+nod)/2;//foot inside dimension, from inside edge to inside edge +difference(){ //nozzle rotate_extrude (angle=360,convexity=4) +{polygon(points=\[\[nid/2,0\],\[nod/2,0\],\[mod/2,sh\],\[mod/2-sw,sh\],\[mod/2-sw,oah\],\[mod/2-sw-tlw,oah\|nid/2,0\],\[nod/2,0\],\[mod/2,sh\],\[mod/2-sw,sh\],\[mod/2-sw,oah\],\[mod/2-sw-tlw,oah\]\]);}; +//nozzle itself for (angle=\[0:90:270\]){ //screw access cuts +rotate(\[0,0,angle\]) translate(\[bcd/2,0,-5\]) rotate(\[0,6,0\]) +cylinder(d=bhd\*3.5,h=oah+10); } } module foot(){ difference(){ +translate(\[fid/2,-fw/2,0\]) cube(\[(fod-fid)/2,fw,fh\]); //foot +translate(\[bcd/2,0,-5\]) cylinder(d=bhd,h=25); //bolt hole } } for +(angle=\[0:90:270\]){ rotate(\[0,0,angle\]) foot(); } \ No newline at end of file diff --git a/F3-robot.md b/F3-robot.md new file mode 100755 index 0000000..956e3b6 --- /dev/null +++ b/F3-robot.md @@ -0,0 +1,85 @@ +David Whiteis has loaned the **CRS/Fisher F3 Robotic arm** to Dr. Nuno +Martin's group at the University of Maryland. + +HacDC members interested in working with the robot should get in touch +with David. + +
+ +
f3-robot-drawing-edited.jpg
+
+ +**We are currently gathering ideas about what we might do with the +robot. Here is part of what we have come up with so far, shown in groups +and including sample videos where possible.** + +We may use this wiki page to document what we have learned about the +robot, what projects are proposed, planned or implemented, and more +videos of the machine in action. + +## Moving and stacking stuff: + +Grabbing dominoes from a stack, setting them up to tumble over in a row: + + +## Videoing stuff: + +Holding a video camera in the gripper, and filming while in motion: + That second video gives a +limited overview of the robot's ability as an advanced 3D video camera +dolly. We know a lot more about what is possible now. You could make +some amazing videos with that setup. Here are some of the lessons +learned: + +`- Videoing miniatures such as model train layouts is fun and gives great results.` +`- Get in close, and don't pan too much. ` +`- Keep a single object as the center of focus, and change the camera location while keeping that focus.` +`- Track moving objects making complex movements, like a model train following a track.` + +The O scale train in the above video was good, but tracking a smaller +train (HO or N scale) would be much better, since then the robot could +track the train through multiple left and right turns, much like a +real-world helicopter filming a train for a Hollywood movie. + +David plans to reach out to model train enthusiasts to see if there is +interest in collaborating on a movie that really shows off the +technology. + +David sent an email on 3-8-13 to 'marylandfilmmakersclub@gmail.com' to +see if the film school students at + are interested in +collaborating on a project. + +You could do great stop-motion animation with the setup. Your camera +could move slightly every time your parts/clay are moved, making for a +much more dynamic and flowing movie than when the camera stays in a +static position. + +If you programmed the arm to move the camera through the air in a big, +elaborate flowing path, and then had someone who was a hotshot at flying +miniature RC helicopters fly a pattern that kept it in front of the +lens, that would make an amazing video. + +## 3D printing, or subtractive CNC machining: + +We have talked about mounting a plastic extruder, Dremel router, or +cutting laser on the tool post, but we have not done any of this yet. +Will it be you that drives this project? + +## More on Maker Tech Tuesdays: + +For several months the F3 robot was at Chas Colburn's place, before it +was loaned to the University of Maryland. + +Maker Tech Tuesdays is a hackerspace provided by Chas Colburn at his +place of business, 3DMetalParts, just south of the University of +Maryland. The space is free to visit and is open every Tuesday. + +Chas & Maker Tech Tuesday's Facebook page: + + +More info on Chas is here, search for 'Colburn': + + +[Category:Previous_Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/FOSS_Verilog_tool_installation.md b/FOSS_Verilog_tool_installation.md new file mode 100755 index 0000000..6c6e564 --- /dev/null +++ b/FOSS_Verilog_tool_installation.md @@ -0,0 +1,61 @@ +### Direct Installation (Ubuntu version) + +--- Gtkwave --- + +gtkwave is good in the Universe repository. If you've already got that +linked in your /etc/apt/sources.list file, then installation is as +simple as: + +` sudo apt-get install gtkwave` + +--- Compiling icarus verilog --- + +Icarus verilog, on the other hand, is buggy in the Jaunty repository. So +you'll want to compile it by hand. + +- Fetch the .tar.gz file: + +` wget `[`ftp://ftp.icarus.com/pub/eda/verilog/snapshots/verilog-20090923.tar.gz`](ftp://ftp.icarus.com/pub/eda/verilog/snapshots/verilog-20090923.tar.gz) +` tar xvzf verilog-20090923.tar.gz` +` cd verilog-20090923` + +- Make sure you have the necessary compile tools: + +` sudo apt-get install build-essential flex bison g++` + +- Compile and install: + +` ./configure ` +` make` +` sudo make install   ` + +- Go get a cup of tea after you type "make", because compiling takes a + while. But when you get back, you should be good to go. Copy William's + makefile into your code directory and get to work. Now you have your + usual development tools at your fingertips. (Emacs and Gedit have + sweet colorization modes for verilog.) + +### Direct Installation (Mac OSX Version) + +Spartan instructions follow... + +- Install XCode tools from developer.apple.com +- Install macports from macports.org. I don't know how macports plays + with fink, so be wary if your using fink. +- Install Icarus verilog with macports + + + + sudo port install iverilog + +- Install GTKWave with macports. This will actually take a while on a + fresh install of macports, so go and watch a tv show. + + + + sudo port install gtkwave + +- You can now launch iverilog, vvp and gtkwave from the command line, + and use the makefile provided with the workshop. + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAExercise10code.md b/FPGAExercise10code.md new file mode 100755 index 0000000..a6d2049 --- /dev/null +++ b/FPGAExercise10code.md @@ -0,0 +1,23 @@ +Counter module to be used with the [Spartan 3E Board +tutorial](http://wiki.hacdc.org/index.php/File:ISE_Tutorial_for_S3E.pdf). + + module counter(clock, count_out); + input clock; + output [3:0] count_out; + reg [3:0] count_int=0; + reg [26:0] t=0; + + always @(posedge clock) + if (t==4) + begin + count_int <= count_int + 1; + t=0; + end + else + t=t+1; + + assign count_out=count_int; + + endmodule + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAExercise3.md b/FPGAExercise3.md new file mode 100755 index 0000000..5077d6f --- /dev/null +++ b/FPGAExercise3.md @@ -0,0 +1,251 @@ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Digital Design and FPPGA Workshop + HacDC + William Gibb (teachmeFPGA@gmail.com) + Week 3 - Introduction to Combinatorial Verilog + Full adder and ALU exercise + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + For our exercises this week, we'll be working with a few different modeling + styles, focused around a 4-bit full adder. We'll be working with a model + where the 1 bit full adder circuit is explicitly defined, and break that down + into half adders, behavioral and structural models. + + The full adder circuit can be constructed from 1-bit half adder circuits. + The truth table for the half adder is as follows. + A B | S Cout + ========= + 0 0 | 0 0 + 0 1 | 1 0 + 1 0 | 1 0 + 1 1 | 0 1 + ========= + S = A xor B + Cout = A and B + + Two of these cells, plus an additional OR gate, can be used to implement a + full adder. The S output of the first half adder cell is connected to the + input of the second cell, as is the Cin. The S output of the second cell is + the sum S. The Cout is computed by ORing the Cout of both cells. + + Likewise, the truth table for the Full Adder is as follows, for reference. + Cin A B | S Cout + =============== + 0 0 0 | 0 0 + 0 0 1 | 1 0 + 0 1 0 | 1 0 + 0 1 1 | 0 1 + 1 0 0 | 1 0 + 1 0 1 | 0 1 + 1 1 0 | 0 1 + 1 1 1 | 1 1 + ================ + + To do + 0) Copy the full adder codes below to files in your working directory. + Be sure to copy a makefile to the directory. + 0.a) mkdir a new directory for this example. name it something useful, such as "adder_exercise" + 0.b) create a new file for each verilog module, in the form modulename.v where module name is the name of the module. We'll need full_adder.v, full_adder_4bit.v, add test_adder.v. + 0.c) copy and paste the code for each module into the file. be sure that anything in the file that isn't verilog code is commented out. + 0.d) if your in the vm, type copymake.sh into the command line to copy a makefile into your working directory + + 1) Change the values of the makefile to test the full adder. + 1.a) Change the line SRC and TESTBENCH to include only the .v files created earlier. if you need to add a new source to a project, add it to your makefile as well. + + 2) Verify the full adder works by simulation. + + 3) Write a description of the half adder, at gate level + + 4) Write a full adder description, using the half adders you wrote in step + 3. Give this full adder module a different module name than the provided + model. + + 5) Write a 4 bit full adder module using the new 1 bit full adder. Be sure to + give it a module name different than the name of the provided module. + + 6) Take a break if you feel needed...or keep on coding + + 7) Write a 4 bit full adder module using the new 1 bit full adder from step 6. + Be sure to give it a module name different than the name of the provided + module. + + 8) One last adder - Write a 4 bit behavioral adder module. Use 4 bit inputs + and outputs in this module. Again, give it a new name. + + 9) Add the new models to the makefile. + -half adder + -full adder from half adders + -4 bit full adder from step 5 + -full adder from step 6 + -4 bit full adder from step 7 + -4 bit full adder from step 8 + + 9) Modify the testbench to instantiate the new modules. You'll need to + instantiate the 4 bit full adder from step 5, step 7 and step 8. This is why + they all need to have unique module names. You'll need to add three 4 bit + wires for connecting the sum output of these new adders, as well as + three 1 bit wires for connecting the cout output of these new adders. + + 10) Simulate and verify all of the models behave the same way. + + Once this is done, and you have simulated the adders and shown that they all + behave the same way, you'll have built the following types of modules + - Structural Model (step 5) + - Behavioral & Hierarchical Model (step 7) + - Behavioral Model (step 8) + + After that is done, people are encouraged to take the ALU presented in the + slides and are encouraged to expand the functionality of the ALU to 8 total + functions. The functions that should be added to the ALU are as follows: + - r = ~A (R equals the complement of A) + - r = A ^ B (R equals A xor B) + - r = A << B (R equals A left shifted B bits) + + After this functionality has been added to the ALU model, the test bench used + for the 4 bit full adder can be modified to simulate the ALU. + Steps to do this + 0) Copy the test bench and makefile to your working directory + 1) Add/remove wires and regs as needed + 2) Replace the DUT with the ALU + 3) Expand the inputs in order to test all of the ALU functions. + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Full Adder Code + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module full_adder(a, b, cin, sum, cout); + input a, b, cin; + output sum, cout; + + reg sum, cout; + + always @(a or b or cin) + begin + sum = a ^ b ^ cin; + cout= (a & b) | (a & cin) | (b & cin); + end + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module full_adder_4bit (a, b, cin, sum, cout); + input[3:0] a, b; + input cin; + output [3:0] sum; + output cout; + + wire c1, c2, c3; + + // instantiate 1-bit adders + full_adder FA0(a[0],b[0], cin, sum[0], c1); + full_adder FA1(a[1],b[1], c1, sum[1], c2); + full_adder FA2(a[2],b[2], c2, sum[2], c3); + full_adder FA3(a[3],b[3], c3, sum[3], cout); + + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module test_adder; + reg[3:0] a, b; + reg cin; + wire [3:0] sum; + wire cout; + + full_adder_4bit dut(a, b, cin, + sum, cout); + + initial + begin + a = 4'b0000; + b = 4'b0000; + cin= 1'b0; + #50; + a = 4'b0101; + b = 4'b1010; + // sum = 1111, cout= 0 + #50; + a = 4'b1111; + b = 4'b0001; + // sum = 0000, cout= 1 + #50;a = 4'b0000; + b = 4'b1111; + cin= 1'b1; + // sum = 0000, cout= 1 + #50; + a = 4'b0110; + b = 4'b0001; + // sum = 1000, cout= 0 + end // initial begin + + initial + begin + $dumpfile ("waves.lxt"); + $dumpvars(0,test_adder); + end + + endmodule// test_adder + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + ALU Code + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module mul16(i0,i1,prod); + input [15:0] i0,i1; + output [31:0] prod; + // this is a magnitude multiplier + // signed arithmetic later + assign prod = i0 * i1; + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module add32(i0,i1,sum); + input [31:0] i0,i1; + output [31:0] sum; + assign sum = i0 + i1; + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module sub32(i0,i1,diff); + input [31:0] i0,i1; + output [31:0] diff; + assign diff = i0 - i1; + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module mux32two(i0,i1,sel,out); + input [31:0] i0,i1; + input sel; + output [31:0] out; + + assign out = sel? i1 : i0; + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module mux32three(i0,i1,i2,sel,out); + input [31:0] i0,i1,i2; + input [1:0] sel; + output [31:0] out; + + reg[31:0] out; + + always @ (i0 or i1 or i2 or sel) + begin + case (sel) + 2???b00: out = i0; + 2???b01: out = i1; + 2???b10: out = i2; + default: out = 32???bx; + endcase + end + endmodule + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + module alu(a, b, f, r); + input [31:0] a, b; + input [2:0] f; + output [31:0] r; + + // wire declarations + wire [31:0] addmux_out, submux_out; + wire [31:0] add_out, sub_out, mul_out; + + // module declarations + mux32two adder_mux(b, 32'd1, f[0], addmux_out); + mux32two sub_mux(b, 32'd1, f[0], submux_out); + add32 our_adder(a, addmux_out, add_out); + sub32 our_subtracter(a, submux_out, sub_out); + mul16 our_multiplier(a[15:0], b[15:0], mul_out); + mux32three output_mux(add_out, sub_out, mul_out, f[2:1], r); + + endmodule + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAExercise5.md b/FPGAExercise5.md new file mode 100755 index 0000000..ed4fd78 --- /dev/null +++ b/FPGAExercise5.md @@ -0,0 +1,157 @@ +Homework/Verilog Coding problems + +## An Upcounter design + +An upcounter can be made with 3 elements - DFFs, XOR and AND gates. + +The equations for a simple upcounter are a chain. The Di and Qi notation +refer to the D and Q ports on a DFF. + + D0=!Q0 ^ 1 + D1=Q1 ^ Q0 + D2=Q2 ^ Q1&Q0 + D3=Q3 ^ Q2&Q1&Q0 + .... + Di=Qi ^ Qi-1&Qi-2 .... &Q2&Q1&Q0 + + Equations 1 + +A upcounter described as such will continue to count whenever the +flipflops are driven + +by the clock. + +Say we wanted to turn the counter off and on? + +The first bit, Q0, is fed by the equation D0. Its change is dependent on +the second input to the xor gate, which we see is hardwired to a one. If +we xor a zero, there is no change to the least significant digit, and +the counter won't count. + +We change the equations to add an enable signal. + + D0=!Q0 ^ Enable + D1=Q1 ^ Q0&Enable + D2=Q2 ^ Q1&Q0&Enable + D3=Q3 ^ Q2&Q1&Q0&Enable + .... + Di=Qi ^ Qi-1&Qi-2 .... &Q2&Q1&Q0&Enable + + Equations 2 + +Write verilog code to implement a counter like this and use a testbench +to simulate the design. I would do 4 or 8 bits wide. + +## Shift Registers + +The LFSR is built on the idea of a shift register. This is constructed +by taking the output of a DFF and connecting it directly to the input on +a second DFF. Lets consider the case of a n bit shift register. + + module shift(D, Q, Q_regs, clk, rst); + parameter N=4; + parameter TP=1; + input D, clk, rst; + output Q; + output [N-1:0] Q_regs; + reg [N-1:0] Q_regs; + assign Q = Q_regs[n-1]; + always@(posedge clk) + if(rst) + Q_regs <= #Tp 'b0; + else + Q_regs <= #Tp {Q_regs[n-2:0],D}; + end module + + Code 1 // updated from the slides + +Data placed on D is shifted into the DFFs modeled by the always@ process +& the reg data type. The data available on the output is the nth data +bit, so over time data would be shifted in and made available. Table 1 +below shows the operation of the shift register. + + CLK D Q | Q3 Q2 Q1 Q0 + ^ 0 0 | 0 0 0 0 + ^ 1 0 | 0 0 0 1 + ^ 1 0 | 0 0 1 1 + ^ 0 0 | 0 1 1 0 + ^ 1 1 | 1 1 0 1 + ^ 0 1 | 1 0 1 0 + ^ 0 0 | 0 1 0 0 + ^ 0 1 | 1 0 0 0 + + Table 1 + +I recommend coding up a shift register and simulate it in order to see +the shift register in action. + +## Linear Feedback shift register + +A LSFR is a shift register, but the data shifted into the register is +actually a linear combination of the data currently in the register. + +From Wikipedia + + +"The only linear functions of single bits are xor and inverse-xor; thus +it is a shift register whose input bit is driven by the exclusive-or +(xor) of some bits of the overall shift register value. + +The initial value of the LFSR is called the seed, and because the +operation of the register is deterministic, the stream of values +produced by the register is completely determined by its current (or +previous) state. Likewise, because the register has a finite number of +possible states, it must eventually enter a repeating cycle. However, an +LFSR with a well-chosen feedback function can produce a sequence of bits +which appears random and which has a very long cycle. + +Applications of LFSRs include generating pseudo-random numbers, +pseudo-noise sequences, fast digital counters, and whitening sequences. +Both hardware and software implementations of LFSRs are common." + +Fibonacci LSFRs The bits in the LFSR state which influence the input are +called taps. A maximum-length LFSR produces an m-sequence (i.e. it +cycles through all possible 2n ??? 1 states within the shift register +except the state where all bits are zero), unless it contains all zeros, +in which case it will never change. As an alternative to the XOR based +feedback in a standard LFSR, one can also use XNOR. A state with all +ones is illegal when using an XNOR feedback, in the same way as a state +with all zeroes is illegal when using XOR. This state is considered +illegal because the counter would remain "locked-up" in this state. + +End Wikipedia + +Maximal length LFSRs are built with specially choosen taps, which are +represented by polynomials. The 3 bit LFSR polynomial x^3+x^2+1 could be +represented by the following implementation. + + module lfsr_example(D, Q, Q_bus, clk, rst); + parameter N=3; + parameter Tp=1; + input D, clk, rst; + output Q; + output [N-1:0] Q_regs; + reg [N-1:0] Q_regs; + assign Q = Q_regs[0]; + always@(posedge clk) + if(rst) + Q_regs <= #Tp N'b1; + else + Q_regs <= #Tp {Q_regs[1],Q_regs[0],Q_regs[1]^Q_regs[2]}; + end module + + Code 2 + +Code 2 shows the implementation taking place inside the always@ block. +There are different ways to do this, this is just one example. For +homework/exercise, implement a LFSR with a maximal length polynomial. +Use a 4, 5, 6, 7 or 8 bit polynomial from the Wikipedia LFSR page in +your implementation and build a testbench to simulate it. + +Awesomeness points are awarded for a selfchecking testbench which +actually proves that the LFSR is maximal length. + +Other LFSR resources + + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAExercise5code.md b/FPGAExercise5code.md new file mode 100755 index 0000000..d282fc1 --- /dev/null +++ b/FPGAExercise5code.md @@ -0,0 +1,147 @@ + Code from 4 person hacking session on 11/11. + + The following code may or may not work properly - It appears to give relatively sane counter output in GTKWAVE. + + // FALLING EDGE D FLIP FLIP MODULE: + //============================================== + module d_ff_gates (d, clk, rst, q, q_bar); + + input d, clk, rst; + output q, q_bar; + + wire n1,n2,n3,q_bar_n; + wire cn,dn,n4,n5,n6; + + // First Latch + + not (n1,d); + nand (n2,d,clk); + nand (n3,n1,clk); + nand (dn,q_bar_n,n2); + nand (q_bar_n,dn,n3, !rst); + + // Second Latch + not (cn,clk); + not (n4,dn); + nand (n5,dn,cn); + nand (n6,n4,cn); + nand (q,q_bar,n5); + nand (q_bar,q,n6, !rst); + + endmodule + + + // FALLING EDGE D FLIP FLIP TESTBENCH: + //============================================== + module d_ff_gates_tb; + reg d, clk; + wire q, q_bar; + + d_ff_gates dut(d, clk, q, q_bar); + + initial + begin + d=0; #1; + + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + + d=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + end + + initial + begin + $dumpfile ("waves.lxt"); + $dumpvars (0, d_ff_gates_tb); + end + + endmodule + + + + + // 4 BIT COUNTER MODULE: + //============================================== + module upcounter (rst, clk, enable, q, qb); + + input rst, clk, enable; + output [3:0] q, qb; + + wire d0, d1, d2, d3; // input wires + wire a0, a1; // and wires + + //q[1] = 1'b0; q[2] = 1'b0; q[3] = 1'b0; // init q + + + xor (d0, q[0], 1'b1); // d0 = q0 xor 1 + d_ff_gates dff0(d0, clk, rst, q[0], qb[0]); + + xor (d1, q[1], q[0]); // d1 = q1 xor q0 + d_ff_gates dff1(d1, clk, rst, q[1], qb[1]); + + and (a0, q[1], q[0]); + xor (d2, q[2], a0); // d2 = q2 xor (q1 && q0) + d_ff_gates dff2(d2, clk, rst, q[2], qb[2]); + + and (a1, q[2], q[1]); + xor (d3, q[3], a1); // d3 = q3 xor (q2 && q1 && q0) + d_ff_gates dff3(d3, clk, rst, q[3], qb[3]); + + endmodule + + + // 4 BIT COUNTER TESTBENCH: + //============================================== + module upcounter_tb; + reg rst, clk, enable; + wire [3:0] q, qb; + + upcounter dut(rst, clk, enable, q, qb); + + initial + begin + rst = 1; + enable = 0; + clk=0; #1; + + rst = 0; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + clk=0; #1; + clk=1; #1; + end + + initial + begin + $dumpfile ("waves.lxt"); + $dumpvars (0, upcounter_tb); + end + + endmodule + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAExercise6code.md b/FPGAExercise6code.md new file mode 100755 index 0000000..5fe9766 --- /dev/null +++ b/FPGAExercise6code.md @@ -0,0 +1,255 @@ +## Shift Register + + //filename sr.v + `include "timescale.v" + + module sr(D, Q, Q_regs, clk, rst); + parameter Ndepth=4; + parameter TP=1; + + input D, clk, rst; + output Q; + output [Ndepth-1:0] Q_regs; + + reg [Ndepth-1:0] Q_regs; + + assign Q = Q_regs[Ndepth-1]; + + /* This is a comment block + Hi Elliot + This works fine! */ + + always@(posedge clk) + if(rst) + Q_regs <= #TP 0; //This is a comment + else + Q_regs <= #TP {Q_regs[Ndepth-2:0],D}; + endmodule + +## Shift Register Testbench + + + // + // filename sr_tb.v + // + // Exercise 6 + // FPGA Workshop - HacDC + // Group think + // + `include "timescale.v" + module sr_tb(); + // Parameters + + parameter CLKPERIOD = 20; // 50Mhz w/ 1ns time increments + parameter FINISHTIME = 1000; + + // DUT INPUTS + + reg D; + reg clk; + reg rst; + + // DUT OUTPUTS + wire Q; + wire [3:0] Q_regs; + + // Misc + reg finish; + + // Event defitions + event reset; + + // DUT Instantiation + // shift(.D(), .Q(), .Q_regs(), .clk(), .rst()); + sr DUT(.D(D), + .Q(Q), + .Q_regs(Q_regs), + .clk(clk), + .rst(rst)); + + // -------- + // Stimulus + // -------- + + // Clk Generation + always + #(CLKPERIOD/2) clk = ~clk; + // Initial Conditions + initial + begin + D = 0; + rst = 0; + clk = 1; + finish = 0; + // Wait to end the simulation + #FINISHTIME + $display("============================="); + $display("I'm done now!"); + $display("Finished at time %5d", $time); + $finish; + end + + // Inputs + initial + begin + #1 -> reset; //event calls like to occur after some + //period of time + wait(finish); + finish = 0; + repeat (5) + #CLKPERIOD; + D=1; + wait (Q); + #CLKPERIOD + D=1; + #CLKPERIOD + D=0; + #CLKPERIOD + D=1; + #CLKPERIOD + D=0; + repeat (5) + #CLKPERIOD; + + $display("================"); + $display("End of Stimulus"); + $display("Finishing at time %5d", $time); + $finish; + + end + + // Event defitions + always @(reset) + begin + $display ("Resetting the Registers"); + #(CLKPERIOD/2) rst = 1; + #CLKPERIOD rst = 0; + finish = 1; + end + + // Monitor + initial + begin + $dumpfile ("waves.lxt"); + $dumpvars(0,sr_tb); + end + + endmodule + +## Linear Feedback Shift Register + + module lfsr(Q, Q_regs, clk, rst); + // x^5+x^3+1 + parameter N=5; + parameter Tp=1; + input clk, rst; + output Q; + output [N-1:0] + Q_regs; reg [N-1:0] Q_regs; + assign Q = Q_regs[0]; + always@(posedge clk) + if(rst) + Q_regs<= #Tp 5'b1; + else + Q_regs<= #Tp {Q_regs[3], Q_regs[2], Q_regs[1], Q_regs[0], Q_regs[4]^Q_regs[2]}; + endmodule + +## LFSR Testbench + + // + // Exercise 6 + // FPGA Workshop - HacDC + // Group think + // + `include "timescale.v" + module lfsr_tb(); + // Parameters + + parameter CLKPERIOD = 20; // 50Mhz w/ 1ns time increments + parameter FINISHTIME = 2*1000; + + // DUT INPUTS + + reg clk; + reg rst; + + // DUT OUTPUTS + wire Q; + wire [4:0] Q_regs; + + // Misc + reg finish; + + // Event defitions + event reset; + + // DUT Instantiation + // lfsr(.Q(), .Q_regs(), .clk(), .rst()); + lfsr DUT(.Q(Q), + .Q_regs(Q_regs), + .clk(clk), + .rst(rst)); + + // -------- + // Stimulus + // -------- + + // Clk Generation + always + #(CLKPERIOD/2) clk = ~clk; + // Initial Conditions + initial + begin + rst = 0; + clk = 1; + finish = 0; + // Wait to end the simulation + #FINISHTIME + $display("============================="); + $display("I'm done now!"); + $display("Finished at time %5d", $time); + $finish; + end + + // Inputs + initial + begin + #1 -> reset; //event calls like to occur after some + //period of time + wait(finish); + finish = 0; + repeat (62) + #CLKPERIOD; + $display("================"); + $display("End of Stimulus"); + $display("Finishing at time %5d", $time); + $finish; + + end + + // Event defitions + always @(reset) + begin + $display ("Resetting the Registers"); + #(CLKPERIOD/2) rst = 1; + #CLKPERIOD rst = 0; + finish = 1; + end + + // Monitor + initial + begin + $dumpfile ("waves.lxt"); + $dumpvars(0,lfsr_tb); + end + + endmodule + +## Timescale + + // + // filename timescale.v + // + `timescale 1ns / 10ps + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAExercise8code.md b/FPGAExercise8code.md new file mode 100755 index 0000000..c204ed8 --- /dev/null +++ b/FPGAExercise8code.md @@ -0,0 +1,144 @@ +## Level-to-pulser + +Finite state machine implementation of a device that takes a level +change (low to high) and turns it into a one-period pulse. + + module levelToPulse(clk, in, out, reset); + + input clk, in, reset; + output reg out; + reg [1:0] state, next; + + // States + parameter WAIT_LOW = 0; + parameter WAIT_HIGH = 1; + parameter RISING = 2; // I've just seen a rising edge + parameter PULSE = 3; // I'm in the process of generating a pulse + + // Reset or update the state on every clock + always @ (posedge clk or reset) + begin + if (reset) + begin + state <= WAIT_LOW; + next <= WAIT_LOW; + out = 0; + end + else + state <= next; + end + + // What to do in each state + always @ (state or in) begin + case (state) + WAIT_LOW: + begin + if (in == 1) + next = RISING; + end + RISING: + begin + out = 1; + next = PULSE; + end + PULSE: + begin + out = 0; + if (in == 0) + next = WAIT_LOW; + else + next = WAIT_HIGH; + end + WAIT_HIGH: + if (in == 0) + next = WAIT_LOW; + endcase // case (state) + + end + + endmodule + +## Level-to-pulser Testbench + + module test_stateMachine(); + // Parameters + parameter CLKPERIOD = 20; // 50MHz at 1ns + parameter FINISHTIME = 1000; // 1ms + + // DUT inputs + + reg clk, in, reset; + + // DUT outputs + wire out; + + // DUT instantiation + // + levelToPulse DUT(clk, in, out, reset); + + // Stimulus + + // Clock generation + always + #(CLKPERIOD/2) clk = ~clk; + + // Initial conditions + initial + begin + in = 0; + clk = 1; + reset = 0; + // When at finishtime -- this shouldn't happen. It's just a safety. + #FINISHTIME $display ("Reached the end of the sidewalk: %5d", $time); + $finish; + end + + // Inputs + initial + begin + + // Reset and wait + #3 reset = 1; + #3 reset = 0; + + repeat(5) + #CLKPERIOD; + + // Go level high + in = 1; + repeat(5) + #CLKPERIOD; + + // Go low + in = 0; + repeat(4) + #CLKPERIOD; + + // Delay a short time so that input is in different phase with the clock + #(CLKPERIOD / 2); + + in = 1; + repeat(5) + #CLKPERIOD; + + + $display("-----------------------"); + $display("- Normal End at %5t -", $time); + $display("-----------------------"); + $finish; + + + end + + + // Monitor + initial + begin + $dumpfile ("test_stateMachine.lxt"); + $dumpvars(0, test_stateMachine); + end + + + endmodule + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWeek12Exercise.md b/FPGAWeek12Exercise.md new file mode 100755 index 0000000..1ffc0cd --- /dev/null +++ b/FPGAWeek12Exercise.md @@ -0,0 +1,110 @@ +- Download the Frequency Counter and Frequency Generator reference + designs from + +- Download the Picoblaze processor core from + +- Unzip these projects & picoblaze source to your ~/Projects directory + (or appropriatlely) +- Implementing the projects directly + - Each project comes with a .bit file that you can use to program the + FPGA starter kit with. Use impact to program the chip. + - On Windows, you can run the install batch scripts to run impact + automatically. + - Find a buddy with a board, and each of you program your respective + boards. Grab an SMA cable and use that to check the output of the + generator with the counter. +- Implementing the projects through ISE + - Implementing the frequency counter + - In the frequency counter folder, there is a pdf. It is the readme + for the project. It will be your friend - it details how to + quickly run the project, setup the ISE project, design details for + the hardware and picoblaze software, and some more project ideas. + - In ISE, create a new design called "s3e_ref_freq_count" in your + ~/Projects directory. + - Add the existing .vhd and .ucf sources from the frequency counter + reference design folder that you unzipped + - Add the existing .vhd source for kcpsm3.vhd from the picoblaze + VHDL source folder + - A portion of the design uses a undocumented mode of operation for + the S3E DCM. Instructions for enabling this can be found in the + dcm_fixed_osc.vhd file. In my experience, this breaks P&R (-will), + and this should be removed in order to complete the design. The + DCM is simply working in an free-running oscillator mode; this is + merely used to provide a frequency source for testing and its + removal will not adversely affect the design. + - You'll need to modify the **frequency_counter.vhd** file in the + project, to remove the instance of 'dcm_fixed_osc.vhd' from the + design. We won't be doing anything in-depth with VHDL so don't + be intimidated by the different language syntax. + - You'll want to comment out the component dcm_fixed_osc (approx + line 117) . In VHDL, comments are done with double hypens, --. + - Commented out component + + + + -- + -- Fixed frequency oscillator using a DCM + -- + --component dcm_fixed_osc + -- port( clk_out : out std_logic; + -- kick_start : in std_logic ); + -- end component; + +- - The instantiation of the dcm_fixed_osc needs to be commented out + (approximately line 223) + - Commented portion + + + + -- dcm_fixed_oscillator: dcm_fixed_osc + -- port map ( clk_out => dcm_oscillator, + -- kick_start => source_control(7) ); + +- - Now we'll need to change the multiplexer. To keep the design nearly + intact, we'll replicate the ring oscillator signal twice (approx + line 245). + - Changed multiplexer + + + + freq_for_measurement <= sma_clk when (source_control(1 downto 0)="00") + else clk_50mhz when (source_control(1 downto 0)="01") + else ring_oscillator when (source_control(1 downto 0)="10") + else ring_oscillator; + +- - Select the top level module, and take it through the implementation + process - synthesis, place and route, generate programming file. + - Use impact to program the .bit file to the FPGA! It should +- - Implementing the frequency generator + - In the frequency generator folder, there is a pdf. It is the + readme for the project. It will be your friend - it details how to + quickly run the project, setup the ISE project, design details for + the hardware and picoblaze software, and some more project ideas. + - In ISE, create a new design called "s3e_ref_freq_ref" in your + ~/Projects directory. + - Add the existing .vhd and .ucf sources from the frequency ref + reference design folder that you unzipped + - Add the existing .vhd source for kcpsm3.vhd from the picoblaze + VHDL source folder + - A portion of the design uses a undocumented mode of operation for + the S3E DCM. Instructions for enabling this can be found on page + 13 of the Frequency generator documentation. **The design will not + work if the instructions are not followed!** + - Afer this is done, you should be able to implement this design and + program the FPGA with impact. +- Things you can do! + - You can use the .ucf file to move around the pin assignments. For + instance, you can have the frequency counter read the clock input + off of a stake or one of the pmod headers.3 + - Easy extension - create a second ring oscillator, called ring_osc2. + You can extend the ring_osc.vhd for this purpose, adding additional + delay stages will decrease the frequency generated. Follow a similar + format, to the rest of the VHDL code, to declare the component, + instantiation, a second ring_oscillator signal, and modify the + multiplexer. + - Once that is done, synthesis, P&R, and program the design. Select + the second ring oscillator and see what its frequency is! + - Look at the PDF's which come with the reference designs for more + ideas! + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWeek6Followup.md b/FPGAWeek6Followup.md new file mode 100755 index 0000000..ef40a9d --- /dev/null +++ b/FPGAWeek6Followup.md @@ -0,0 +1,85 @@ +Placeholder... + +## Verilog Define Statements + +Verilog provides a text macro substitution facility. This may be useful +for defining constants, opcodes, or with conditional compilation. To +define a text macro, use the define keyword. + + `define myCode 13 + +When you want to use the macro, simple use the macroname with a accent +key. + + a = `myCode; + + +The following compile directives are available for use + + `include Includes another file, avoid using pathnames + `define Define a text macro + `ifdef Starts conditional compilation, dependant on if a macro has been defined + `else Alternate condiational compilation + `endif Ends conditional compilation + `ifndef Starts conditional compilation, like `ifdef + `elseif Alternative conditional compilation + +The use of *\`define* doesn't require that the macro be given a value. +This allows for the following code style (exceprt from a defines.v +file). + + // Number of bits used for devider register. If used in system with + // low frequency of system clock this can be reduced. + // Use SPI_DIVIDER_LEN for fine tuning theexact number. + // + `define SPI_DIVIDER_LEN_8 + //`define SPI_DIVIDER_LEN_16 + //`define SPI_DIVIDER_LEN_24 + //`define SPI_DIVIDER_LEN_32 + + `ifdef SPI_DIVIDER_LEN_8 + `define SPI_DIVIDER_LEN 5 // Can be set from 1 to 8 + `endif + `ifdef SPI_DIVIDER_LEN_16 + `define SPI_DIVIDER_LEN 16 // Can be set from 9 to 16 + `endif + `ifdef SPI_DIVIDER_LEN_24 + `define SPI_DIVIDER_LEN 24 // Can be set from 17 to 24 + `endif + `ifdef SPI_DIVIDER_LEN_32 + `define SPI_DIVIDER_LEN 32 // Can be set from 25 to 32 + `endif + +Likewise, conditional compilation of code is possible + + module add23( + a, + b, + `ifdef ADD3 + c, + `endif + sum); + + output [3:0] sum; + input [3:0] a, b; + `ifdef ADD3 + input [3:0] c; + `endif + + assign sum = + `ifdef ADD3 + c+ + `endif + a+b; + + endmodule + +## Verilog Events + +Lorem Ipsum + +## Verilog Tasks + +Lorem Ipsum + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshop13notes.md b/FPGAWorkshop13notes.md new file mode 100755 index 0000000..b7a7847 --- /dev/null +++ b/FPGAWorkshop13notes.md @@ -0,0 +1,160 @@ +*These notes are intended to highlight bits of information from the +Xilinx KCPSM3 manual distributed with the microprocessor* + +**Xilinx Picoblaze** + +KCPSM3 - An 8 Bit Microcontroller for Xilinx Spartan 3 & Virtex 2/4 +devices + +**What is kcpsm3** + +Very Simple microcontroller. Can be used for data processing or as a +complex state machine. + +**KCPSM** - (**K**)constant **C**oded **P**rogrammable **S**tate +**M**achine + +Its very small - 96 Spartan3 slices + 1 block ram + +Our boards - 4656 slices -\> that is 2% of the slice resources! + +Entirely embedded in the fpga fabric - integrates with all the logic +you've already been writing! + +**kcpsm is small** + +Konstant explained - notice how the mips = 1/2 clock speed? + +CPI of the processor is 2. And fixed at 2. that makes it very easy to +determine the runtime of a program in an embedded system. + +**kcpsm3 architecture** + +architecture is closed (it is a xilinx macro, not a readily readable +verilog design) but the architecture is not secret though + +simple input port/output based IO, up to 256 addressable 8bit +ports/devices 16 general purpose registers 64 byte memory/scratch pad +alu with carry/zero flags single interrupt line/acknowledge program +counter control/instruction decoder program memory + +**device features** + +program memory - 1 18kb block ram! this stores 1024 18 bit instructions. +16 general purpose registers. No dedicated zero register or accumulator +alu - does add/sub/add&sub with carry alu - load/and/or/xor bitwise +alu - shift/rotates flags and flow control - help determine program flow +with carry/zero flags + conditional jump/call instructions interrupts - +jumps to a single address (initiates CALL 3FF) - an ISR + +**using the kcpsm3** used as a verilog module in the design flow. simply +copy the kcpsm3.v file into your project and instantiate it kcpsm3 +assembler generates a verilog memory file - use that in your design as +well. connect the two modules together. alternatively - use the +embedded_kcpsm3.v file + +**instruction set** + +1. program control group + 1. unconditional jump + 2. conditional jumps (branches!) + 3. call/return with stack depth of 31 +2. interrupt group + 1. enable/disable interrupt + 2. return from isr & either enable/disable the interrupt +3. storage group + 1. store/fetch data from the scratch pad +4. i/o group +5. arithmetic group + 1. add/sub/compare + 1. work with 2 operands or 1 operand and a constant +6. logical group + 1. load/and/or/xor/test + 1. work with 2 operands or 1 operand and a constant +7. shift/rotate group + 1. both left/right shifts available + +pointers available + +**port access** + +input and output ports available. + +very simple with the two cycle operation + +1. 1st cycle - instruction decode +2. 2nd cycle - instruction execute + +Read strobe - not needed, port_id used w/ a mux to determine what gets +put on input port. data captured by kcpsm3 on next clock edge. + +write strobe - use as a clock enable signal for external circuitry to +capture data from out port. + +\<8 output ports, use 1hot addressing + +\>8 output ports, use address decoder to enable the correct port + +input ports -\> leads itself to a multiplexed architecture + +**reset** + +synchronous to kcpsm3 clock. blanks the processor and restarts it at +address 0x000. + +**picoblaze assembler** + +xilinx assembler is a dos program, which accepts .psm (picoblaze +assembler) source files and outputs vhdl/verilog files for your use +multipass, lots of quick information. don't be afraid to dump the file. + +possible to run under wine/dosbox, lots of alternatives available. + +**program syntax** + +1. blank lines are ignored +2. comments begin with ; +3. registers - form sX, where X={0,1,2,..9,A,...,E,F} +4. constants +5. Data value - 00 -\>FF +6. Port value - 00 -\>FF +7. Address - 000 -\>3FF +8. Line labels: Useful for call and jump instructions! + +constant -\> define a label used within the program for holding a +constant value. like a C macro + +namereg -\> define a label used within the program for identifying a +register. allows for much more readable code. + +**Interrupts** + +slides are really detailed about this and good - read them + +**call/return stack** + +31 level call/return stack. program counter preserved upon the calll +instruction or interrupt. registers are not preserved - be careful not +to clobber your registers. + +**simulation** picoblaze assembly simulators exist - \> prove your code +by hand (slow) nothing stopping you from simulating the HDL design - but +can be very slow. quicker to fix hardware design -\> then code and +download to picoblaze via jtag and run the software. + +**other picoblaze ide/assemblers/simulators/implementations that are not +from xilinx** + +1. **pacoblaze** [Pacoblaze](http://www.bleyer.org/pacoblaze/) + opensource, picoblaze compliant verilog implementation. complete + with java assembler. +2. **openPicIDE** [openPicIDE](http://www.openpicide.org/) opensource + picoblaze ide/assembler/simulator. very robust! works on linux, mac, + windows. +3. **mediatronix picoblaze ide** + [mediatronix](http://www.mediatronix.com/tools/index.htm) amazing + windows picoblaze ide +4. **kpicosim** [kpicosim](http://www.xs4all.nl/~marksix/) picoblaze + simulator and assembler. linux + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshop16Notes.md b/FPGAWorkshop16Notes.md new file mode 100755 index 0000000..a872103 --- /dev/null +++ b/FPGAWorkshop16Notes.md @@ -0,0 +1,284 @@ +this is known broke - will + + ////////////////////////////////////////////////////////////////////////////////// + // Company: + // Engineer: + // + // Create Date: 11:23:27 01/28/2010 + // Design Name: + // Module Name: frequency_counter + // Project Name: + // Target Devices: + // Tool versions: + // Description: Verilog implementatino of the frequency counter reference + // design from Xilinx for Spartan 3E Starter Kit + // + // Dependencies: + // + // Revision: + // Revision 0.01 - File Created + // Additional Comments: + // + ////////////////////////////////////////////////////////////////////////////////// + module frequency_counter( + output [7:0] led, + input [4:0] sw, + output strataflash_oe, + output strataflash_ce, + output strataflash_we, + inout [7:4] lcd_d, + output lcd_rs, + output lcd_rw, + output lcd_e, + input sma_clk, + input clk_50mhz + ); + + // signals for counting the test clock + reg [3:0] ab_switch_delay; + reg a_count_ce, b_count_ce; + reg [31:0] a_count, b_count; + reg a_count_rst, b_count_rst; + reg freq_for_measurement; + wire test_clk; + + // signals for 1 second interrupt generation and couter switching + reg ab_switch; + reg [99:0] interrupt_delay; + reg [25:0] one_second_count; + reg one_second_pulse; + reg interrupt; + reg [7:0] source_control; + + // signals for processor interconnect + reg [7:0] in_port; + wire [7:0] out_port; + wire write_strobe, read_strobe; + wire [7:0] port_id; + wire interrupt_ack; + wire [17:0] instruction; + wire [9:0] address; + + // lcd wires + reg [7:0] lcd_reg; + wire lcd_drive; + wire lcd_output_data; + + // led reg + reg [7:0] led_reg; + + // ring osscillator instantiations + ring_osc logic_oscillator (.reset(source_control[6]),.osc_out(ring_oscillator)); + ring_osc2 logic_oscillator2 (.reset(source_control[6]),.osc_out(ring_oscillator2)); + + // frequency selection mux - purely combinational + always@(sma_clk or clk_50mhz or ring_oscillator or ring_oscillator2) + if(source_control[1:0] == 2'b00) + freq_for_measurement = sma_clk; + else if(source_control[1:0] == 2'b01) + freq_for_measurement = clk_50mhz; + else if(source_control[1:0] == 2'b10) + freq_for_measurement = ring_oscillator2; + else + freq_for_measurement = ring_oscillator; + + // global clock buffer the test clock + BUFG buffer_clkin(.O(test_clk), .I(freq_for_measurement)); + + // counter switch control + always@(posedge test_clk) + begin + ab_switch_delay <= {ab_switch_delay[2:0], ab_switch}; + case(ab_switch_delay[3:1]) + 3'b000: begin + a_count_ce <= 1; + b_count_ce <= 0; + end + 3'b111: begin + a_count_ce <= 0; + b_count_ce <= 1; + end + default: begin + a_count_ce <= 1; + b_count_ce <= 0; + end + endcase + end + + // test counters + always@(posedge test_clk or posedge a_count_rst) + if(a_count_rst) + a_count <= 'b0; + else if(a_count_ce) + a_count <= a_count+1; + else + a_count <= a_count; + + always@(posedge test_clk or posedge b_count_rst) + if(b_count_rst) + b_count <= 'b0; + else if(b_count_ce) + b_count <= b_count+1; + else + b_count <= b_count; + + // one second interrupt generation and clock switching + /* always@(posedge clk_50mhz) + begin + // divide by 50,000,000 to generate pulse + if(one_second_count == 26'd49999999) + begin + one_second_count <= 'b0; + one_second_pulse <= 1'b1; + end + else + begin + one_second_count <= one_second_count + 1; + one_second_pulse <= 1'b0; + end + + // delay 100 clock cycles before generating interrupt + interrupt_delay <= {interrupt_delay[98:0], one_second_pulse}; + + // interrupt generation + if (interrupt_ack == 1'b1) + interrupt <= 1'b0; + else if (interrupt_delay[99] == 1'b1) + interrupt <= 1'b1; + else + interrupt <= interrupt; + + // counter selection switch toggle's each second + if (one_second_pulse == 1'b1) + ab_switch <= ~ab_switch; + end*/ + always@(posedge clk_50mhz) + begin + // divide by 50,000,000 to generate pulse + if(one_second_count == 26'd49999999) + begin + one_second_count <= 'b0; + one_second_pulse <= 1'b1; + end + else + begin + one_second_count <= one_second_count + 1; + one_second_pulse <= 1'b0; + end + end + always@(posedge clk_50mhz) + + begin + // delay 100 clock cycles before generating interrupt + interrupt_delay <= {interrupt_delay[98:0], one_second_pulse}; + end + + always@(posedge clk_50mhz) + begin + // interrupt generation + if (interrupt_ack == 1'b1) + interrupt <= 1'b0; + else if (interrupt_delay[99] == 1'b1) + interrupt <= 1'b1; + else + interrupt <= interrupt; + end + + always@(posedge clk_50mhz) + begin + // counter selection switch toggle's each second + if (one_second_pulse == 1'b1) + ab_switch <= ~ab_switch; + else + ab_switch <= ab_switch; + end + + + // picoblaze instantiation + kcpsm3 processor (.address(address), + .instruction(instruction), + .port_id(port_id), + .write_strobe(write_strobe), + .out_port(out_port), + .read_strobe(read_strobe), + .in_port(in_port), + .interrupt(interrupt), + .interrupt_ack(interrupt_ack), + .reset(reset), + .clk(clk_50mhz)); + fc_ctrl program_rom (.address(address), + .instruction(instruction), + .proc_reset(proc_reset), + .clk(clk_50mhz)); + + // processor input ports + always@ (posedge clk_50mhz) + case(port_id[7:4]) + // read A counter + 4'b0000: in_port <= a_count[7:0]; + 4'b0001: in_port <= a_count[15:8]; + 4'b0010: in_port <= a_count[23:16]; + 4'b0011: in_port <= a_count[31:24]; + // read B counter + 4'b0100: in_port <= b_count[7:0]; + 4'b0101: in_port <= b_count[15:8]; + 4'b0110: in_port <= b_count[23:16]; + 4'b0111: in_port <= b_count[31:24]; + // read slide switches + 4'b1000: in_port <= {3'b000, ab_switch, sw}; + // read LC Ddata at address 90 hex + 4'b1001: in_port <= {lcd_d, 4'b0000}; + // original design used a dont care condition + // I've decided to let it retain its value. + default: in_port <= in_port; + endcase + + // output ports + always@ (posedge clk_50mhz) + if(write_strobe) + case(port_id[3:0]) + // LED register at address 0x01 + 4'b0001: led_reg <= out_port; + // Counter reset controls at 0x02 + 4'b0010: begin + a_count_rst <= out_port[0]; + b_count_rst <= out_port[1]; + end + // LCD data/controls at 0x04 + 4'b0100: begin + lcd_reg <= out_port; + end + // Source selection and control at 0x08 + 4'b1000: source_control <= out_port; + endcase + + // LCD controls + assign lcd_rw_control = lcd_reg[1]; + assign lcd_drive = lcd_reg[3]; + assign lcd_output_data = lcd_reg [7:4]; + // LCD Outputs + assign lcd_e = lcd_reg[0]; + assign lcd_rw = lcd_rw_control && lcd_drive; + assign lcd_rs = lcd_reg[2]; + assign lcd_d = ((lcd_rw_control == 1'b0) && (lcd_drive == 1'b1)) ? lcd_output_data : 4'bZZZZ; + + // LED assignment + //assign led = led_reg; + // Debug assignments + assign led[7]=led_reg[7]; //A counter + assign led[6]=led_reg[0]; //B counter + assign led[5]=a_count[10]; // should toggle at 8hz when enabled + assign led[4]=b_count[10]; // should toggle at 8hz when enabled + assign led[3]=one_second_count[24]; // should toggle very fast. + assign led[2]=one_second_pulse; // once per second + assign led[1]=interrupt_ack; //interrupt ack + assign led[0]=interrupt; //interrupt + + // strataflash chip enable signals to disable onboard strataflash + assign strataflash_we = 1'b1; + assign strataflash_ce = 1'b1; + assign strataflash_oe = 1'b1; + + endmodule + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshop17Notes.md b/FPGAWorkshop17Notes.md new file mode 100755 index 0000000..18ade8f --- /dev/null +++ b/FPGAWorkshop17Notes.md @@ -0,0 +1,425 @@ +## PicoBlaze Flow / Tutorial + +**THIS SET OF INSTRUCTIONS ASSUMES THE READER IS FAMILIAR WITH THE ISE +SUITE FLOW FOR CREATING, IMPLEMENTING AND PROGRAMING PROJECTS.** + +### Overview of Picoblaze / ISE Development flow + +The PicoBlaze development flow is different from the FPGA flow we've +seen so far. We have to use a new tool, a PicoBlaze assembler, in +conjunction with the ISE tool set. + +
+ +
File:Picoblaze_flow.png
+
+ +I reccomend placing a folder named 'asssembly' or something else +memorable in the root of your desired ISE project. This will keep an +entire project togetheer in a single directory. You'll want to copy the +ROM_form.vhd file from the picoblaze processor distribution to a +convenient place, such as ./assembly directory or your project +directory. We'll need to have a copy of this to use later. + +The new tool we'll be working with today is openpicide. It is a project +management IDE, Syntax check, program assembler and device simulator. It +is opensource project, based on the QT framework. We'll be using it to +generate the program ROM as a VHDL block ram file, which will be used +with our design. The structure of our example project will look like the +following: + +1. top_level.v + 1. embedded_kcpsm3.v + 1. kcpsm3.v + 2. prog_rom.vhd - This is the file generated by the assembler. +2. project_constraints.ucf + +In general, a picoblaze design would look like this + +1. top_level.v + 1. embedded_kcpsm3.v + 1. kcpsm3.v + 1. prog_rom.vhd - This is the file generated by the + assembler. + 2. periperal1.v + 3. periperal2.v + 1. sub_module1.v + 2. .... + 4. other logic as needed +2. project_constraints.ucf + +## Example \#1 + +### Picoblaze simple example / toolchain tutorial + +To begin, make sure you've got Xilinx ISE and OpenpicIDE installed. You +can obtain openpicIDE here You'll also need to +get the picoblaze download package. + +First, we'll create the ISE project. Create a new project called +picoblaze_example1 in your projects directory. Add copies of the +following files from the picoblaze download package. + +- embedded_kcpsm3.v +- kcpsm3.v + +Then create 2 new source files + +- constraints.ucf +- picoblaze_example1.v. + +Copy and paste the contents of these files from the wiki \[see below\]. +You should note that your missing a file, prog_rom, which is in the +embedded_kcpsm3 module. Do not attempt to implement the design - it will +not work until we generate the program ROM. + +When openpicide opens, you'll want to create a project. You should save +the project file in your 'assembly' folder as "picoblaze_example1". +Under the settings for the project, you'll need to do the following: + +1. Set the processor to Xilinx picoblaze +2. Under the VHDL tab, set the entity name to "prog_rom" +3. Set the vhdl source file to the ROM_form.vhd file we copied earlier. +4. You can leave the rest of the settings to their default values. + +You'll then need to create a new file - use the new file button in the +upper left corner, or go to **File** -\> **New**. Copy and paste the 1st +example source file from the wiki. Using the **Picoblaze Menu** Run a +syntax check on the code to make sure it is correct, and then generate a +VHDL memory file from the code. Save the file as "prog_rom_example1.vhd" +in your assembly section. You can now move back to ISE. + +**note: the picoblaze assembly files and the openpicide project file +need to be in the same directory** + +Now, add the program file "prog_rom_example1.vhd" to your project, using +"Add Copy of Source". You'll notice that the prog_rom module is no +longer missing. You now need to comment out line 29, defining the +constraint for SW1, from the UCF file. After that is commented out, you +can implement the design. After programming the board, you should now +see the LED's flipping on and off; if so, you have a working Picoblaze +toolchain. + +### constraints.ucf + +This constraints file can be used with the design examples covered in +this tutorial. + + # + # UCF For Picoblaze Examples + # + # Period constraint for 50MHz operation, assume a 50% duty cycle, +/- 10% + # + NET "CLK_50MHZ" PERIOD = 20.0ns HIGH 40%; + # + # soldered 50MHz Clock. + # + NET "CLK_50MHZ" LOC = "C9" | IOSTANDARD = LVTTL; + + # Simple LEDs + # Require only 3.5mA. + # + NET "LED<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "LED<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "LED<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "LED<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "led<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "led<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "led<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + NET "led<7>" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; + + # Simple switches + # Pull UP resistors used to stop floating condition during switching. + # sw0 + NET "FPGA_RESET" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP; + # sw1 + NET "SW1" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP; + +### picoblaze_example1.v + + + module picoblaze_example1( + input FPGA_RESET, + input CLK_50MHZ, + output [7:0] LED + ); + + wire clock = CLK_50MHZ; + // reset is active high. + // if no reset signal input + // then tie reset to zero here. + + wire reset = FPGA_RESET; + wire [7:0] port_id; + wire write_strobe; + wire read_strobe; + wire [7:0] out_port; + wire [7:0] in_port=0; + wire interrupt=0; + wire interrupt_ack; + + + embedded_kcpsm3 EMBEDDED( + .port_id(port_id), + .write_strobe(write_strobe), + .read_strobe(read_strobe), + .out_port(out_port), + .in_port(in_port), + .interrupt(interrupt), + .interrupt_ack(interrupt_ack), + .reset(reset), + .clk(clock) + ); + + // only one bit written to by picoblaze, the LED. + // therefore don't need to decode port_id. + // if write_strobe asserts, grab out_port[0] and + // hold it in userbit. + + reg [7:0] userbit = 0; + + always @(posedge clock) begin + if(write_strobe) begin + userbit <= out_port; + end + end + + assign LED = userbit; + + endmodule + +### example \#1 source + + ; + ; simple example code, original + ; + start: LOAD s9, 0xAA + drive_wave: OUTPUT s9, 0x02 ; write s9 register to userbit + LOAD S2, 0x0F ; S2 initial value + loop2: LOAD S1, 0xFF ; S1 initial value + loop1: LOAD s0, 0xFF ; S0 initial value + loop0: SUB s0, 0x01 + JUMP NZ, loop0 + SUB s1, 0x01 + JUMP NZ, loop1 + SUB s2, 0x01 + JUMP NZ, loop2 + ; + XOR s9, 0xFF ;toggle register + JUMP drive_wave + +## Example \#2 + +### Expanding on the example + +Create a new picoblaze project, in the assembly directory. Use the +source from example \#2 to create a new program rom file. You can name +this program rom "prog_rom_example2.vhd". Copy this into your ISE +project, and then remove the original prog_rom_example1.vhd from your +project. Rebuild the project and reprogram your board. Your LEDs should +be shifty now, instead of inverting! + +### picoblaze_example2.psm source + + ; + ; simple example code, shifting + ; wait longer too + ; + start: LOAD s9, 0xA5 ; 10100101 ; <---- THIS CHANGED + drive_wave: OUTPUT s9, 0x02 ; write s9 register to userbit + LOAD S2, 0x2F ; S2 initial value <---- THIS CHANGED + loop2: LOAD S1, 0xFF ; S1 initial value + loop1: LOAD s0, 0xFF ; S0 initial value + loop0: SUB s0, 0x01 + JUMP NZ, loop0 + SUB s1, 0x01 + JUMP NZ, loop1 + SUB s2, 0x01 + JUMP NZ, loop2 + ; + RL s9 ; shift left register ; <---- THIS CHANGED + JUMP drive_wave + +## Example \#3 + +### Lets add some input + +Lets read in a switch now! To do this, you can do one of two things. You +can add a input port, and add the multiplexed input re g manually. I've +already built this example, so you can create a new ISE project. Can +call this project "picoblaze_example3". Follow the instructions from +earlier in the tutorial, but use the following verilog source file. +You'll also need to create a new OpenPicIDE project with the source used +in the following example. Make sure that SW1 is not commented out in +your UCF file. + +### picoblaze_example3.v source + + module picoblaze_example3( + input FPGA_RESET, + input CLK_50MHZ, + input SW1, + output [7:0] LED + ); + + wire clock = CLK_50MHZ; + // reset is active high. + // if no reset signal input + // then tie reset to zero here. + + wire reset = FPGA_RESET; + wire [7:0] port_id; + wire write_strobe; + wire read_strobe; + wire [7:0] out_port; + reg [7:0] in_port; + wire [7:0] switches; + wire interrupt=0; + wire interrupt_ack; + + + embedded_kcpsm3 EMBEDDED( + .port_id(port_id), + .write_strobe(write_strobe), + .read_strobe(read_strobe), + .out_port(out_port), + .in_port(in_port), + .interrupt(interrupt), + .interrupt_ack(interrupt_ack), + .reset(reset), + .clk(clock) + ); + + // only one bit written to by picoblaze, the LED. + // therefore don't need to decode port_id. + // if write_strobe asserts, grab out_port[0] and + // hold it in userbit. + + reg [7:0] userbit = 0; + + always @(posedge clock) + if(write_strobe) + userbit <= out_port; + + + // only one bit is read by picoblaze, the SW1. + // therefore don't need to decode port_id. + // if read_strobe asserts, grab swib out_port[0] and + // hold it in userbit. + + always @(posedge clock) + if(read_strobe) + in_port <= switches; + else + in_port <= 8'bX; + + assign LED = userbit; + assign switches = {7'b0, SW1}; + + endmodule + +### picoblaze_example3.psm + + ; + ; simple example code, shifting and inverting + ; wait longer too + ; + ; read in a switch at each loop, if the switch is 1 then invert + ; the register instead of shifting it + ; + ; + start: LOAD s9, 0xA5 ; 10100101 + drive_wave: OUTPUT s9, 0x02 ; write s9 register to userbit + LOAD S2, 0x2F ; S2 initial value + loop2: LOAD S1, 0xFF ; S1 initial value + loop1: LOAD s0, 0xFF ; S0 initial value + loop0: SUB s0, 0x01 + JUMP NZ, loop0 + SUB s1, 0x01 + JUMP NZ, loop1 + SUB s2, 0x01 + JUMP NZ, loop2 + ; Read the inport to s8 + INPUT s8, 0x01 + ; test bit 0, if 1, set carry flag + TEST s8, 0x01 + ; if (s8[0] == 1) invert_wave else shift_wave + JUMP C, invert_wave + ; shift the wave and drive it + shift_wave: RL s9 ; shift left register + JUMP drive_wave + ; invert the wave and drive it + invert_wave: XOR s9, 0xFF ;toggle register + JUMP drive_wave + +However, that code is a bit hard to read!! It can be much easier to read +mnemonics instead of hex value and register id's. After getting the code +above working, go ahead and add the following to the top of your +picoblaze assembly source. + + ; + ; Make it human readable with mnemonics! + ; + + NAMEREG S0, I_VAR + NAMEREG S1, J_VAR + NAMEREG S2, K_VAR + NAMEREG S9, WAVE_VAR + NAMEREG S8, SCRATCH_VAR + + CONSTANT INITIAL_I, 0xFF + CONSTANT INITIAL_J, 0xFF + CONSTANT INITIAL_K, 0x2F + CONSTANT INITIAL_WAVE, 0xA5 ;10100101 + CONSTANT BITMASK, 0x01 + ; + +After adding this section to your code, go through and replace the +following items + +- Register references, sX, should be replaced with the variable names +- Constants which are named should be replaced. + +After replacing the constants, you're code should look like this + + start: LOAD WAVE_VAR, INITIAL_WAVE ; + drive_wave: OUTPUT WAVE_VAR, 0x02 ; write s9 register to userbit + LOAD K_VAR, INITIAL_K ; S2 initial value + loop2: LOAD J_VAR, INITIAL_J ; S1 initial value + loop1: LOAD I_VAR, INITIAL_I ; S0 initial value + loop0: SUB I_VAR, 0x01 + JUMP NZ, loop0 + SUB J_VAR, 0x01 + JUMP NZ, loop1 + SUB K_VAR, 0x01 + JUMP NZ, loop2 + ; Read the inport to s8 + INPUT SCRATCH_VAR , 0x01 + ; test bit 0, if 1, set carry flag + TEST SCRATCH_VAR , BITMASK + ; if (s8[0] == 1) invert_wave else shift_wave\ + JUMP C, invert_wave + ; shift the wave and drive it + shift_wave: RL WAVE_VAR ; shift left register + JUMP drive_wave + ; invert the wave and drive it + invert_wave: XOR WAVE_VAR, 0xFF ;toggle register + JUMP drive_wave + +## Run the simulator + +Now we have mnemonics entered into our code, we can easily tweak it. +First, we can change the I_Var, J_Var, K_Var, to be smaller values, such +as 0x0F. You can then step through the program, or just run it, in the +OpenPicIDE simulator. + +## Acknowledgements / References + +This was based on a simple example found here + +The Picoblaze download can be found here + +OpenPicIDE is available here + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopBrian.md b/FPGAWorkshopBrian.md new file mode 100755 index 0000000..5587781 --- /dev/null +++ b/FPGAWorkshopBrian.md @@ -0,0 +1,4 @@ +My project is a PROM reader/burner for my old Galaga stand-up arcade +game. + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopDLotts.md b/FPGAWorkshopDLotts.md new file mode 100755 index 0000000..6e1b59f --- /dev/null +++ b/FPGAWorkshopDLotts.md @@ -0,0 +1,114 @@ +Currently I only have some meta ideas: + +I'd like to do something that: + +\- can't be done using microcontrollers. + +\- that I can complete + +------------------------------------------------------------------------ + +I thought I'd share another meta-idea that might lend itself FPGA +programming. I have to come up with a practical application, to test out +these ideas, but I need help working out an issue, described at the +bottom of this. + +This idea follows what I call the "sailing philosophy", that is: meet +requirements using the wind that you get, even if you have to zigzag, +and NOT getting all silly about controlling the wind and rest of the +environment. + +This may also be an example of the ["Worse is +better"](http://en.wikipedia.org/wiki/Worse_is_better) philosophy. + +## The sloppy redundant full feedback approach to physical computing + +-or- + +## The Cloud Computing approach to Managing Sensors + +Abstract: Physical computing, robotics, and mechatronics suffer from a +mapping problem, a mechanical complexity problem, and a configuration +management problem. These problems can be solved by creating and using +clumps of cheap sensors, attached using modern adhesive materials and +connecting their output wires randomly to the input of the computer +controller. Then, requiring the designer to set a sensor clump for every +movement, the controller can manage it's own configuration +automatically. + +Sensor mounting: Wrap-on, spray on, glue on. Must work without perfect +positioning and without careful mounting of screws and mounting plates +-- none of that. It should be like putting on a band aid, a bandanna, or +peeling a Bannana. :^) It should be a blob of clay with wires that you +push into the correct spot for sensing. (Epoxy putty and two part +silicone come to mind.) Or perhaps like a strip of adhesive tape or +Velcro(TM) that you wrap around or along a moving joint. + +Sensor clumps: Sensors must be a bunch of more or less redundant wired +outputs that sense different portions of where they are mounted. For +example, an array of light sensors, each positioned and pointed randomly +and distributed. For another example, conductors thinly separated, +changing resistance, distributed around something that moves, or +capacitive around gaps, or hall affect around moving metal. Each sensor +is actually a bundle of cheap sensors, maybe thirty or a hundred tiny +points of electronics that change electrical output in response to a +change in the environment. + +Connecting the sensors: Should be a bundle of wires, perhaps a ribbon +cable, that makes it's way to each sensor. The mapping of the wires to +the input on the controller MUST be inconsequential. Figuring out which +wire goes to which sensor is a responsibility of the system, NOT human +that connects them. The wires get bundled together randomly and +connected regardless of what they sense, or even if they are not +connected. + +Actuators: Motors, piston cylinders, lights, heaters, anything that +moves, emits radiation, or otherwise changes a physical state MUST have +a sensor clump mounted on or with it. This is practical because sensors +are easy to apply and cheap -- see sensor clumps, and sensor mounts. + +Controller initialization: When the controller is powered on it must go +through a series of movements whereby it changes an actuator and records +which sensors are relevant to each movement and what scale . This way it +can set up feedback loops from the control output to the sensor +feedback. This is similar to what I imagine infants do, as they move +randomly and map the sensations produced. It can store this mapping of +actuator to sensor in non-volitale memory for next power up, perhaps use +it as a hint, so that the initialization can be much faster and requires +only a small movement. + +Limit sensing 1: Limit sensing must be done carefully since driving a +motor past it's range of motion can damage the structure or the +actuator. One idea perhaps to designated some sensors that report a bad +state and other sensors that can predict the bad state. For example, a +position sensor and a limit switch to indicate a bad state, or a +temperature sensor that can be calibrated to predict an over-heating +sensor. The bad state sensor must be manually calibrated, or positioned +at the limit manually. I don't know how the controller would determine +which is the bad state sensor. Perhaps it could be first initialized +with all bad state sensors in their good state, then record that for the +life of the device. + +Limit sensing 2: Another idea for limit sensing is the designer could +associate particular actuators as having limits, so that during +initiation it will search for it's limits by oscillating in small +increments, progressing slowly in one direction, until it senses +feedback with the same frequency as it's oscillation, and then do the +same in the other direction. + +The blocking challenge: Another issue with this approach that I have to +solve before I start is that of analog to digital. A wide variety of +analog inputs with unpredictable ranges need to be connected to a large +number of digital inputs. I'm hoping some simple thresholding with +comparators or similar can allow easily connecting to digital inputs. I +guess an analog multiplexer connected to an ADC might do the trick. Then +I just need 8 or 16 bits to connect the signal input to the controller, +and address bits that select a sensor's wire, maybe another few IO pins +to control a gain amplifier for sensors with weak signals. + +I had hoped that FPGA's had more analog features at their inputs, but +they seem black and white. This is the part that I haven't yet figured +out. Please help! --[DLotts](User:DLotts "wikilink") 06:39, 28 February +2010 (UTC) + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopDaniel.md b/FPGAWorkshopDaniel.md new file mode 100755 index 0000000..5781649 --- /dev/null +++ b/FPGAWorkshopDaniel.md @@ -0,0 +1,12 @@ +## Project(s) + +Personal page: [User:obscurite](User:obscurite "wikilink") + +- Work with Martin on Game of Life simulation models and display (VGA?) + + + +- Work on bio signals processing (ECG for now) using [DIY + ECG](DIY_ECG "wikilink") circuits + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopMaitland.md b/FPGAWorkshopMaitland.md new file mode 100755 index 0000000..f8cae00 --- /dev/null +++ b/FPGAWorkshopMaitland.md @@ -0,0 +1,18 @@ +1\. Port [**AMRAD +Charleston**](http://amrad.org/projects/charleston_sdr/) FPGA loads from +Digilent Nexys2 to the Xilinx Spartan3 dev board + +2\. See if +[**nexsys2prog**](http://plausible.org/andy/nexys2prog.tar.gz) can be +adapted to support these boards and allow +[**UrJTAG**](http://packages.debian.org/squeeze/urjtag) to work. + +3\. Try to mimic a USRP only using AMRAD Charleston receiver boards. (Or +audio ADC.) + +4\. Look into [**VITA Radio Transport (VRT) +protocol**](http://www.digitalif.org/) support + +5\. Make use of the Ethernet port, possibly mimic a USRP2. + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopMartin.md b/FPGAWorkshopMartin.md new file mode 100755 index 0000000..bb61687 --- /dev/null +++ b/FPGAWorkshopMartin.md @@ -0,0 +1,41 @@ +Three ideas so far: + +Multiple 8-bit game console sound chip emulator. Generate the sounds of +the '80s: C64, NES, Atari, etc. I need to research some of the chips but +it looks like there is plenty of info out there. Manuals/schematics: + +- [Mikes Arcade](http://www.mikesarcade.com/arcade/manuals.html) +- [Important Space Invader + information](http://www.brentradio.com/SpaceInvaders.htm) +- [TI 76489 Audio + Chip](http://web.inter.nl.net/users/J.Kortink/home/articles/sn76489/) +- [PicoBlaze D/A converter design + example](http://www.xilinx.com/products/boards/s3estarter/files/s3esk_picoblaze_dac_control.pdf) +- [fpga-synth.net - FPGAs to build/design synthesizers and audio + processing engines](http://www.fpga.synth.net/) + +Limited AM radio. Use passive front end Nyquist filter, digital +down-converter and low-pass filter to receive the lower part of the AM +broadcast band. Got the idea from Oct '09 Circuit Cellar article +'Multi-rate Techniques and CIC Filter'. Success would be anything that +worked better than the chunk of geranium and safety pin radio from grade +school. + +- [Xilinx LogiCORE CIC (Cascaded Integrator-Comb) + compiler](http://www.xilinx.com/support/documentation/ip_documentation/cic_compiler_ds613.pdf) + +Game of life analyzer. Run game of life for many generations while +saving/encoding previous states of the game array to look for repeated +and other patterns. VGA game output would be fun too. Some fun life/CA +links: + + + + + +1/27/10 - Patched together some Pong code (game not the professor) on +the Spartan 3E dev board to learn VGA interface. Pong code lacks +sounds - might as well give that a try. 8/25/10 - Run ISE simulator +under Win 7 - set webservices to startup automatically + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopMatt.md b/FPGAWorkshopMatt.md new file mode 100755 index 0000000..9382cc8 --- /dev/null +++ b/FPGAWorkshopMatt.md @@ -0,0 +1,15 @@ +I've got a couple of ideas so far: + +1. WEP or WPA (or other hash/cipher) crack acceleration + - In my dreams, I imagine a crack accelerator embedded in an + autonomous robot that drives itself around cracking networks as it + goes. +2. non-von Neumann computer + - E.g., the Reduceron, which is a machine that does something called + graph reduction, a thing computationally equivalent to a Turing + machine but which is better suited to pure functional languages + like Haskell + - see +3. SIP \<-\> analog telephone adapter + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopNick.md b/FPGAWorkshopNick.md new file mode 100755 index 0000000..99aaebd --- /dev/null +++ b/FPGAWorkshopNick.md @@ -0,0 +1,23 @@ +**Video scaler with VGA output** + +To reduce the high likelihood of this project ending in undebuggable +disaster, I plan to start off with simple goals and add complexity to +the code and input/output circuitry incrementally. + +1: (COMPLETED) Generate a simple 640x480 VGA test pattern with all +timing and sync signals controlled by the FPGA. + +3: Create a framebuffer in Block RAM or the devboard's SRAM. + +4: Use the framebuffer to window low resolution (\<640x480) digital +video input within a 640x480 output frame (no scaling). + +5: Attempt to implement scaling algorithms to scale the input resolution +to fill the full frame of the output resolution. + +6: Add 24-bit color depth to the output with the addition of a THS8134B +video DAC. + +If I can manage to get this far, I will add additional objectives. + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGAWorkshopTopics.md b/FPGAWorkshopTopics.md new file mode 100755 index 0000000..e6349af --- /dev/null +++ b/FPGAWorkshopTopics.md @@ -0,0 +1,260 @@ +Archive of Materials from the HacDC FPGA Workshop + +------------------------------------------------------------------------ + +### Discussion Materials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Week

Date

Topics Covered

Exercise

Solutions/Approach

1

October 7th, 2009

Workshop +Introduction & Introduction to digital systems and +design

Make sure people can run the Virtual Machine or FOSS +tools

Lorem Ipsum

2

October 14th, 2009

Boolean +Logic, combinatorial circuits and timing

Make sure people can run the Virtual Machine or FOSS tools
+|Boolean +& Combinatorial Exercises

Exercise +Solutions Discussion 2 Exercises Solution notes

3

October 21st, 2009

Introduction to +Verilog Coding, focusing on combinatorial circuits

Verilog Coding Modular +Full Adder Design and Simulation and ALU extension project

Solutions

4

October 28th, 2009

Make up day

Solutions

4 1/2

November 4th, 2009

Introduction +to Sequential Logic and Flip Flops

Audio

Placeholder

5

November 11th, 2009

No class meeting with Will

Different adder +construction, shift register and LFSR construction

4 bit counter code +from group hacking session

6

November 18th, 2009

DFFs +round 2, Testbenches Notes on the use of Define statements, tasks and +events

Shift Register & LFSR examples from week 5

Shift Register, SR +Testbench, LFSR, LFSR Testbench

7

November 25th, 2009

Xilinx tool install party

Xilinx ISE +In-Depth Tutorial

See Tutorial

8

December 2nd, 2009

Finite +State Machines
+Clocking +Notes

Vending Machine Simulation from notes

FSM level-to-pulse +converter, testbench

9

December 9th, 2009

We talked about stuff

People +start posting project ideas

Solutions

10

December 16th, 2009

Introduction +to FPGAs - History, Capabilities and Features

Exploring designs and FPGA tools

Solutions

11

December 23rd, 2009

ISE +Tutorial for Spartan 3E board

Counter +Source

Video of +HacDC FPGA blinkenlites

12

December 30th, 2009

Distribute kits, play with tutorial, work on usb drivers

13

January 5th, 2010

Implement Frequency +Counter and Frequency Generator reference designs

Spartan +3E Reference Designs

14

January 26th, 2010

Intro to +PicoBlaze

15

February 2nd, 2010

Cancelled

16

February 16th, 2010

Analysis of +Frequency counter PicoBlaze reference design

17

March 2nd, 2010

Picoblaze Flow / +Hello World

18

March 23rd, 2010

Modify the counter reference design to print data to +UART.

19

April 6th, 2010

tbd

19

April 20th, 2010

tbd

+ + + +### Videos of Discussions + +The videos are mpeg4 video with aac audio +{\| border="1" \| Week \| Video Links \| Notes \|- \|1 \| [Part +1](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV011.TOD.ff.mp4) +[Part +2](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV012.TOD.ff.mp4) +[Part +3](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV013.TOD.ff.mp4) +[Part +4](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV014.TOD.ff.mp4) +[Part +5](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV015.TOD.ff.mp4) +[Part +6](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV016.TOD.ff.mp4) +[Part +7](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV017.TOD.ff.mp4) +[Part +8](http://wiki.hacdc.org/videos/hacdc-fpga/week01/MOV018.TOD.ff.mp4) +\|not equal length \|- \|2 \| [Part +1](http://wiki.hacdc.org/videos/hacdc-fpga/week02/MOV005.TOD.ff.mp4) +[Part +2](http://wiki.hacdc.org/videos/hacdc-fpga/week02/MOV006.TOD.ff.mp4) +[Part +3](http://wiki.hacdc.org/videos/hacdc-fpga/week02/MOV007.TOD.ff.mp4) +[Part +4](http://wiki.hacdc.org/videos/hacdc-fpga/week02/MOV008.TOD.ff.mp4) +[Part +5](http://wiki.hacdc.org/videos/hacdc-fpga/week02/MOV009.TOD.ff.mp4) \| +Video cuts out at a discussion about Rise and Fall times \|- \|3 \| +[Part 1](http://wiki.hacdc.org/videos/hacdc-fpga/week03/10.avi) [Part +2](http://wiki.hacdc.org/videos/hacdc-fpga/week03/11.avi) [Part +3](http://wiki.hacdc.org/videos/hacdc-fpga/week03/12.avi) +[Part 4](http://wiki.hacdc.org/videos/hacdc-fpga/week03/13.avi) [Part +5](http://wiki.hacdc.org/videos/hacdc-fpga/week03/14.avi) \| \|- \|4 \| +\| \|} + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FPGA_Workshop.md b/FPGA_Workshop.md new file mode 100755 index 0000000..ac336ca --- /dev/null +++ b/FPGA_Workshop.md @@ -0,0 +1,372 @@ +## Main Topics + +1\) Introduction to digital logic & design +2) Verilog HDL modeling & testing +3) FPGA's & using them. + +We will be taking an approach of reviewing & learning digital design, +implementing designs and methods of formally simulating and verifying +designs before moving into +[FPGA](http://en.wikipedia.org/wiki/Field-programmable_gate_array) +oriented work. This workshop will be more engineering oriented than +hobbyist/tinkerer oriented. + +## Hardware + +We'll be covering some FPGA specific topics and projects using real +hardware. The first half of the workshop will cover logic design, +implementation and testing. This will allow people to put off ordering +any hardware until they know that they actually want to pursue FPGA +development, since the dev board I've chosen for this is not cheap but I +feel is robust enough to be a good starting board for this group. + +The hardware we'll be using is the Xilinx Spartan 3AN development kit. +This kit is available from a few vendors for 199USD + shipping. This +will be discussed more later on. The kit includes programming cable, and +evaluation copies of some of the Xilinx tools." + +## Tools + +### Verilog Simulation and Waveform Viewing + +Icarus verilog & gtkwave; for doing Verilog compilation, simulation and +waveform viewing. A makefile has been made to simplify the flow for any +exercises and projects we use these tools with. That makefile can be +found [**here**](iverilogmakefile "wikilink"). Instructions for +installing these programs on Mac osX and Ubuntu can be found here: +[**FOSS Verilog tool +installation**](FOSS_Verilog_tool_installation "wikilink") +=== FPGA Toolchain === After we finish up with covering Verilog +modeling, we'll move to the Xilinx ISE Webpack tools and actual work +with FPGAs. This software is available from Xilinx for free, and is +available for Windows and Linux platforms. This will be used for Verilog +compilation, simulation, synthesis of designs, design mapping, place and +routing of designs, bitstream generation and board programming. +Instructions for installing the Xilinx tools on the VM can be found +here:[**Xilinx ISE Installation +Instructions**](Xilinx_ISE_Installation_Instructions "wikilink") +=== Virtual Machine === An OpenSuse Virtual Machine (VMWare based) will +be available for people to use in this course, if they wish. This will +have the icarus verilog tools and GTKwave loaded on it, along with +Firefox, gcc and make. The suseStudio team has encouraged the use of +their VMs in such a manner (teaching workshops). This is being built in +susestudio, and will be available as a live install as well. +When we move over to the Xilinx tools, people will have to download and +install the Xilinx tools by themselves, since that material is +copyrighted. Instructions will be given for doing that. + +The VMware VM image is ready (ver 0.5.2) for people to grab if they +wish. [**Get it +here.**](http://susestudio.com/download/d931a0f28972e3505eacf8d0bad28fc0/Digital_Design__FPGA_Workshop_VM_v4.i686-0.5.2.vmx.tar.gz) + +The image also works with VirtualBox. Create a new machine, and when it +asks you for a hard drive, select use an existing drive. This takes you +to the hard-drives list dialog box. From there, file..create a new +drive, link it to the .vmdk file, select it, and you're all set. For the +rest, all defaults are ok. (Bother Elliot for hints with VBox.) + +There are a few items of note regarding the VM +\* Download is approximately 350MB, the tarball is about 1.5GB in size, +and the virtual disk will expand up to 20gigs dynamically. + +- The download link is a virgin, freshly built VM, so you'll be the + first user booting it up since build. +- There are two users, root and workshop. Both have the password 'linux' +- For the user workshop, ~/scripts/ is included in their \$PATH +- Also, user workshop has a few small files in ~/resources/ including a + simple upcounter design example. +- May need to run the network configuration tools to ensure you get + functional networking. I've experienced issues with the VM in suspend + mode, switching networks on the host machine, and completely loosing + network on the VM until rerunning the network config tools. They can + be found poking around in the system settings for yast. +- Currently, the Xilinx Cable Drivers aren't building on the VM (but all + the other Xilinx tools work). If someone is a linux guru and wants to + try to make it work, contact me at . My next + attempt is to turn the vm into a live-install and try building the + cable drivers on real hardware instead of a VM. +- After loading the Xilinx settings (which will be covered in more + detail when those tools are introduced), the current shell can no + longer run icarus verilog flows. Start a new shell in order to run + icarus verilog. +- Its a fairly minimalist system, with the FOSS tools listed above load, + along with firefox, gcc and nano. Use yast or yast2 in order to + install any additional packages. example yast2 --install *packname* +- If the download link stops working, the build has likely expired on + the SuseStudio server. Please email if the + download link no longer works. +- Mad props to the susestudio team for making this possible + +## Lecture + +Lecture/Discussions will mainly be based on content from a pair of +courses in MIT's Opencourseware initiative. This content is licensed on +the Creative Commons Attribution NonCommercial Share-alike 3.0 license; +as a result, the electronic content generated by the workshop will also +need to be made available under the same license. This will allow people +to freely access just the discussion slides without watching through +videos. + +A [video](http://www.youtube.com/watch?v=Q06M_j49zRM) archive will be +[link building service](http://www.diamondlinks.net) made available for +those unable to attend. They are available here +[**here**](FPGAWorkshopTopics "wikilink"). + +### List of Lectures + +An archival list of lectures, including presentations and videos, can be +found [**here**](FPGAWorkshopTopics "wikilink") + +*This is currently an incomplete list, additional topics will be added +as I solidify them - will* + +| | | | | | +|------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------| +| Week | Date | Topics Covered | Exercise | Solutions/Approach | +| 10 | December 16th, 2009 | [Introduction to FPGAs - History, Capabilities and Features](http://wiki.hacdc.org/index.php/File:Week10_programmable_fabric.pdf) | Exploring designs and FPGA tools | Solutions | +| 11 | December 23rd, 2009 | [ISE Tutorial for Spartan 3E board](http://wiki.hacdc.org/index.php/File:ISE_Tutorial_for_S3E.pdf) | [Counter Source](FPGAExercise10code "wikilink") | [Video of HacDC FPGA blinkenlites](http://www.youtube.com/watch?v=_bxUEjCDVZ8) | +| 12 | December 30th, 2009 | Distribute kits, play with tutorial, work on usb drivers | | | +| 13 | January 5th, 2010 | [Implement Frequency Counter and Frequency Generator reference designs](FPGAWeek12Exercise "wikilink") | [Spartan 3E Reference Designs](http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm) | | +| 14 | January 26th, 2010 | [Intro to PicoBlaze](FPGAWorkshop13notes "wikilink") | | | +| 15 | February 2nd, 2010 | Cancelled | | | +| 16 | February 16th, 2010 | [Analysis of Frequency counter PicoBlaze reference design](FPGAWorkshop16Notes "wikilink") | | | +| 17 | March 6nd, 2010 | [Picoblaze Flow / Hello World](FPGAWorkshop17Notes "wikilink") | | | +| 18 | March 23rd, 2010 | FPGA hackins. | | | +| 19 | April 6th, 2010 | FPGA hackins | | | +| 19 | April 20th, 2010 | FPGA hackins | | | +| | | | | | + +## Workshop requirements + +This workshop will be free of charge to attend, but there are additional +needs in order to fully benefit from attending the workshop. + +- Open mind to learning +- Willingness to read documentation, as the capacity for independent + research is important for doing hardware design. +- Willingness to commit time over this fall +- Either ability to run a VMWare virtual machine, the ability to convert + the VM for virtualBox, or ability to install the icarus + verilog/gtkwave tools on your own. This will likely necessitate a + laptop of some sort. +- Xilinx.com account, for licensing Xilinx tools and IP. +- Hardware will NOT be required at the beginning of the course but will + be needed later on to run exercises and to do any interesting projects + +## Workshop Frequently Asked Questions + +1. What operating systems will the FPGA toolchain be available on? + 1. The Xilinx ISE Webpack is supported on Windows XP Pro, Windows + Vista Business, Redhat Linux and Suse Linux Enterprise. For a + detailed list of official OS support, check out the [Operating + system support page on + Xilinx.com](http://www.xilinx.com/ise/ossupport/index.htm). The + tools will run on openSuse as well. Feel free to try other linux + distros and post your results. +2. What is the cost of the FPGA development board we'll be using? + 1. The retail cost of the development board is typically around + 199-220 USD, plus shipping, from a few different vendors. Links + for that are + [here](FPGA_Workshop#Spartan_3AN_Starter_Kit "wikilink"). +3. Will there be homework? + 1. Since this isn't an academic course, there will not be graded + homework in the traditional sense. I'll be choosing a few + additional exercises that people can do outside of the workshop + each week, if they wish, that will further help hone their + skills. +4. Will there be extensive C/C++ coding? + 1. C experience is not a prerequisite for this workshop. There will + not be any C/C++ coding involved in the workshop directly. There + is one project that I've got in mind that may be of interest to + people that are proficient in C/C++ and pick up hardware design + rather well. + +## Workshop Mailing List + +A HacDC Mailman mailling list has been setup for this workshop. That +list is fpga@hacdc.org. You can subscribe to that list by sending an +email to fpga-request@hacdc.org with the subject line "subscribe" or +click the mailto link and let +your email application handle it... + +## Workshop Instructor + +William Gibb, mad scientist. For contacting him regarding the workshop, +please email . + +## References + +### Grateful Dead Trees Reference + +Fundamentals of Digital Logic with Verilog Design by Brown and +Vranesic +Verilog Quickstart: A Practical Guide to Simulation and Synthesis in +Verilog by Lee +FPGA Prototyping using Verilog Examples by Chu. + +These texts will not be required for the course, but are very good +launching points for the topics that we are covering. + +### Online References + +#### General Resources + +[Open Circuit Design](http://www.opencircuitdesign.com/) Open Source +design tools +[Doulos Digital Design Resources](http://www.doulos.com/knowhow/) Good +learning and design references +[**ASIC World**](http://www.asic-world.com/) Good learning references +[Play Hookey Digital Design](http://www.play-hookey.com/digital/) Good +learning references +[*'FPGA4Fun*](http://www.fpga4fun.com/) Lots of available IP +[Companion website for Professor Pong Chu's Verilog +Book](http://academic.csuohio.edu/chu_p/rtl/fpga_vlog.html) +[**OpenCores**](http://www.opencores.org) Very good repository for IP. +Also the home to the OpenRISC System on Chip project +[Bucknell Handbook on Verilog +HDL](http://hdlplanet.tripod.com/verilog/verilog-manual.html#RTFToC0) +(Martin found this) Old but useful? +[KD7IRS's Verilog - OpenHPSDR - Lectures](http://verilog.openhpsdr.org/) +Webcast style class, with lab +[VA Tech Configurable Computing Lab +Wiki](http://pip0.ccm.ece.vt.edu/twiki/bin/view/Main/Spartan3Radio) +Simple Radio Structures on the Spartan3e Starter Kit +[VA Tech Configurable Computing Lab +Wiki](http://pip0.ccm.ece.vt.edu/twiki/bin/view/Main/GNURadio) GNU +Radio - USRP for Spartan 3E +[San Jose State University](http://www.engr.sjsu.edu/crabill/) Digital +design course (EE178) with Spartan 3E Development board and ISE 8.1 - +lecture & lab materials +[George Washington University ECE128 +Lab](http://www.seas.gwu.edu/~vlsi/ece128/SPRING/lab.html) Contains good +Verilog coding and testbench resources +[FPGA Arcade](http://www.fpgaarcade.com/) Devoted to gaming on FPGAs, +Space Invaders in VHDL... +[Simplified Floating Point for +DSP](http://instruct1.cit.cornell.edu/courses/ece576/FloatingPoint/index.html) +8-bit exponent and 9-bit mantissa and sign to fit into 18 bit IP +blocks - Thanks Cornell! + +#### FPGA Vendors + +[Xilinx](http://www.xilinx.com/) +[Altera](http://www.altera.com/) +[Actel](http://www.actel.com/) +[Atmel FPGA](http://www.atmel.com/products/fpga/) +[Silicon Blue](http://www.siliconbluetech.com/) +[Point of Sale System](http://www.merchantos.com) +[Lattice Semiconductor](http://www.latticesemi.com/) +[Achronix](http://www.achronix.com/) + +#### Course Resources + +[Icaurus Verilog](http://www.icarus.com/eda/verilog/) +[GTKWave](http://gtkwave.sourceforge.net/) +[VMware Player - Free download for Windows and +Linux](http://www.vmware.com/products/player/) +[SUSE Studio](http://www.susestudio.com) SLED/OpenSUSE build service. +Make VMs, live installs, all customized + +#### Xilinx Links + +[Xilinx Tutorials](http://www.xilinx.com/support/techsup/tutorials/) +[Xilinx ISE 10.1 Tutorial and +files](http://www.xilinx.com/support/techsup/tutorials/tutorials10.htm) +[ISE 10.1 In Depth Tutorial Direct link to +PDF](http://www.xilinx.com/direct/ise10_tutorials/ise10tut.pdf) +[Xilinx +Documentation](http://www.xilinx.com/support/documentation/index.htm) +This includes device data sheets, user guides, IP documentation and +Xilinx software manuals +[Xilinx Design Tools](http://www.xilinx.com/tools/designtools.htm) Xilnx +Software tools can be found here +[Spatan 3E Starter +Kit](http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US-G.htm) Site +for the Spartan 3E kit +[Spartan 3AN Starter +Kit](http://www.xilinx.com/products/devkits/HW-SPAR3AN-SK-UNI-G.htm) +Site for the Spartan 3AN kit +[Free Video Training +courses](http://www.xilinx.com/support/training/free-courses.htm) Name +says it all +[Yet Another Xilinx ISE 10.1 +Tutorial](http://xess.com/appnotes/ise-10.pdf) For Xess Spartan-3 +Development Board + +#### Spartan 3AN Starter Kit + +[Spartan 3AN Starter +Kit](http://www.xilinx.com/products/devkits/HW-SPAR3AN-SK-UNI-G.htm) +[AVNet Spartan 3AN Starter Kit sales +page](http://www.em.avnet.com/evk/home/0,1707,RID%253D0%2526CID%253D45129%2526CCD%253DUSA%2526SID%253D32214%2526DID%253DDF2%2526LID%253D32232%2526PRT%253D0%2526PVW%253D%2526BID%253DDF2%2526CTP%253DEVK,00.html) +[NuHorizons - Xilinx Vendor](http://www.nuhorizons.com/) Do a search for +HW-SPAR3AN-SK-UNI-G +[Digi-key Spartan 3AN Starter Kit Sales +page](http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2621773&k=spartan%203an) +Probably also at other [suppliers](suppliers "wikilink"). + +#### Spartan 3E Starter Kit + +[Digilent](http://www.digilentinc.com/) + +##### Group Order Participants + +NOTE: Xilinx has donated 15 spartan3 boards, which should arrive before +12/7 + +- Daniel (obscurite on \#hacdc on freenode) +- Alden +- Dan Barlow +- Navid +- Matt Liggett +- Maitland Bottoms +- Ben Peizik (benparse@yahoo.com) +- Martin +- Rob Seastrom (rs@seastrom.com) +- Phillip Stewart +- Tim F (smilemoose@gmail.com) +- Nick +- Brian + + + +- Elliot +- Justin + +#### MIT OpenCourseWare links + +[MIT OCW Terms of +Use](http://ocw.mit.edu/OcwWeb/web/terms/terms/index.htm) +[OCW site for 6.004 - Computation +Structures](http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-004Computation-StructuresFall2002/CourseHome/index.htm) +[OCW site for 6.111 Introductory Digital Systems, +2006](http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-111Spring-2006/CourseHome/index.htm) + +## FPGA Workshop Projects + +List of FPGA projects people are working on at HacDC + +| | | +|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------| +| Person | Project | +| William Gibb | [AD/DA controller for Spartan 3E/3A/3AN Development Kits](http://opencores.org/project,spi_core_dsp_s3ean_kits) | +| Daniel (obscurite on \#hacdc on freenode) | [Daniel's Project (Game of Life w/ Martin & Breakout VGA/LED?)](FPGAWorkshopDaniel "wikilink") | +| Alden | [Alden's Project](FPGAWorkshopAlden "wikilink") | +| Dan Barlow | [Barlows's Project](FPGAWorkshopBarlow "wikilink") | +| Navid | [Navid's Project](FPGAWorkshopNavid "wikilink") | +| Matt Liggett | [Matt's Project](FPGAWorkshopMatt "wikilink") | +| Maitland Bottoms | [Maitland's Project](FPGAWorkshopMaitland "wikilink") | +| Ben Peizik (benparse@yahoo.com) | [Ben's Project](FPGAWorkshopBen "wikilink") | +| Martin | [Martin's Project](FPGAWorkshopMartin "wikilink") | +| Rob Seastrom (rs@seastrom.com) | [Justin's Project](FPGAWorkshopJustin "wikilink") | +| Phillip Stewart | [Phillip's Project](FPGAWorkshopPhillip "wikilink") | +| Tim F (smilemoose@gmail.com) | [Tims Project](FPGAWorkshopJustin "wikilink") | +| Nick | [Nick's Project](FPGAWorkshopNick "wikilink") | +| Brian | [PROM Burner/Reader](FPGAWorkshopBrian "wikilink") | +| Elliot | [Elliots's Project](FPGAWorkshopElliot "wikilink") | +| Justin | [Justin's Project](FPGAWorkshopJustin "wikilink") | +| Arc | [Arcs SMT oven](FPGAWorkshopArc "wikilink") | +| Davel (DLotts) | [Davel's Project](FPGAWorkshopDLotts "wikilink") | + +[Category:Classes](Category:Classes "wikilink") +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/FindingMoreSpace.md b/FindingMoreSpace.md new file mode 100755 index 0000000..000bfdb --- /dev/null +++ b/FindingMoreSpace.md @@ -0,0 +1 @@ +1. REDIRECT [Finding more space](Finding_more_space "wikilink") \ No newline at end of file diff --git a/Finding_more_space.md b/Finding_more_space.md new file mode 100755 index 0000000..b5e4a05 --- /dev/null +++ b/Finding_more_space.md @@ -0,0 +1,49 @@ +Right now, we're paying \$850/month, all utilities and cleaning +expenses, for the space we have now. Our lease is up in January. + +## What would we do with more space? + +- Add a woodshop +- Add an audio/visual editing and recording studio +- Add a long-term storage area +- Develop a [storefront](storefront "wikilink")? +- ... + +## Space requirements, desires, and considerations + +- Cost +- Accessibility to members (particularly via Metro) +- Size +- ... + +## Option: More space in the church + +[Nick](User:Nickfarr "wikilink") is currently working with the church to +determine where/how/when we would be able to get more space at our +present location. If you are interested in becoming a part of this +discussion, please let him know. + +Pros: + +- Access to larger meeting and assembly spaces +- Cheap rent +- Relatively central location + +Cons: + +- The church may want to increase our rent to "market" rates +- We may be missing out on a better deal somewhere else + +## Option: Elsewhere + +See [SpaceSearch](SpaceSearch "wikilink"). + +Given that January is quickly approaching (though it may not seem like +it), members are all encouraged to be on the lookout for commercial +spaces that might be suitable for us, both in terms of budget and +functionality. If we can sustain a membership level of 40, given +insurance and build-out considerations, we could very likely afford a +space that (utilities included) is twice what we're paying now. For +every member, add another \$40 (assuming our dues remain at \$50). + +[Category:HacDC_Space](Category:HacDC_Space "wikilink") \ No newline at end of file diff --git a/Finding_neighboring_mesh_nodes.md b/Finding_neighboring_mesh_nodes.md new file mode 100755 index 0000000..cd55a68 --- /dev/null +++ b/Finding_neighboring_mesh_nodes.md @@ -0,0 +1,83 @@ +# Assumptions + +- There is at least one mesh node. +- Meshes are not built through collusion, i.e., each person setting up a + node does not do so knowing that others are as well. +- Mesh nodes are able to broadcast the existence of services they run + ("I run a microblog!") +- Services can be activated on a node (implying that their presence will + be announced) or deactivated (implying that their presence will not be + announced) +- Mesh nodes continually listen for announcements of services from + neighboring mesh nodeds +- Mesh nodes maintain directories of services running on neighboring + mesh nodes + - ...except when a service is designed to automatically federate with + others of a like type (i.e., announcements of content from one will + automatically be incorporated into cached announcements on the node) +- Clients neither broadcast nor listen for service announcements + - Smartphones + - MP3 players + - Computers not running Byzantium + +# Existing protocols + +- Avahi/ZeroConf/mDNS +- Included in Porteus Linux + - Host can publish running services + - Host can be informed of services running on other hosts + - User does not have to specifically configure any of this + - Host admins may have to configure this + - Bindings for multiple languages are available + - Protocol in a nutshell: + - Ad-hoc DHS over IP multicast (224.0.0.251, port 5353/UDP) + - Each node has a resource record for each service + - SRV + - TXT + - PTR + - Types documented in /usr/share/avahi/service-types on + Windbringer. File is part of Avahi on all systems. + - HAS NOTHING TO DO WITH dnsmasq! + - Resolution is done by the host running an Avahi implementation - + broadcast a resolution request to the multicast domain and listen + for a response + - Node needs to have its hostname set (machinename.local) + - Ignores point-to-point links by default. Add + "allow-point-to-point=yes" in avahi-daemon.conf + - Do mesh interfaces have the POINTTOPOINT flag? + - wide-area functionality seems relevant to a mesh. + - deny-interfaces=eth0 in avahi-daemon.conf may be necessary to + prevent mDNS traffic from going over gateways. + - avahi-daemon implements service announcement and listening, and + interfaces with Avahi-enabled client apps. + - avahi-dnsconfd connects to avahi-daemon and keeps track of unicast + DNSes detected. + - Read manage for avahi-daemon.conf! + - Will need an /etc/avahi/services/foo.service XML file for each + service offered by a node. + - Manpage avahi.service(5) documents all required XML tags. + - Each mesh node will have a list of all mesh nodes it's heard from in + recent memory. This can be used to build the directory of + neighboring services. + + + +- XMPP service discovery + - Message oriented, based on XML + - Jabber's protocol. + - [XEP-0030](http://xmpp.org/extensions/xep-0030.html) + - Used for discovering other XMPP entities/services implemented by + XMPP servers. + - Could be used for discovering and federating apps running on other + nodes (i.e., distributed microblog). + +# Notes + +- KDE comes with something called Personal File Server, which allows + arbitrary directories to be made available over HTTP(S?). It's + Avahi-enabled. KDE is packagedwith Porteus. There's our file dump. +- avahi-bookmarks allows the user to access HTTP resources with a web + browser. +- nss-mdns should be enabled in /etc/nssswitch.conf. + +[Category:Byzantium](Category:Byzantium "wikilink") \ No newline at end of file diff --git a/Flight_Restrictions.md b/Flight_Restrictions.md new file mode 100755 index 0000000..37c092f --- /dev/null +++ b/Flight_Restrictions.md @@ -0,0 +1,658 @@ +Trying to piece together whatever limits would apply to various projects +involving small aircraft-like platforms. + +Since the powers that be have made actually finding the rules that would +apply to, well, any specific case really, very difficult.. don't take +what's listed here as accurate, current, or complete. + +## Jargon + +Moored vs tethered +tethered seems to be when you have a single line holding a balloon in +place to temporarily hold it prior to release + +moored seems more of an end result, holding the baloon in horizontal +position in addition to vertical + +Shielded +Operating a moored balloon near, but lower than, a structure. + +NOTAM +Notice to Airmen, notices from FAA about changes, hazards along flight +paths. + +Oddly, I have not found anywhere that says these are legally binding, +they do not seem to be actual regulations, just friendly reminders of +regulations or restrictions. + +TFR +Temporary Flight Restriction, FAA enforced restrictions.. "temporary" is +sometimes a misnomer + +ADIZ +Air Defense Identification Zone, most of North America, planes need to +be in radio contact, etc. + +SFRA +Special Flight Rules Area, an area with a whole new bag of regulations, +DC for one. + +## Federal Regulations + +Within the "Code of Federal Regulations" parts relating to airspace fall +under "Title 14", FAA regulations. + +- + + ..this link probably won't work, but you can perform a search there + +### Summary of Part 101 bits that apply to kites and moored balloons + +- These rules apply to: + + moored balloons with either a diameter \> 6 feet, or gas capacity of + \> 115 cubic feet + + kites \> 5 pounds +- Operation: + + can't create a hazard to people or property + + cannot allow objects to drop from platfrom IF it creates a hazard +- Operation airspace (in non-restricted area) + + 500 feet below cloud base + + \< 500 feet AGL + + if visibility \< 3 miles + + must be \> 5 miles from any airport + + + ..except if below top of any structure within 250 feet (known as + "sheilded" operation) + + IF operating "unshielded", must notify nearest ATC if \> 150 feet AGL +- (In all areas) Moored balloon must have automatic rapid deflation + device +- Time of operation + + if at night, it's gotta be lit up, including the mooring lines + + if in day, mooring lines need pennants every 50 feet starting at 150 + feet AGL + +#### Meaning... + +Keep it under 6 feet in diameter and \< 115 cubic feet and under 5 +pounds. + + +( Near sea level He at STP gives roughly 1 oz / ft3, so 115 ft3 -\> 7 +pounds ) + +"Part 101" covers balloons, kites, and amateur rockets. + + e-CFR Data is current as of August 7, 2013 + return arrow Return to Search Results + + Browse Previous | Browse Next + + Title 14: Aeronautics and Space + PART 101???MOORED BALLOONS, KITES, AMATEUR ROCKETS AND UNMANNED FREE BALLOONS + Contents + + Subpart A???General + ?? 101.1 Applicability. + ?? 101.3 Waivers. + ?? 101.5 Operations in prohibited or restricted areas. + ?? 101.7 Hazardous operations. + + Subpart B???Moored Balloons and Kites + ?? 101.11 Applicability. + ?? 101.13 Operating limitations. + ?? 101.15 Notice requirements. + ?? 101.17 Lighting and marking requirements. + ?? 101.19 Rapid deflation device. + + Subpart C??? Amateur Rockets + ?? 101.21 Applicability. + ?? 101.22 Definitions. + ?? 101.23 General operating limitations. + ?? 101.25 Operating limitations for Class 2-High Power Rockets and Class 3-Advanced High Power Rockets. + ?? 101.27 ATC notification for all launches. + ?? 101.29 Information requirements. + + Subpart D???Unmanned Free Balloons + ?? 101.31 Applicability. + ?? 101.33 Operating limitations. + ?? 101.35 Equipment and marking requirements. + ?? 101.37 Notice requirements. + ?? 101.39 Balloon position reports. + + Authority: 49 U.S.C. 106(g), 40103, 40113-40114, 45302, 44502, 44514, 44701-44702, 44721, 46308. + + return arrow Back to Top + Subpart A???General + + return arrow Back to Top + ?? 101.1 Applicability. + + (a) This part prescribes rules governing the operation in the United States, of the following: + + (1) Except as provided for in ?? 101.7, any balloon that is moored to the surface of the earth or an object thereon and that has a diameter of more than 6 feet or a gas capacity of more than 115 cubic feet. + + (2) Except as provided for in ?? 101.7, any kite that weighs more than 5 pounds and is intended to be flown at the end of a rope or cable. + + (3) Any amateur rocket except aerial firework displays. + + (4) Except as provided for in ?? 101.7, any unmanned free balloon that??? + + (i) Carries a payload package that weighs more than four pounds and has a weight/size ratio of more than three ounces per square inch on any surface of the package, determined by dividing the total weight in ounces of the payload package by the area in square inches of its smallest surface; + + (ii) Carries a payload package that weighs more than six pounds; + + (iii) Carries a payload, of two or more packages, that weighs more than 12 pounds; or + + (iv) Uses a rope or other device for suspension of the payload that requires an impact force of more than 50 pounds to separate the suspended payload from the balloon. + + (b) For the purposes of this part, a gyroglider attached to a vehicle on the surface of the earth is considered to be a kite. + + [Doc. No. 1580, 28 FR 6721, June 29, 1963, as amended by Amdt. 101-1, 29 FR 46, Jan. 3, 1964; Amdt. 101-3, 35 FR 8213, May 26, 1970; Amdt. 101-8, 73 FR 73781, Dec. 4, 2008; 74 FR 38092, July 31, 2009] + + return arrow Back to Top + ?? 101.3 Waivers. + + No person may conduct operations that require a deviation from this part except under a certificate of waiver issued by the Administrator. + + [Doc. No. 1580, 28 FR 6721, June 29, 1963] + + return arrow Back to Top + ?? 101.5 Operations in prohibited or restricted areas. + + No person may operate a moored balloon, kite, amateur rocket, or unmanned free balloon in a prohibited or restricted area unless he has permission from the using or controlling agency, as appropriate. + + [Doc. No. 1457, 29 FR 46, Jan. 3, 1964, as amended at 74 FR 38092, July 31, 2009] + + return arrow Back to Top + ?? 101.7 Hazardous operations. + + (a) No person may operate any moored balloon, kite, amateur rocket, or unmanned free balloon in a manner that creates a hazard to other persons, or their property. + + (b) No person operating any moored balloon, kite, amateur rocket, or unmanned free balloon may allow an object to be dropped therefrom, if such action creates a hazard to other persons or their property. + + (Sec. 6(c), Department of Transportation Act (49 U.S.C. 1655(c))) + + [Doc. No. 12800, 39 FR 22252, June 21, 1974, as amended at 74 FR 38092, July 31, 2009] + + return arrow Back to Top + Subpart B???Moored Balloons and Kites + + Source: Docket No. 1580, 28 FR 6722, June 29, 1963, unless otherwise noted. + + return arrow Back to Top + ?? 101.11 Applicability. + + This subpart applies to the operation of moored balloons and kites. However, a person operating a moored balloon or kite within a restricted area must comply only with ?? 101.19 and with additional limitations imposed by the using or controlling agency, as appropriate. + + return arrow Back to Top + ?? 101.13 Operating limitations. + + (a) Except as provided in paragraph (b) of this section, no person may operate a moored balloon or kite??? + + (1) Less than 500 feet from the base of any cloud; + + (2) More than 500 feet above the surface of the earth; + + (3) From an area where the ground visibility is less than three miles; or + + (4) Within five miles of the boundary of any airport. + + (b) Paragraph (a) of this section does not apply to the operation of a balloon or kite below the top of any structure and within 250 feet of it, if that shielded operation does not obscure any lighting on the structure. + + return arrow Back to Top + ?? 101.15 Notice requirements. + + No person may operate an unshielded moored balloon or kite more than 150 feet above the surface of the earth unless, at least 24 hours before beginning the operation, he gives the following information to the FAA ATC facility that is nearest to the place of intended operation: + + (a) The names and addresses of the owners and operators. + + (b) The size of the balloon or the size and weight of the kite. + + (c) The location of the operation. + + (d) The height above the surface of the earth at which the balloon or kite is to be operated. + + (e) The date, time, and duration of the operation. + + return arrow Back to Top + ?? 101.17 Lighting and marking requirements. + + (a) No person may operate a moored balloon or kite, between sunset and sunrise unless the balloon or kite, and its mooring lines, are lighted so as to give a visual warning equal to that required for obstructions to air navigation in the FAA publication ???Obstruction Marking and Lighting???. + + (b) No person may operate a moored balloon or kite between sunrise and sunset unless its mooring lines have colored pennants or streamers attached at not more than 50 foot intervals beginning at 150 feet above the surface of the earth and visible for at least one mile. + + (Sec. 6(c), Department of Transportation Act (49 U.S.C. 1655(c))) + + [Doc. No. 1580, 28 FR 6722, June 29, 1963, as amended by Amdt. 101-4, 39 FR 22252, June 21, 1974] + + return arrow Back to Top + ?? 101.19 Rapid deflation device. + + No person may operate a moored balloon unless it has a device that will automatically and rapidly deflate the balloon if it escapes from its moorings. If the device does not function properly, the operator shall immediately notify the nearest ATC facility of the location and time of the escape and the estimated flight path of the balloon. + + return arrow Back to Top + Subpart C??? Amateur Rockets + + return arrow Back to Top + ?? 101.21 Applicability. + + (a) This subpart applies to operating unmanned rockets. However, a person operating an unmanned rocket within a restricted area must comply with ?? 101.25(b)(7)(ii) and with any additional limitations imposed by the using or controlling agency. + + (b) A person operating an unmanned rocket other than an amateur rocket as defined in ?? 1.1 of this chapter must comply with 14 CFR Chapter III. + + [Doc. No. FAA-2007-27390, 73 FR 73781, Dec. 4, 2008] + + return arrow Back to Top + ?? 101.22 Definitions. + + The following definitions apply to this subpart: + + (a) Class 1???Model Rocket means an amateur rocket that: + + (1) Uses no more than 125 grams (4.4 ounces) of propellant; + + (2) Uses a slow-burning propellant; + + (3) Is made of paper, wood, or breakable plastic; + + (4) Contains no substantial metal parts; and + + (5) Weighs no more than 1,500 grams (53 ounces), including the propellant. + + (b) Class 2???High-Power Rocket means an amateur rocket other than a model rocket that is propelled by a motor or motors having a combined total impulse of 40,960 Newton-seconds (9,208 pound-seconds) or less. + + (c) Class 3???Advanced High-Power Rocket means an amateur rocket other than a model rocket or high-power rocket. + + [Doc. No. FAA-2007-27390, 73 FR 73781, Dec. 4, 2008] + + return arrow Back to Top + ?? 101.23 General operating limitations. + + (a) You must operate an amateur rocket in such a manner that it: + + (1) Is launched on a suborbital trajectory; + + (2) When launched, must not cross into the territory of a foreign country unless an agreement is in place between the United States and the country of concern; + + (3) Is unmanned; and + + (4) Does not create a hazard to persons, property, or other aircraft. + + (b) The FAA may specify additional operating limitations necessary to ensure that air traffic is not adversely affected, and public safety is not jeopardized. + + [Doc. No. FAA-2007-27390, 73 FR 73781, Dec. 4, 2008] + + return arrow Back to Top + ?? 101.25 Operating limitations for Class 2-High Power Rockets and Class 3-Advanced High Power Rockets. + + When operating Class 2-High Power Rockets or Class 3-Advanced High Power Rockets, you must comply with the General Operating Limitations of ?? 101.23. In addition, you must not operate Class 2-High Power Rockets or Class 3-Advanced High Power Rockets??? + + (a) At any altitude where clouds or obscuring phenomena of more than five-tenths coverage prevails; + + (b) At any altitude where the horizontal visibility is less than five miles; + + (c) Into any cloud; + + (d) Between sunset and sunrise without prior authorization from the FAA; + + (e) Within 9.26 kilometers (5 nautical miles) of any airport boundary without prior authorization from the FAA; + + (f) In controlled airspace without prior authorization from the FAA; + + (g) Unless you observe the greater of the following separation distances from any person or property that is not associated with the operations: + + (1) Not less than one-quarter the maximum expected altitude; + + (2) 457 meters (1,500 ft.); + + (h) Unless a person at least eighteen years old is present, is charged with ensuring the safety of the operation, and has final approval authority for initiating high-power rocket flight; and + + (i) Unless reasonable precautions are provided to report and control a fire caused by rocket activities. + + [74 FR 38092, July 31, 2009, as amended by Amdt. 101-8, 74 FR 47435, Sept. 16, 2009] + + return arrow Back to Top + ?? 101.27 ATC notification for all launches. + + No person may operate an unmanned rocket other than a Class 1???Model Rocket unless that person gives the following information to the FAA ATC facility nearest to the place of intended operation no less than 24 hours before and no more than three days before beginning the operation: + + (a) The name and address of the operator; except when there are multiple participants at a single event, the name and address of the person so designated as the event launch coordinator, whose duties include coordination of the required launch data estimates and coordinating the launch event; + + (b) Date and time the activity will begin; + + (c) Radius of the affected area on the ground in nautical miles; + + (d) Location of the center of the affected area in latitude and longitude coordinates; + + (e) Highest affected altitude; + + (f) Duration of the activity; + + (g) Any other pertinent information requested by the ATC facility. + + [Doc. No. FAA-2007-27390, 73 FR 73781, Dec. 4, 2008, as amended at Doc. No. FAA-2007-27390, 74 FR 31843, July 6, 2009] + + return arrow Back to Top + ?? 101.29 Information requirements. + + (a) Class 2???High-Power Rockets . When a Class 2???High-Power Rocket requires a certificate of waiver or authorization, the person planning the operation must provide the information below on each type of rocket to the FAA at least 45 days before the proposed operation. The FAA may request additional information if necessary to ensure the proposed operations can be safely conducted. The information shall include for each type of Class 2 rocket expected to be flown: + + (1) Estimated number of rockets, + + (2) Type of propulsion (liquid or solid), fuel(s) and oxidizer(s), + + (3) Description of the launcher(s) planned to be used, including any airborne platform(s), + + (4) Description of recovery system, + + (5) Highest altitude, above ground level, expected to be reached, + + (6) Launch site latitude, longitude, and elevation, and + + (7) Any additional safety procedures that will be followed. + + (b) Class 3???Advanced High-Power Rockets . When a Class 3???Advanced High-Power Rocket requires a certificate of waiver or authorization the person planning the operation must provide the information below for each type of rocket to the FAA at least 45 days before the proposed operation. The FAA may request additional information if necessary to ensure the proposed operations can be safely conducted. The information shall include for each type of Class 3 rocket expected to be flown: + + (1) The information requirements of paragraph (a) of this section, + + (2) Maximum possible range, + + (3) The dynamic stability characteristics for the entire flight profile, + + (4) A description of all major rocket systems, including structural, pneumatic, propellant, propulsion, ignition, electrical, avionics, recovery, wind-weighting, flight control, and tracking, + + (5) A description of other support equipment necessary for a safe operation, + + (6) The planned flight profile and sequence of events, + + (7) All nominal impact areas, including those for any spent motors and other discarded hardware, within three standard deviations of the mean impact point, + + (8) Launch commit criteria, + + (9) Countdown procedures, and + + (10) Mishap procedures. + + [Doc. No. FAA-2007-27390, 73 FR 73781, Dec. 4, 2008, as amended at Doc. No. FAA-2007-27390, 74 FR 31843, July 6, 2009] + + return arrow Back to Top + Subpart D???Unmanned Free Balloons + + Source: Docket No. 1457, 29 FR 47, Jan. 3, 1964, unless otherwise noted. + + return arrow Back to Top + ?? 101.31 Applicability. + + This subpart applies to the operation of unmanned free balloons. However, a person operating an unmanned free balloon within a restricted area must comply only with ?? 101.33 (d) and (e) and with any additional limitations that are imposed by the using or controlling agency, as appropriate. + + return arrow Back to Top + ?? 101.33 Operating limitations. + + No person may operate an unmanned free balloon??? + + (a) Unless otherwise authorized by ATC, below 2,000 feet above the surface within the lateral boundaries of the surface areas of Class B, Class C, Class D, or Class E airspace designated for an airport; + + (b) At any altitude where there are clouds or obscuring phenomena of more than five-tenths coverage; + + (c) At any altitude below 60,000 feet standard pressure altitude where the horizontal visibility is less than five miles; + + (d) During the first 1,000 feet of ascent, over a congested area of a city, town, or settlement or an open-air assembly of persons not associated with the operation; or + + (e) In such a manner that impact of the balloon, or part thereof including its payload, with the surface creates a hazard to persons or property not associated with the operation. + + [Doc. No. 1457, 29 FR 47, Jan. 3, 1964, as amended by Amdt. 101-5, 56 FR 65662, Dec. 17, 1991] + + return arrow Back to Top + ?? 101.35 Equipment and marking requirements. + + (a) No person may operate an unmanned free balloon unless??? + + (1) It is equipped with at least two payload cut-down systems or devices that operate independently of each other; + + (2) At least two methods, systems, devices, or combinations thereof, that function independently of each other, are employed for terminating the flight of the balloon envelope; and + + (3) The balloon envelope is equipped with a radar reflective device(s) or material that will present an echo to surface radar operating in the 200 MHz to 2700 MHz frequency range. + + The operator shall activate the appropriate devices required by paragraphs (a) (1) and (2) of this section when weather conditions are less than those prescribed for operation under this subpart, or if a malfunction or any other reason makes the further operation hazardous to other air traffic or to persons and property on the surface. + + (b) No person may operate an unmanned free balloon below 60,000 feet standard pressure altitude between sunset and sunrise (as corrected to the altitude of operation) unless the balloon and its attachments and payload, whether or not they become separated during the operation, are equipped with lights that are visible for at least 5 miles and have a flash frequency of at least 40, and not more than 100, cycles per minute. + + (c) No person may operate an unmanned free balloon that is equipped with a trailing antenna that requires an impact force of more than 50 pounds to break it at any point, unless the antenna has colored pennants or streamers that are attached at not more than 50 foot intervals and that are visible for at least one mile. + + (d) No person may operate between sunrise and sunset an unmanned free balloon that is equipped with a suspension device (other than a highly conspicuously colored open parachute) more than 50 feet along, unless the suspension device is colored in alternate bands of high conspicuity colors or has colored pennants or streamers attached which are visible for at least one mile. + + (Sec. 6(c), Department of Transportation Act (49 U.S.C. 1655(c))) + + [Doc. No. 1457, 29 FR 47, Jan. 3, 1964, as amended by Amdt. 101-2, 32 FR 5254, Mar. 29, 1967; Amdt. 101-4, 39 FR 22252, June 21, 1974] + + return arrow Back to Top + ?? 101.37 Notice requirements. + + (a) Prelaunch notice: Except as provided in paragraph (b) of this section, no person may operate an unmanned free balloon unless, within 6 to 24 hours before beginning the operation, he gives the following information to the FAA ATC facility that is nearest to the place of intended operation: + + (1) The balloon identification. + + (2) The estimated date and time of launching, amended as necessary to remain within plus or minus 30 minutes. + + (3) The location of the launching site. + + (4) The cruising altitude. + + (5) The forecast trajectory and estimated time to cruising altitude or 60,000 feet standard pressure altitude, whichever is lower. + + (6) The length and diameter of the balloon, length of the suspension device, weight of the payload, and length of the trailing antenna. + + (7) The duration of flight. + + (8) The forecast time and location of impact with the surface of the earth. + + (b) For solar or cosmic disturbance investigations involving a critical time element, the information in paragraph (a) of this section shall be given within 30 minutes to 24 hours before beginning the operation. + + (c) Cancellation notice: If the operation is canceled, the person who intended to conduct the operation shall immediately notify the nearest FAA ATC facility. + + (d) Launch notice: Each person operating an unmanned free balloon shall notify the nearest FAA or military ATC facility of the launch time immediately after the balloon is launched. + + return arrow Back to Top + ?? 101.39 Balloon position reports. + + (a) Each person operating an unmanned free balloon shall: + + (1) Unless ATC requires otherwise, monitor the course of the balloon and record its position at least every two hours; and + + (2) Forward any balloon position reports requested by ATC. + + (b) One hour before beginning descent, each person operating an unmanned free balloon shall forward to the nearest FAA ATC facility the following information regarding the balloon: + + (1) The current geographical position. + + (2) The altitude. + + (3) The forecast time of penetration of 60,000 feet standard pressure altitude (if applicable). + + (4) The forecast trajectory for the balance of the flight. + + (5) The forecast time and location of impact with the surface of the earth. + + (c) If a balloon position report is not recorded for any two-hour period of flight, the person operating an unmanned free balloon shall immediately notify the nearest FAA ATC facility. The notice shall include the last recorded position and any revision of the forecast trajectory. The nearest FAA ATC facility shall be notified immediately when tracking of the balloon is re-established. + + (d) Each person operating an unmanned free balloon shall notify the nearest FAA ATC facility when the operation is ended. + +## DC Regulations + +Under Title 14, part 93, "Special Air Traffic Rules" + +- + +This doesn't seem to apply to kites and tethered balloons at all. RC +aircraft and 'drones' aren't mentioned either but the jist seems to be +that if it's large enough to deliver a significantly harmful payload, +consider it restricted. + +Otherwise it defines the restricted space and talks a lot about radio +communication requirements. + + e-CFR Data is current as of August 7, 2013 + Title 14: Aeronautics and Space + PART 93???SPECIAL AIR TRAFFIC RULES + + Subpart V???Washington, DC Metropolitan Area Special Flight Rules Area + + Source: Doc. No. FAA-2004-17005, 73 FR 76213, Dec. 16, 2008, unless otherwise noted. + + return arrow Back to Top + ?? 93.331 Purpose and applicability of this subpart. + + This subpart prescribes special air traffic rules for aircraft operating in the Washington, DC Metropolitan Area. Because identification and control of aircraft is required for reasons of national security, the areas described in this subpart constitute national defense airspace. The purpose of establishing this area is to facilitate the tracking of, and communication with, aircraft to deter persons who would use an aircraft as a weapon, or as a means of delivering weapons, to conduct an attack on persons, property, or buildings in the area. This subpart applies to pilots conducting any type of flight operations in the airspace designated as the Washington, DC Metropolitan Area Special Flight Rules Area (DC SFRA) (as defined in ?? 93.335), which includes the airspace designated as the Washington, DC Metropolitan Area Flight Restricted Zone (DC FRZ) (as defined in ?? 93.335). + + return arrow Back to Top + ?? 93.333 Failure to comply with this subpart. + + (a) Any violation . The FAA may take civil enforcement action against a pilot for violations, whether inadvertent or intentional, including imposition of civil penalties and suspension or revocation of airmen's certificates. + + (b) Knowing or willful violations . The DC FRZ and DC SFRA were established for reasons of national security under the provisions of 49 U.S.C. 40103(b)(3). Areas established by the FAA under that authority constitute ???national defense airspace??? as that term is used in 49 U.S.C. 46307. In addition to being subject to the provisions of paragraph (a) of this section, persons who knowingly or willfully violate national defense airspace established pursuant to 49 U.S.C. 40103(b)(3) may be subject to criminal prosecution. + + return arrow Back to Top + ?? 93.335 Definitions. + + For purposes of this subpart??? + + DC FRZ flight plan is a flight plan filed for the sole purpose of complying with the requirements for VFR operations into, out of, and through the DC FRZ. This flight plan is separate and distinct from a standard VFR flight plan, and does not include search and rescue services. + + DC SFRA flight plan is a flight plan filed for the sole purpose of complying with the requirements for VFR operations into, out of, and through the DC SFRA. This flight plan is separate and distinct from a standard VFR flight plan, and does not include search and rescue services. + + Fringe airports are the following airports located near the outer boundary of the Washington, DC Metropolitan Area Special Flight Rules Area: Barnes (MD47), Flying M Farms (MD77), Mountain Road (MD43), Robinson (MD14), and Skyview (51VA). + + Washington, DC Metropolitan Area Flight Restricted Zone (DC FRZ) is an area bounded by a line beginning at the Washington VOR/DME (DCA) 311?? radial at 15 nautical miles (NM) (Lat. 38??59???31??? N., Long. 077??18???30??? W.); then clockwise along the DCA 15 nautical mile arc to the DCA 002?? radial at 15 NM (Lat. 39??06???28??? N., Long 077??04???32??? W.); then southeast via a line drawn to the DCA 049?? radial at 14 NM (Lat. 39??02???18??? N., Long. 076??50???38??? W.); thence south via a line drawn to the DCA 064?? radial at 13 NM (Lat. 38??59???01??? N., Long. 076??48???32??? W.); thence clockwise along the 13 NM arc to the DCA 276?? radial at 13 NM (Lat.38??50???53??? N., Long 077??18???48??? W.); thence north to the point of beginning, excluding the airspace within a one nautical mile radius of the Freeway Airport, W00, Mitchellville, MD from the surface up to but not including flight level (FL) 180. The DC FRZ is within and part of the Washington, DC Metropolitan Area SFRA. + + Washington, DC Metropolitan Area Special Flight Rules Area (DC SFRA) is an area of airspace over the surface of the earth where the ready identification, location, and control of aircraft is required in the interests of national security. Specifically, the DC SFRA is that airspace, from the surface to, but not including, FL 180, within a 30-mile radius of Lat. 38??51???34??? N., Long. 077??02???11??? W., or the DCA VOR/DME. The DC SFRA includes the DC FRZ. + + [Doc. No. FAA-2004-17005, 73 FR 76213, Dec. 16, 2008; Amdt. 93-91, 73 FR 79314, Dec. 29, 2008] + + return arrow Back to Top + ?? 93.337 Requirements for operating in the DC SFRA. + + A pilot conducting any type of flight operation in the DC SFRA must comply with the restrictions listed in this subpart and all special instructions issued by the FAA in the interest of national security. Those special instructions may be issued in any manner the FAA considers appropriate, including a NOTAM. Additionally, a pilot must comply with all of the applicable requirements of this chapter. + + return arrow Back to Top + ?? 93.339 Requirements for operating in the DC SFRA, including the DC FRZ. + + (a) Except as provided in paragraphs (b) and (c) of this section and in ?? 93.345, or unless authorized by Air Traffic Control, no pilot may operate an aircraft, including an ultralight vehicle or any civil aircraft or public aircraft, in the DC SFRA, including the DC FRZ, unless??? + + (1) The aircraft is equipped with an operable two-way radio capable of communicating with Air Traffic Control on appropriate radio frequencies; + + (2) Before operating an aircraft in the DC SFRA, including the DC FRZ, the pilot establishes two-way radio communications with the appropriate Air Traffic Control facility and maintains such communications while operating the aircraft in the DC SFRA, including the DC FRZ; + + (3) The aircraft is equipped with an operating automatic altitude reporting transponder; + + (4) Before operating an aircraft in the DC SFRA, including the DC FRZ, the pilot obtains and transmits a discrete transponder code from Air Traffic Control, and the aircraft's transponder continues to transmit the assigned code while operating within the DC SFRA; + + (5) For VFR operations, the pilot must file and activate a DC FRZ or DC SFRA flight plan by obtaining a discrete transponder code. The flight plan is closed upon landing at an airport within the DC SFRA or when the aircraft exits the DC SFRA; + + (6) Before operating the aircraft into, out of, or through the Washington, DC Tri-Area Class B Airspace Area, the pilot receives a specific Air Traffic Control clearance to operate in the Class B airspace area; and + + (7) Before operating the aircraft into, out of, or through Class D airspace area that is within the DC SFRA, the pilot complies with ?? 91.129 of this chapter. + + (b) Paragraph (a)(5) of this section does not apply to operators of Department of Defense aircraft, law enforcement operations, or lifeguard or air ambulance operations under an FAA/TSA airspace authorization, if the flight crew is in contact with Air Traffic Control and is transmitting an Air Traffic Control-assigned discrete transponder code. + + (c) When operating an aircraft in the VFR traffic pattern at an airport within the DC SFRA (but not within the DC FRZ) that does not have an airport traffic control tower, a pilot must??? + + (1) File a DC SFRA flight plan for traffic pattern work; + + (2) Communicate traffic pattern position via the published Common Traffic Advisory Frequency (CTAF); + + (3) Monitor VHF frequency 121.5 or UHF frequency 243.0, if the aircraft is suitably equipped; + + (4) Obtain and transmit the Air Traffic Control-assigned discrete transponder code; and + + (5) When exiting the VFR traffic pattern, comply with paragraphs (a)(1) through (a)(7) of this section. + + (d) When operating an aircraft in the VFR traffic pattern at an airport within the DC SFRA (but not within the DC FRZ) that has an operating airport traffic control tower, a pilot must??? + + (1) Before departure or before entering the traffic pattern, request to remain in the traffic pattern; + + (2) Remain in two-way radio communications with the tower. If the aircraft is suitably equipped, the pilot must also monitor VHF frequency 121.5 or UHF frequency 243.0; + + (3) Continuously operate the aircraft transponder on code 1234 unless Air Traffic Control assigns a different code; and + + (4) Before exiting the traffic pattern, comply with paragraphs (a)(1) through (a)(7) of this section. + + (e) Pilots must transmit the assigned transponder code. No pilot may use transponder code 1200 while in the DC SFRA. + + return arrow Back to Top + ?? 93.341 Aircraft operations in the DC FRZ. + + (a) Except as provided in paragraph (b) of this section, no pilot may conduct any flight operation under part 91, 101, 103, 105, 125, 133, 135, or 137 of this chapter in the DC FRZ, unless the specific flight is operating under an FAA/TSA authorization. + + (b) Department of Defense (DOD) operations, law enforcement operations, and lifeguard or air ambulance operations under an FAA/TSA airspace authorization are excepted from the prohibition in paragraph (a) of this section if the pilot is in contact with Air Traffic Control and operates the aircraft transponder on an Air Traffic Control-assigned beacon code. + + (c) The following aircraft operations are permitted in the DC FRZ: + + (1) Aircraft operations under the DCA Access Standard Security Program (DASSP) (49 CFR part 1562) with a Transportation Security Administration (TSA) flight authorization. + + (2) Law enforcement and other U.S. Federal aircraft operations with prior FAA approval. + + (3) Foreign-operated military and state aircraft operations with a State Department-authorized diplomatic clearance, with State Department notification to the FAA and TSA. + + (4) Federal, State, Federal DOD contract, local government agency aircraft operations and part 121, 129 or 135 air carrier flights with TSA-approved full aircraft operator standard security programs/procedures, if operating with DOD permission and notification to the FAA and the National Capital Regional Coordination Center (NCRCC). These flights may land and depart Andrews Air Force Base, MD, with prior permission, if required. + + (5) Aircraft operations maintaining radio contact with Air Traffic Control and continuously transmitting an Air Traffic Control-assigned discrete transponder code. The pilot must monitor VHF frequency 121.5 or UHF frequency 243.0. + + (d) Before departing from an airport within the DC FRZ, or before entering the DC FRZ, all aircraft, except DOD, law enforcement, and lifeguard or air ambulance aircraft operating under an FAA/TSA airspace authorization must file and activate an IFR or a DC FRZ or a DC SFRA flight plan and transmit a discrete transponder code assigned by an Air Traffic Control facility. Aircraft must transmit the discrete transponder code at all times while in the DC FRZ or DC SFRA. + + return arrow Back to Top + ?? 93.343 Requirements for aircraft operations to or from College Park Airport, Potomac Airfield, or Washington Executive/Hyde Field Airport. + + (a) A pilot may not operate an aircraft to or from College Park Airport, MD, Potomac Airfield, MD, or Washington Executive/Hyde Field Airport, MD unless??? + + (1) The aircraft and its crew and passengers comply with security rules issued by the TSA in 49 CFR part 1562, subpart A; + + (2) Before departing, the pilot files an IFR or DC FRZ or DC SFRA flight plan with the Washington Hub Flight Service Station (FSS) for each departure and arrival from/to College Park, Potomac Airfield, and Washington Executive/Hyde Field airports, whether or not the aircraft makes an intermediate stop; + + (3) When filing a flight plan with the Washington Hub FSS, the pilot identifies himself or herself by providing the assigned pilot identification code. The Washington Hub FSS will accept the flight plan only after verifying the code; and + + (4) The pilot complies with the applicable IFR or VFR egress procedures in paragraph (b), (c) or (d) of this section. + + (b) If using IFR procedures, a pilot must??? + + (1) Obtain an Air Traffic Control clearance from the Potomac TRACON; and + + (2) Comply with Air Traffic Control departure instructions from Washington Executive/Hyde Field, Potomac Airport, or College Park Airport. The pilot must then proceed on the Air Traffic Control-assigned course and remain clear of the DC FRZ. + + (c) If using VFR egress procedures, a pilot must??? + + (1) Depart as instructed by Air Traffic Control and expect a heading directly out of the DC FRZ until the pilot establishes two-way radio communication with Potomac Approach; and + + (2) Operate as assigned by Air Traffic Control until clear of the DC FRZ, the DC SFRA, and the Class B or Class D airspace area. + + (d) If using VFR ingress procedures, the aircraft must remain outside the DC SFRA until the pilot establishes communications with Air Traffic Control and receives authorization for the aircraft to enter the DC SFRA. + + (e) VFR arrivals: + + (1) If landing at College Park Airport a pilot may receive routing via the vicinity of Freeway Airport; or + + (2) If landing at Washington Executive/Hyde Field or Potomac Airport, the pilot may receive routing via the vicinity of Maryland Airport or the Nottingham VORTAC. + + return arrow Back to Top + ?? 93.345 VFR outbound procedures for fringe airports. + + (a) A pilot may depart from a fringe airport as defined in ?? 93.335 without filing a flight plan or communicating with Air Traffic Control, unless requested, provided: + + (1) The aircraft's transponder transmits code 1205; + + (2) The pilot exits the DC SFRA by the most direct route before proceeding on course; and + + (3) The pilot monitors VHF frequency 121.5 or UHF frequency 243.0. + + (b) No pilot may operate an aircraft arriving at a fringe airport or transit the DC SFRA unless that pilot complies with the DC SFRA operating procedures in this subpart. \ No newline at end of file diff --git a/Float_switch.md b/Float_switch.md new file mode 100755 index 0000000..02bb75a --- /dev/null +++ b/Float_switch.md @@ -0,0 +1,122 @@ +This is the source code for the float switch 3d printed parts for the +water level detector for the [Cheap Chinese +Laser](Cheap_Chinese_Laser "wikilink"). It is made in two parts: the +head and the base. You also need 4 pieces of 1/4-20 all thread to +connect the two of them and 8 nuts. The base is internally threaded. The +head needs nuts top and bottom. Washers would be good too. + +![](Float-switch-head.stl "File:Float-switch-head.stl") +rendered on 5/1/2017 + +![](Float-switch-base.stl "File:Float-switch-base.stl") +rendered on 5/7/2017 + + /* + low water level detector + safety interlock for cheap Chinese laser at Hac DC + This water level detector is a two piece assembly connected by threaded rod. This model uses 1/4-20 rod. The lower foot has a 40mm home in the bottom to insert a pingpong ball as the float. + James Sullivan + 5-8-17 + Mk 5 - removed tolerance variable and adjusted threads, ppbd, and head threaded rod holes diameters + OpenSCAD version 2015.03-1 + */ + ppbd=41; //ping pong ball diameter, includes 1mm tolerance + ppbw=2.7; //ping pong ball weight in grams + shd=2; //switch hole diameter + shp=10; //switch hole pitch, i.e. center to center spacing of mounting holes on microswitch + wlh=200; //water level height + sbw=6; //switch body width + nfw=4; //nut face width, switch mounting nuts + nt=1; //nut thickness, switch mounting nuts + thick=5; //thickness + eps=0.1; //epsilon + br=50; //base radius + rod=25.4/4; //rod outer diameter + tpi=20; //threads per inch + td=13.74/tpi; //thread depth + fph=25.4*5/tpi;//foot pillar height + bfw=ppbd+2*thick; //base flange width + $fn=48; + function mod(num,den) = num - floor(num/den)*den; + //dimensions taken from Front Door Switch Holder + wr=4; //wrench size for nuts width across flats + nh=1; //nut height, depth of nut sockets + + //head + module head() { + color("cyan") difference(){ + union(){ + for(angle=[45:90:315]){ + rotate([0,0,angle]) translate([ppbd/2+rod/2+td,0,0]) cylinder(d=rod+thick*2,h=thick); //leg cylinders + } + cylinder(h=thick,r=ppbd/2+rod/2+td-thick/2); + } + translate([0,0,-thick/2]) cylinder(h=thick*2,r=ppbd/2+rod/2-3*thick/2); //center bore to reduce material amount and print time + for(angle=[45:90:315]){ + rotate([0,0,angle]) translate([ppbd/2+rod/2+td,0,-thick/2]) cylinder(d=rod*1.1,h=thick*2); //leg holes for threaded rods + } + } + translate([sbw/2,(ppbd+rod-2*thick)/(-2),0]) cube([thick,ppbd+rod-2*thick,thick]); //support for switch mounting block + translate([sbw/2,shp/2,thick]) difference(){ //switch mounting block, aligned with z-plane and x-plane, centered on y-plane + translate([0,-shp/2-nfw,0]) color("green") cube([thick,shp+2*nfw,2*nfw]); + for (y=[-shp/2,shp/2]) { + translate([thick/2,y,nfw]) rotate([0,90,0]) cylinder(d=shd,h=thick*2,center=true); //screw holes + translate([sbw-nh,y,nfw]) union(){ //nut sockets + for (ang=[0,120,240]) rotate([ang,0,0]) cube([nh*2,wr,wr/sqrt(3)],center=true); + } + } + translate([sbw/2+thick,bfw/2-nfw-shp,nfw]) union(){ //center nut socket + cube([nh*2,wr,wr/sqrt(3)],center=true); + rotate([120,0,0]) cube([nh*2,wr,wr/sqrt(3)],center=true); + rotate([240,0,0]) cube([nh*2,wr,wr/sqrt(3)],center=true); + } + } + } + + module socket(nd,tpi,tl,thick) { + //nd = nominal diameter + //tpi = threads per inch + //tl = thread length + ror=nd/2; //rod outer radius + pitch=25.4/tpi; //thread pitch in mm + td=13.74/tpi; //thread depth in mm + rir=ror-td; //rod inner radius + sor=ror+thick; //socket outer radius + vert= [for (ang=[0:360/$fn:720]) ang<=90 ? [cos(ang),sin(ang)]*rir : + ang<202.5 ? [cos(ang),sin(ang)]*(rir+td*(ang-90)/112.5) : + ang<=247.5 ? [cos(ang),sin(ang)]*ror : + ang<360 ?[cos(ang),sin(ang)]*(rir+td*(360-ang)/112.5) : + [cos(ang),sin(ang)]*sor]; + path1=[for(p=[0:$fn]) p<$fn ? p : 0 ]; + path2=[for(p=[$fn:2*$fn]) p<2*$fn ? p : $fn ]; + color("green") difference(){ + linear_extrude(height=tl,center=false,convexivity=20,twist=tl/25.4*tpi*360){ + polygon(points=vert,paths=[path1,path2]); + } + translate([0,0,tl-ror*tan(30)]) cylinder(r2=ror,r1=0,h=ror*tan(30)); //inlet chamfer + } + } + + + //foot + module foot(){ + difference(){ + union(){ + translate([0,0,thick/2]) cube([ppbd+2*thick,ppbd+2*thick,thick],center=true); + for (angle=[45:90:315]){ + rotate([0,0,angle]){ + translate([ppbd/2+rod/2+13.74/tpi,0,thick]) socket(rod*1.1,tpi,fph,thick); //pillar + translate([0,-thick,0]) cube([br-thick,thick*2,thick]); //leg + translate([br-thick,0,0]) cylinder(r=thick,h=thick); //foot + } //end rotate + } //end for + } //end union + translate([0,0,-eps/2]) cylinder(d=ppbd,h=fph+eps+thick); //ping pong ball entry + } //end difference + } //end foot module + + + //head(); + foot(); + +[Category: CheapChineseLaser](Category:_CheapChineseLaser "wikilink") \ No newline at end of file diff --git a/Flyers.md b/Flyers.md new file mode 100755 index 0000000..a604877 --- /dev/null +++ b/Flyers.md @@ -0,0 +1,9 @@ +HacDC Flyers + +[:](:File:flyer-1.pdf "wikilink") - full letter-size +flyer with verb cloud and qr code + +[:](:File:flyer-2.pdf "wikilink") - half letter-size +flyer with hacdc logo + +[Category:Marketing](Category:Marketing "wikilink") \ No newline at end of file diff --git a/Form_1023_Draft.md b/Form_1023_Draft.md new file mode 100755 index 0000000..f143b49 --- /dev/null +++ b/Form_1023_Draft.md @@ -0,0 +1,685 @@ +Below is the proposed draft of the HacDC IRS [Form +1023](http://ftp.irs.gov/charities/article/0,,id=130101,00.html). This +is the form we need to fill out to become a 501(c)(3) status. + +This wiki article will document proposed answers to the form, following +on a Part and Line Item basis. You can follow along using [the complete +1023 form](http://www.irs.gov/pub/irs-pdf/f1023.pdf), or check out the +[1023 form instructions](http://www.irs.gov/pub/irs-pdf/i1023.pdf). + +## Issues of note + +- We should complete our Bylaws amendments before submitting this + application. (See Part II, Line 5) +- We should make sure all our DC filings are complete and correct (i.e. + registered agent, registered office) before submitting. +- We should prepare an Annual Report, as per our bylaws, describing the + activities of HacDC and giving our financial picture from our Tax Year + ended December 31, 2008. (See [Part + IV](Form_1023_Draft#Part_IV:_Narrative_Description_of_Your_Activities "wikilink")) +- Even though we have no paid staff or contractors, it may be a good + idea to adopt compensation policies as described (See [Part + V](Form_1023_Draft#Part_V_:_Compensation_and_Other_Financial_Arrangements_With_Your_Officers.2C_Directors.2C_Trustees.2C_Employees.2C_and_Independent_Contractors "wikilink")) +- We should determine whether or not we will retain rights to + intellectual property or other discoveries. (See Part VIII, Question + 10) +- We should determine whether or not HacDC will make grants or + distributions. (See Part VIII, Question 13) + +## Sections to note + +The "difficult" sections will be noted here. These are the ones that +require real thought as opposed to simple plugging away of information + +- [Part + IV](Form_1023_Draft#Part_IV:_Narrative_Description_of_Your_Activities "wikilink") + +## Part I : Identification of Applicant + +1. Full name of organization (exactly as it appears in your organizing + document): **HacDC** +2. c/o Name (if applicable): (Not Applicable) +3. Mailing address: **1525 Newton St NW, Washington DC 20010** *Note, + there is no room or suite for HacDC* +4. Employer Identification Number (EIN): **(tc should have this + number)** +5. Month the annual accounting period ends: **12** *We follow a + calendar accounting year* +6. Primary contact: *Contact information for Elliot or Tim, whoever + wants to be the primary.* +7. Are you represented...: **No** *This line is if attorneys or CPAs + are filling the application and we want the IRS to communicate with + them directly.* +8. Was a person who is not one of your officers...: **No** *Presumably, + nobody is getting paid to help us fill out this application* +9. Organization???s website, e-mail: ** + info@hacdc.org** +10. Certain organizations are not required to file: **No** *We will be + required to fill out an 990* +11. Date incorporated if a corporation...: **03/25/08** *Wow, we missed + our anniversary party. This was the date we were officially + incorporated in the District of Columbia. You can see our + registration information + [here](http://mblr.dc.gov/corp/lookup/status.asp?id=53073)* +12. Were you formed under the laws of a foreign country?: **No** + +## Part II : Organizational Structure + +We are a Not for Profit corporation organized in the District of +Columbia, organized specifically to become a 501(c)(3). + +1. Are you a corporation?: **Yes** *Tim should have our original + articles of incorporation* +2. Are you a limited liability company: **No** +3. Are you an unincorporated association?: **No** +4. Are you a trust?: **No** +5. Have you adopted bylaws?: **Yes** *Note: We should complete all + proposed bylaws amendments before submitting this application.* + +## Part III : Required Provisions in Your Organizing Document + +We have all the required language in our [Articles of +Incorporation](Articles_of_Incorporation "wikilink") + +1. Section 501(c)(3) requires that your organizing document state your + exempt purpose(s)...: **Yes [Third + Article](Articles_of_Incorporation#4Third_Article "wikilink")** +2. Section 501(c)(3) requires that upon dissolution of your + organization, your remaining assets...: **Yes [Sixth + Article](Articles_of_Incorporation##Sixth_Article_:_Management.2C_Affairs_and_Activities_and_Provision_for_Dissolution "wikilink")** + +## Part IV: Narrative Description of Your Activities + +This is the part of the application that will require the most +discussion among our members. We may choose to attach our Annual Report, +which we should prepare before submitting the application. In addition +to a narrative of projects we're working on and the general nature of +the space, what we're doing and what we plan to do, the Annual Report +should be professional looking and serve as an attractive promotional +device for HacDC. [Here's a good +example](http://www.carnegie.org/pdf/CCNY-AR08-18.pdf) of an Annual +Report from the Carnegie Foundation + +### Instructions from the application + +Using an attachment, describe your **past, present, and planned +activities in a narrative**. If you believe that you have already +provided some of this information in response to other parts of this +application, you may summarize that information here and refer to the +specific parts of the application for supporting details. You may also +attach representative copies of newsletters, brochures, or similar +documents for supporting details to this narrative. **Remember that if +this application is approved, it will be open for public inspection.** +Therefore, your narrative description of activities should be thorough +and accurate. Refer to the instructions for information that must be +included in your description. + +### Instructions from the form instructions + +For each past, present, or planned activity, include information that +answers the following questions: + +- What is the activity? +- Who conducts the activity? +- When is the activity conducted? +- Where is the activity conducted? +- How does the activity further your exempt purposes? +- What percentage of your total time is dedicated to the activity? +- How is the activity funded? +- List any alternate names under which you operate + +If you have a website, you may attach a paper copy of to support your +narrative description of activities + +### Sample Activity: Microcontroller Mondays + +Note: This is by no means complete, this is just to give an example of a +good description of the activity. The same information may be presented +in a less structured/more narrative form, as long as the questions are +answered. + +- Microcontroller Mondays is a weekly gathering of those interested in + the pursuit of microcontroller-driven devices, their designa nd + theory. The event is open to the public, designed for all skill levels + and serves as one of the organization's primary "entry points" for + involvement. +- The activity is conducted by volunteer members of HacDC +- The activity is conducted most Monday nights +- The activity is conducted at HacDC's laboratory space +- The activity furthers the following exempt purposes + - Charitable: The activity is free and open to the public. HacDC's + equipment, meeting space and some consumables are made available to + all participants. Other non-profit organizations and those pursuing + charitable activities use the weekly meetup to learn more about + microcontrollers and other electronic technology as well as network + with those who have expertise and are willing to apply that + expertise to relevant charitable work. + - Educational: The activity's primary aim is information exchange and + mentorship on the science of microcontroller design and theory. + Experts and those well-versed in the technology share information + with each other and mentor those with little to no experience with + the technology. Often, a potential hobbyist will bring a project + they cannot complete to the event to seek advice and mentorship in + completing the project and learning techniques and theory to + complete more advanced projects or design new ones. + - Scientific: The activity's secondary aim is to engage with + microcontroller and related technology, discover new applications of + the technology and test the limits and potentials of existing + technology and theory in the field. +- Approximately 15% of our total volunteer and member hours are + dedicated to this activity +- The meeting space and utilities for the space are funded by members, + the equipment is primarily donated or paid through membership dues and + donations. Those participating in mentorship and research activities + do so as volunteers. + +## Part V : Compensation and Other Financial Arrangements With Your Officers, Directors, Trustees, Employees, and Independent Contractors + +HacDC has no paid staff, officers, volunteers, etc. As such, this clause +should present no issue to us, though we may want to adopt policies +stating under what circumstances someone would be compensated (i.e. a +teacher of a class, speaker, etc.) + +This clause was expanded in the most recent revision of the application +to ferret out organizations formed primarily for the enrichment of the +participants. It's common for hobbyists in the field to form their own +non-profit to fund their presumably exempt activities as a primary +career. + +**However, the officers will have to attach a list "showing their name, +qualifications, average hours worked, and duties."** + +Note: The officer titles are most likely going to change pending a +Bylaws revision. + + +1a. + +Elliot Williams / Coordinator in Chief / 1525 Newton St NW, Washington +DC, 20010 / -\$0- + +(Other officers, etc.) + + + + +1b. **None** + +1c. **None** + + + + +2a. Are any of your officers, directors, or trustees related to each +other through family or business relationships? If ???Yes,??? identify +the individuals and explain the relationship. **No** + +2b. Do you have a business relationship with any of your officers, +directors, or trustees other than through their position as an officer, +director, or trustee? If ???Yes,??? identify the individuals and +describe the business relationship with each of your officers, +directors, or trustees. **No** + +2c. Are any of your officers, directors, or trustees related to your +highest compensated employees or highest compensated independent +contractors listed on lines 1b or 1c through family or business +relationships? If ???Yes,??? identify the individuals and explain the +relationship. **No** + +3a. For each of your officers, directors, trustees, highest compensated +employees, and highest compensated independent contractors listed on +lines 1a, 1b, or 1c, attach a list showing their name, qualifications, +average hours worked, and duties. **Attached list of qualifications, +etc.** *This is where the officers will have to list their duties, +qualifications, etc.* + +3b. Do any of your officers, directors, trustees, highest compensated +employees, and highest compensated independent contractors listed on +lines 1a, 1b, or 1c receive compensation from any other organizations, +whether tax exempt or taxable, that are related to you through common +control? **No** *This assumes that none of the officers work or have +business or other outside interests with the same entities.* + +4\. In establishing the compensation for your officers, directors, +trustees, highest compensated employees, and highest compensated +independent contractors listed on lines 1a, 1b, and 1c, the following +practices are recommended, although they are not required to obtain +exemption. Answer ???Yes??? to all the practices you use. *If HacDC +decides to not compensate officers, directors, etc. or does not envision +hiring employees in the forseeable future, we should answer that we +don't need such policies as no compensation will be set or granted. If +we believe we will hire employees or compensate officers, etc. we should +consult with an attorney to draft these policies.* + +## Part VI: Your Members and Other Individuals and Organizations That Receive Benefits From You + +This is a very sticky part of the application. What HacDC does and how +it relates to other organizations will need to be documented in +narrative form in this part of the application. + +What we've done and what we plan to do should be noted in this section +and what avenues we choose to open or close for ourselves will need to +be decided before we can fill this out. We should distinguish between +ongoing activities (past/present) and what we plan to do ("planned +activities"). We should structure our responses in terms of "programs", +even though in practice, we don't make specific programmatic +distinctions as such. + +The IRS basically wants to make sure that the exempt services and +related "benefits" we provide here are not for any particular group of +individuals or are otherwise self-serving. HacDC is basically in the +clear on this, but it is important to clearly document this as such. + + +1a. In carrying out your exempt purposes, do you provide goods, +services, or funds to individuals? **Yes. Our core program is providing +a space for the creative exploration of technology. Members and other +individuals use the space and incidental services provided. Our +educational program, through more formalized classes, provide +individuals with introductory knowledge in electronics, open source +software and other technical pursuits. We also plan on providing +services to the community, such as public wireless internet access. +Informally, we serve as a hub for donated equipment which individuals +may avail themselves of for their own benefit. However, we do not as a +rule provide individualized goods or services to individuals. While we +anticipate funding specific projects or pursuits, we do not provide +funds to individuals.** + + + + +1b. In carrying out your exempt purposes, do you provide goods, +services, or funds to organizations? **Yes. We currently provide a forum +for other organizations to have meetings or host workshops. We are also +working with our landlord to provide internet access to other +organizations that rent space in our building.** + + + + +2\. Do any of your programs limit the provision of goods, services, or +funds to a specific individual or group of specific individuals? **No** +*Note, we should draft some kind of non-discrimination policy along +these lines.* + + + + +3\. Do any individuals who receive goods, services, or funds through +your programs have a family or business relationship with any officer, +director, trustee, or with any of your highest compensated employees or +highest compensated independent contractors listed in Part V, lines 1a, +1b, and 1c? **No** + +## Part VII: Your History + +These are relatively simple and straightforward. + + +1\. Are you a successor to another organization? **No** *HacDC did not +take on another organization's assets or mission, it was formed entirely +independently.* + + + + +2\. Are you submitting this application more than 27 months after the +end of the month in which you were legally formed? **NO** *As long as we +complete this application by May of 2010, we're OK.* + +## Part VIII: Your Specific Activities + +These are relatively straightforward questions that shouldn't pose too +much difficulty. In answering specifically, we should attempt to keep +our options open while bearing in mind that HacDC should not contact +with outside organizations to accomplish any fund raising or other +program goals, nor should it serve other groups as such. + +One potential issue is raised regarding intellectual property in +Question 10. + + +1\. Do you support or oppose candidates in political campaigns in any +way? **No** *501(c)(3)s are not allowed to specifically advocate or +influence legislators or pending legislation, while they may, in a +general way, provide information about political issues. Short of +retaining counsel to guide such activities, it's best if HacDC itself +remains politically neutral as an organization.* + + + + +2a. Do you attempt to influence legislation? **No** + +2b. (N/A) + + + + +3a. Do you or will you operate bingo or gaming activities? **No** *We'd +have to get really desperate to resort to Bingo, but it is a legitimate +question for churches, native american groups, etc.* + +3b./3c. (N/A) + + + + +4a. Do you or will you undertake fundraising? **Yes. Email +solicitations, Personal Solicitations, Foundation Grant Solicitations, +Accept Donations on Your Website, Receive Donations from Another +Organization???s Website, Government Grant Solicitations** + +Attach a description of each fundraising program: + +**\* General Fundraising: We have pursued general fundraising to support +the efforts of HacDC. Such fundraising has taken place through our +website, at events in our space, external events we participate in and +through various channels by our members' individual initiative.** + +**\* Equipment Donations: Most of HacDC's equipment is donated and we +plan on pursuing other equipment donations** + +**\* Specific Fundraising: Members have expressed interested and plan on +targeting fundraising efforts towards the acquisition of larger pieces +of equipment or capital intensive projects.** + + + + +4b. Do you or will you have written or oral contracts with any +individuals or organizations to raise funds for you? **No** + +4c. Do you or will you engage in fundraising activities for other +organizations? **No** + +4d. List all states and local jurisdictions in which you conduct +fundraising. + +**\* Washington, District of Columbia: Fundraising for HacDC conducted +by HacDC** + +**\* Maryland: Fundraising for HacDC conducted by HacDC** + +**\* Virginia: Fundraising for HacDC conducted by HacDC** + +**\* Ohio: Fundraising for HacDC conducted by HacDC** + +**\* Globally, Via the Internet: Fundraising for HacDC conducted by +HacDC** + + + + +4e. Do you or will you maintain separate accounts for any contributor +under which the contributor has the right to advise on the use or +distribution of funds? **No** ''HacDC should not maintain what are +called "Donor Advised Funds". While people may donate to a specific +cause, i.e. a "Laser Cutter Fund" or other restricted fund, the IRS is +asking about funds where donors have the right to specify where funds go +after the donation is made. + + + + +5\. Are you affiliated with a governmental unit? **No** *HacDC was not +created or controlled by a government agency.* + + + + +6\. Do you or will you engage in economic development? **No** *This is +specifically asking if HacDC will take part in activities like a +Business Improvement District, entities which are somewhat complicated +and well outside the scope of what HacDC does.* + + + + +7a. Do or will persons other than your employees or volunteers develop +your facilities? **No** *This is asking about the development of real +property. HacDC does not own real property, nor does it have any +concrete plans to do so at this time.* + +7b. Do or will persons other than your employees or volunteers manage +your activities or facilities? **No** + +7c. *We should not have any relationships which need to be documented in +this section* + + + + +8\. Do you or will you enter into joint ventures, including partnerships +or limited liability companies treated as partnerships, in which you +share profits and losses with partners other than section 501(c)(3) +organizations? **No** *While obtaining something like the laser cutter +might be advisable under this scenario, it's advisable to avoid such +relationships. If this status changes, we merely need to inform the IRS +as such as part of our regular 990 filing process.* + + + + +9a. Are you applying for exemption as a childcare organization under +section 501(k)? **No** *We're not in any way qualified to nor would we +gain much by applying under this section* + + + + +10\. Do you or will you publish, own, or have rights in music, +literature, tapes, artworks, choreography, scientific discoveries, or +other intellectual property? **No** *HacDC should not be in the business +of owning intellectual property or managing property rights, especially +as the space we operate in is one of open source style collaboration. We +should also eschew this so our members and others are free to pursue +their own discoveries within our space and determine, on an individual +basis, how those discoveries are licensed.* + + + + +11\. Do you or will you accept contributions of: real property; +conservation easements; closely held securities; intellectual property +such as patents, trademarks, and copyrights; works of music or art; +licenses; royalties; automobiles, boats, planes, or other vehicles; or +collectibles of any type? **Yes**. *We should explain here that we would +accept certain pieces of equipment or real property that have a specific +application to our exempt purposes, i.e. a building for our activities, +a vehicle for equipment moving, etc. The IRS is trying to determine +whether or not we'll be engaging in vehicle donation programs or the +like where such items are donated, then turned around and sold for cash +by the organization.* + + + + +12\. Do you or will you operate in a foreign country or countries? +**No** *As an organization, HacDC itself should not operate in foreign +countries, though it may support other relief efforts.* + + + + +13a. Do you or will you make grants, loans, or other distributions to +organization(s)? **No** *This is a potentially sticky issue. It's +probably best for HacDC to stay out of the grant making business, at +least for now, until HacDC can properly craft a role or mission for +doing so. For now, it's best that HacDC projects remain in house.* + + + + +14a. Do you or will you make grants, loans, or other distributions to +foreign organizations? **No** *Post 9/11, this is an incredibly thorny +issue which HacDC should avoid at all costs.* + + + + +15\. Do you have a close connection with any organizations? **No**. +''HacDC's officers and members are not, as a whole, closely connected to +another organization. The closest connection we might have is to our +landlord, St. Stephen's, but they do not exercise control over HacDC as +an organization nor does HacDC exercise control over it." + + + + +16\. Are you applying for exemption as a cooperative hospital service +organization under section. **No** + + + + +17\. Are you applying for exemption as a cooperative service +organization of operating educational organizations under section +501(f)? **No** + + + + +18\. Are you applying for exemption as a charitable risk pool under +section 501(n)? **No** + + + + +19\. Do you or will you operate a school? **No** *While we offer +classes, we do not have formal instruction, a regular faculty, or a +regularly enrolled body of pupils.* + + + + +20\. Is your main function to provide hospital or medical care? If +???Yes,??? complete Schedule C. **No** + + + + +21\. Do you or will you provide low-income housing or housing for the +elderly or handicapped? **No** + + + + +22\. Do you or will you provide scholarships, fellowships, educational +loans, or other educational grants to individuals, including grants for +travel, study, or other similar purposes? **No** + +## Part IX : Financial Data + +This information is fairly straightforward. Using the UCOA, the +applicable statements for the financial year ended December 31, 2008 and +the tax year to this point should be easily prepared when the +application is ready. + +The balance sheet is for the tax year ended December 31. This will have +substantially changed as of the time of filing, and the statement at the +time of filing. + +## Part X: Public Charity Status + +HacDC is a Public Charity by virtue of the fact that it receives "broad +public support" from many different sources in the public. A Private +Foundation is one that is primarily funded by a few individuals, trusts, +corporations, etc. The questions below are designed to clarify HacDC's +status as a Public Charity. + + +1\. Are you a private foundation? **No** + + + + +... + + + + +5\. If you answered ???No??? to line 1a, indicate the type of public +charity status you are requesting by checking one of the choices below. +You may check only one box. **Box 5h most closely applies to HacDC** + + + + +**5h. 509(a)(2)???an organization that normally receives not more than +one-third of its financial support from gross investment income and +receives more than one-third of its financial support from +contributions, membership fees, and gross receipts from activities +related to its exempt functions (subject to certain exceptions).** + + + + +*HacDC qualifies more under 509(a)(2) rather than 509(a)(1), as more +than 1/3rd of its income comes from "(i) gifts, grants, contributions, +or membership fees, and (ii) gross receipts from ... sales of +merchandise, performance of services, or furnishing of facilities, in an +activity which is not an unrelated trade or business ..." and does not +receive more than 1/3rd of is income from investments or unrelated +business income.* + + + + +6\. If you checked box g, h, or i in question 5 above, you must request +either an advance or a definitive ruling by selecting one of the boxes +below. Refer to the instructions to determine which type of ruling you +are eligible to receive. **Box under 6b should be checked** + + + + +Request for Definitive Ruling: Check this box if you have completed one +tax year of at least 8 full months and you are requesting a definitive +ruling. To confirm your public support status, answer line 6b(i) if you +checked box g in line 5 above. *Answer line 6b(ii) if you checked box h +in line 5 above*. If you checked box i in line 5 above, answer both +lines 6b(i) and (ii). + + + + +6.b(ii) + + + + +For each year amounts are included on lines 1, 2, and 9 of Part IX-A. +Statement of Revenues and Expenses, attach a list showing the name of +and amount received from each disqualified person. **None** *Aside from +the officers, HacDC has no disqualified persons as long as no person has +contributed more than \$5,000. A legal argument can be made the officers +are not technically disqualified persons.* + + + + +For each year amounts are included on line 9 of Part IX-A. Statement of +Revenues and Expenses, attach a list showing the name of and amount +received from each payer, other than a disqualified person, whose +payments were more than the larger of (1) 1% of line 10, Part IX-A. +Statement of Revenues and Expenses, or (2) \$5,000. If the answer is +???None,??? check this box. **None** *I don't believe there is anyone +who contributed more than \$5,000 to HacDC in aggregate* + + + + +7\. Did you receive any unusual grants during any of the years shown on +Part IX-A. Statement of Revenues and Expenses? If ???Yes,??? attach a +list including the name of the contributor, the date and amount of the +grant, a brief description of the grant, and explain why it is unusual. +**No.** *This would be if HacDC received a windfall grant that would +wreck the 1/3rd formula.* + +## Part XI: User Fee Information + +Unfortunately, HacDC does not qualify for the reduced user fee. The +application will cost \$750. + +[Category:HacDC_Docs](Category:HacDC_Docs "wikilink") \ No newline at end of file diff --git a/Friends.md b/Friends.md new file mode 100755 index 0000000..7ccd7b3 --- /dev/null +++ b/Friends.md @@ -0,0 +1,4 @@ +- [MakeDC](http://www.makedc.org) +- [Dorkbot DC](http://dorkbot.org/dorkbotdc/) + +[Category:Community](Category:Community "wikilink") \ No newline at end of file diff --git a/Friends_list.md b/Friends_list.md new file mode 100755 index 0000000..741e03e --- /dev/null +++ b/Friends_list.md @@ -0,0 +1,4 @@ +ChanServ AlonzoTG awwaiid blueglass fl1pfl0p\[m\] foxlet\[m\] godane +Hunterkll_ juri__ lawlking naomi-test\[m\] natewalck ozzloy_ qeed +red_beard rektide rojisan rojisan_roaming RossSchulman\[m\] schneider +seele TheAssassin TheCowboy thossou ZipCPU \ No newline at end of file diff --git a/Fuller_Enterprises.md b/Fuller_Enterprises.md new file mode 100755 index 0000000..dcccde3 --- /dev/null +++ b/Fuller_Enterprises.md @@ -0,0 +1,4 @@ +[Fuller Enterprises](http://www.everydayitemsforless.com) sells a +deviation of products online, including gifts, gadgets, collectibles, +and novelties over their website everydayitemsforless.com at the of the +first water prices. \ No newline at end of file diff --git a/Fully_distributed_services.md b/Fully_distributed_services.md new file mode 100755 index 0000000..70e686c --- /dev/null +++ b/Fully_distributed_services.md @@ -0,0 +1,44 @@ +# Assumptions + +- Each service assumes at the outset that it's the only one in + existence. +- Each service periodicially probes for the existence of other services. +- If two services of the same type find one another, they'll link up and + synchronize. +- If three services of the same type exist, but A knows about B and B + knows about A and C, B and C will synch, and then A and B will synch + the content of B and C. + +# Problems + +- Service foo wants to search for services of the same type on other + nodes that may or may not exist. +- Service foo wants to use another piece of software running on the same + node to search for other instances. +- The datastore backing service foo isn't capable of synchronizing on + its own with others of its type. +- The datastore backing service foo cannot grow without bound. +- Service foo isn't designed to have a web front end, but needs one. + - Service foo needs a plug-in that exposes the service over HTTP. +- Each instance of service foo needs a unique identifier. + +# Nonspecific solutions + +- Designate a service on the node that maintains a catalogue of other + services running on the node and make them available on the local + network. +- Designate a service on the node that listens for announcements of + other services on neighboring nodes. +- Designate a service on the node that watches for new instances of the + same service to appear. + - The monitoring daemon checks to see if the service announcement has + already been picked up. + - The monitoring daemon contacts the service's administrative + interface and executes the necessary commands to inform it of a new + instance to contact. + - Service foo contacts the new instance and initiates synchronization. + +I guess I'm talking about ejabberd and avahi here. Maybe with some glue +code and the odd exposed administrative interface. + +[Category:Byzantium](Category:Byzantium "wikilink") \ No newline at end of file diff --git a/Fundraising.md b/Fundraising.md new file mode 100755 index 0000000..b1f8fed --- /dev/null +++ b/Fundraising.md @@ -0,0 +1,33 @@ +2019.01.24 + +## Ideas + +### Hack-a-thon + +- \$30 buy-in +- Provide pizza and beer (or the like) +- Offer a prize +- Partner with a local university +- 24-hours + +### [Capture the Flag](https://en.wikipedia.org/wiki/Capture_the_flag#Software_and_games) + +HacDC has done this in the past. + +### Ham Fest + +- Possibly combine this with the outgoing process + +### Trivia Night / House Concert + +- Exiles on U has held fundraisers + +### Humble Bundle + +- Not sure how, but we've been a [Humble Bundle + charity](https://www.humblebundle.com/charities) at least once before. + +## Fundraising strategies + +Alberto, Phil and Travis from years past created a [Fundraising +Strategy](Fundraising_Strategy "wikilink") page... \ No newline at end of file diff --git a/Fundraising_Strategy.md b/Fundraising_Strategy.md new file mode 100755 index 0000000..e624b8b --- /dev/null +++ b/Fundraising_Strategy.md @@ -0,0 +1,251 @@ +## Alberto's Notes + +- - Stakeholder Stacks\*\* + +(dumped from whiteboard stickies) + +### Outside + +#### Seeking Educational Experiences + +- Students +- Amateur Engineers +- Schools +- Teachers +- People who run summer camps or aftercare +- STEAM educators +- Social justice tech teachers (hear me code, etc) +- Girl groups (girls scouts, girls who code) + + + +- Board Game enthusiasts + + + +- Other hacker/maker spaces + + + +- Electronic Music aficionados + +#### Arts + +- Artist groups +- Solo artists +- Artists w/tech crossover interests \[media artists\] +- Crafting community + +#### Community + +- Mayor's office / City Hall +- Neighborhood groups +- Civic neighborhood +- Columbia Heights +- Non-hacking community groups +- Society in need of non-specialized DIY knowledge +- Activists +- Local Government / economic development +- DC Gov + +#### People we use or need + +- Brian B. +- St Stephen's +- Tech suppliers +- Vendors + +#### Affect us but don't seek us + +- Family +- Friends +- Significant others + +#### People who give money + +- Donors +- External donors +- Internal donors +- STEAM funders / supporters +- Philanthropists interested in STEAM +- "Friends of HacDC" +- Funders of education +- Those with money + +#### People who seek HacDC + +- Guests +- Visitors +- New (first-time) guests + + + +- Alumni +- Strange attractors (lots of stuff happening around them) + +#### Know shit + +- Class / Event organizers +- SME non-members +- Outside / Invited speakers and presenters +- Outside event staffers + +### Inside + +- Know shit +- The "fellowship" people (they like us) +- VR people +- SME members +- Technical experts +- (Local) Inventors / Innovators +- Hardware hackers +- Networkers (those who connect us to the outside) +- Any cross-disciplinary wanderers +- Software developers +- Software hackers +- Ham Radio / RF hobbyists +- Tech newbies +- Members +- Active members +- Absentee members +- Non-SME +- Invested members +- Dues-paying members +- Bad apples +- Breakers +- Disinterested members + +#### Do shit + +- Re\* \* \* te\] volunteers +- Cleaners / maintainers +- Those with time +- Action takers +- Network admins +- Helpers of the church +- Machine maintainers +- Inside speakers +- Regular event leaders +- Microcontroller hackers +- Space blimp +- 3D fabrication enthusiasts +- 3D printer people +- Hams + +#### Organization core + +- Officers +- Board of Directors + +## Phil's Notes + +**Imagined Stakeholder Persona** + +Role: \[STEAM\] Funder / Donor + +Name: \[Thurston Howell III\] Age: 50 Occupation: Corporate Philanthropy +Director \[Do they exist?\] Type: Would-have-been screenwriter or +sculptor. + +Characteristics: Driven highly-capable professional Potential Ivy League +or similar background \[specified in discussion: Stanford\] Inured to +corporate ecosystem. \[Major? Career path? Not specified in my write-up, +underspecified in discussion; one could (stretching it) imagine a +quantitative analyst who began as a physicist and moved to Wall Street +e.g. but that is a relatively narrow path that doesn???t seem consistent +with the interests specified in ???type??? above. THIS PART OF THE +PORTRAIT NEEDS WORK.\] + +Goals: Make corporation look / do good. Build a portfolio of +high-prestige / high-interest-value (press-ready) projects funded Wants +to see results in real world. + +Motivations: Make corporation look / do good Help others excel in +careers he had no time for + +Barriers: Must justify decisions to higher-up boards \[, +public-relations professionals, etc.\] Must satisfy high-prestige / +high-status parties he consults with / in his social network Trusted +contacts not omniscient: HacDC???s visibility buffered / mediated by +established authorities & patterns of thought, patterns of media +coverage \[Discussion: - is a hackerspace a shady / disreputable / +potentially criminal organization in the way ???hackers??? are portrayed +in the press? - is a hackerspace established in some way culturally, +popularly felt to be a meritorious site of activity? - \[Abstracting +from some discussion: is a hackerspace just a club for geeks? Do they +deliver a product in the form of invention? Do they educate? Are they +helping kids to learn? A hackerspace is educational? So do they fill an +educational niche not better or sufficiently filled by traditional or +charter schools & school activities?\] - \[Thinking further: is a +hackerspace a site of creative use of technology, as in supporting arts? +I???m thinking of Nam June Paik and Ai Weiwei and artists like that; +would a hackerspace enable such a person to develop or to develop and +bring out their works? No way. Tell me more . . . \] + +Trusted Sources: Professional nonprofit BOD / Executive directors Art & +literary critics Leaders in academia \[Added after: Contacts he +cultivates in the press to see what is hot & new / in effect, proxy +???coolhunters??? enabling to see out towards technical and cultural +horizon\] Publications / Press: \[The unifying principle of these +notional selections is a very broad net cast in the open media, +professional and gray literature, etc. scoured as time allows for leads +on emerging fields for the creative use or teaching of technology; our +idealized / imagined philanthropy director samples these media partly to +escape boredom and repetition with habitual paths of cultural +investment, but relies on them also to fact-check and assess the success +potential, prestige potential, and a fuzzy idea called ???merit??? for +his corporation???s funded projects.\] + +`   Newspapers:` + +New York Times + +`       Wall Street Journal` +`       Bloomberg Business Week` +`    Journals (Broad coverage):` +`       IEEE Spectrum` +`       Scientific American` +`       Nature` +`       Science` +`       Daedalus` +`       Inside Higher Education` +`       Chronicle of Higher Education` +`       Los Angeles Review of Books` +`       New York Review of Books` + +Smithsonian American Craft Arts Journal (& Website: artsjournal.com) +Leonardo (& Website: leonardo.info) ARTnews (& Website: artnews.com) + +`       Raw Vision (& Website: rawvision.com)` +`       BT Technology Journal` +`       Atlantic (with reservations)` +`       Slate` +`       ` +`   Journals (specific):` +`       The Behavioral and Brain Sciences` +`       [various] IEEE topic-specific journals` + +\[journals in a field he is well-versed or previously professionally +specialized in???biomed engineering? Physics? Economics?\] Make + +`   Broadcast media (radio):` +`       NPR ` +`           Science Friday` +`           RadioLab` +`           etc.` +`           TED talks [same for WWW --& broadcast?]` +`   Broadcast media (television):` +`       PBS?` + +\[a spread of news networks such as Fox, CNN, & MSNBC taken with healthy +???grain of salt??? ??? these media less trusted than sampled for +trends\] + +`   WWW:` +`       Boing Boing` +`       Brainpicker` +`       [broad spread of topical sites / blogs / subscription databases]` +`       Outsider Art Pathfinder` +`       ` + +## Travis's Notes \ No newline at end of file diff --git a/Genetic_programming_example_in_lua.md b/Genetic_programming_example_in_lua.md new file mode 100755 index 0000000..94305d2 --- /dev/null +++ b/Genetic_programming_example_in_lua.md @@ -0,0 +1,451 @@ +The following code is capable of converging on a solution to Brad's +parabola problem, which can be found on the [NARG](NARG "wikilink") page + + master_stack = {} + function_table = {} + type_array = {} + type_stack = {} + + stack_size = 32 + + num_types = 0 + + num_x_samples = 5 + constant = {0,1,2,3,4} + expected_result = {0, 4.75, 12.75, 23.98, 38.45, 56.15} + function sleep(n) + os.execute("sleep " .. tonumber(n)) + end + + function deepcopy(object) + local lookup_table = {} + local function _copy(object) + if type(object) ~= "table" then + return object + elseif lookup_table[object] then + return lookup_table[object] + end + local new_table = {} + lookup_table[object] = new_table + for index, value in pairs(object) do + new_table[_copy(index)] = _copy(value) + end + return setmetatable(new_table, getmetatable(object)) + end + return _copy(object) + end + + + function print_table(theTable, indent) + + local iString = "" + for index = 1, indent do + iString = iString .. "-" + end + + -- walk all the topmost values in the table + for k,v in pairs(theTable) do + print(iString ,k ,v) + if type(v) == "table" then + print_table(v, indent + 1) + end + end + + end + + function print_program(theProgram) + print("Program Stack Bottom") + for counter = 1, table.getn(theProgram) do + if (theProgram[counter].name == "real") then + print(theProgram[counter].value) + else + print(theProgram[counter].name) + end + end + print("Program Stack Top") + end + + -- add the type to the type table + function insert_function(functionName, functionCall, functionType, nArguments) + -- ensure we haven't already inserted this function + if function_table[functionName] ~= nil then + print("function already defined: " .. functionName) + return false + end + + -- add this function to the function_table + tempFunction = {} + tempFunction.fName = functionCall + tempFunction.fType = functionType + tempFunction.nArgs = nArguments + + function_table[functionName] = tempFunction + return true + end + + function insert_type(typeName, fPointer, weight) + -- walk the list of types and make sure this one hasn't already been defined + for index = 1, table.getn(type_array) do + if (type_array[index].name == typeName) then + print("type already defined: " .. typeName) + return false + end + end + + num_types = num_types + 1 + type_array[num_types] = {} + type_array[num_types].name = typeName + type_array[num_types].fPointer = fPointer + type_array[num_types].weight = weight + + if fPointer == nil then + -- establish the stack for this type + type_stack[typeName] = {} + end + + return true + end + + function local_add(arguments) + -- print("adding " .. arguments[1] .. " and " .. arguments[2]) + return arguments[1] + arguments[2] + end + + function local_subtract(arguments) + -- print("subtracting " .. arguments[1] .. " and " .. arguments[2]) + return arguments[1] + arguments[2] + end + + function local_multiply(arguments) + -- print("multiplying " .. arguments[1] .. " and " .. arguments[2]) + return arguments[1] * arguments[2] + end + + function local_divide(arguments) + -- print("dividing " .. arguments[1] .. " and " .. arguments[2]) + -- dragon + if (arguments[2] == 0) then + arguments[2] = 0.00001 + end + return arguments[1] / arguments[2] + end + + function some_constant() + -- print("pushing constant onto stack:" .. constant[currentConstant]) + return constant[currentConstant] + end + + function establish_types() + -- add each of our types to the type_table + insert_type("real", nil, 10) + insert_type("+", local_add, 1) + insert_type("*", local_multiply, 1) + --insert_type("-", local_subtract, 1) + --insert_type("/", local_divide, 1) + insert_type("X", some_constant, 5) + end + + function establish_functions() + insert_function("+", local_add, "real", 2) + insert_function("-", local_subtract, "real", 2) + insert_function("*", local_multiply, "real", 2) + insert_function("/", local_divide, "real", 2) + insert_function("X", some_constant, "real", 0) + end + + function generate_program(programSize ) + return_stack = {} + + for counter = 1, programSize do + currentNode = {} + ranVal = math.random(1,table.getn(type_array)) + currentNode.name = type_array[ranVal].name + -- beware hardcoded stuffs + if currentNode.name == "real" then + currentNode.value = math.random() + end + + table.insert(return_stack, currentNode) + end + + return return_stack + end + + function process_master() + while table.getn(master_stack) ~= 0 do + -- print("frame begin-------------------------------") + -- print("current table:") + -- print_table(type_stack["real"], 0) + + currentNode = table.remove(master_stack) + -- print("curret node name: " .. currentNode.name ) + + -- treat functions and values differently + if currentNode.name == "real" then + -- print("current node value: " .. currentNode.value) + -- add this value to the 'real' stack + table.insert(type_stack["real"], currentNode.value) + else + -- grab the num of params needed for this function + nRequired = function_table[currentNode.name].nArgs + theType = function_table[currentNode.name].fType + + -- make sure there are enough objects on the param stack to call this function + -- print("name = " .. currentNode.name) + -- print(function_table[currentNode.name].fType) + -- print(type_stack["real"]) + if (table.getn(type_stack[function_table[currentNode.name].fType]) < nRequired) then + -- not enough params available, NOOP + -- print("not enough params, NOOP") + else + theArguments = {} + -- build an array for passing the params to the function + for counter = 1, nRequired do + theArguments[counter] = table.remove(type_stack[theType]) + end + + -- call the function + returnVal = function_table[currentNode.name].fName(theArguments) + + -- push the return val to the appropriate stack + table.insert(type_stack[function_table[currentNode.name].fType], returnVal) + + end + end + -- print("frame end---------------------------------") + end + + end + + function grab_result() + -- print the top of the "real" stack + if (table.getn(type_stack["real"]) == 0) then + return 9999999 + end + return table.remove(type_stack["real"]) + + end + + --generate_master() + + --process_master() + + --print_result() + + + function create_population() + -- loop through each member in the population + for count = 1, population_size do + current_member = {} + current_member._error = 99999 + + -- generate the member's program data + current_member.program = generate_program(initial_member_size) + + -- add this member to the population + table.insert(population, current_member) + end + end + + function get_best_candidate() + local best_error = 99999 + local best_index = 0 + + for tIndex = 1, table.getn(candidates) do + if candidates[tIndex]._error < best_error then + best_index = tIndex + best_error = candidates[tIndex]._error + end + end + + --print("candidate size: " .. table.getn(candidates) .. "\nbest error from candidates: " .. best_error) + + -- remove and return the *best* candidate + return table.remove(candidates, best_index) + end + + function mutate_child(origin, n_mutations) + dest_node = deepcopy(origin) + + for counter = 1, n_mutations do + -- random point inside this child + index_mutate = math.random(1, table.getn(dest_node.program)) + + ranVal = math.random(1,table.getn(type_array)) + dest_node.program[index_mutate].name = type_array[ranVal].name + -- beware hardcoded stuffs + if dest_node.program[index_mutate].name == "real" then + dest_node.program[index_mutate].value = math.random() + end + end + + return dest_node + end + + function crossover_parents(mommy, daddy) + index_m = math.random(1, table.getn(mommy)) + --index_d = math.random(1, table.getn(daddy)) + + the_child = {} + + -- add the first index_m elements of mommy to the_child + for xxx = 1, index_m do + table.insert(the_child, mommy[xxx]) + end + + -- add the elements index_d to #daddy of daddy to the_child + for xxx = index_m+1, table.getn(daddy) do + table.insert(the_child, daddy[xxx]) + end + + return the_child + end + + -- initialize the population (1 program for each member in the population) + establish_functions() + establish_types() + population = {} + population_size = 10000 + initial_member_size = 24 + create_population() + + error_history = {} + error_threshhold = 0.016 + + + max_num_iterations = 10000 + current_iteration = 1 + + -- while we haven't reached our error threshhold + while current_iteration <= max_num_iterations do + + print("iteration #" .. current_iteration) + + --print_table(population, 2) + + -- get the error for each of the members of our population + for pcount = 1, population_size do + + --print_table(population[pcount], 1) + + -- initialize the error for this program + population[pcount]._error = 0 + --print("pcount = " .. pcount) + + if (current_iteration == 2) then + --print_table(population[pcount], 1) + end + + + -- for each value of X + for icount = 1, num_x_samples do + -- establish the index to the current X/Y pair + currentConstant = icount + + -- print("population size: " .. table.getn(population)) + -- print("master_stack size: " .. table.getn(population[pcount].program)) + + -- make a copy of this guy's program + master_stack = deepcopy(population[pcount].program) + + -- initialize the stacks for each data type + type_stack["real"] = {} + + -- evaluate the program + process_master() + + -- print("master_stack size: " .. table.getn(population[pcount].program)) + + -- print("!!! - " .. table.getn(type_stack["real"])) + + the_result = grab_result() + + --print("the result = " .. the_result) + + -- add the current error to the total error for this program + population[pcount]._error = population[pcount]._error + math.abs(the_result - expected_result[currentConstant]) + end + end + + -- scan the population and find the lowest error + total_error = 0 + best_error = 99999 + best_index = 0 + for pcount = 1, population_size do + total_error = total_error + population[pcount]._error + if (population[pcount]._error < best_error) then + best_index = pcount + best_error = population[pcount]._error + end + end + + average_error = total_error / population_size + + print("lowest error : " .. best_error) + print("average error: " .. average_error) + + table.insert(error_history, best_error) + + -- if the error is under our threshhold, break out and report success + if (best_error < error_threshhold) then + break + end + + + --======================================================================= + -- evolution FTW + --======================================================================= + + children = {} + child = {} + candidates = deepcopy(population) + + -- find the top 10% of the population, keep them + tnum = math.ceil(table.getn(population) / 100) + for cpop = 1, tnum do + table.insert(children, get_best_candidate()) + end + + + --sleep(10) + -- the next 25% should be mutations of the top 10% + xnum = tnum + math.floor(tnum * 10) + candidates = deepcopy(children) -- reset candidates + -- print("we have " .. table.getn(candidates) .. " candidates to chose from") + for cpop = (tnum+1), xnum do + child = mutate_child(candidates[math.random(1, table.getn(candidates))], 5) + table.insert(children, deepcopy(child)) + -- print("size of children: " .. table.getn(children)) + end + + -- the remainder should be crossovers of the full population + for pcount = (xnum+1), population_size do + + -- take 7 random values from the population + candidates = {} + child = {} + for ccount = 1, 7 do + table.insert(candidates, deepcopy(population[math.random(1, table.getn(population))])) + end + + -- print_table(candidates, 1) + + mom = get_best_candidate() + dad = get_best_candidate() + child.program = crossover_parents(mom.program, dad.program) + + -- write the child data to the list of children + table.insert(children, child) + end + + -- move the new population to their proper home + population = deepcopy(children) + + current_iteration = current_iteration + 1 + end + + print("all done!") + --print_table(population[best_index].program, 1) + print_program(population[best_index].program) + +[Category:NARG](Category:NARG "wikilink") \ No newline at end of file diff --git a/Get_price_or_buy_online_Daclastavir.md b/Get_price_or_buy_online_Daclastavir.md new file mode 100755 index 0000000..e47ed4a --- /dev/null +++ b/Get_price_or_buy_online_Daclastavir.md @@ -0,0 +1,5 @@ +Leading Suppliers of Anti-Cancer, Hepatitis-C, HIV-Medicines from India. +[Get price or buy online Daclastavir](http://www.hcvmedicine.com/), +Sorafenib, Veenat, Lapatinib, Abiraterone, Votrient, Velpatasvir, +Crizalk, Hepcinat, Ledifos.Largest Suppliers in India and throughout the +world. \ No newline at end of file diff --git a/GettingHere.md b/GettingHere.md new file mode 100755 index 0000000..2e23d69 --- /dev/null +++ b/GettingHere.md @@ -0,0 +1,60 @@ +HacDC is located at 1525 Newton St NW, Washington, DC +20010-3103. We are a tenant of [Saint Stephen and the +Incarnation Episcopal +Church](http://www.saintstephensdc.org/index.html). [Accessibility +notes.](Accessibility "wikilink") + +Enter the church building through the red doors on the west-facing +(toward 16th Street) side. The ICBM coordinates of these doors is about +38.933545° latitude, -77.035908° longitude. + +If the red church doors are locked, ring our phone at 202-556-HACK +(202-556-4225) and someone in the space can come open the door for you. + +**To our space:** Go all the way up the stairs and press one of the +HacDC buttons on [the call +box](Media:IMG_20120922_163945.jpg "wikilink") to be buzzed in through +the doors on your left. Turn right; HacDC will be at the end of the +hallway, through the door on last double doors on the right. Come on in! +HacDC has a fridge stocked with sodas, along with a microwave, +coffeemaker, a sink, and of course wi-fi. + +**To the auditorium:** Turn left (ascending a short stairway) and +proceed through the guard's office. + +**To the sanctuary:** Turn right (descending a short stairway). + +Metrorail: Green/Yellow line - [Columbia Heights +stop](http://www.wmata.com/rail/station_detail.cfm?station_id=75) - 14th +& Irving + +Metrobus: + +- take S1 (16th Street–Potomac Park Line) or S2,4 (16th Street Line) to + 16th & Irving Sts. NW +- or take H8 (Park Road–Brookland Line), H1 (Brookland–Potomac Park + Line), or H2,3,4 (Crosstown Line) to 14th & Irving Sts. NW +- or take 42 (Mount Pleasant Line) to Lamont & Mount Pleasant Sts. NW + +Bicycle: + +- the nearest [Capital Bikeshare](http://www.capitalbikeshare.com) + stations are at Lamont & Mt. Pleasant NW (a 6-minute walk to the space + from the southwest) and Park Rd & Holmead Pl NW (a 9-minute walk to + the space from the southeast) +- [Washington Area Bicyclist Association](http://www.waba.org/) + +Parking: + +- parking in the lot on the property is restricted to permit holders + only +- on-street parking in the neighborhood is usually available and free on + evenings and weekends +- [a nearby parking + garage](http://washingtondc.centralparking.com/Washington-DC-3100-14th-Street-Parking.html) + is more expensive but also more reliably available + + +38.933545,-77.035908, HacDC + +[Category:About_HacDC](Category:About_HacDC "wikilink") \ No newline at end of file diff --git a/Git_Notes.md b/Git_Notes.md new file mode 100755 index 0000000..e2400a0 --- /dev/null +++ b/Git_Notes.md @@ -0,0 +1,24 @@ +## Git Config + +### Git Alias + +To use add to ~/.gitconfig under "\[alias\]" + +- list all untracked files that aren't in .gitignore + + + + ls-untracked = "!git ls-files --other --exclude-standard" + +- shorthand for "pull --rebase" + + + + up = "!git pull --rebase" + +- list all untracked files not in .gitignore and wait for for user to + press enter, then "pull --rebase" and push changes + + + + sync = "!sh -c 'git_sync(){ git ls-untracked ; echo press enter to continue; read junk ;git up $* ;git push $* ; } ;git_sync $@'" \ No newline at end of file diff --git a/Global_Online_Sports.md b/Global_Online_Sports.md new file mode 100755 index 0000000..7ae65a8 --- /dev/null +++ b/Global_Online_Sports.md @@ -0,0 +1,6 @@ +It's not Fantasy Sports and it's not betting. It is a fun, social and +intelligent diversion to play while you are viewing your most loved +group alone or with companions. It's not about spreadsheets or +multiplying down; it's extraordinary for tenderfoots and specialists +alike. Watch the Video here: +[](https://www.youtube.com/watch?v=lcBNHZiOaRs/) \ No newline at end of file diff --git a/Good_sensation.md b/Good_sensation.md new file mode 100755 index 0000000..7caf9ca --- /dev/null +++ b/Good_sensation.md @@ -0,0 +1,18 @@ +VLADIMIR PUTIN, Donald Trump, ANATOLIY GOLOD: GOOD CYCLES CAN IMPROVE +THE WORLD. READ **[GOOD SENSATION](http://www.super-dobro.com/)**! +Vladimir Putin (President, RUSSIAN FEDERATION), Donald Trump (President, +USA), Anatoliy Golod (General Director, GUIDES). RUSSIAN FEDERATION +creates worldwide support. For making good relations, good situations in +the world General Universal Information Defense Excellent Service was +created in Russia (GUIDES, General director, creator: Anatoliy Golod, +has diploma with honors, Ph.D.). It accumulates informational resources +from the all world security services who want to make good situations in +the world. That's why it also names in mass media: the Central +Intelligence Universe Agency (CIUA , "See I You Are": "I can see, You +can see"; it is necessary to see each other, good communicate with each +other to make good situations and good relations in society). The good +prestige can have good informational, social and economic activities for +good results in society, that's why the Russian well oriented +organizations, security services and well oriented good organizations, +security services in all countries who want to make good situations in +the world can take the good prestige. \ No newline at end of file diff --git a/Great_Global_Hackerspace_Challenge.md b/Great_Global_Hackerspace_Challenge.md new file mode 100755 index 0000000..952a3d9 --- /dev/null +++ b/Great_Global_Hackerspace_Challenge.md @@ -0,0 +1,201 @@ +# WELCOME + +Hello, and welcome to The Great Global Hackerspace Challenge, brought to +you by the very excited folks over at element14! + +You are one of thirty hackerspaces from across the globe who have been +chosen to participate in this amazing event, which seeks to stretch your +hackerspace-minded ingenuity to its very limit to create an electronics +build that will make a real, and very positive difference in an +educational establishment. And for you to have a whole lot of fun along +the way! + +Exactly what that build is, and what solution it provides is entirely +down to you. The only stipulation is that your build must make use of a +microcontroller and a portable power source. We encourage you to reach +out to an educational institute in your area so that you can test your +invention as it evolves, make sure you are answering a genuine +educational need, and hopefully establish a home for your product once +the challenge is over. + +Within this pack, you'll find detailed information on the equipment +element14 will provide you with to get your creative thoughts flowing, +and your talented hands building, as well as the low down on how to +share your Hackerspace's ongoing progress with the world. + +We'd also ask you make sure to read our Great Global Hackerspace +Challenge Pact section, on which we are asking for a virtual handshake +from you. It's our way of establishing mutual ground rules and +understanding before the storm of genius activity begins. + +We thank you once again for being a part of this incredible challenge, +wish you the very best of luck, and look forward with great anticipation +to seeing your work as it develops. This is a challenge in which +brilliant minds collaborate so that everybody wins. Onwards! + +## CHALLENGE GUIDELINES + +Outlined below is a step-by-step guide with all the information you will +need to help make your hackerspace challenge as successful as possible. +There's a great deal to do in a very short space of time, and so we have +created a calendar of key delivery dates which you'll find at the end of +this pack to help you stay on track. + +If you have any questions along the way that aren't answered here, +please email hackerspace@element14.com and we'll be sure to get back to +you. + +## YOUR TOOL KIT + +element14 is providing you with a budget of \$900 US to complete your +build. You will be contacted directly to establish exactly how you would +prefer to receive this money. Your microcontroller and portable power +source should be procured using this money, and any additional +electronic components you might need can be purchased from the element14 +store. Simply go to the element14 website (www.element14.com), click on +the 'store' tab and then select your items using your \$900 stipend. +Your components will then be sent directly to you. + +We ask that you try not add to this budget, as one of the judging +criteria is based on the total cost of the final build, but you are +fully permitted to use any components or items that you might already +have at your hackerspace within your build. We challenge you to be as +creative as you like! + +## DOCUMENTING YOUR BUILD + +Core to this challenge is to produce an electronics build that will +ultimately help education, but you can also start to help people learn +about hackerspaces and electronics building along the way by regularly +sharing information on your design. This is also how the judging panel +will be able to track your progress and pick the three semi-finalists, +and a minimum of one weekly update is a mandatory element of the +challenge. + +Please feel free to share all your exciting moments as they happen, but +as a guideline, content that would be useful for you to provide would +be: + +- Week 1 + - Introduce your team (video would be a great way to do this), explain + your hackerspace's philosophy, and provide a top level summary of + your first week +- Week 2 + - Provide a basic outline of the materials you will be using in your + build and any key challenges you anticipate +- Week 3 + - Provide an update on the status of your build and quick summary of + obstacles encountered and how they are being addressed +- Week 4 + - Is everything going to plan? Perhaps provide footage of a visit to + an educational institution you're working with +- Week 5 + - In your penultimate week provide a review of the challenge to date. + Is the pressure on? What have you learned? +- Week 6 + - This is the time to really showcase your build, why it works and + what features make it stand out + +## HOW TO SHARE + +You will be required to contribute to your profile page within the +element14 community. This is where you can upload your videos and photos +and keep everyone informed via a written blog. You will be able to +personalize the page so that your hackerspace's own unique character +shines through. To do this, go to element14.com, click on ???Join Now??? +if you are not already registered, using your Hackerspace name, and we +will create your page for you. + +## BUILD CRITERIA + +Our esteemed panel of judges will include luminaries from the worlds of +technology and science, education and hackerspacing. + +Following the completion of the build period, they will be judging each +one on the criteria below in order to select three semi-finalists to +attend the California Maker Faire for the grand finale on May 22. + +Semi-finalists will be notified personally by Mitch on May 6. + +Criteria: + +- How reproducible is the final project +- How easily can the parts be sourced in locations around the world +- How low cost is the final output +- How well are the plans documented +- How relevant is the project to helping education today +- How inventive and creative is the design and build of the project + +## THE MAKER FAIRE GRAND FINALE + +The Great Global Hackerspace Challenge will culminate in a live +demonstration of each of the three semi-finalists in front of the panel +of judges at the San Mateo Maker Faire. One team member from the final +three hackerspaces will be flown out to California to attend the Faire +and present their build. Air fare, hotel accommodation and daily food +costs will all be covered by element14 - we'll provide more detail on +this if you are selected. + +In the spirit of collaboration over competition, and to thank you for +taking part, element14 will be sending you a set of soldering equipment, +including a soldering station, for your hackerspace once you have +completed the challenge. + +Each of the semi-finalist hackerspaces will receive the following +prizes: + +- Fluke 233 DMM (worth US\$300) +- Fluke 381 Clamp Meter (worth US\$500) +- Tektronix PWS4205 Power Supply (worth US\$865) +- Agilent HH DMM (specific model TBD) + +Finally, the build chosen to have that extra sprinkling of hackerspace +magic will receive a suitably rocking prize: a Tektronix MSO2024 +oscilloscope (worth around US\$5,600). Start clearing a space in the +corner of your hackerspace now! + +## THE GREAT GLOBAL HACKERSPACE CHALLENGE PACT + +You won't find any legal language here. We promise. The purpose of this +section is to let you know that if, for any reason you are unable to +finish your project you should let the organizers know as soon as +possible. Particularly if you encounter circumstances beyond your +control. We need to be able to manage expectations so we can accommodate +the logistics of the event; judging, the Maker Faire event and the +management of the content on the community. + +This isn't a contract. You won't be signing your life away. We trust +you. We simply want to have the best competition possible. + +To quote the 1989 MGM classic 'Bill & Ted's Excellent Adventure' we want +everyone involved in this event to 'Be excellent to each other'. And +that works full circle. We are investing funds into your builds and you +are investing your valuable time and energy into our challenge. In the +spirit of transparency and collaboration we want everyone to succeed and +get as much as they can from this project however we reserve the right +to withhold product and stipend if groups do not deliver on the +requirements of the challenge. We will be in close communication +throughout this project and, we can all work together to avoid any +adverse situations. + +## CHALLENGE KEY DATES CALENDAR + +- Week of 3/21 : Official Challenge Briefing / Q+A +- 3/25: Deadline to create your profile and submit your first blog + update +- 4/1: Deadline for Hackerspace Challenge Blog Post 2 +- 4/15: Deadline for Hackerspace Challenge Blog Post 3 +- 4/30: End of build time +- 05/01- 05/05: Judging period +- 05/06: 3 semi-finalists will be announced +- Week Of 5/16: One team member from each of the three semi-finalist + hackerspaces will travel to San Francisco Bay Area +- 5/21/22: Maker Faire +- 5/22: Maker Faire Great Global Hackerspace Challenge Grand Finale +- 5/23: Team members travel home + +## Links + +[](http://www.element-14.com/community/groups/the-great-global-hackerspace-challenge) + +[Category:Previous_Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/GrindDC.md b/GrindDC.md new file mode 100755 index 0000000..0a2f7a8 --- /dev/null +++ b/GrindDC.md @@ -0,0 +1 @@ +1. REDIRECT [:Category:GrindDC](:Category:GrindDC "wikilink") \ No newline at end of file diff --git a/Group_photo.md b/Group_photo.md new file mode 100755 index 0000000..3b47fa6 --- /dev/null +++ b/Group_photo.md @@ -0,0 +1,14 @@ +Group Photo from September, 2010 + +With Flash + + + +Without Flash + + + +Originals (read: Print quality) are available on flickr here + + +[Category:Marketing](Category:Marketing "wikilink") \ No newline at end of file diff --git a/Guide_to_Effective_Communications.md b/Guide_to_Effective_Communications.md new file mode 100755 index 0000000..a6750b8 --- /dev/null +++ b/Guide_to_Effective_Communications.md @@ -0,0 +1,2 @@ +1. REDIRECT [Effective + Communication](Effective_Communication "wikilink") \ No newline at end of file diff --git a/HAM_HT_Baofeng_UV-3R.md b/HAM_HT_Baofeng_UV-3R.md new file mode 100755 index 0000000..9b10c51 --- /dev/null +++ b/HAM_HT_Baofeng_UV-3R.md @@ -0,0 +1,154 @@ +## Overview + +The UV-3R family of radios are dirt cheap 2W handheld transceivers with +reasonably good stock features especially given the price. They can be +very easily modified to take advantage of the on board MCU and crappy +programming of that MCU. The UV-3Rs are software controlled radios (not +SDRs) the DSP isn't controllable beyond squelch thresholds (afaik) which +means only when and where to transmit and receive not any changes to +modulation or demodulation. + +## Links + +### General Info + +- [uv3r.com](http://uv3r.com/) +- [bricklore UV-3R tagged](http://www.brickolore.com/search/label/UV-3R) +- [bricklore UV-3R Mark II + tagged](http://www.brickolore.com/search/label/UV-3R%20Mark%20II) +- [Lior's + Work](http://www.liorelazary.com/index.php?option=com_content&view=article&id=51:hacking-the-uv3r&catid=14:baofeng-uv5r&Itemid=17) + +### Modifications + +#### Software + +- [CHIRP](http://chirp.danplanet.com/projects/chirp/wiki/Home) - a free, + open-source tool for programming your amateur radio. (appears to + support the UV-3R) +- [firmware modification + tool](http://www.radioaficion.com/HamNews/articles/9289-baofeng-uv-3r-220-mhz-soft-mod.html) +- [manufacturer's software + tool](http://www.brickolore.com/2011/12/baofeng-uv-3r-software-version-110-uv.html) +- ["Out of + range"](http://hamradio.selfip.com/i6ibe/baofeng/frequenze.htm) + +#### Firmware + +- [FOSS + Firmware](http://www.liorelazary.com/index.php?option=com_content&view=article&id=51:hacking-the-uv3r&catid=14:baofeng-uv5r&Itemid=17) + - pads can be fragile or lift off easily. + [User:haxwithaxe](User:haxwithaxe "wikilink") recommends using a + nonsolder based means of connection. + - code: [on github](https://github.com/lelazary/UV3RMod) + - feature set beyond stock firmware as of 2013/04/08 noonish [ripped + from WISHLIST on + github](https://github.com/lelazary/UV3RMod/blob/master/WISHLIST) + - Quick interface to program rx freq, tx freq, power and PL code + very quickly for repeaters. No offset, you just start with the rx + freq and shift it by whichever amount you want. This will allow + allow you to turn off the tx, or operate satellites. At any point + during this mode, you can hold the mem channel and it will ask you + which number you want to save this to. + - Memory mode will allow you to go through your saved memory. At any + point you can press menu and change more details about the + channel. The details will include power with granular level, DTMF + TX/RX, and other functions TBD. This mode will show the channel + name and the freq underneath it. + - Satellite Mode: Auto tuning of the frequency with response to the + Doppler shift. + - (not yet) Digital mode. Hopefully I could add some text base + digital data for rx and tx. You might need to tx the text using + morse code since there is no alpha numeric keypad on the radio. + The digital mode will also include a store and repeat message + forwarding. + - (mostly implemented) Computer mode: All the functions of the radio + including the RDA1846 registers, TX, and RX will be controlled + through the serial port on the radio. + - Fox/Hunt mode. Can be used to transmit a signal intermittently + (like call sign morse code). Or send the RSSI signal into the + audio, and with a directional antenna you can go hunting. + - (not yet) Advance mode: Any RDA 1846 register can be set manually + and saved for during startup. + - (not yet) If the digital mode works, then RF programming of the + radio. This will allow anyone to send you repeater information + from their memory locations. I will work by selecting a memory + channel to rx, and pressing a button. Then on another radio you + can send the programming info. + - (not yet) APRS mode: Boots straight to 144.39 mhz (or whatever you + set it to), doesn't accept inputs, stays on the set frequency. + +#### Hardware + +- [computer interface for + satelite](http://hamradio.selfip.com/i6ibe/baofeng/baofeng.htm) +- [DIY programming + cable](http://uv3r.com/images/uv-3r_programming_ha4bf.jpg) +- [APRS + rig](https://sivantoledotech.wordpress.com/2011/12/23/building-an-aprs-tracker/) + (without foss firmware) +- fixes: + - [spurious + harmonics](http://www.brickolore.com/2011/11/baofeng-uv-3r-second-harmonic-issue.html) + - [very low, low + power](http://groups.yahoo.com/group/UV-3R/message/4036) + +#### Recommended Modifications + +- fix harmonics (needs links) +- fixes as needed: speaker volume, [mic + volume](HAM_HT_Baofeng_UV-3R_Mic-Volume "wikilink"), super-low + low-power (needs links) + +## Notes + +- **DON'T BUY THE PROGRAMMING CABLE** you can use a 3.5mm stereo plug + and a usb to serial device. (pinouts available + [here](http://uv3r.com/)) +- If you buy one the only working setup for using the manufacturer's + programming software found by + [User:haxwithaxe](User:haxwithaxe "wikilink") has been Windows7 with + **Vista** drivers for the Prolific serial adapter. + - others have had success with WINE and in XP but since many of the + cables have counterfeit controllers they have varying levels of + functionality with different drivers. + - [User:haxwithaxe](User:haxwithaxe "wikilink") used a VirtualBox VM + with usb pass through. + +### Recommended Accessories + +- A wide based flush fit BNC (or similarly durable connector) adapter + (sometimes called an antenna saver) given the short mating cycle "SMA + connectors are rated for up to 500 mating cycles" [citation via + Wikipedia](https://en.wikipedia.org/wiki/SMA_connector) + - example: [SMA Male to BNC Female + Connector](http://thumbs4.ebaystatic.com/m/mUgb7YRjFqInb9GoQZVkQMw/140.jpg) + - Also you can replace the adapter much more easily than the SMA + connection in the radio. + - You can even apply some threadlock (the light duty stuff) to the + threaded part and still keep the groundplane continuity because of + the wide base on the adapter touching the rim of the SMA socket. +- Get a dedicated antenna for the VHF and UHF (or whichever you will use + the most). The dedicated antennas will do wonders for performance as + the stock antenna is really pretty horrible and multiband antennas in + general can only be so good on any given band they are tuned for + before the others suffer, so they end up being okay at best on all of + them. If you followed the above then get a BNC terminated antenna and + don't worry about adapters for the antennas. + +## Hardware Versions + +There are a large number of internally identical radios with very +nonstandardized names in the UV-3R and UV-5R family. + +- UV-3R is the first iteration of the UV-3R series it is it's own beast + for the most part + - Mostly-clones UV-100 and UV-200 +- UV-3R MKII is the next oldest and has several variants + - UV-X4 - Just a rename for marketing? + - UV-3R+ (aka UV-3R Plus or UV-3R + Plus) + - different battery and charging method - has an actual charging + cradle but battery type is not common + - different audio jacks (separate speaker and mic/ptt) + - female instead of male SMA (not RP-SMA) +- [UV-5R](HAM_HT_Baofeng_UV-5R "wikilink") \ No newline at end of file diff --git a/HAM_HT_Baofeng_UV-3R_Mic-Volume.md b/HAM_HT_Baofeng_UV-3R_Mic-Volume.md new file mode 100755 index 0000000..cfd719f --- /dev/null +++ b/HAM_HT_Baofeng_UV-3R_Mic-Volume.md @@ -0,0 +1,26 @@ +## Types + +There are several things that can cause built in mic sensitivity to be +inadequate. + +- some batches have mic gain that is too high caused by poorly adjusted + trim pots +- some have it too low due to the same reason +- some have something wrong in the MCU that keeps the gain too low +- some have misaligned case isolation bushing that cover the pin prick + mic hole in the case + +## Bushing/Case Fix + +1. invoke your inner caveman +2. remove the front panel of the case +3. widen the mic hole in the front panel to ~2mm or 3mm (a pocket knife + does fine) +4. reassemble and test. if it works well stop here else keep going +5. remove the front case panel and remove the rubber boot over the + electrilet mic. +6. use a knife or a hole punch to widen the hole without removing the + entire flat face (which is there to help reduce vibrations in the + case from getting to the mic). +7. reassemble and test if it didn't work it is probably something else + or a combination of this and something else. \ No newline at end of file diff --git a/HAM_HT_Baofeng_UV-5R.md b/HAM_HT_Baofeng_UV-5R.md new file mode 100755 index 0000000..b006c3d --- /dev/null +++ b/HAM_HT_Baofeng_UV-5R.md @@ -0,0 +1,73 @@ +## Overview + +The UV-5R family of radios are cheap 4W micro handheld transceivers with +reasonably good stock features especially given the price. They can be +modified to bypass the on board MCU, which is a write once chip that +cannot be modified. The UV-5Rs are software controlled radios (not SDRs) +they have hardware filters that prevent the same kinds of band expansion +as the UV-3Rs. + +## Links + +### General Info + +- [bricklore UV-5R tagged](http://www.brickolore.com/search/label/UV-5R) +- [Baofeng UV-5R Info](http://UV5R.net) +- [Baofeng UV-5R Programming + Guide](http://uv5r.net/baofeng-uv-5r-programming/) +- [menu + cheatsheet](http://kc9hi.dyndns.org/uv5r/programming/UV-5R%20Menus.html) +- [info and software for programming (careful the software is + unveted)](http://kc9hi.dyndns.org/uv5r/programming/) + +### Modifications + +#### Software + +- [CHIRP](http://chirp.danplanet.com/projects/chirp/wiki/Home) - a free, + open-source tool for programming your amateur radio. (appears to + support the UV-5R) + +#### Firmware + +#### Hardware + +#### Recommended Modifications + +## Notes + +### Performance + +#### MCM2013 + +- Receive sensitivity is pretty severely lacking. UV5R had issues at + WaterPoint 4 on nets C/H/G. No received signal at all. All other HTs + at the same location had perfectly fine Rx. + +### Recommended Accessories + +- A wide based flush fit BNC (or similarly durable connector) adapter + (sometimes called an antenna saver) given the short mating cycle "SMA + connectors are rated for up to 500 mating cycles" [citation via + Wikipedia](https://en.wikipedia.org/wiki/SMA_connector) + - example: [SMA Male to BNC Female + Connector](http://thumbs4.ebaystatic.com/m/mUgb7YRjFqInb9GoQZVkQMw/140.jpg) + - Also you can replace the adapter much more easily than the SMA + connection in the radio. + - You can even apply some threadlock (the light duty stuff) to the + threaded part and still keep the groundplane continuity because of + the wide base on the adapter touching the rim of the SMA socket. +- Get a dedicated antenna for VHF and UHF (or whichever you will use the + most). The dedicated antennas will do wonders for performance as the + stock antenna is really pretty horrible and multiband antennas in + general can only be so good on any given band they are tuned for + before the others suffer, so they end up being okay at best on all of + them. If you followed the above then get a BNC terminated antenna and + don't worry about adapters for the antennas. + +## Hardware Versions + +There are a large number of internally identical radios with very +nonstandardized names in the UV-3R and UV-5R family. + +- [UV-3R](HAM_HT_Baofeng_UV-3R "wikilink") \ No newline at end of file diff --git a/HARC_Link_Farm.md b/HARC_Link_Farm.md new file mode 100755 index 0000000..f099683 --- /dev/null +++ b/HARC_Link_Farm.md @@ -0,0 +1,24 @@ +**General Radio Topics** + +[ARRL](http://www.arrl.org) [AMSAT](http://www.amsat.org) + +**Local Clubs** + +[Montgomery County ARC](http://www.marcclub.org/) +[AMRAD](http://amrad.org/) [Vienna Wireless +Society](http://www.viennawireless.org/home.php) + +**Local Retail Stores** + +[The RF Connection](https://www.therfc.com/) + +**Mesh Networking** + +[HacDC Byzantium Project](http://project-byzantium.org/) [Local +Broadband Mesh Activity](http://www.remoteamateur.com/) + +**RTL-SDR (DVB-T USB dongle based SDR)** + +[RTL-SDR resource](http://sdr.osmocom.org/trac/wiki/rtl-sdr) [RTL-SDR +resource](http://rtlsdr.org/) [Why buy a ham it +up?](http://www.rtl-sdr.com/rtl-sdr-direct-sampling-mode/) \ No newline at end of file diff --git a/HARC_Projects.md b/HARC_Projects.md new file mode 100755 index 0000000..0c191da --- /dev/null +++ b/HARC_Projects.md @@ -0,0 +1,20 @@ +**Technical Projects/Wishlist** 40 meter antenna on roof + +USRP/GNU radio installation + +Station Remote Control + +WhereAVR receiver [Spaceblimp +Avionics](http://wiki.hacdc.org/index.php/HacDC_Spaceblimp_2) + +VHF/UHF rig + +Repeater + +Antenna rotator + +**Club Projects** + +FCC Technician Class License Preparation Course + +Local direct mail outreach \ No newline at end of file diff --git a/HARC_Technician_license_Class.md b/HARC_Technician_license_Class.md new file mode 100755 index 0000000..d4528c6 --- /dev/null +++ b/HARC_Technician_license_Class.md @@ -0,0 +1,107 @@ +## HacDC entry-level (Technician) Amateur License test preparation class + +### Dates and Times + +The class will be held at the Space on two consecutive Saturdays: +February 11 and 18 from 1 to 4 PM. The following Saturday: February 25 +at 9 AM (sharp) will be be the exam at the Winterfest at the Northern +Virginia Community College Annandale Campus. + +### Resources + +- The target exam is at the Vienna Wireless Society's "Winterfest": + + + + +- The FCC (Federal Communications Commission) definition of the Amateur + Radio Service: ***"The amateur and amateur-satellite services are for + qualified persons of any age who are interested in radio technique + solely with a personal aim and without pecuniary interest. These + services present an opportunity for self-training, intercommunication, + and technical investigations."*** + + + +- The ARRL Technician License manual and study guide: + . *'*Please look over + this resource carefully before class. *'* + + + +- A free license manual for the Technician class: + + *'*Please look over this resource carefully before class. *'* + + + +- Some links to free online practice exams: + , , + + + + +- FCC Amateur Radio Page: + + + + +- FCC Part 97: Regulations pertaining to the Amateur Radio Service: + + + + +- The entire Technician class license pool, of which 35 questions will + be randomly selected for your exam: + + + + +- We will be viewing the HamCRAM presentation and answering questions. + You can preview the presentation here: . *Your + comments on improving or replacing this presentation are greatly + appreciated.* + + + +- Recommended reading is John Delvoldere (ON4UN)'s operating ethics + materials at his web site: . + Not only will it give you good recommendations for being a good + citizen on the air, it will also give you an excellent overview of the + various facets of modern Ham radio. There is an excellent manual in + PDF format you may wish to have available when you start using your + new license. + - ON4UN is in Belgium, check out the station web page: + + + + +- Founded in 1914, The American Radio Relay League (AARL) is the + national association for Amateur Radio in the USA. Today, with more + than 156,000 members, ARRL is the largest organization of radio + amateurs in the United States. Check out their web site: + . + + + +- A short video: Richard Feynman describes "waves", including radio, + light, heat, etc. in a very sensorial (as in Montesssori education) + way: + +### About the class + +Add another tool to your Maker toolkit: an Amateur Radio License. +Amateur Radio Operators (Hams) have a long history of "Homebrewing": +building their own equipment and experimenting in the hopes of making it +work better, and the community has grown a tremendous breadth. There is +tremendous overlap between the Ham and the Maker communities. + +HacDC has it's own club license: W3HAC, which we originally obtained to +use ham radio for position tracking during our balloon flights using +APRS (Automatic Packet Reporting System) on VHF and UHF frequencies; +designing and building our own lightweight transmitter for the balloon +payload. We have many Hams here, some with quite advanced licenses, and +a bi-monthly meeting to discuss technical aspects of radio-based +communication and build stuff. + +[Category: Classes](Category:_Classes "wikilink") \ No newline at end of file diff --git a/HDD_Reverse.md b/HDD_Reverse.md new file mode 100755 index 0000000..0038444 --- /dev/null +++ b/HDD_Reverse.md @@ -0,0 +1,21 @@ +This tutorial follows a series from 'sprites mods' +[1](https://spritesmods.com/?art=hddhack&page=1) to attempt to reverse +engineer a hard drive controller board + +# JTAG Hookup Process + +The first step is to hook up wires to the JTAG pins of the hard drive +controller board in question. + +Fortuitously, the HDD board I have appears to have the same pinout as +the one on Sprites Mods for the JTAG pins. This involved a fair bit of +fine tip soldering to small pads and attempting to follow traces on a +dense PCB. Pictures below + +*INSERT PICTURE HERE* + +Once the pins were soldered (GND, TDI, TMS, CLK IN, and TDO), the ARM +JTAG programmer had to get hooked up to the soldered wires. + +The pinout of the JTAG programmer is oriented such that the power input +on the bottom. \ No newline at end of file diff --git a/HacDC-shared-m335-1-standards.md b/HacDC-shared-m335-1-standards.md new file mode 100755 index 0000000..6589201 --- /dev/null +++ b/HacDC-shared-m335-1-standards.md @@ -0,0 +1,39 @@ +# NamingConvention + +## Physical + +### Hostnames + +HacDC-shared-m335-1 + +- HacDC - Identifies machine as HacDC or HacDC member property on the + local network. +- shared - One of private, restricted, shared. Private = one member only + (eg. RasPi). Restricted = limited access (eg. HacDC web server). + Shared = shared resources (ie. remote shells). +- m335 - Abbreviated member name or screen name. Full contact details + should be written on the physical machine. +- 1 - Unique identifier. + +### FQDNs + +HacDC-shared-m335-1.hacdc.org + +## Virtual + +### Hostnames + +mirage335-1 + +- mirage335 - Local username. +- 1 - Unique machine identifier. + +### FQDNs + +m335-1.HacDC-shared-m335-1.hacdc.org + +# Timezone + +EST/EDT aka US Eastern, America/NewYork, or "Eastern" + +[Category:ServerStandards](Category:ServerStandards "wikilink") \ No newline at end of file diff --git a/HacDC-shared-m335-1.md b/HacDC-shared-m335-1.md new file mode 100755 index 0000000..37ba1d9 --- /dev/null +++ b/HacDC-shared-m335-1.md @@ -0,0 +1 @@ +1. REDIRECT [Shimmer](Shimmer "wikilink") \ No newline at end of file diff --git a/HacDC-shared-m335-1_Xen.md b/HacDC-shared-m335-1_Xen.md new file mode 100755 index 0000000..d4f9e30 --- /dev/null +++ b/HacDC-shared-m335-1_Xen.md @@ -0,0 +1,233 @@ +OBSOLETE Xen on Debian Stable gave some mysterious disk-controller +errors, thoroughly confirmed not to be hardware problems, at least +insofar as lack of HVM support is not a hardware problem. OpenVZ has +been chosen instead. + +Simple project server, emphasis on availability and uptime. + +Most likely, this server will continue operating for several years, even +as newer and better servers supplant it. + +# Login + +On any unix terminal emulator, enter the command: + +`` +`ssh @HacDC-shared-m335-1.hacdc.organd` + +On other platforms, try applications like +[PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/) with similar +settings. + +# CommandReference + +Routinely important commands unique to this server documented as +follows. + +## Root (Admin) + +### ReInstall + +- apt-get install xen-linux-system xen-tools git sudo +- dpkg-divert --divert /etc/grub.d/08_linux_xen --rename + /etc/grub.d/20_linux_xen +- Installation of [hostedXen](https://github.com/mirage335/hostedXen) . +- Uncomment lines referring to "-nat" and comment other + vif-script/network-script lines in /etc/xen/xend-config.sxp . +- Uncomment "dir = /home/xen" in /etc/xen-tools/xen-tools.conf . + +### hostedXen + +- ./hxNewUser \# Creates user account with default Xen VM and + permissions. +- ./hxDelUser \# Deletes user account, associated VMs, and + associated Xen permissions. +- ./hxNewVM \# Creates VM accessible to + non-root user . + +### Autostart + +Through normal reboots, host will suspend/resume any guest VMs. If that +is insufficient, the correct way to enable autostarting is through the +xm command, [documented as method 2 +here](https://www.novell.com/support/kb/doc.php?id=3466408). + +### iptables + +#### Investigation + +- iptables -t nat -L -n -v \#Lists port forwarding rules. +- iptables -t nat -F \#Deletes port forwarding rules. +- iptables -D PREROUTING 1 \#Deletes port forwarding rule. + +#### Forwarding + +##### Enable + +`` +`/sbin/iptables -P FORWARD ACCEPT` +`/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE` + +##### Specific + +`` +`/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 20283 -j DNAT --to 10.174.10.5:22` + +##### Persistent + +Package iptables-persistent has been installed. Upon installation, +existing iptables rules were saved. Edit /etc/iptables/rules.v4 . + +## Users + +### List + +List Xen VMs created for you. + +`` +`cat ~/xenList` + +### Startup + +Start Xen VM, and launch console. + +`` +`sudo /usr/sbin/xm create -c /etc/xen/.cfg     #Escape with Ctrl+] .` + +Just start Xen VM. Useful if planning to interact through other means +(ie. network). + +`` +`sudo /usr/sbin/xm create /etc/xen/.cfg` + +### Shutdown + +Yes, really, hard shutdown is termed "destroy". Don't worry, not +synonymous with "delete". + +`` +`sudo /usr/sbin/xm destroy ` + +### Console + +Opens the console of running VM . + +`` +`sudo /usr/sbin/xm console      #Escape with Ctrl+] .` + +# Characteristics + +- CPU - E2200 Dual-Core 2.2GHz +- RAM - 1GB +- HDD - 500GB +- Hostname - HacDC-shared-m335-1 +- FQDN - HacDC-shared-m335-1.hacdc.org + +# Redundancy (RAID) + +None yet, keep backups. Nonetheless, hard disk is kept cool, so the +server should have a long life ahead of it. + +# Policies + +## Permissions + +### Root + +HacDC members with a demonstrable need or willingness to manage non-root +users may be given root access. Imperative that root users do not +jeopardize uptime. + +### Shell + +All HacDC members are welcome to non-root shell accounts, directly +provided by the server, and used to manage Xen VMs. + +### Xen + +All HacDC members are welcome to Xen Virtual Machines. Resources, +including CPU, disk space, and external network ports, will be allocated +on an as-needed first-come-first-serve basis. + +Root users, please use the provided hostedXen scripts. Following the +naming conventions set therein helps account for which resources belong +to whom. + +## Notifications + +Internal server email will notify users, if feasible, on the following +schedules, subject to change. + +- Three days before planned downtime exceeding one hour. +- One week before planned permanent downtime (obsolescence). + +## Removal + +- Three months before removal of ex-member accounts. Exceptions on a + case-by-case basis. + +## DataLoss + +- Users should regularly backup critical data offiste. +- Onsite data storage is not guaranteed to be reliable. +- All server data may be deleted after obsolescence. +- Removed accounts may be deleted immediately and permanently upon + deactivation. + +## Privacy + +Machine is physically accessible to all keyholding HacDC members. +Although HacDC members are generally responsible, privacy should not be +expected. + +## AcceptableUse + +### Sharing + +Sharing of account resources is permitted, however, additional resources +will be allocated according to individual member needs for specific +purposes. As a reminder, compromised accounts will be immediately +removed as discovered. + +### Bandwidth + +Hard bandwidth limits have not been set to ease administration of local +file servers. However, please configure applications to limit maximum +bandwidth use where possible, particularly for web servers. + +# ChiefAdmin + +mirage335 + +# Credits + +Hunterkll - Donated core hardware. + +# Special Services + +# Funtoo + +Funtoo (enhanced Gentoo) build server is available, with binary packages +and weekly full-os tarballs for new installations. + +# Softload + + + +# Reference + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- \ No newline at end of file diff --git a/HacDC.md b/HacDC.md new file mode 100755 index 0000000..d8c2b8f --- /dev/null +++ b/HacDC.md @@ -0,0 +1 @@ +1. REDIRECT [HacDC FAQ](HacDC_FAQ "wikilink") \ No newline at end of file diff --git a/HacDC_CRISPR.md b/HacDC_CRISPR.md new file mode 100755 index 0000000..235c0b1 --- /dev/null +++ b/HacDC_CRISPR.md @@ -0,0 +1,3 @@ +CRISPR Initiative at HacDC page has moved to: + + \ No newline at end of file diff --git a/HacDC_FAQ.md b/HacDC_FAQ.md new file mode 100755 index 0000000..cf5638d --- /dev/null +++ b/HacDC_FAQ.md @@ -0,0 +1,57 @@ +**HacDC Frequently Asked Questions** + +**What is HacDC?** + +HacDC is a group of engineers, makers, artisans, crafters, tinkerers, +technologists, and programmers that have collaborated to create a +non-profit organization and space dedicated to technical, artistic and +social collaboration. + +**Why does HacDC exist?** + +We believe that there should exist a HackerSpace that provides a +physical location to build upon a sense of community that supports +technical, artistic and social collaboration. + +**Why should I care?** + +If you're made it this far, and you're reading this question, you're +smart enough to know that the creative and innovative process is not +always spontaneous and in fact you realize that a certain level of +creativity and innovation requires a community of peers. HacDC provides +you with a real face-to-face community, where you can meet your creative +and innovative peers in a friendly atmosphere, surrounded by the +resources and tools, to help you spring up your technical ability, your +creativity, and speed up your innovation to a higher level. + +**I read all the issues of Phrack; I can do anything, right?** + +Umm, you should get out more. Visit HacDC as soon as possible. + +**How can I support HacDC?** + +There are different ways you can support HacDC. + +- [Join](http://hacdc.org/membership/) and then get two more of your + really smart friends to join + + + +- [Donate](http://hacdc.org/donate/) to our cause and tell at least two + of your mentors and + + + +- [Attend our + events](http://www.google.com/calendar/embed?src=sb8mh1d332pbvnb2g4iob2p728%40group.calendar.google.com) + and let everyone know they should attend as well + + + +- [Volunteer](http://hacdc.org/donate/) + + + +- Tell at least two other people to tell two other people about HacDC + +[Category:About_HacDC](Category:About_HacDC "wikilink") \ No newline at end of file diff --git a/HacDC_In_The_Press.md b/HacDC_In_The_Press.md new file mode 100755 index 0000000..f03befa --- /dev/null +++ b/HacDC_In_The_Press.md @@ -0,0 +1,53 @@ +[Hack the Church](http://sojo.net/blogs/2014/05/15/hack-church) - God's +Politics: a blog by Jim Wallis and friends; May 15, 2014 + +[Tiny Tech Puts Satellites In Hands Of Homebrew +Designers](http://www.npr.org/blogs/alltechconsidered/2013/07/29/205822987/tiny-tech-puts-satellites-in-hands-of-homebrew-designers) - +NPR's All Things Considered; July 29, 2013 + +[Healthy Paranoia Show 2: Where No Nerd Has Gone +Before](http://packetpushers.net/healthy-paranoia-2-where-no-nerd-has-gone-before/) +podcast episode - Packet Pushers; September 2, 2012 + +[EDN's coverage of Robotfest @ USA SEF, with mention of +HacDC](http://www.edn.com/video/video.php/?bclid=870126318001&bctid=1620988085001) - +EDN Video; May 9, 2012 + +[Hacking To Byzantium: An Attempt To Build An Alternate +Internet](http://www.npr.org/internedition/spring12/?p=168) +([video](http://vimeo.com/groups/141306/videos/41448312)) - NPR; May 4, +2012 + +[Hackerspaces: Hubs For Tech-Minded +Do-Gooders?](http://www.fastcompany.com/1750215/how-hackerspaces-can-do-good-for-the-world) - +Fast Company; April 28, 2011 + +[Socket to +Me](http://local.msn.com/article.aspx?cp-documentid=26244677) - MSN +Local Edition; November 10, 2010 + +[High-Tech Ghouls Haunt Stores, +Homes](http://www.npr.org/templates/story/story.php?storyId=130813696) - +NPR's All Things Considered; October 25, 2010 + +[Hacker Housing - Rally to Restore +Sanity](http://hackaday.com/2010/10/25/hacker-housing-rally-to-restore-sanity/) - +Hack a Day; October 25, 2010 + +[Look Up: What's in the Sky This +Week?](http://dcist.com/2010/09/look_up_whats_in_the_sky_this_week_21.php) - +DCist; September 2, 2010 + +[Tinkerers Take Control of +Technology](http://www.washingtonpost.com/wp-dyn/content/article/2009/04/18/AR2009041800112.html) - +Washington Post; April 19, 2009 + +[DIY Freaks Flock to 'Hacker Spaces' +Worldwide](http://blog.wired.com/gadgets/2009/03/hackerspaces.html) - +Wired; March 29, 2009 + +[RepRap build experience, with HacDC, Zach Hoeken, and a virtual Adrian +Bowyer!](http://www.robotcast.com/site/node/29The) - Robotcast; March 3, +2009 + +[Category:Marketing](Category:Marketing "wikilink") \ No newline at end of file diff --git a/HacDC_Intranet_Server.md b/HacDC_Intranet_Server.md new file mode 100755 index 0000000..38fa3de --- /dev/null +++ b/HacDC_Intranet_Server.md @@ -0,0 +1,105 @@ +## Intranet Server + +### Overview + +An Intranet server provides an on-site platform for interfacing +HacDC-specific devices or scripts or files. + +#### High Level Requirements + +- All HacDC members will have an account +- Private Knowledge Base "For HacDC members eyes only" +- Programming platform +- Platform for [Multi-touch device](HacDC_Multi-touch_device "wikilink") +- Platform for interfacing remote-sensing devices + +#### Detailed Requirements + +##### Operating System + +- Slackware 12.1 Disk 1 +- Slackware 12.1 Disk 2 +- Slackware 12.1 Disk 3 + + + +##### Package Management + +- Swaret + +##### Software + +- Full Installation of all Slacware 12.1 packages + +##### 3rd Party Software + +- Wagn 0.9.1 + +#### Testing Resources + +##### Equipment + +- Standard CRT +- Keyboard +- PS2 Mouse +- Laptop with web browser + +#### Test Plan + +TBD + +#### Design + +n/a + +#### Human Resources + +- Lead Engineer: [RBD](User:Rdegraci "wikilink") +- System Admin: [RBD](User:Rdegraci "wikilink") +- Backup Admin: [RBD](User:Rdegraci "wikilink") + +#### Task Partitioning + +- Partition storage +- Install and configure OS +- Configure MySQL +- Configure httpd (Apache 2) +- Install Wagn 0.9.1 +- Configure Wagn +- Secure OS +- Mount Server into Rack +- Supply power to Server +- Attach Server to LAN +- Test Server + +#### Timeline + +Assume 4 hour days. + +- Day 1 + - Partition storage + - Install and configure OS + - Configure MySQL + - Configure httpd (Apache 2) + - Install Wagn 0.9.1 + - Configure Wagn + - Secure OS +- Day 2 + - Mount Server into Rack + - Supply power to Server + - Attach Server to LAN + - Test Server + +#### Implementation + +TBD + +#### Component Testing + +n/a + +#### Integration Testing + +n/a + +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/HacDC_Marketing_Plan_2021.md b/HacDC_Marketing_Plan_2021.md new file mode 100755 index 0000000..ac07ec3 --- /dev/null +++ b/HacDC_Marketing_Plan_2021.md @@ -0,0 +1 @@ +Initial Ideas: \ No newline at end of file diff --git a/HacDC_Multi-touch_device.md b/HacDC_Multi-touch_device.md new file mode 100755 index 0000000..e8b141f --- /dev/null +++ b/HacDC_Multi-touch_device.md @@ -0,0 +1,127 @@ +## Multi-Touch Display Interface + +The discussion list for this project is +[multi-touch-int-display@hacdc.org](http://hacdc.org/mailman/listinfo/multi-touch-int-display_hacdc.org). + +### Meeting Minutes + +- [Roadmap Meeting](MTID030708 "wikilink") + +### Overview + +Build the multi-touch display interface so that it can become a user +interface for future HacDC projects as well as provide a collaboration +interface for real-time multi-user-multi-touch applications, created by +and for HacDC and its friends. + + +#### High Level Requirements + +- When complete, device will be donated to HacDC +- Plans, instructions, parts list will be available to the public +- Source code will be available to the public +- Implement using FTIR + +##### Reference Documentation + +- Use Harry van der Veen building instructions as a guide + +- User David Smith and David Holman instructions as a guide + +- Working Flash applications with multi-touch + + +#### Detailed Requirements + +##### Operating System + +- TBD + +##### Package Management + +- TBD + +##### Software + +- TouchLib +- TouchLib Source Code + +##### 3rd Party Software + +- TBD + +##### Hardware + +###### Tools + +- Power drill + 5mm drill +- Standard size screwdriver (flathead & cross) +- Small sharp knife +- Scissors +- Different grits of sanding paper +- Wooden cubical object to wrap sanding paper around +- Copper or silver polish + towel +- Synthetic material saw + +###### Materials + +- Screws +- Glue (hotglue / white glue) +- Frame material (for example wood, aluminium or PVC) +- Connector strips +- Electronic wire (0,5 mm) +- R-LEDs + resistors +- Acrylic also known as plexiglas +- Black photo negatives +- Power source +- Power cable +- Webcam +- Projector +- Projection material (tracing paper) +- Silicone rubber +- Working computer +- Mirror (optionally) + +#### Testing Resources + +##### Equipment + +- TBD + +#### Test Plan + +TBD + +#### Design + +TBD + +#### Human Resources + +- Project Coordinator: [RBD](User:Rdegraci "wikilink") + +#### Task Partitioning + +- TBD + +#### Timeline + +Assume 4 hour days. + +- TBD + +#### Implementation + +TBD + +#### Component Testing + +TBD + +#### Integration Testing + +TBD + + + +[Category:Multi-touch_Device](Category:Multi-touch_Device "wikilink") \ No newline at end of file diff --git a/HacDC_Museum.md b/HacDC_Museum.md new file mode 100755 index 0000000..1a80e53 --- /dev/null +++ b/HacDC_Museum.md @@ -0,0 +1,49 @@ +The discussion list for this project is +[museum@hacdc.org](http://hacdc.org/mailman/listinfo/museum_hacdc.org). + +# Proposal + +With the recent *-redacted for privacy review-* +[donation](donation "wikilink"), it's obvious that HacDC is now the +recipient of some unusual, historical, and unique items. To honor Mr. +*-redacted-*'s memory and preserve the unique nature of his gift, I +propose to create The HacDC Museum of Technology, and within the museum +the *-redacted-* Collection of Telephony, curated by HacDC membership. + +Because of space concerns, I envision a locked storage box to collect +artifacts suitable for the museum that are off-limit for use in +projects, but available for examination and research by the membership. +Because a storage box is not precisely the ideal for a burgeoning +museum, items will be photographed, videod, catalogued, and available to +the general public via a website or wiki. + +As an organization, HacDC has designated several areas of concentration. +The museum will fulfill several of the specific purposes of the +[Bylaws](Bylaws "wikilink"), including: + +- Collaborate on all forms of technology, culture and craft in new and + interesting ways. +- Apply the results of its work to specific cultural, charitable and + scientific causes. +- Freely share its research and discoveries, using what is learned to + teach others. + +Initial items for the collection include: + +- Lineman's handsets +- Blue Box +- AT&T Reference Manuals +- Historical Books +- Korean War Era Military Field Phone (working condition, sound great + over 1000' of wire) +- Slide Rules + +# History + +[Ben Stanfield](User:Ben "wikilink") proposed this project. +As this project required specific earmarking of present HacDC resources +subject to the discretion of its participants, it required membership +approval. +This project was approved at the June 17, 2008 member meeting. + +[Category:Previous Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/HacDC_Space_FAQ.md b/HacDC_Space_FAQ.md new file mode 100755 index 0000000..ee1e23c --- /dev/null +++ b/HacDC_Space_FAQ.md @@ -0,0 +1 @@ +1. REDIRECT [Circuit Breaker](Circuit_Breaker "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp.md b/HacDC_Spaceblimp.md new file mode 100755 index 0000000..c7c3a2e --- /dev/null +++ b/HacDC_Spaceblimp.md @@ -0,0 +1,116 @@ +![300 px](_sb5_launch_still.jpg "300 px") ![530 +px](_sb3_IMG_6899_small.jpg "530 px") + +A collection of stuff about HacDC's near space initiatives, including +the *Hackerspaces In Space* Contest entry (2010). + +# Current Status + +Project Spaceblimp is back! Spaceblimp has been a multi-discipline club +effort to build, launch, track, and recover a [High-altitude +Balloon](https://en.wikipedia.org/wiki/High-altitude_balloon). So far +HacDC has launched [6 Spaceblimps](Template:Spaceblimp "wikilink"), with +[Spaceblimp 5](HacDC_Spaceblimp_5 "wikilink") reaching a maximum +altitude of 118,533 ft and [Spaceblimp 6](HacDC_Spaceblimp_6 "wikilink") +reaching 104,023 ft on 15 October 2016. The next iteration is expected +in Spring 2018. + +# Come be involved in [Spaceblimp 6](HacDC_Spaceblimp_6 "wikilink") + +Since Global Space Balloon Challenge 2016 (GSBC) just ended, there is no +better time than now to start planning for participation in, but not +limited to, the GSBC 2017 challenge. HacDC has had some preliminary +discussions with the Naval Research Laboratory (NRL) regarding some of +their STEM initiatives which align well with our Spaceblimp project. +This presents a great opportunity for HacDC to collaborate with the NRL +and local area schools to assist students in preparing for the next GSBC +or other balloon events. Besides helping young minds grow, we could also +expand in to other STEAM initiatives and work side-by-side with +distinguished researchers and scientists from the NRL. + +Supplies and equipment are not an issue. Hands on help is. We need +embedded hardware, software, FPGA, and RF engineers, licensed amateur +radio operators, project developers, crafts people, decorators, +coordinators, outreach specialists and educators. However, no one with +helping hands or a willingness to learn will be turned away. + +# History of the HacDC Spaceblimp Project + +- On Aug 7, 2010, we launched our first balloon: [HacDC Spaceblimp + 1](HacDC_Spaceblimp_1 "wikilink"). Its epic journey began well enough, + but the antenna came loose somewhere around 60,000 ft and we never + heard from it again. Until three months later, when a farmer found it + in her field, called up a friend (who happened to be an engineer) and + it came back home. The pictures are fantastic, but the telemetry data + was lost -- it overwrote itself many times over before the batteries + finally gave up. + + + +- Following (what we thought was) the loss of Spaceblimp-1, we scrambled + and launched [HacDC Spaceblimp 2](HacDC_Spaceblimp_2 "wikilink") on + Aug 21. It went flawlessly -- fast, light, and with good radio contact + the whole way through. It may be the third fastest-ascending amateur + radio balloon. We were disqualified from the Hackerspaces in Space + competition because we went over budget, but they said we would have + come in fourth if not. Sigh. But again, it was an inspiring success. + + + +- [HacDC Spaceblimp 3](HacDC_Spaceblimp_3 "wikilink") was successfully + launched and retrieved on 13 Nov 2010 with a much more involved + payload than previous versions. More cameras, HD video, more radios, + an accelerometer, geiger counter, pressure sensor. Weight and price + weren't constraints this time. + + + +- [HacDC Spaceblimp 4](HacDC_Spaceblimp_4 "wikilink") set the HacDC + altitude record, topping out at 103,764 ft! This flight got fantastic + video -- make sure to check out the two youtube links. + + + +- Insatiable and unstoppable, the HacDC team puts up [HacDC Spaceblimp + 5](HacDC_Spaceblimp_5 "wikilink") on July 9, 2011. We bought a + yet-bigger balloon to try to get higher, and so: 118,533 ft! + + + +- [HacDC Spaceblimp 6](HacDC_Spaceblimp_6 "wikilink") was launched in + October 2016, reaching 104,023 ft with HD video, instrumentation and + various GPS radio trackers. It was the first Spaceblimp that captured + video of its own balloon and parachute. It was recovered in record + time just 20 minutes after landing despite failure of its primary + radio transmitter (the backup worked!) and the video is now on + YouTube. + + + +- [HacDC Spaceblimp 7](HacDC_Spaceblimp_7 "wikilink") is planned for + late March 2018 with various GoPro HD cameras, a new TrackSoar + GPS/Radio tracker, three Raspberry Pi Zeros and a gyroscopic + stabilizer. + + + +- **If you want to get involved or learn more or contribute to the + program...[Subscribe to the Spaceblimp email + list](http://hacdc.org/mailman/listinfo/spaceblimp)** + +# Related Links + +- [HacDC Spaceblimp Flickr + Group](http://www.flickr.com/groups/spaceblimp/) +- [All HacDC Spaceblimp photos (hosted on ITechGeek's + Flickr)](https://www.flickr.com/photos/itechgeek/collections/72157627971098680/) + +GPS visualizations of balloon trajectory from the Flickr Group (made +with GPS Visualizer ): + +[Google Earth GPS trajectory +visualization](http://www.flickr.com/photos/79273063@N00/4946912327/) +and [Google Maps GPS trajectory +visualization](http://www.flickr.com/photos/79273063@N00/4947501800/) + + \ No newline at end of file diff --git a/HacDC_Spaceblimp_1.md b/HacDC_Spaceblimp_1.md new file mode 100755 index 0000000..3d10d17 --- /dev/null +++ b/HacDC_Spaceblimp_1.md @@ -0,0 +1,17 @@ +Launched: Aug 7, 2010 + +Recovered: Oct 20, 2010 + +What a long, strange trip it's been! + +[aprs.fi Flight +Map](http://aprs.fi/?call=w3hac-11&dt=1281139200&mt=roadmap&z=11&timerange=3600), +which shows our telemetry just up until the antenna broke (and the GPS +conked out). It was lost in a tree for three months within a mile of +where we though it was due to land. (At least our predictions are good.) + +And the [photos](http://ofdc.org/sb/) made it out just fine. Hooray! + +List some of your favorites here: + +- [1](http://ofdc.org/sb/IMG_5677.JPG). \ No newline at end of file diff --git a/HacDC_Spaceblimp_2.md b/HacDC_Spaceblimp_2.md new file mode 100755 index 0000000..989ce3c --- /dev/null +++ b/HacDC_Spaceblimp_2.md @@ -0,0 +1,109 @@ +## Flight Summary + +Flight date: 8/21/10 + +Time of liftoff: 10:47 (All times are GMT-5) + +Time of touchdown: 11:49 + +Time of recovery: 12:20 + +Total flight time: 1:02 (62 minutes) + +Liftoff to recovery time: 1:33 (93 minutes) + +Touchdown to recovery time: 0:31 (31 minutes) + +Weight of payload/chute: 1lb 13oz + +Total cost of launch: \$320 + +## Airframe & Rigging + +Balloon: 800g Kaymont/Totex latex weather balloon cost: \$69 + +Parachute Cord: 250-lb test Dacron line + +Balloon Cord: 50-lb test Dacron line + +Fill: 190 cubic-feet Helium - cost: \$95 (~10# nozzle lift, gas @ +\$0.50/Cu-ft) + +Chute: Rocketchutes flat 24" - cost: \$9 + +Capsule: Insulated lunch pail (free, valued at ~\$7) + +## Payload + +Canon model PowerShot SD300 running CHDK (Canon Hack Development Kit) +intervalometer script - cost: \$20 + +Canon Li battery cost: \$3.25 + +Canon 2GB SD card: \$6 + +Falcom (uBlox based) GPS receiver + Serantel Antenna module - cost \$47 + +Radiometrix VHF Narrow Band 300mW transmitter - cost \$38 + +Ultralife U9VL-X Lithium-Manganese Dioxide non-rechargable battery cost: +\$7 + +Flight computer/Terminal Node Controller (TNC) - cost \$19 + +[HacDC Spaceblimp Flickr Group +Pool](http://www.flickr.com/groups/spaceblimp/pool/with/4922202931/) + +[aprs.fi Flight +Map](http://aprs.fi/?call=w3hac-11&dt=1282348800&mt=roadmap&z=11&timerange=3600) + +## Some details on the avionics + +Our balloon carried a minimalist avionics package consisting of a custom +built APRS tracker and a Canon PowerShot SD300 digital camera. + +The camera is configured to take pictures every 20 seconds using CHDK +(http://chdk.wikia.com/wiki/CHDK) and one of the stock intervalometer +scripts. It is powered by its own rechargeable lithium battery and +operates independently of the tracker. + +The tracker is based around an atmega328p AVR microcontroller, running +code derived from an open source AVR based APRS tracker called the +WhereAVR (http://garydion.com/projects/whereavr/). By updating the sine +wave generation code to use filtered 7-bit pulse width modulation in +place of the 4-bit resistor network, we were able to improve tone +quality with a reduced part count. A few additional components were +added, including an I2C eeprom for local backup of flight data, external +and internal I2C temperature sensors, and a cutdown MOSFET for switching +power to a short strip of nichrome wire coiled around the balloon line +(the cutdown system was not used in our final flight because we were +apprehensive about the complications it added to the balloon rigging). + +To keep things light, compact, and simple, we designed a surface mount +circuit board to integrate all of the trackers components with a Falcom +FSA03 GPS module and a 300mW Radiometrix HX-1 144.39 MHz transmitter. +The board was fabricated using the toner transfer method and hand +soldered. + +For an antenna we used the common 300 ohm twinlead j-pole design +(http://www.qsl.net/wb3gck/jpole.htm), tuned as close as possible for +use on our frequency (144.39 MHz) and fed with a short length of 50 ohm +coax cable for routing/strain relief. + +The tracker is powered by a single lithium 9v battery, and regulated +down to 5v and 3.3v by linear regulators on the board. The typically +undesirable loss of power to heat with these regulators is useful in +this case for warming the electronics in the extreme cold temperatures +encountered during the flight. + +Each chase vehicle had a radio tuned to 146.415 for simplex +communication between the vehicles, and another radio tuned to 144.390 +for receiving packets from the balloon. For packet decoding we used +radios with built in TNCs or laptops with external modems/soundcard +modems and TNC software (Soundmodem and Xastir for Linux, AGWPE and +UI-View for Windows). + +## Data + +The onboard data recorder from SB2 returned: [Media: +blimp2_eeprom_log.txt](Media:_blimp2_eeprom_log.txt "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp_3.md b/HacDC_Spaceblimp_3.md new file mode 100755 index 0000000..e727a36 --- /dev/null +++ b/HacDC_Spaceblimp_3.md @@ -0,0 +1,157 @@ +If you want to get involved or learn more or contribute to the program... +[Subscribe to the Spaceblimp email +list](http://hacdc.org/mailman/listinfo/spaceblimp) + +## Photos + +
+ +
_SB3_teaser_image.jpg
+
+ +Spaceblimp 3 went up with two still cameras and a non-functioning video +camera. There are tons of neat pics from both. These links get you into +the series right before liftoff. + +- [Camera one: + liftoff](http://gallery.jbwa.net/SpaceBlimp/SB3/Camera1/?g2_page=11) +- [Camera two: + liftoff](http://gallery.jbwa.net/SpaceBlimp/SB3/Camera2/?g2_page=6) + +These are about as far out as we got before the balloon popped: + +- [Camera one: + space!](http://gallery.jbwa.net/SpaceBlimp/SB3/Camera1/?g2_page=30) +- [Camera two: + space!](http://gallery.jbwa.net/SpaceBlimp/SB3/Camera2/?g2_page=38) + +And then, recovery: + +- [Camera two: land + again](http://gallery.jbwa.net/SpaceBlimp/SB3/Camera2/?g2_page=63) + +## The Dataz! (Telemetry) + +- Accelerometer data. Unfortunately, it looks like there was a bug in + the code and the second half of the data overwrote the first. Anyway, + here it is. It's 100 samples per second, start time unknown, but it + looks like it captures the pop, some freefall, and the landing. + [Media:AccelerometerDumpfile 2010-11-13 + 18-24-41.csv.gz](Media:AccelerometerDumpfile_2010-11-13_18-24-41.csv.gz "wikilink") + +## Launch Details + +**PLEASE NOTE - NEW DATE!** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Logistics planning and radio check +meet:

Monday Nov 8, 7:00 PM at HacDC

Planned launch date:

Saturday, November 13, 2010 (Rain date November 14).

Launch time:

9:00 AM, Launch should take less than an hour.

Launch +Location:

+
+
+Time: arrive at 9:00 A.M. (please be on time!) +
+
+Where: Clear Spring Public Library +
+
+Address: 12624 Broadfording Road, Clear Spring, MD 21722-1361 +
+
+Lat/Long: 39.65664, -77.93637 +
+
+
+
+
+North on I-270 +
+
+Exit 32 to merge onto I-70W +
+
+Exit 18 to merge onto MD-68W +
+
+Left at US-40W/National Pike +
+
+3rd right onto Broadfording RD +
+
+Library is on left +
+

Coordination/Talk-in:

146.415 MHz simplex

Planned Altitude:

92,000 feet

Planned Ascent Rate:

1,000 ft/min

Primary Beacon:

Tiny Track 4 with 0.5 W transmitter on 144.390 MHz, call sign +W3HAC-11 (map). $3 GPS +module

Secondary Beacon:

Son-of-WhereAVR with ublox GPS. Yaesu VX-1 handi-talkie with 1 W +Transmitter, call sign W3HAC-12 (map), Frequency +445.15MHz

Other sensors:

Recording accelerometer, air pressure based altimeter, cosmic ray +counter

+ +## Help Wanted: + +If you spot something you can handle or wish to learn about, we'd love +to have your help. (Seriously, meeting more people like you is +major goal of HacDC.) + +- Blog about upcoming flight +- Document [HacDC Spaceblimp 1](HacDC_Spaceblimp_1 "wikilink") on wiki +- Build primary & secondary beacon antenna +- Altimeter selection & purchase +- Purchase 32 GB SDHC memory card for video +- Build battery pack for video +- Make weatherproof labels/tags for capsule recovery (laminate, 3d + print, laser cut, etc.) +- Work on CHDK scripts for still cameras +- Build capsule/rigging/chute +- Vacuum test Geiger counter +- New software for additional sensors (add small μC?) + +### Contact Info: + +If you would like to help, contact spaceblimp@hacdc.org. \ No newline at end of file diff --git a/HacDC_Spaceblimp_4.md b/HacDC_Spaceblimp_4.md new file mode 100755 index 0000000..9780138 --- /dev/null +++ b/HacDC_Spaceblimp_4.md @@ -0,0 +1,170 @@ +Spaceblimp-4 sucessfully launched and retrieved: April 10, 2011 ![500 +px](_sb4_IMG_7739_small.JPG "500 px") + +## Summary + +We launched from Breezewood Elementary School??? at 1:30 pm, the balloon +popped at 2:41 pm at 103,764 ft, and touched back down at 3:09 pm. +Again, we were exceptionally lucky with the recovery and were able to +drive up to within 200 ft of the package. + +The "package" contains two GPS units connected to radio modems that +transmit the balloon's location every 30s, various instruments, and +still and video cameras. It's all enclosed in super-space-age, +soft-sided insulated lunchboxes and secured to pegboard, cushioned for +landing with pink insulation foam. + +![300 px](_sb4_path.png "300 px") + + +## Video + + +This time, in addition to running a still camera, we also put up a HD +video camera running 720p at 60 frames/sec. The results are fantastic! + +- [SB4 at apex on youtube](http://www.youtube.com/watch?v=6Cz4s8potWE) + about 80 seconds before the balloon popped. + +Notice how quickly it stabilized as the chute opened. Don't be deceived, +though, it got up to 136 mph within the first minute of fall -- there's +just not much chute drag in space. + +- [SB4 launch on youtube](http://www.youtube.com/watch?v=pwT_LmqpgCc). + Skipping hours of preparation and 20 minutes filling up the balloon, + going straight to the good stuff... + +Why no movies in-between? The clouds were very heavy on launch day, and +most of the footage is white-out. Something failed in the video camera a +few minutes after popping too, so there's no re-entry video. + +Oh yeah, and for fun all of the raw video is posted up on projects in +/home/spaceblimp4, and here is the script I used to make the +youtube-compatible videos: [Media: +sb4_editingMovieForYoutube.txt](Media:_sb4_editingMovieForYoutube.txt "wikilink") + +## Data + +### On-board Logging + +The on-board datalogger keeps records of interior/exterior temperature +and GPS data. + +[Media: SB-4_flight_log.gz](Media:_SB-4_flight_log.gz "wikilink") (and +here's the code in R that generates the above images, and some PDFs to +boot: [Media: +spaceblimp4_analysis.gz](Media:_spaceblimp4_analysis.gz "wikilink")) + +_sb4_altitude_time.png +_sb4_gpsHeading_time.png + + +_sb4_riseSpeed_time.png +_sb4_temp_altitude.png + +_sb4_windspeed_time.png + +### Accelerometer + +The accelerometer package flown was the same as last time, with the +exception of having half the memory, so there are 50 observations per +second. The data are 0-255, with (roughly) 127 being no acceleration. If +you graph it, you can clearly see liftoff, popping, and landing. Until +we get some time for analysis, the rest is left up to you: + +
+ +
_sb4_accelerometer.png
+
+ +[Accelerometer CSV raw +data](http://www.postero.us/spaceblimp4_accelerometer.csv.gz) Here's +some python code to get you started with the accelerometer data: [Media: +analyseAccelerometer.py](Media:_analyseAccelerometer.py "wikilink"). +(Requires SciPy for plotting.) + +## Launch Plans (Historic) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Planned launch date:

Sunday, April 10, 2011

Launch time:

10:00 AM, Launch should take less than an hour.

Launch +Location:

+
+
+Where: Breezewood Elementary School??? +
+
+Address: 133 North Main Street, Breezewood PA 15533-8142 +
+
+Lat/Long: 39.9970,-78.2440 +
+

Coordination/Talk-in:

146.685 MHz simplex

Planned Altitude:

100,000 feet

Planned Ascent Rate:

1,300 ft/min

Planned Descent Rate:

1,000 ft/min

Primary Beacon:

Tiny Track 4 with 0.5 W transmitter on 144.390 MHz, call sign +W3HAC-11 (map). $3 GPS +module

Secondary Beacon:

Son-of-WhereAVR with ublox GPS. Yaesu VX-1 handi-talkie with 1 W +Transmitter, call sign W3HAC-12 (map), Frequency 432.225 +MHz

Payload:

Still camera, HD video camera, Geiger counter to measure cosmic +rays, a nine degree of freedom Inertial Measurement Unit, accelerometer, +pressure, light and temperature sensors.

+ +The balloon is a 2000g Kaymont/Totex with 291 cubic feet of helium. The +total weight of the capsule is about five pounds. \ No newline at end of file diff --git a/HacDC_Spaceblimp_5.md b/HacDC_Spaceblimp_5.md new file mode 100755 index 0000000..1734d6e --- /dev/null +++ b/HacDC_Spaceblimp_5.md @@ -0,0 +1,112 @@ +
+ +
500 px
+
+ +Spaceblimp-5 Launched: July 9, 2011 + +## Summary + +This time we were going for altitude, and we got it! The max recorded +altitude was 118,533 ft! (Getting us the 16th highest altitude record on +[ARHAB.org](http://arhab.org/) !) + +The launch site was: Strasburg VA, in a open area near the town on Rt +11, near the I-81. Lat: 38.9968 N Lon: 78.3508W + +![320 px](_sb5_launch_still.jpg "320 px") ![500 +px](_sb5_track.jpg "500 px") + +The path the balloon took was pretty strange, with the wind shifting +between ascent and descent, and so we had a lot more driving to do than +usual. The primary GPS/radio worked perfectly, and we got super-lucky +with the recovery, picking up the package ~15 minutes after it hit the +ground. The video camera overheated and failed before launch (booo!) and +we're still working on the instrument data, but all signs point to some +new and interesting results at the highest altitude we've ever run. + +What challenges are left for the Spaceblimp project? Get involved: +subscribe to [the Spaceblimp mailing +list](http://hacdc.org/mailman/listinfo/spaceblimp) and help us figure +it out! + +Visiting from another planet? [Here's more about +us](http://www.hacdc.org/about). + +Want to help us do more awesome stuff? [Make a tax deductible donation +to our .org!](http://www.hacdc.org/donate) + +## Pictures and Video + +Photos have been uploaded to +. + +## Data + +### Accelerometer + +For now, here is the raw accelerometer data: [Media: +spaceblimp5_accelerometer.csv.gz](Media:_spaceblimp5_accelerometer.csv.gz "wikilink") + +Analysis to come in the next few days.... + +### Flight Tracker + +## Launch Plans + +| Planned launch date: | Saturday, July 9, 2011 | +|----------------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Launch time: | 10:00 AM, Launch should take less than an hour. | +| Launch Location: | Strasburg, VA | +| Coordination/Talk-in: | 146.685 MHz simplex (this might change, please monitor Twitter (@HacDCSpaceblimp) and mailing list for updates. | +| Planned Altitude: | 120,000 Feet | +| Planned Ascent Rate: | 1,000 feet/minute | +| Planned Descent Rate: | 1,000 feet/minute | +| Primary Beacon: | Son-of-WhereAVR with ublox GPS. Yaesu VX-1 handi-talkie with 1 W Transmitter, call sign W3HAC-11 ([map](http://aprs.fi/?call=W3HAC-11)), Frequency 144.390 MHz | +| Secondary Beacon: | GSM mobile phone modue, uBlox GPS | +| Payload: | 9 DOF IMU, Geiger counter, temperature, pressure, humidity, and light sensors | + +## Payload + +### Radios + +There were two radios on board the blimp that transmitted out the GPS +data: + +- The primary radio was tied to the GPS and transmitted out to a network + of amateur radio enthusiasts who then passed the location information + on to get mapped here: [APRS.fi](http://aprs.fi/?call=W3HAC-11). We + also ran some custom software that passes this data on to a Twitter + account (once per minute!) which you could follow on your phone: [DC + Spaceblimp Primary Twitter Feed](http://twitter.com/#!/DCSpaceblimp). + (Click the link in the Twitter to pull up a map!) + + + +- The secondary radio was actually a GSM cell phone module, and + broadcasted its data when in range of a cell tower. It broadcasted + both GPS data for tracking, and a lot of the sensor data for science. + It also twittered through [Society Of Robots Twitter + Feed](http://twitter.com/#!/SocietyofRobotz). + +### Cameras + +The payload contains a couple cameras: + +- a video camera (Canon Zi6) +- a still camera (Canon Powershot A-480) running custom firmware to get + better exposures from space + +### Instrumentation + +and a lot of instrumentation: + +- a geiger counter +- 9 degree-of-freedom IMU ([Inertial Measurement Unit on + Wikipedia](http://en.wikipedia.org/wiki/Inertial_measurement_unit)) +- high-speed (50 sample/sec) accelerometer +- internal and external temperature sensors +- humidity sensor +- air pressure sensor +- IR and visible light sensors +- a solar panel, hooked up to measure the voltage \ No newline at end of file diff --git a/HacDC_Spaceblimp_6.md b/HacDC_Spaceblimp_6.md new file mode 100755 index 0000000..787e5b0 --- /dev/null +++ b/HacDC_Spaceblimp_6.md @@ -0,0 +1,85 @@ +
+ +
_Sb6_peak.jpg
+
+ +# Flight Summary + +
+ +
Image: Sb6_flight_path.jpg
+
+ +| Date of launch: | Saturday, October 15, 2016 | +|------------------------------:|----------------------------------------------| +| Time of launch: | 10:55 | +| Time of landing: | 13:09 | +| Time of recovery: | 13:28 | +| Flight duration: | 2:14:00 | +| Peak recorded altitude: | 104,023ft, (31706.2m) | +| Location of launch: | Strasburg VA, (38 59'48.77"N 78 21'03.27"W) | +| Location of landing: | Amissville VA, (38 40'51.56"N 77 55'58.29"W) | +| Distance (launch to landing): | 31.36 mi, (50.47 km) | +| Balloon type: | 1500 g Kaymont | +| Payload weight: | 2200 g | +| Balloon lift: | 3300 g | +| Net lift: | 1100 g | + +------------------------------------------------------------------------ + +# Upward Facing Camera + +This flight's payload featured an upward facing camera to gain a better +understanding of what goes on with the balloon, rigging, and parachute +during the flight. + +##### Balloon Expansion + +The balloon's diameter at the burst altitude is 3.43 times its diameter +at the launch altitude. Assuming the balloon is a sphere with a 1 meter +radius at launch, its starting volume is 4.19 m3. This means the +balloon's volume at burst is 169.03 m3, an expansion to 40.34 times the +launch volume. + +------------------------------------------------------------------------ + +
+ +
_Sb6_balloon_size_comparison.jpg
+
+ +##### Balloon Burst + +------------------------------------------------------------------------ + +
+ +
Image: Sb6_burst.gif
+
+ +# Current Mission + +Since [Global Space Balloon Challenge 2016 +(GSBC)](https://www.balloonchallenge.org) just ended, there is no better +time than now to start +[planning](HacDC_Spaceblimp_6/Projects "wikilink") for participation in, +but not limited to, the GSBC 2017 challenge. HacDC has had some +preliminary discussions with the Naval Research Laboratory (NRL) +regarding some of their STEM initiatives which align well with our +Spaceblimp project. This presents a great opportunity for HacDC to +collaborate with the NRL and local area schools to assist students in +preparing for the next GSBC or other balloon events. Besides helping +young minds grow, we could also expand in to other STEAM initiatives and +work side-by-side with distinguished researchers and scientists from the +NRL. + +Supplies and equipment are not an issue. Hands on help is. We need +embedded hardware, software, FPGA, and RF engineers, licensed amateur +radio operators, project developers, crafts people, decorators, +coordinators, outreach specialists and educators. However, no one with +helping hands or a willingness to learn will be turned away. + +# [Current Projects](HacDC_Spaceblimp_6/Projects "wikilink") + + \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Footer.md b/HacDC_Spaceblimp_6/Footer.md new file mode 100755 index 0000000..e35f804 --- /dev/null +++ b/HacDC_Spaceblimp_6/Footer.md @@ -0,0 +1,16 @@ +# Spaceblimp 6 Links + +- [Spaceblimp 6 + Inventory](HacDC_Spaceblimp_6/Inventory "wikilink") +- [Google Sheet of all Components + (Old)](https://docs.google.com/spreadsheets/d/1pbtn7ECg-q11PLaRodAbiNXFW9PaxQSlg8VCRAd21Sg/edit?usp=sharing) +- [Tasks Remaining, Packing List and Pre-Flight + Checklists](https://docs.google.com/spreadsheets/d/1BQv9Xoai6OZGo2BUsdv4KgaQJMtmi-Nc9BOMlU3g7ck/edit#gid=305391310) +- [High Altitude Balloon + Tutorial](http://www.societyofrobots.com/space_balloon_index.shtml) +- [UK High Altitude Society](https://ukhas.org.uk/start) +- [Launch-1 Requirements + Document](https://docs.google.com/document/d/1EGhUQox9DJGGkCbgrxbmYndZsCYtG07EMc2XpRJeM9E/edit?usp=sharing) +- [GSBC Regulations + Overview](http://community.balloonchallenge.org/t/regulations-overview-including-contacting-the-us-faa/676) +- [Intro to ballooning](http://www.daveakerman.com/?p=1732) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Header.md b/HacDC_Spaceblimp_6/Header.md new file mode 100755 index 0000000..c8a4793 --- /dev/null +++ b/HacDC_Spaceblimp_6/Header.md @@ -0,0 +1,3 @@ +If you want to get involved or learn more or contribute to the program... +[Subscribe to the Spaceblimp email +list](http://hacdc.org/mailman/listinfo/spaceblimp) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Inventory.md b/HacDC_Spaceblimp_6/Inventory.md new file mode 100755 index 0000000..092b3cd --- /dev/null +++ b/HacDC_Spaceblimp_6/Inventory.md @@ -0,0 +1,35 @@ +# Inventory + +Here is an active inventory of Spaceblimp equipment & parts. + +## Batteries + +AA lithium energizer batteries 0.525oz each + +## Cameras + +canon powershot a-530 (no battery) 6oz canon powershot a-480 (no +battery) 4.95oz canon powershot sd300 (with battery) 5.2oz gopro hero 2 +3.5oz (2.4oz without battery) Hobbyking wingcam 1.1oz Samsung Galaxy S4 +4.4oz (2.9 without battery) and without case + +## Communications + +tinytrak4 with enclosure, battery, and antenna 9.7oz (1.7oz antenna) +WhereAVR tracker 16.09oz TeensyTracker with GPS, batteries, and antenna +5.1oz (1.7oz antenna) + +## Parachutes + +smallest parachute with lines (blue, orange with yellow rigging line) +5.9oz small parachute with lines 12.9oz larger parachute without lines +38.4oz dual parachute with lines 2.1oz + +## Payload enclosures + +large single lunchbox (#1) 14.5oz small single lunchbox (#2) 12.7oz +large double lunchbox (#3) 15.4oz + +## Other + +4.6oz and 2.8oz radar reflectors 0.1oz microSD cards and support \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects.md b/HacDC_Spaceblimp_6/Projects.md new file mode 100755 index 0000000..0a04eec --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects.md @@ -0,0 +1,24 @@ +- [Budget/Funding/Fundraising](HacDC_Spaceblimp_6/Projects/Funding "wikilink") +- [Communications](HacDC_Spaceblimp_6/Projects/Communications "wikilink") +- [Education & + Outreach](HacDC_Spaceblimp_6/Projects/Education_Outreach "wikilink") +- [FAA/FCC + compliance](HacDC_Spaceblimp_6/Projects/Compliance "wikilink") +- [Flight Prediction & + Tracking](HacDC_Spaceblimp_6/Projects/Flight_Prediction "wikilink") +- [Launch team](HacDC_Spaceblimp_6/Projects/Launch_team "wikilink") +- [Power Point Tracking](HacDC_Spaceblimp_6/Projects/Power "wikilink") +- [Project Coordination & + Facilitation](HacDC_Spaceblimp_6/Projects/Coordination "wikilink") +- [Recovery team (chase + team)](HacDC_Spaceblimp_6/Projects/Recovery_team_(chase_team) "wikilink") +- [Safety](HacDC_Spaceblimp_6/Projects/Safety "wikilink") +- [Sensor + Systems](HacDC_Spaceblimp_6/Projects/Sensor_Systems "wikilink") +- [Stabilization](HacDC_Spaceblimp_6/Projects/Stabilization "wikilink") +- [Structural + Design](HacDC_Spaceblimp_6/Projects/Structural_Design "wikilink") +- [System Testing and + Integration](HacDC_Spaceblimp_6/Projects/System_Testing_and_Integration "wikilink") +- [HacDC_Spaceblimp_6/Projects/Science_Payload:_Radiation & FLASH + memory](HacDC_Spaceblimp_6/Projects/Science_Payload:_Radiation_&_FLASH_memory "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Communications.md b/HacDC_Spaceblimp_6/Projects/Communications.md new file mode 100755 index 0000000..e008e5b --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Communications.md @@ -0,0 +1,97 @@ +# About + +The communications project will deliver a balloon payload that allows +receipt of [telemetry](https://en.wikipedia.org/wiki/Telemetry) and +other payload data as well allow command of the balloon systems as +needed. Communications are commonly delivered over [Amateur +Radio](https://en.wikipedia.org/wiki/Amateur_radio) frequencies by +licensed operators. Networks like +[APRS](https://en.wikipedia.org/wiki/Automatic_Packet_Reporting_System) +are favored for some balloon-related communication. + +These team members will also be responsible for ensuring one or more +suitable ground stations are in place to reliably receive data from the +communications systems. This team is encouraged to partner with the +[HacDC Amateur Radio club](http://www.w3hac.org) and [other amateur +radio organizations](http://www.arrl.org/find-a-club) and enthusiasts. +This team will also facilitate logistical communications primarily for +the launch and recovery teams. + +# Team Members + +- Derk +- [Ethan Waldo](User:Ewaldo "wikilink") (licensed for Amateur Radio) +- Martin (licensed for Amateur Radio) +- Nancy Wolfson + +# Possible Balloon Communications + +- Primary VHF APRS tracker - sends regular APRS beacons with GPS and + limited telemetry - use national 144.390 MHz network +- Secondary UHF APRS tracker - sends regular APRS beacons with GPS and + limited telemetry - use a frequency to be determined at the launch + site +- 13 cm Broadband Downlink - send realtime video or broadband data +- uhf/vhf cross-band repeater - allow hams to communicate long distance + with handy-talkies +- 433 MHz ISM band low data rate telemetry + +# Possible Chase Team Communications + +- Cell phone WiFi for APRS.fi information +- VHF and UHF APRS receiver, possibly tracking, text and digitpeating + for off-grid operations +- Primary Voice - cell phone +- Secondary Voice - VHF and UHF mobile radios in conjunction with + repeaters for off-grid operations operations + +# Possible Ground Station Communications + +- 13 cm broadband receiver/recorder with 90 cm dish +- UHF/VHF receiver/recorder for SSTV +- 433 MHz data receiver/recorder with yagi +- Primary Voice - cell phone +- Secondary Voice - VHF and UHF mobile radios in conjunction with + repeaters for off-grid operations operations + +# Teensy All-in-one + +- [APRS Tracker using Teensy + 3.1](https://forum.pjrc.com/threads/24998-APRS-Tracker-using-Teensy-3-1) +- [Teensy 3.2](https://www.pjrc.com/store/teensy32.html) +- [TinyTracker GPS/GSM/CAN for Teensy + 3.1/3.2](https://www.tindie.com/products/Fusion/tinytracker-gpsgsmcan-for-teensy-3132/) +- [10DOF MPU9250+MS5637 sensor addon for + Teensy](https://www.tindie.com/products/Fusion/10dof-mpu9250ms5637-sensor-addon-for-teensy/) +- [SPI Flash Memory Add-ons for Teensy + 3.X](https://www.tindie.com/products/onehorse/spi-flash-memory-add-ons-for-teensy-3x/) +- [Radiometrix 500mW VHF Narrowband + Transceiver](http://www.radiometrix.com/content/bim1h) (same as used + in TinyTrak4) + +# Communications Links + +[Bionics TinyTrak 4](http://www.byonics.com/tinytrak4/) Likely primary +APRS tracker - has limited telemetry capability [SainSonic TNC and 1 W +transmitter](https://www.amazon.com/SainSonic-AP510-Transceiver-Bluetooth-Thermometer/dp/B00JLB94IS) +[Arduino TNC using +bertos](https://sites.google.com/site/ki4mcw/Home/arduino-tnc) [Arduino +shield](http://wiki.argentdata.com/index.php?title=Radio_Shield) [Wouxun +KG-UV8D instant cross-band +repeater](http://www.amazon.com/Wouxun-KG-UV8D-Two-Way-Radio/dp/B00JYLMJ46) +[in action](https://www.youtube.com/watch?v=y4UCx1sFor8) [our cute +little Yaesu VX-1 UHF +radio](http://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&ProdCatID=111&encProdID=783160E8AAE4642A8751C75821666E16) +[433 MHz ISM band transceiver - 1 W, up to 256 +kbps](http://www.anarduino.com/details.jsp?pid=130) [APRS on your cell +phone](https://aprsdroid.org/) [Bluetooth TNC for +above](http://www.mobilinkd.com/) [Where is SB-6?](http://APRS.fi) +[APRSISCE APRS tracking software for +Windows](http://aprsisce.wikidot.com/) [Direwolf TNC software for +Windows and Linux/PC/RasPi](https://github.com/wb2osz/direwolf) [xastir +APRS tracking software for +Linux/PC/RasPi](http://xastir.sourceforge.net/) [SoundModem TNC software +for Linux/PC/RasPi](http://www.linux-ax25.org/wiki/Soundmodem) +[Radiometrix Transmitters & RF Modules](http://www.radiometrix.com/) +[LoRa modem and 434 MHz radio shield for +RasPi](https://store.uputronics.com/index.php?route=product/product&path=61&product_id=68) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Compliance.md b/HacDC_Spaceblimp_6/Projects/Compliance.md new file mode 100755 index 0000000..a991379 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Compliance.md @@ -0,0 +1,23 @@ +# About + +These team members will be primarily involved in researching +[FAA](https://en.wikipedia.org/wiki/Federal_Aviation_Administration) & +[FCC](https://en.wikipedia.org/wiki/Federal_Communications_Commission) +rules and regulations. This will involve how the balloon flight and +[communications](HacDC_Spaceblimp_6/Projects/Communications "wikilink") +can be legally conducted. + +# Team Members + +- [Ethan Waldo](User:Ewaldo "wikilink") (licensed for Amateur Radio) +- Nancy Wolfson + +# Resources + +- [FAA drone rules](https://www.faa.gov/uas/) +- [FAA FAR 101 - The balloonery + laws](http://www.ecfr.gov/cgi-bin/text-idx?rgn=div5&node=14:2.0.1.3.15#sp14.2.101.d) +- [FAA marking and registration regulations may be + applicable](http://www.ecfr.gov/cgi-bin/text-idx?SID=e147a60011f64321a7cf43a8c09af801&mc=true&node=pt14.1.48&rgn=div5) +- [GSBC Regulations + Overview](http://community.balloonchallenge.org/t/regulations-overview-including-contacting-the-us-faa/676) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Coordination.md b/HacDC_Spaceblimp_6/Projects/Coordination.md new file mode 100755 index 0000000..7936349 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Coordination.md @@ -0,0 +1,12 @@ +# About + +These team members will help facilitate project collaboration and +organization. This team may provide suggestions but project teams are +expected to self-organize and decisions will be made by the Spaceblimp +group at large. + +# Team Members + +- [Ethan Waldo](User:Ewaldo "wikilink") +- Nancy Wolfson +- Sanjey \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Curriculum_Development_and_key_Project_Documents(1).md b/HacDC_Spaceblimp_6/Projects/Curriculum_Development_and_key_Project_Documents(1).md new file mode 100755 index 0000000..34f5a92 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Curriculum_Development_and_key_Project_Documents(1).md @@ -0,0 +1,2 @@ +1. REDIRECT [HacDC Spaceblimp 6/Projects/Education + Outreach](HacDC_Spaceblimp_6/Projects/Education_Outreach "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Education_Outreach.md b/HacDC_Spaceblimp_6/Projects/Education_Outreach.md new file mode 100755 index 0000000..4664a5f --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Education_Outreach.md @@ -0,0 +1,20 @@ +# About + +This project involves any education or outreach initiatives that may be +developed to expand the Spaceblimp projects beyond HacDC. A key +education area is curriculum development to support [STEM and +STEAM](https://en.wikipedia.org/wiki/Science,_technology,_engineering,_and_mathematics) +initiatives. Providing education and curriculum will facilitate better +outreach and potential +[funding](HacDC_Spaceblimp_6/Projects/Funding "wikilink"). + +# Team Members Roles + +- Nancy Wolfson-Project Development- I will be working on developing the + curriculum and other writing materials (If you want to join me please + add your name) +- [Ethan Waldo](User:Ewaldo "wikilink") + +# Project Links + +- Project Development - Curriculum Link coming up soon \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Flight_Prediction.md b/HacDC_Spaceblimp_6/Projects/Flight_Prediction.md new file mode 100755 index 0000000..8e22884 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Flight_Prediction.md @@ -0,0 +1,28 @@ +# About + +These team members will deliver flight path predictions that will be +used to plan and coordinate the launch. This may also involve in situ +analysis in the air and on the ground. This team will also primarily be +responsible for delivering tracking payload(s). + +# Team Members + +- Derk +- Ethan M +- Nancy Wolfson +- Nick +- Samarth + +# Flight Prediction + +- [Cambridge University predictor](http://predict.habhub.org/) +- [U of Michigan + predictor](http://vmr.engin.umich.edu/Model/_balloon/index.py) +- [Jet stream + animations](http://squall.sfsu.edu/scripts/namjetstream_model_fcst.html) +- [Skyvector aeronautical charts, airport + locators](https://skyvector.com/) + +# Tracking + +- GPS \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Funding.md b/HacDC_Spaceblimp_6/Projects/Funding.md new file mode 100755 index 0000000..5f47688 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Funding.md @@ -0,0 +1,54 @@ +# About + +These team members will help drive various funding initiatives and +coordinate program budget with the . The funding team will also help +facilitate [project](HacDC_Spaceblimp_6/Projects "wikilink") funding +needs and coordinate with the [Project Awesome +Spaceblimp](PA_Spaceblimp "wikilink") contact. + +# Focus Areas + +- [Donations](HacDC_Spaceblimp_6/Projects/Funding#Donations "wikilink") +- [Fundraising](HacDC_Spaceblimp_6/Projects/Funding#Fundraising "wikilink") +- [Grants](HacDC_Spaceblimp_6/Projects/Funding#Grants "wikilink") +- [Project Awesome Spaceblimp](PA_Spaceblimp "wikilink") + +# Team Members + +- Enrique +- [Ethan Waldo](User:Ewaldo "wikilink") +- Nancy Wolfson + +# Donations + +- [Contributions](https://www.hacdc.org/donate/) earmarked for [Project + Awesome Spaceblimp](PA_Spaceblimp "wikilink") +- The Spaceblimp6 team has contributed \$260 in personal donations to + the project. + +# Fundraising + +- Vendor + - Logo Placement + - [Sponsorship](https://www.hacdc.org/sponsors/) + +# Grants + +- [NASA DC space grant](http://www.dcspacegrant.org/) + - More geared for awards to university students and teachers +- [Federal Government Grant + Opportunities](http://www.grants.gov/web/grants/search-grants.html?keywords=balloon) + - [ROSES-2016 A.1 Earth Science Research Section 2.3 Atmospheric + composition](https://nspires.nasaprs.com/external/viewrepositorydocument/cmdocumentid=498120/solicitationId=%7B68C12087-132D-3814-9A87-5323BCE6CAB6%7D/viewSolicitationDocument=1/A.1%20ESD%20Summary.pdf) + - [A.17 ATMOSPHERIC COMPOSITION: UPPER ATMOSPHERIC COMPOSITION + OBSERVATIONS](https://nspires.nasaprs.com/external/viewrepositorydocument/cmdocumentid=498154/solicitationId=%7BB554F971-2BDF-A8A0-A909-8CF7C07DB175%7D/viewSolicitationDocument=1/A.17%20Upper%20Atmos%20Comp%20Observations.pdf) + - Future balloon measurements should focus on validation and + > collaborative observations for the [SAGEIII instrument on the + > International Space + > Station](http://science.nasa.gov/missions/sage-3-iss/) after + > 2016 and the continued ozone mapping and profiler suite + > ([OMPS](http://npp.gsfc.nasa.gov/omps.html))-Limb observations + > on [S-NPP and JPSS-2](http://npp.gsfc.nasa.gov/) to ensure + > continuity from Aura. + +[HacDC Treasurer](Category:BOD "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Groundwork.md b/HacDC_Spaceblimp_6/Projects/Groundwork.md new file mode 100755 index 0000000..f272ece --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Groundwork.md @@ -0,0 +1,2 @@ +1. REDIRECT + [HacDC_Spaceblimp_6/Projects/Communications](HacDC_Spaceblimp_6/Projects/Communications "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Launch_team.md b/HacDC_Spaceblimp_6/Projects/Launch_team.md new file mode 100755 index 0000000..e7bf2ec --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Launch_team.md @@ -0,0 +1,17 @@ +# About + +The launch team will be responsible for arriving at the [decided +launched site](HacDC_Spaceblimp_6/Projects/Flight_Prediction "wikilink") +to prepare and launch the balloon as well as initiate tracking. At least +one [amateur radio](https://en.wikipedia.org/wiki/Amateur_radio) +operator should be present in the group. Communications with the +[recovery +team](HacDC_Spaceblimp_6/Projects/Recovery_team_(chase_team) "wikilink") +should be maintained as best as possible through preparations made by +the [communications +logistics](HacDC_Spaceblimp_6/Projects/Groundwork#Logistical_Communications "wikilink") +team. + +# Team Members + +- TBD (All are welcome) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Power.md b/HacDC_Spaceblimp_6/Projects/Power.md new file mode 100755 index 0000000..6873114 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Power.md @@ -0,0 +1,17 @@ +# About + +These team members will deliver one or more payloads for tracking and +possibly integrating power-oriented subsystems. This will be critical +for understanding delivery of power to all payloads and may be used in +situ for reactionary measures as well as for post flight analysis. Some +common power subsystems can include battery, solar, energy harvesting, +and various generators with wind as a primary source. + +# Team Members + +- Mariama +- Nancy Wolfson + +# Tracking + +# Payloads \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Recovery_team_(chase_team).md b/HacDC_Spaceblimp_6/Projects/Recovery_team_(chase_team).md new file mode 100755 index 0000000..04676c8 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Recovery_team_(chase_team).md @@ -0,0 +1,17 @@ +# About + +The recovery team will be responsible for arriving at the [predicted +recovery site](HacDC_Spaceblimp_6/Projects/Flight_Prediction "wikilink") +to track and relocate (as best as possible when flight deviations occu) +in order to recover the balloon after its return. At least one [amateur +radio](https://en.wikipedia.org/wiki/Amateur_radio) operator should be +present in the group. Communications with the [launch +team](HacDC_Spaceblimp_6/Projects/Launch_team "wikilink") should be +maintained as best as possible through preparations made by the +[communications +logistics](HacDC_Spaceblimp_6/Projects/Groundwork#Logistical_Communications "wikilink") +team. + +# Team Members + +Ethan W., Nick B., John P., Enrique C., Nicole, Kyle, Derk, Sam \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Safety.md b/HacDC_Spaceblimp_6/Projects/Safety.md new file mode 100755 index 0000000..ef8a03d --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Safety.md @@ -0,0 +1,20 @@ +# About + +These team members will provide a due diligence effort to ensure best +practices are in place that maximizes the safety allowable in an +uncontrolled balloon launch. [FAA rules and +guidelines](HacDC_Spaceblimp_6/Projects/Compliance "wikilink") and +potential life and property hazards should be taken in to consideration. + +# Team Members + +- Ethan M (tentative) +- [Ethan Waldo](User:Ewaldo "wikilink") +- Nancy Wolfson + +# Rules + +- Cannot operate the balloon in a manner that impact of the balloon or + payload with the surface creates a hazard to persons or property not + associated with the operation + [1](http://www.ecfr.gov/cgi-bin/text-idx?rgn=div5&node=14:2.0.1.3.15#se14.2.101_133) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Sensor_Systems.md b/HacDC_Spaceblimp_6/Projects/Sensor_Systems.md new file mode 100755 index 0000000..5cab8c9 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Sensor_Systems.md @@ -0,0 +1,32 @@ +# About + +These team members will be responsible for delivering one or more +payloads that use sensors for measurement. + +# Team Members + +- Ethan M +- [Ethan Waldo](User:Ewaldo "wikilink") (tentative) +- John P +- Nancy Wolfson +- Nick (tentative) + +# Ideas + +- Muon detection + - + - + - + - + + + +- Slow scan TV + - [camera and audio + modulator](https://www.argentdata.com/catalog/product_info.php?products_id=150) + video could be sent down on UHF or VHF (HF may be too much trouble) + +# Links + +[Our rusty/dusty Geiger +counter](http://www.goldmine-elec-products.com/prodinfo.asp?number=C6979) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Stabilization.md b/HacDC_Spaceblimp_6/Projects/Stabilization.md new file mode 100755 index 0000000..1732072 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Stabilization.md @@ -0,0 +1,17 @@ +# About + +These team members will provide active or passive stabilization +suggestions and solutions to maximize the potential for payloads that +are better served by a stabilized craft. + +# Team Members + +- Nancy Wolfson +- Samarth +- Martin +- Ethan M + +# Links + +[useful information on balloon +stabilization](http://via.library.depaul.edu/cgi/viewcontent.cgi?article=1037&context=ahac) \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/Structural_Design.md b/HacDC_Spaceblimp_6/Projects/Structural_Design.md new file mode 100755 index 0000000..4850273 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/Structural_Design.md @@ -0,0 +1,34 @@ +# About + +This team will provide guidance and deliver solutions for the structural +design of the payload bay, its securing to the balloon, and the balloon +itself. This team and all other project teams that will be delivering +payloads are expected to communicate needs, constraints, and +expectations. Final constraints and designs will be approved by the +Spaceblimp group at large. + +# Team Members + +- Derk +- Ethan M +- Nancy Wolfson +- Nick +- Samarth + +# Constraints + +- 2000g balloon + +# Ideas + +- ZPB DIY balloon (probably not first flight) +- Housing Idea - Laser (or hot wire) cut expanded Styrofoam - glue + together layers of Styrofoam for custom 3D shape and cover in epoxy + for mounting hardness/Durability + +# Resources + +- +- [GSBC Regulations + Overview](http://community.balloonchallenge.org/t/regulations-overview-including-contacting-the-us-faa/676) + should be reviewed for structural design considerations \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/System_Testing_and_Integration.md b/HacDC_Spaceblimp_6/Projects/System_Testing_and_Integration.md new file mode 100755 index 0000000..d03f259 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/System_Testing_and_Integration.md @@ -0,0 +1,16 @@ +# About + +This team will lead the effort to ensure all systems are compatible, +operate to specifications, have proper fail safes, and have the best +chance of surviving the conditions of a [High-altitude +balloon](https://en.wikipedia.org/wiki/High-altitude_balloon) flight. + +# Team Members + +- Ethan M +- [Ethan Waldo](User:Ewaldo "wikilink") +- Nancy Wolfson + +# Resources + +- \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/funding(1).md b/HacDC_Spaceblimp_6/Projects/funding(1).md new file mode 100755 index 0000000..355d062 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/funding(1).md @@ -0,0 +1,9 @@ +# Team Members Roles + +Enrique + +# Project Links + +- **[Google Sheet of all + Components](https://docs.google.com/spreadsheets/d/1pbtn7ECg-q11PLaRodAbiNXFW9PaxQSlg8VCRAd21Sg/edit?usp=sharing)** +- Project Development - Curriculum Link coming up soon \ No newline at end of file diff --git a/HacDC_Spaceblimp_6/Projects/fundraising(1).md b/HacDC_Spaceblimp_6/Projects/fundraising(1).md new file mode 100755 index 0000000..c1ade04 --- /dev/null +++ b/HacDC_Spaceblimp_6/Projects/fundraising(1).md @@ -0,0 +1,2 @@ +1. REDIRECT [HacDC Spaceblimp + 6/Projects/funding](HacDC_Spaceblimp_6/Projects/funding "wikilink") \ No newline at end of file diff --git a/HacDC_Spaceblimp_7.md b/HacDC_Spaceblimp_7.md new file mode 100755 index 0000000..4bd2086 --- /dev/null +++ b/HacDC_Spaceblimp_7.md @@ -0,0 +1,309 @@ +
+ +
_Sb7_peak.jpg
+
+ +# Flight Summary + +
+ +
_Sb7_flight_path.jpg
+
+ +| Date of launch: | Saturday, April 14, 2018 | +|------------------------------:|---------------------------------------------| +| Time of launch: | 11:08 | +| Time of landing: | 14:30 | +| Time of recovery: | ~17:15 | +| Flight duration: | 3:22:00 | +| Peak recorded altitude: | TBD | +| Location of launch: | Strasburg VA, (38 59'48.77"N 78 21'03.27"W) | +| Location of landing: | Manchester MD, (39 40'33.6"N 76 44'03.9"W) | +| Distance (launch to landing): | 98.3 mi, (158.2 km) | +| Balloon type: | 1500 g Kaymont | +| Payload weight: | TBD | +| Balloon lift: | TBD | +| Net lift: | TBD | + +------------------------------------------------------------------------ + +# Project Description & Status + +SpaceBlimp 7 was designed as a community project driven by independent +specialists from DC (Nancy C. Wolfson-Project Manager), Maryland, and +members from HacDC (Enrique Cobas-Technical Manager), Rockville +Makerspace (Samarth C. & David R. DeLalio- Technical Manager), and +Unallocated Hackerspace. Spaceblimp 7 is an educational and exploratory +stratospheric balloon project that lofts various payloads to near-space +(about 100,000ft). The team is dedicated to experimenting with new +technologies that will make near space activities less expensive and +more broadly accessible. From electronics to mechanical design to +physics, the interconnectedness of disciplines teaches a lesson in +engineering teamwork and collaboration. + +The project has Technical, logistical and Educational goals which are +described below. Spaceblimp 7 looks to add new components that weren???t +part of HacDC???s previous six Spaceblimp launches. By forming a +partnership with several other area makerspaces, volunteers, hackers and +educators we are expanding our team and pooling resources. By expanding +the project we aim to increase its visibility and benefit all the +organizations involved as well as an increase fund-raising opportunities +to help sustain all the partners/organizations and the project +Spaceblimp in the long-term. This will also expose high school students +to educational and technical resources outside of the school environment +as well as giving all the participants the opportunity to share skills +and interests to work together and learn from one another to achieve +shared goals. Local area hackers and space enthusiasts will also benefit +by being able to actively participate and develop skills in the design +and launch of the payloads. + +Local area hackers, space enthusiasts, and community members have come +together to share and learn new skills in the design, construction, and +launch of the project.The sixth launch, Spaceblimp 6, reached 104,000ft. +Spaceblimp 7 is being done in collaboration with Rockville Makerspace +[1](http://rockvillesciencecenter.org/programs/studio-i-makerspace/) and +Unallocated Space [2](https://www.unallocatedspace.org/). + +COMING SOON: -Technical, Logistical, Educational and Outreach Results. +-The Story Behind the Spaceblimp 7 -Photo Galery + +# Project Goals + +Baseline **technical goals** are the safe and successful launch, +tracking and recovery of a stratospheric balloon and its payloads. These +goals involve exploration of concepts of buoyancy, basic electronics and +energy storage, triangulation and timekeeping, radio propagation, +weather prediction, FAA regulations and stratospheric environment +conditions. In addition to these baseline goals, the project will +welcome additional technical goals from volunteers and students +primarily in the form of payload experiments suggested, designed and +built by them. Spaceblimp will encourage use of CubeSat geometry +payloads to give students experience with the CubeSat design constraints +and to foster discussion with future other CubeSat missions. + +The **educational objective** is primarily to provide an engaging, +multi-day hands-on educational experience for students and volunteers +heavily focused on STEM. Students will be engaged in a hands-on lesson +by disassembling, reassembling and testing the basic tracking module +components (GPS, radios) and other payloads. The nature of the balloon +flight will naturally lead to discussion of scientific subjects like +buoyancy, atmospheric composition and density, radio propagation, +weather prediction and technical topics like power consumption and +energy storage. Students will have first-hand exposure to a team working +environment with delegation of responsibilities and the necessary +communication and coordination. Critically, students will be allowed to +suggest, design and build their own balloon payloads to be launched into +near-space. This kind of self-directed educational approach uses +students own natural curiosity and motivation to increase engagement and +their sense of ownership of the resulting project. + +# Flight Summary + +After two weather-related postponements, launch took place on Saturday +April 14, 2018, at Strasburg VA. Spaceblimp 7 was launched from Shopping +Center Drive in Strasburg, VA and was recovered just outside of Pretty +Boy Reservoir in Manchester, MD, just south of the Pennsylvania border. +As indicated by the recorded track above, GPS coodinates were lost near +Harper's Ferry, WV at an altitude about 30,000ft and regained during the +descent. At the moment the cause for both GPS receivers to lose their +lock at roughly the same time is unexplained. Possibilities include +interference from the Raspberry Pi Power Supply DC-DC Converter or jet +stream turbulence rocking the payload, causing loss of line-of-sight to +GPS satellites. However, the GPS lock was reliable at first, and was +regained during the more turbulent descent phase. + +# Logistics + +Project logistics include those necessary to achieve the technical +goals, but also networking of area makerspaces and volunteers, outreach +to local governments, funding sources and potential sponsors, +coordination of project documentation and public exhibition of the +project. This may include informational booths at relevant area events, +compilation of video and publication of a project wiki. All new partners +(including students) will be able to add or edit our project plan and +proposed new topics for the meeting???s agenda. + +Points of Contact: HacDC: Enrique C, Technical Manager and Funding POC, +enrique@hacdc.org HacDC: Nancy W, Project, Logistics and Student +Outreach Manager Rockville RSC: Sam C, Technical Manager Rockville RSC: +David D, Logistics and Outreach Manager Unallocated Space: Buddy, +Technical and Logistics Manager + +# Environmental Data + +A nearly-complete record of sensor measurements was obtained from the +Raspberry Pi Pimoroni Enviro PHAT sensor board. These divided into two +data logs, one for pressure, temperature, illumination, illumination +color and one for 3-axis acceleration and compass heading. The former +acquired data several times per minute while the latter was acquired at +about 40Hz. These were acquired and analyzed using Python scripts and +plotted in gnuplot. + +The pressure drops as expected from atmospheric (101kPa) to 1.68kPa. The +minmium pressure recorded corresponds approximately to 94,000ft altitude +according to some online calculators. Since we lack a GPS log of +altitude at high altitudes, this is an important estimate. However, the +sensor component on the Enviro PHAT is only rated down to 30kPa and +readings far below this range may be untrustworthy. We may perform +additional tests of the EnviroPHAT board in a vacuum chamber to +establish a calibration. In addition the timestamp for the minimum +pressure (171156 UTC) may be incorrect due to an unexplained glitch (see +below). + +**For all plots below, Flight Time (sec) was obtained by dividing evenly +among all timestamps between 15:00:00 and 18:00:00 UTC. However, 18:00 +UTC should actually read 18:30 UTC (see glitch below). In addition, this +method hides the uneven distribution of data collection especially in +accelerometer data. In reality this was acquired in bursts at 40Hz.** + +
+ +
File:Sb7P_ftime.png
+
+ +**Glitch at 164737 UTC.** + +At 16:47:37.75 an unexplained glitch occurred: the timestamps in the +environmental sensor log jump backwards almost 30 minutes to 161717. The +pressure log drops suddenly from 8.388kPa to 7.042kPa, a drop of +1.346kPa. Note the Pi Zero doesn???t have an onboard clock so timestamps +represent the running time of the script rather than the real absolute +time. Extrapolating from the rate of pressure drop just before and after +that point, the drop should have taken about 6 minutes. This is a +reasonable delay for the Raspberry Pi to shutdown, reboot and complete a +file system check and resume the measurement script. The glitch matches +an unusually turbulent segment in the accelerometer data but the +readings don't seem harmful (+/-0.1g at 1Hz). Far more turbulence +occurred several minutes later during the ascent (+/-0.2g 1Hz), during +the descent (+/-0.5g \>2Hz) and during the landing (+/-2.0g) with no +corresponding malfunctions. + +The most turbulent part of the ascent (+/-0.2g at 1 Hz) occurred several +minutes later and during the decent + +
+ +
File:Pglitch_ftime.png
+
+ +**Temperature** + +Temperature readings fall steadily from ambient ground temperature about +29.7 C to -39.9C at 16:20:19 UTC when the pressure reading was 17,568 Pa +or about 40,300 ft calculated altitude. It then rises again to 36.3 C at +17:12:10 UTC\* (the payload is in the sun and there???s less convective +cooling with less air). That???s roughly the peak altitude. Then the +temperature falls more steeply as the payload descends into cold (-40C) +air, and then warms near ground altitude where the air is warmer. + +
+ +
File:Sb7T_ftime.png
+
+ +**Illumination** + +Direct sunlight maxes out the illumination sensor (at 65,535 bits) and +most of the data is thus this value. But some data points are lower, +possibly measurements taken randomly in the shade of the nylon strap as +the payload rotated. These would be measurements of the sky brightness +not including direct sunlight, and they show a trend. They begin hear +60,000 and fall steadily to 15,000, i.e the sky transitions from bright +to relatively dark. Illumination includes light scattered from the +balloon and rigging. Large deviations from the max value (i.e. dark +measurements) stop abruptly near the peak altitude. I???ll guess the +payload was spinning too fast in descent to acquire a complete +measurement in the shade. + +
+ +
File:Sb7Lux_ftime.png
+
+ +**Blueishness** + +I calculated blue saturation by taking the Blue/RBG ratio in the RGB +sensor data. Again, most of the time the sensor is maxed out by direct +sunlight, setting the Blue/Red ratio to 1.0. However in the shade the +measurement is meaningful. The sky illumination becomes more blue for +about 2000 seconds (35-40 minutes) and then becomes less blue. At the +highest altitudes the illumination is actually slightly reddish (the +latex balloon color?). + +
+ +
File:Sb7Blue_fltime.png
+
+ +**Delay between measurements** + +In principle all measurements should take the same amount of time, +although some scatter is expected from the script swapping between fast +accelerometer data (about 10 seconds worth) and environmental sensor +data (measured every few seconds). The Raspberry Pi Zero was also tasked +with photographing another payload every 60 seconds or so, an operation +that could hog the CPU or the microSD card momentarily. These should be +regular, consistent delays throughout the flight. + +The timestamp differential between measurements is largely binomial; the +measurements are either 21 or 27ms apart although there's significant +scatter even up to 55ms. + +The **glitch** is visible in this data as well, as a statistical change +in the measurement delay times: the fastest measurements (20.1-20.5ms) +became more common than they were before. This changed lasted the +remaining duration of the flight. The increased measurement delays +exactly at the glitch time (6336 flight seconds or 16:48:30.5 UTC) are +consistent with the script running while boot processes are still +momentarily running after a reboot. + +
+ +
File:Sb7Delay_ftime.png
+
+ +# Accelerometer Data + +The ascent phase was gentle with excursions of +/- 0.2g. There's no +indication of an acceleration anomaly just prior to the glitch. The +balloon pop occurs near 17:12:19\* UTC where the total acceleration +suddenly drops from 1.0g to below 0.1g for several seconds. Terminal +velocity is approached very quickly as within 10 seconds the payload +registers an average of about 1.0g again. + +
+ +
File:Sb7Accelg_pop_ftime.png
+
+ +Minimum Pressure: 1685Pa at 17:11:56.1\* UTC. + +Peak Temperature: 36.25C at 17:12:10.7\* UTC. + +Last '~1G' Data: 1.07g at 17:12:18.5\* UTC. + +First 'Zero-G' Data: 0.1g at 17:12:19.1 UTC.\*\* + +- Timestamps after 164737 are slow by 30 minutes due to a glitch (see + glitch discussion above). 171200 corresponds to 17:42 UTC. + + + +- - Note the the sequence is 1.07, 1.75, 1.70, -0.06, 0.10g in a span of + 0.6 seconds. + +# System Logs + +**Useful Links** Working documents on Google Drive: +[3](https://drive.google.com/open?id=1Lw55HiaDk5GbLUFwuXcTWeM44eYJ7sq1) + + \ No newline at end of file diff --git a/HacDC_Spaceblimp_Press.md b/HacDC_Spaceblimp_Press.md new file mode 100755 index 0000000..060b624 --- /dev/null +++ b/HacDC_Spaceblimp_Press.md @@ -0,0 +1,182 @@ +### Email from Heather Goss (8/25/10) + +(DCist, ) + +"I'll probably run most of this as a straight interview -- if it helps, +answer lengths of a sentence or two, to a paragraph are usually good, +unless it requires a more detailed answer. Can't wait to hear more! + +- Can you tell me a little about HacDC? How did you get involved? What + kinds of other big projects have you done? + +The official description of what we are can be found at +. The shorter version is that HacDC is a +member-supported space dedicated to making things by inventing, +extending and repurposing new and junked stuff. We also research common +interests by forming working groups and building projects, and building +associations with like minded communities of interest, in DC and beyond. +The general public is welcome to all events and is encouraged to join +the hacker space. + +I \[Alberto\] came to HacDC via DorkbotDC, the DC chapter of the +international group of *people to doing strange things with +electricity.* Two of our members, Nick Farr and Adam Koeppel were +DorkbotDC regulars and they germinated the idea to form a hacker space +on DC. Parallel to their efforts to raise enough charter members to rent +a space, a joint DorkbotDC and HacDC build-a-thon event was planned at +the Koshland Museum of Science, spearheaded by DorkbotDC regular Mark +Adams. The first friends and members of HacDC came from that community. + +HacDC is a relatively young organization but has organized several +workshops aimed at teaching the basic skills necessary to be able to +approach present and past technology with the creative mindset to mutate +it in an innovative or idiosyncratic way. HacDC maintains a wiki with +much of the organization's history (in progress) including ongoing and +past projects: + +- Tell me about Hackerspaces in Space. What was the goal? How many + groups were involved? + +The Hackerspaces in space contest was initiated by Workshop 88 +(http://www.workshop88.com/), a hackerspace in Chicago. According to +their website, 19 groups are involved from as far away as Thailand. The +contest officially ended on August 31st. The rules are here: + and include rules +on cost, launch and recovery team size. Scoring criteria include +retrieval time, weight of package, and cost. Our working group was code +named the **Spaceblimp Project** because **Near-Space Balloon Project** +didn't have the same ring to it; besides, Spaceblimp has a certain 70s +disaster movie feel to it and this whole thing could have turned out to +be so much pie in the sky. The team included a small core group of very +talented and motivated people who dedicated many, many hours of +planning, design, experimentation/prototyping, fabrication, funding, and +good ol'sweat. It was their commitment and dedication that made this +happen. + +- What was your experience building the spaceblimp? Did you have any + interesting challenges to overcome? How long did it take to build the + blimp? + +The rules were pretty limiting and we're still not sure where we rank. +We learned that it's quite difficult to get a balloon into near space +cheaply. There are also regional differences in materials/supplies +pricing that give a relative advantage to some groups. We lost one +balloon the week before the successful launch and that was traumatic and +demoralizing. We had to weigh the desire to add redundant systems and +more sensors—both of which would have allowed us to account for more +contingencies—against the need to keep the payload light. As with most +projects, the highly motivated few who drove the process had the most to +lose so they were more nervous than the bystanders on launch day. + +- What was launch day like? (I'm curious more about everyone's + feelings/reactions than a blow-by-blow of the day. Also can you give + me the nitty gitty -- time, location, how long did it run.) Did + anything surprising or crazy happen? + +The final launch took place on August 21, at Camp Spring, MD. The jet +stream was acting crazy so the balloon deviated from the original +prediction. The team was divided into launch and recovery subgroups. +They both became parts of the chase team once the balloon was aloft. The +stats on the launch can be found on the wiki: + + +> "My feeling, at least, was excitement mingled with extreme dread; we'd +> lost the last capsule pretty badly, and if this one didn't make it we +> would completely miss the competition deadline. I really wanted to see +> it all go well, and it's really thrilling to do that countdown and +> release it into the sky," recalls Tom Cohlmia. + +The package descended a short distance from a private residence's pool, +just beyond reach from outside the fence. Nobody was home and we were +faced with a dilemma, jump the low fence and grab the package, or wait +until the owners arrive? The decision was made for us as the owners' car +pulled up. Our efforts turned to explaining to them why a group of +people were congregated at the edge of their relatively rural property. +They were amenable and allowed us to retrieve the package and go on our +way. We gathered at a church up the road and converged there with the +rest of the chasers. We cracked the "launch box" open and let it warm up +a bit before pulling the SD card and transferring the images: without a +photograph of the curvature of the planet, we would have nothing except +a fun chase. As the images of blackness the of space appeared on the +laptop, there was a great cheer. + +- What were the results of HacDC's launch in particular? Was it + successful? How high did it go? And were you able to recover your + payload? Did any other blimps achieve something spectacular? + +> "Ours was a big success! The payload went to 60,000 feet, and then +> parachuted back to the ground. The payload was found in someone's +> backyard, a few feet from their swimming pool. Everything was intact, +> though, and the pictures turned out great. Total time from launch to +> recovery, 1 hr 33 mins, traveling 27 miles as the crow flies." + +- What are the applications of the spaceblimp project? (What kinds of + research can be done with blimps, and/or can even the process of + developing new near-spacecraft like this help us in other ways?) + +We look forward to launching another balloon without having to worry +about meeting contest criteria. We're talking about adding an +accelerometer, several cameras with faceted mirror array to get many +angles at once, and perhaps including video. + +There are a wide range of applications to this kind of technology, all +of which have the potential of engaging communities at the grass roots +level in the observation and analysis of the kind of scientific data +collected from (near)space. Given the controversies over issues like +global warming, land use, environmental disaster (yes, BP and Exxon, we +are looking at you,) having a means for communities to monitor and +record their own world and the changes in it is increasingly important. +This technology greatly democratizes access to most of the value of a +space program (satellites, etc.) without the cost. A relatively small +group can monitor air quality, haze, temperature, radiation, and many +other factors live and near-real time from 60,000 to 120,000 feet for +very little money—without dependence on large government agencies or +commercial organizations. + +In addition, the project provides a really exciting platform for a range +of educational opportunities- all of which include the excitement of +seeing the student's own work go into (near)space! We have had both +school-age kids and teachers participate in our activities, and everyone +went away excited about participating, along with being very interested +in perhaps doing their own near-space balloon launch in the future! One +thing is for certain: kids really "get it" about the fun and potential +of high-altitude balloon launches! + +"If there's anything else you want to add, please let me know! Also, +please send along any helpful links (I've got the ones to HacDC, +Hackerspace, and the Flickr page), as well as a short bio describing you +and anyone else who responds. Thanks!" + +### Some quotes from the number crunching + +From an email dated 8/21/10: + +> Woot! And because I just can't look at the raw numbers without my +> graphing fingers getting all itchy.... +> +> [1](http://www.jerkpile.com/spaceblimp/altitude_time.pdf) is the +> rise/fall profile. Kinda boring. For more fun, have a look at +> [2](http://www.jerkpile.com/spaceblimp/riseSpeed_time.pdf), which is +> calculated by differencing altitude and time, and dividing. Nice +> freefall until the chute opens! +> +> Many graphs just confirm stuff was working. gpsSatellites_time.pdf and +> gpsHeading_time.pdf, for instance. +> +> The two temperature graphs, temp_time.pdf and temp_altitude.pdf give a +> good idea of how cold it is up there (-50C Brrr...) and an test of our +> improved insulation -- we bottomed out at a positively summery 6C. +> +> The neatest (IMO) is +> [3](http://www.jerkpile.com/spaceblimp/windspeed_altitude.pdf) which +> shows the balloon's lateral travel as a function of its altitude, +> which is a good guess at windspeed. There's four points, one each for +> the GPS's speed variable and a calculated speed (from differencing +> location and time) and one each for rising and falling. Overall, a +> decent profile of winds aloft. +> +> All files are hosted up on a bazaar repo at +> [4](http://www.jerkpile.com/spaceblimp/). You can browse it directly. +> blimp2_eeprom_log.txt has a copy of the raw data (thanks Nick), and +> analyseBlimp.R has my R code for all the graphs. (apt-get install +> r-base or just google "R"). — Elliot Williams \ No newline at end of file diff --git a/Hacdc_log.md b/Hacdc_log.md new file mode 100755 index 0000000..6d892fe --- /dev/null +++ b/Hacdc_log.md @@ -0,0 +1,767 @@ +I thought it would be good to keep a log of what's going on. +Contributions encouraged. Note that many entries extend into the morning +of the following day. Aug. 14, 2018 The box2 print on the Taz had +finished but was about a mm short, presumably due to a likely z axis +skipping problem. I later stopped someone else's print because filament +had stopped extruding, then noticed that the new filament guide tube was +missing & the reel, which had been changed (light green), was on +backwards. I fixed the reel and the print worked (but looked sloppy). I +found the missing tube on the previous reel (white), reinstalled it, +and, after adjusting the printhead height, started another box2. I also +redesigned the probe mount for the Taz (probemount2A.escad & +probemount2B.escad (both at renderadmin/ImplicitCAD/radioshack_box)). +Neither regular printer was working. Aug. 16 The box2 print failed due +to the same intermittent connection failure that's been plaguing the +printer. Had delayed monthly meeting. Julia worked extensively to fix +the z axis skipping but the z axis now keeps getting badly out of level +between the 2 sides so the Taz is unusable. On the other hand, after +turning on the controller (it was off but I think it was on on Aug. 14), +both regular printers are now working. Aug. 20 Julia located a good +design for a replacement extruder for the Ultimaker. Julia worked on the +Taz. It it now working but the z axis still seems to be skipping & the +intermittent disconnect problem is probably still there. There is now a +box for RODS. Caution: It is dangerously topheavy. Aug. 23 A box again +printed successfully but was a mm short. Julia rebuilt the Taz. Started +another box but the filament stopped feeding; shut printer off. I added +documentation to the Wiki on the laser cutter but unfortunately broke +the front panel (flimsy plastic); I was able to sort of fix it by adding +washers. Sept. 1 Rewired laser cutter (details in Cheap Chinese Laser +entry). The laser should now be ready for testing by an expert. Several +people from Nova Labs visited. They said Nova Labs would probably help +HacDC fix broken equipment (if we can get it there). Sept. 3 Tom showed +up to test the laser cutter. Manual firing worked but safeties did not. +Got computer control of mirrors working but computer did not fire laser. +See Cheap Chinese Laser entry for details. Due to the Wiki being +uneditable the log was not updated. To summarize some of what happened: +Julia replaced the power supply for the 3D printer computer monitor +which may have been causing the random printer disconnections. She found +that one roll of filament was causing problems because it needed to be +extruded at 230 C (no simple way to test this). She also added heat +sinks on the Taz z axis controller & stepper motors which solved the +skipping problem. The Wiki was cleaned up (causing the above-mentioned +uneditability). A test piece (the "sphinx") for the new Ultimaker +extruder was printed. Oct. 4 The basement was found open & the lock for +the outer grate is missing; it was temporarily replaced with a +combination lock (contact Julia if you need the combination). Oct. 5 +There was considerable chaos with Nick & people looking for him showing +up at different times (finally resolved). The phone doesn't work. New +parts for the Taz z axis are here. The science event list was finally +updated (about time). Started printing a box4. Oct. 8 Phone is working. +box4 & an Arduino cover printed well; started a box3. Finished design +(still need to set values) for z-x rod joint for improved Taz z axis +drive & the sphinx. Oct. 9 box3 printed well, started another. Only 4 +people (including a new member) at the monthly meeting; little to +report. Finished design for general pulley mount. Oct. 11 box3 failed +due to filament stripping. Successfully printed stenograph machine +stand. Started printing test body for new Ultimaker extruder. Fixed Cura +so it will work for Rostock; tabletop computers D8PGDD1, 1M0QJH1, +5VVYKH1, & DJ7VKC1 now work. Determined that problem with some faulty +tabletop computers was the USB drive and rewrote one drive. Created new +HacDC hacks entry on Blabber to document fixes like how to change the +cordless phone ring & fix Cura. Oct. 15 Extruder body print failed due +to filament stripping but several other prints worked. The Algix +filament was found to print well at an unusually low 180 C. Julia worked +on the Rostock. Oct. 18 The Taz jammed & Julia cleared a clog from the +printhead. The Algix filament did not print satisfactorily. A print with +leftover filament worked but a new roll of filament had problems with +stripping. A member swapped a nonworking (regular) Kodak printer for a +working (after a little work) Epson one. A visitor tried to use the CNC +mill (note that the parallel cable connects to the upper connector on +the computer) but the y axis would not move. Oct. 19 The filament on the +Taz may require a higher temperature; testcube printed fine at 225 C. +The boxes have been recompiled for the Rostock (box1t32Rf.gcode etc. in +/ImplicitCAD/Radioshack_box on renderadmin) and the zero-thickness +problem eliminated. Tried to print a box3 at 225 but the filament +started feeding erratically and the printhead now seems completely +jammed like before. Oct. 22 Julia worked on both the Taz & Rostock. +Additional cleaning of the feed gear and shifting the printhead down +seems to have fixed the Taz problem (which may be the result of a tiny +fan starting to fail); also the current filament should be printed at +229 C. The Rostock works but the fan may need to be turned off (set fan +speed to 0) or down and there seems to be a loose connection (causing +the temperatures to read def). Started printing (Taz) test body for new +Ultimaker extruder. Oct. 23 HacDC has 2 new voltmeters (labeled HacDC 1 +& 2). Extruder body test print successful. Attempt to print a box4 on +Taz failed, possibly since it started at 215 C. Cleaned feed gear & +successfully started a box3 at 229 C. After a false start printed a box1 +on Rostock. Rostock printhead will not go above ~210 C and will drop +when fan comes on, possibly crashing the print (def problem mentioned +above). Immediately set fan speed to 0 when it comes on (typically when +the first layer is completed). Started a box2 on Rostock. Oct. 25 Both +boxes printed successfully. The Rostock temperature will plummet & crash +the print if the fan is at 30%; at 25% the temperature doesn't seem to +go over around 218. After a false start part of a kayak holder started +printing OK on the Taz. Another object was successfully printed on the +Rostock but an attempt to print another box resulted in everything going +wrong - the printer behaved erratically, the printhead scraped the tape +but then was in the air after being adjusted, the outer tube came off +the extruder, & the short outer tube piece with a burnt end in the +printhead clogged at the unburnt end. Oct. 29 Kayak holder part printed +successfully. Nick dropped off 2 computers. Julia fixed the Rostock and +found that the CNC mill was clogged & needed cleaning. Found that +ImplicitCAD seems to get stuck on a certain rotate. The Taz printed +another (small) object and started printing another copy of the sphinx +(first copy is missing) while the Rostock started printing a box1. Oct. +30 Sphinx & box1 both successful. Started a box3 on both printers - the +Rostock is printing wobbly. Put big metal case under table by SEM with +computers inside (but wiring should be adjusted). Killed 2 flying bugs +over the last 2 days (hopefully that's all of them). Nov. 1 Both boxes +printed. The distortion (about warp factor 3) with the Rostock was from +a loose printhead - fixed. A couple first-timers visited. Julia reflowed +the graphics chip from an iMac G5 after a replacement for the badly +burned-out halogen bulb for the soldering system was found in the +basement but didn't have time to complete the repair. Some small items +were printed on the Taz. Started printing another box3 on the Rostock & +a test of the redesigned sphinx for the new Ultimaker extruder on the +Taz. Nov. 5 The sphinx printed but the box3 stopped partway thru; both +printers seem to have disconnected (the Taz after finishing), possibly +due to a power fluctuation. The iMac repair worked (amazing) after a +couple damaged connectors were fixed. Another small Taz print worked +along with a test piece for the improved Taz z axis and a box4 was +started on the Taz & a box2 on the Rostock. Tom got a new laser printer +working (HP_Laserjet_Professional_P1606dn, can print double sided). An +inkjet printer was successfully disassembled without ruining the +controller. The inner door to the basement was open & the light was on +but the outer door was still padlocked (opened from inside?). Nov. 7 +Both boxes printed but there was still some distortion from the Rostock. +Started printing another Taz z axis test piece & a box4. Nov. 8 Both +prints worked. Small prints were done on both printers. A modified z +axis test piece was printed on the Taz and the next version started. The +Rostock again had a problem with not moving, not as bad as last time but +it still seems to have caused the printhead to clog. Nov. 11 Test piece +printed. Air conditioner was on - why? Printed an improved test piece - +very close to final form. Started a box3 Nov. 12 Box3 printed. Printed a +revised test piece. Julia unclogged the Rostock & found that the +printhead heaters had weakened greatly (replacements ordered). The +partially disassembled printer from Nov. 5 was apparently ruined. The +problem with the intermittent failure of the Rostock to move may have +been due to loose belts which have been tightened. The Rostock fan power +supply was left unplugged to avoid having to turn the fan off (why +didn't we think of this foolproof solution before?). The Rostock clogged +repeatedly but finally worked (the third time's the charm). Another +version of the Taz test piece was printed and seems perfect. The Rostock +print crashed again - apparently the power supply is for another fan +connection that isn't being used (so much for foolproof). (That power +supply is actually for a fan on the extruder & was later plugged back +in.) The belt tightening & unclogging procedures for the Rostock have +been documented. Started box3s on both printers. The missing bathroom +key turned up on the floor by the Taz. Nov. 13 Both boxes printed. +Monthly meeting canceled - too few showed up. One visitor who was +interested in repairing an old radio. Taz y-axis motor mount designed +(but most parameters need to be added). Started a box2 on Rostock & box4 +on Taz. Nov. 15 Both boxes printed but the box2 was a bit short because +the Rostock ran out of filament. Two new people visited. Assigned values +so a trial version of the Taz motor mount is ready to print. Printed a +production version of the Taz z axis joint (but a minor change should be +made and the position of the rod hole may also need to be changed). +Printed half of a coupler for the new Taz z axis rod & started the other +half. Nov. 19 Coupling printed. Small items printed. Installed coupling +on testbed Taz; satisfactory. Measured rod position & adjusted z axis +joint design accordingly. Designed improved generic coupling, printed +test piece, adjusted design, & printed production version. Started +printing new version of joint. Nov. 23 Z axis joint printed & it was +installed on the testbed Taz & measured; some adjustments were made to +the design and, after printing another coupling half, the revised joint +was printed. It was just right so started printing another. Nov. 26 +Joint printed (the filament broke leaving less than a foot left when the +print finished, a clear violation of Murphy's Law). Julia dropped off +filament for the Taz & Rostock, and parts. Printed 2 coupling halves +(Taz, leaving about a foot of unused filament on one reel) & test motor +mount for 2nd Taz (Rostock). Started another joint (Taz) & endpiece for +2nd Taz (Rostock). Nov. 29 Joint & endpiece printed. One hole in +redesigned coupling turned out to be too big & at least one motor rod is +notched; redesigned coupling accordingly and printed notched version. +Found that ImplicitCAD would not compile some rotates because it ran out +of RAM. Belt was installed on one side of the optical table. Started +redesigning printer endpiece & motor mount as single stronger piece. The +Rostock jammed extremely badly. A couple small items printed on the Taz. +Started printing unnotched half of coupler. Dec. 1 Coupler printed. +Installed revised coupler on 2nd side of testbed Taz. Coupler seems fine +but rod was off by about .5 mm so joint does not seem to be exactly same +on both sides. Printed another coupler half & started a 2nd. Dec. 3 +Coupler printed. Julia worked her magic & got both the Rostock & CNC +mill working including replacing the failing heaters in the Rostock +printhead (so the fan should no longer be turned off). Printed 3 more +coupler halves. Started a box 2 on Rostock & box4 on Taz. Dec. 6 Boxes +printed. Was able to move new z axis on testbed Taz. Julia brought in 4 +laptop video cameras but was unable to get any of them to work yet. Test +print of body for new Ultimaker extruder brought in. Installed new z +axis parts on Taz; rods were off by ~1.7 mm vs. ~.5 on the testbed Taz. +New z axis works but printer needs to be adjusted - DO NOT USE the Taz. +Started a box4 on Rostock. Dec. 10 Box printed. Started a box1 but it +failed because one of the arms came loose at the top - fixed. One of the +upgraded rods on the Taz wobbled badly which turned out to be due to an +old part that was known to be warped. Shimming it with washers mostly +eliminated the wobble. Taz has been recalibrated and is ready for use +(so the z axis upgrade project has been successfully completed!). The +"supercomputer" originally built to compile a huge fluidics chip was +brought back in operation. Preliminary design of the motor mount +endpiece for the Taz is complete. One of the laptop cameras was found to +be incompatible with the current version of Linux altho a driver existed +for it. Started printing box1s on both the Rostock & Taz but the Rostock +stopped dead & the 3D printer computer will not respond (screen stays +black) altho the Taz is still printing away normally. Dec. 11 Box1 +printed but had a small shift part way up. 3D computer worked after +restarting & reconnecting USB cable. Started a box4 on Rostock and a +test piece for the new Taz motor mount end on the Taz. Found that Cura +works for the Rostock on computers 1LDNKH1 & 7KDNKH1. Dec. 13 Test +endpiece & box4 both printed. Corrected flaws in endpiece and, after a +series of infuriating false starts, and discovering that excess belt on +the Taz bed was snagging the main part of the belt and folding it so it +snagged itself instead, started printing the revised endpiece & the +other (pulley) endpiece. Dec. 17 Both parts printed. Designed & printed +test piece for pulley mount for 2nd Taz. Modified endpieces & started to +reprint both. Dec. 18 Both parts printed. Some parameters were corrected +but there are unresolved problems: The pulley sticks out of the side of +the pulley mount which will prevent it from fitting into the endpiece, +the new belt is only about 12 mm below the top of the endpiece but the +bottom of the pulley mount side is about 12 mm below the top of the +endpiece, & the notch for the belt at the motor mount is too narrow and +cannot be made much wider without reaching the bolt slots. Monthly +meeting was fairly well attended. HacDC's rent will be going up +significantly posing a serious problem. There was also a significant +cost resolving the legal issue with Nancy. Small item printed on Taz. +Started printing latest test version of pulley end & mount for Taz. Dec. +20 Objects printed. Pulley endpiece redesigned which should solve all +the problems. A visitor wanted help developing a sleep aid light. +Started printing latest test endpiece. Dec. 24 Endpiece printed. Broke +testbed Taz endpiece pulley mount trying to remove pulley for +examination but was able to remove pulley, make necessary measurements, +and complete design of the pulley mount. Printed test pieces for 2 +different versions & started a box3. Dec. 27 box3 printed (with hardly +any leftover filament, another violation of Murphy's Law). Julia brought +more filament (1 reel for Taz (seems to work at 215 C) & 2 for Rostock) +& a high-resolution still camera (entrusted to Bobby). She installed the +test pieces in the testbed Taz with satisfactory results; adjustments +were made to endpiece designs. Piece holding belt to bed needs to be +replaced. Small drone camera mount printed. Printed production version +of pulley mount for testbed Taz and started motor endpiece and (to use +up remaining filament) a box1 on Rostock. Dec. 30 Objects printed, but +motor endpiece had lifted off bed; Julia had started another that +printed with a shift and some possible separation. Small item printed. +Started the production version of the pulley endpiece and a hopeful +replacement for the belt-bed joint. Dec. 31 Endpiece printed but it & +joint were backwards (WARNING: Bobby is terrible at thinking in 3 +dimensions) altho basic idea of new joint was found to work. Another +test joint was printed and design further adjusted. Heater installed in +testbed Taz. Rather chaotic time with Julia's going-away party +simultaneous with trying to get major work done. Adjusted level of +Rostock bed with significant improvement (but need to document +procedure). Started printing corrected pulley endpiece & box2. Jan. 2, +2019 Objects printed but endpiece lifted off bed; will hopefully still +be usable. Added Rostock bed leveling to instructions. Printed another +test joint. Replaced right bed leveling bolts on Taz with slightly +longer ones to make adjusting easier. Started printing another version +of the joint & a box4. Jan. 3 Objects printed. Test joint seems fine; +belt attachment method seems to work very well. Several items printed +but multiple object print failed because Taz ran out of filament - +always check & it is best to print one object at a time; it should be +faster & if something goes wrong you won't end up with multiple failed +prints. Tom replaced the keyboard on a visitor's laptop. Jan. 5 +Installed motor endpiece, pulley endpiece, pulley mount, & belt-bed +joint in testbed Taz. Appears satisfactory; made a few minor adjustments +to designs. Jan. 6 Julia took the Taz. Jan. 7 Tom did an amazing job to +get the testbed (now only) Taz working under manual control (but it +needs to be calibrated as well as set up for computer control). Some +Ultimaker extruder parts printed but another print stopped dead - the +dreaded disconnect problem. Jan. 8 At the monthly meeting the entire +contents of the basement were declared outgoing so a major clearing out +can be done, possibly at the end of March. If you want anything in the +basement mark it or otherwise make it known. (The miter saw, one fire +extinguisher, & a clip-on light socket are on loan from Bobby.) Jan. 10 +Several visitors. One wanted to print rubber with the Mini but it +wouldn't connect. A print on the Rostock failed because the design was +too thin. Kevin got the Mini to connect but didn't get it unclogged & +was unable to get the replacement Taz to respond. Installed setscrew in +Taz endstop. Some sorting done. Jan. 17 A visitor tried to do a test +print on the Rostock but it didn't work, probably due to a software +problem since the old testcube printed fine. Kevin got the replacement +Taz to move and discovered that it is version 1 rather than version 2 & +a bunch of documentation for it. Jan. 18 After some problems getting the +TV screen to work (documentation needed), movie night (The Martian) was +successful altho turnout was rather low. Hot melt glued USB drives to +several tabletop computers & some sorting was done. Jan. 21 It is now +possible to routinely connect to the replacement Taz & give it commands. +Attempts to read the current values of the parameters (which should be +done before the firmware is updated) have been unsuccessful. Documented +inductive sensor for Taz autoleveling in 3Ddoc.txt. Jan. 28 Two people +successfully printed a bunch of small objects on the Rostock. Feb. 4 +Several objects were successfully printed on the Rostock & Mini. Design +for Taz belt-bed joint was adjusted to recover 10 mm of y capacity. Feb. +7 A bunch of rubber objects were printed on the Mini. Feb. 11 There was +a moderate leak in the basement. The source is unknown; the leak had +probably stopped when it was found. Object printed successfully. Feb. 14 +Kevin was able to read & modify the firmware for the Taz. End cap for +new reel holder for the Mini was printed & the holder started. Feb. 15 +Print failed; the intermittent printer disconnect problem recurred (the +print separated from the bed as well). Trying long prints is not +recommended until this problem can be corrected. Movie night OK. The +space behind the basement wall is not unexcavated dirt but a concrete +tunnel. HacDC may be able to use this for storage. Feb. 18 Object +printed. Kevin was able to change the calibration of the Taz z-axis but +the results were inconsistent. Started printing (after unclogging +Rostock extruder; 160 seems to be too cool when removing the old +filament, try 180) improved version of the new reel holder for the Mini. +Feb. 19 Reel holder printed, was installed on Mini, & is almost perfect! +Fairly busy monthly meeting. Gasket printed on Mini but needs redesign. +Feb. 21 HacDC has disposed of the CRISPR refrigerator. Feb. 22 The door +to the basement was open (but the grate was locked). Temporary access +has been cleared to the corner behind the SEM. Several power cords that +didn't go to anything were removed, significantly reducing the snakepit +coefficient. Necessary measurements were marked and the remaining 3 +reinforcing boards (remember those) for the shelves were cut. Bobby's +miter saw & clip-on light (bulb left on shelf) have been removed (only +thing of his left is the fire extinguisher). Boards for shelves by door +are OK (still need to be installed) but board for corner behind SEM was +cut wrong (too long) & will have to be recut. Feb. 23 The basement was +cleared out. Much (maybe too much) of the contents were left outside the +church by the trash bins. The (2nd) replacement air conditioner was +installed. HacDC proved helpful to the Positive Force music show held +that day. An attempt to install the recut reinforcing board failed +because the existing shelf board was warped and the large C clamp could +not be found; the reinforcing board was also badly bowed. Another +(long-lost) copy of the board showed up that was straight; it was marked +and will be used instead. Feb. 25 Small object printed after the first +attempt failed when the filament broke & the 2nd attempt failed when the +filament tangled on the reel. One small reinforcing board was installed +on the shelf above the door. Feb. 28 Kevin tried to get the Ultimaker to +work but failed; the feed tube apparently needs to extend further into +the extruder. Some stuff was cleared out of the space. The last 2 +reinforcing boards for the shelving were installed (a little painting +remains to be done). March 4 After over 3 years, the shelves are finally +finished. The floor was vacuumed while the corner behind the SEM was +accessible. Other than possible sealing around the new air conditioner +all work in the corner has apparently been completed. Several visitors +came by. March 7 Sealing done around new air conditioner; table & SEM +moved back. Many new visitors. Knobs printed on new Monoprice printer. +March 11 Object printed on new printer. March 12 Sparsely attended +monthly meeting. Some largely cosmetic rearranging of the wiring over +the sink was done but the internet no longer worked. March 14 It turned +out that the power strip right above the sink had gotten turned off; +flipping the switch restored the internet. Two people brought pies (Pi +Day). Drone flew around the space. Extensive rearranging of the wiring +was done; this time the phone & internet both worked afterwards. The +power strip directly over the sink is no longer required for the +internet (the long power strip one shelf up definitely is; leave it on) +preventing a recurrence of the previous problem. March 15 Almost all +items remaining in the back part of the basement were moved to the front +except a large whiteboard, the CNC mill, & the contents of the CNC mill +supply shelf. Movie night: Gravity. More wiring was sorted out & network +connections mapped. It was found that the TP-Link Switch is connected to +a 12V supply instead of the correct 9V; this should be corrected. March +18 Objects printed on Monoprice after adjusting printhead height & on +Mini with some delamination. Preliminary network wiring diagram +prepared. TP-Link Switch power supply replaced with correct 9V supply; +internet & phone both worked afterwards. March 21 - With +light-to-moderate rain, there was a puddle a couple feet wide over the +drain outside the basement, indicating that this was the probable source +of the leak. Mike will try to snake the drain. Object printed on +Monoprice. Remainder of HacDC network wiring was traced and labeled; +numerous cables & power supplies that didn't go anywhere were removed +(and temporarily piled up under the electronic workbench). Renderadmin +computer was crashed in the process but Kevin was able to restart it +successfully. March 25 Network wiring diagram (upstairs; the basement is +completely separate) completed (& it fails a sanity check). Power +supplies drawer organized; supplies now have color-coded twist ties (AC +is black, solid color is voltage (i.e., white=9V), white with bands is +thick band-narrow band with thin ring if a decimal (i.e., wide brown, +gap (invisible narrow white)-green ring is 19.5V). Object printed on +Mini after printhead was unclogged. 3D printer computer replaced +(everything seems to work) & test print on Mini worked. March 28 Object +printed on Monoprice. Rostock successfully tested with new 3D printer +computer. Note: To send gcode files to the new 3D printer computer use +scp filetoprint.gcode hacdc@pronterhost.hacdc.org:/home/hacdc with +standard (not 3D printer computer) password. Use Ctrl-Alt-F# to select a +terminal instead of Alt-F#. Pronsole is still pronsole (previous +statement was wrong). Use load /home/hacdc/filetoprint.gcode to load +file once sent. Octoprint is now running providing a completely +different way to use the printers. Documentation will have to be +prepared & existing instructions redone. April 1 Rostock print worked. +New 3D printer computer has been switched to Ubuntu Linux. April 4 +Objects printed on Rostock. Preliminary instructions for printing with +new 3D printer computer written (on blabber). April 9 Average turnout +for the monthly meeting. A likely rat was spotted scurrying under the +radio equipment. April 11 Objects printed on Rostock altho there was a +problem with an incorrect dimension but it then jammed. It was unjammed +(if a piece of filament gets jammed in the feed tube unscrew BOTH ends & +use the thick wire feed tube snake (standing up on the outlet box behind +& to right of Rostock) to force the piece out (CAREFULLY use pliers to +force the snake into the tube if necessary)) and successfully reprinted +object. A visitor got a flex sensor to work with a microcontroller. +April 15 Preliminary revised instructions for printing on the Rostock +(with pronsole) completed (at +/ImplicitCAD/radioshack_box/ins3DRostockpronsole.txt on renderadmin +computer). April 25 Rostock jammed with filament apparently melted to +feed tube connector. Bobby gave up; James resorted to cutting off the +connector (which can't be done much more without shortening the tube too +much) and got the Rostock extruding again. However, 2 attempts to print +both failed when the NOZ: def problem recurred (with a thermistor +disconnect error message on the computer). April 29 It was found that +the USB connector on the Monoprice 3D printer had broken. It may still +be possible to use the Monoprice with an SD card but not otherwise. A +visitor worked on a product he is developing for motorized skateboards. +Small object printed on Ultimaker. 4 prototype "DNA" pieces printed on +Rostock. May 2 4 small "puzzle pieces" representing the 4 nucleotides of +DNA have been designed. Besides making a fairly good schematic +representation of DNA, they are good test & example objects that only +take roughly 5 minutes each to print. They are available in the +ImplicitCAD/radioshack_box directory on the renderadmin computer as +dnaa.stl, dnac.stl, dnag.stl, & dnat.stl as well as compiled for the +Rostock as dnaaRf.gcode etc. A visitor worked on getting flex sensors +for a glove to work with a microcontroller. May 5 Moderately sized +object printed on Rostock. Numerous DNA "puzzle pieces" printed to +perfect design. DNA & RNA (rnaa.stl, rnac.stl, rnag.stl, rnau.stl, & +compiled Rostock versions (rnaaRf.gcode etc.)) versions are complete. +May 9 Instructions for printing on the Rostock with the new 3D printer +computer using pronsole (the old way) are in the Rostock (yellow) folder +with the 3D printer instructions (full & quick versions; also available +in the ImplicitCAD/radioshack_box directory on the renderadmin computer +as ins3DRostockpronsole.txt & ins3DRostockpronsolequick.txt). After +repeated attempts, the Mini successfully printed a small object. The +failure of attempts to print a large object on the Rostock was found to +be due to the gcode setting the bed temperature to 60 C after the first +layer had printed, crashing the program since the Rostock doesn't have a +working bed heater; changing the gcode solved that problem. May 14 The +monthly meeting was mainly about getting ready for the Dupont +Underground event May 16. The instructions for using the Mini (& +Rostock) with pronsole have been updated (ins3DMinipronsole.txt & +ins3DMinipronsolequick.txt in the ImplicitCAD/radioshack_box directory +on the renderadmin computer). An introduction to the DNA & RNA "puzzle +pieces" has been written (dna.txt also in ImplicitCAD/radioshack_box). +May 20 Some more DNA & RNA pieces were printed and the introduction +rewritten. Pieces bent, were very difficult to remove brim from, & did +not fit together properly. May 21 Scheduled planning meeting never +happened; only 1 person showed up. More pieces printed satisfactorily; +problem was largely due to removing pieces before they had cooled (which +seems to take much longer when room is warmer). Instructions for using +Rostock & Mini with pronsole revised again. May 23 Print on Rostock +stopped. Several more DNA pieces printed (works much better without +brim) but will be redesigned. Large print on Ultimaker failed due to +separation from the bed. Instructions for Rostock & Mini corrected. June +3 The clogged connector on the Rostock feed tube was drilled out (use a +5/64" bit in a hand drill) but a swollen piece of filament remained in +the tube & one of the connectors came off when it was pulled out. +Putting the connector back on didn't work. The feed tube was replaced +but the short tube in the printhead was also clogged. Drilling with a +1/16" bit made it possible to remove the tube & further drilling (with +both bits) managed to clear it. The Rostock successfully printed a test +cube. The z-axis switch on the Taz was tested & it works. June 6 A +visitor worked on a stenography machine computer mount. DNA piece +redesigned but did not print properly; the support (both with Everywhere +& Touching buildplate) did not print. June 10 It was realized that the +extrusion rate of the Rostock had not been fully adjusted to compensate +for the fudge factor; it needs to be divided by the square of the fudge +factor rather than just the fudge factor. The new value is +Steps/MM:680.4 (not precise). The DNA piece design was further modified +but the support still would not print even with the angle for support +set to 0. The Monoprice board needs to be replaced. The Taz z-axis +problem still seems intractable. June 11 Routine monthly meeting except +HacDC website was updated. Test prints on the Rostock also failed to +print support with thin or short overhangs. It was found that reducing +the Shell thickness in Cura solved the problem for thin overhangs but +not for short overhangs. Large bread slicer part printed on Ultimaker; +partially detached from bed but may still be usable. Rostock maintenance +instructions (ins3DRostockmaint.txt) updated including instructions for +trying to clear filament clogs. June 13 Loose connector on Taz fixed +which seemed to solve the z-axis endstop problem. With considerable +fudging (Cura gcode wouldn't work properly) the Taz was made to print a +test object. Z-axis well calibrated; x & y still need adjusting. Rest of +Rostock instructions redone (but still need instructions for printing +with new method & new instructions for new 3D printer computer). Another +part for bread slicer printed (separated again but usable) & yet another +started but the extruder failed. The missing support appeared when the +size of the DNA piece was doubled. June 17 Taz printed good cube. +Ultimaker fixed & large print started. Rostock clogged again but a group +effort got it going again (maybe HacDC will be able to keep things going +without Julia). Final (hopefully) design of DNA piece printed (A) & 2nd +piece (T) designed & printed (both double size). June 20 Several guests; +one started learning to solder, another how to 3D print. Another bread +slicer part printed on Ultimaker. All 8 DNA & RNA pieces now in final +form but problem of support not printing is unresolved; must be printed +double sized (dnaa2Rf.stl, dnac2Rf.stl, dnag2Rf.stl, dnat2Rf.stl, +rnaa2Rf.stl, rnac2Rf.stl, rnag2Rf.stl, & rnauRf2.stl prefudged for the +Rostock) to avoid that problem; several were printed. Paper tray for +copier stopped fitting; problem identified and fixed (fix still needs to +be documented). June 24 Object printed on Rostock. Visitor wanted to use +a laser cutter. DNA & RNA pieces redesigned again & finally completed; +added some modified RNA bases (T (same T as in DNA, found in tRNAs) & +pseudouridine (psu; downright weird, found in many RNAs); most were +printed (still double size). June 27 Object printed on Rostock. Test +object printed on Ultimaker and firmware updated. DNA piece programs +cleaned up, modified base I added, & numerous pieces printed. DNA piece +documentation (dna.txt in ImplicitCAD/radioshack_box directory on +renderadmin computer) updated; double size versions ready for general +use. Documentation on adjusting the Brother printer paper tray added +(disregard 1st try) to HacDC hacks on blabber. July 1 Light had been +left on in entryway. 3 guests showed up. Some of the DNA pieces were +resigned yet again; problem of support not printing was eventually +solved by including support in the object itself but even then the +support did not print if it was .5 mm or less thick; .6 printed. +Numerous pieces printed. Standard size C,G, & T for DNA and C,G,U,T, & +pseudoU for RNA now ready to use. July 6 Because of poor print quality +of small objects on the Rostock an effort was made to optimize the +settings (dnatRf.stl makes an excellent test object). The temperature +was reduced from 215 C to 205, 200, or 195, the shell thickness reduced +from 1 mm to .5 (with the Fill Density increased to 90), or the filament +feed rate reduced from 680.4 Steps/MM to 646.4. 205 C seems best for the +current filament with no change to anything else. DNA pieces finally +finished (but still have to convert some of the .escad files to .stl +files). Numerous pieces printed. Added ddC, a drug used against HIV also +used to sequence DNA. Updated "instruction manual" for the pieces +(dna.txt in /ImplicitCADS/radioshack_box directory on Renderadmin +computer along with the .escad & .stl files). July 8 Several (paper) +printers were fiddled with. DNA pieces further revised & finally (famous +last words) finished altho not all of the .escad files have been +compiled into .stl files (so there may be a few typos). See (revised) +dna.txt for details. July 9 Several visitors toured the basement. +Monthly meeting well attended, uneventful, except for noting that HacDC +will use up its cash reserves in 5 months at the current rate. DNA piece +designs compiled (1Rfs (standard with support for Rostock), 2Rf (double +size for Rostock), 1s (standard with support), & 2 (double size) .stl +files) & errors corrected; many pieces printed. July 11 Outer door was +open & door to roof was ajar but cover was on opening to roof (earlier +in the week someone had been working on the roof). Monoprice printer +connector fixed but there is another problem. Plans made for prototype +3D printing course. One final DNA (actually RNA) piece added (Cm), +programs cleaned up, & dna.txt updated (see for details; gcode files can +be used to determine best printing temperature for Rostock filament); +numerous pieces printed & complete set given to HacDC. July 15 Yet +another RNA piece (m1I) added, dna.txt documentation finalized, & +numerous pieces printed. Project completed (at last!). Trial 3D printing +class held successfully (but test print failed at last minute when +printer was mistakenly unplugged). Science event list finally updated. +July 18 Taz printed a slightly-out-of-calibration cube. Repeated +attempts to print RNA pieces revealed that there is an intermittent +(which is why the Taz sometimes didn't respond at all) & the z axis has +a skip (not sure which side). When the Taz worked the flat part of the +pieces was really good but the vertical part looked like a tumor (worse +at 215 C temperature but still terrible at 200 & 195). It might need +better filament, another fan, or something else (what it really needs +is, of course, Julia). July 22 It was determined that the Taz moves well +at standard speed when commanded by gcode but moves roughly when told to +move at a lower speed either by gcode or with the move command. +Instructions for 3D printer computer updated (about time). July 25 +Attempt to print on the Ultimaker failed because of an apparent bug in +the slicer. Test prints on Rostock showed that changing the size of the +print area had no effect on the miscalibration problem. July 29 A +visitor had a long discussion about getting started (i.e., electronics). +Tom returned. Aug. 1 The Ultimaker was printing too stringy. Adjusting +the settings helped. Aug. 8 Large object started on Ultimaker. A visitor +was given an extensive introduction to 3D printing. Aug. 15 Another +large object started on Ultimaker (previous successful). Aug. 23 Movie +night (The Right Stuff) sparsely attended. First piece of preliminary +documentation on ATmega328P microcontroller written (Micro1.txt in +renderadmin/ImplicitCAD/radioshack_box directory). Aug. 26 +Microcontroller documentation partially rewritten as micro1.txt. +Possible rodent spotted in space (too briefly to positively identify). +Aug. 28 Microcontroller documentation additionally rewritten as +micro2.txt. Aug. 29 Tristan left a bunch of stuff to be retrieved +Monday. micro2.txt rewritten. Event list mostly updated. Sept. 2 +hacdc-openwrt did not work (HacDC Channel 1 did). micro2.txt rewritten +yet again. Sept. 5 micro1.txt & micro2.txt rewritten again. +Modifications made to 3D printer computer; Rostock now will not move +horizontally. Window above left air conditioner was found to be open at +top & closed - should be checked regularly. Sept. 9 Minor changes made +to micro1.txt & micro2.txt. Rostock now moves in all directions but +didn't print properly; height may be off. Can't connect to Mini. No +change with Taz. Synthesizer worked on. Sept. 10 Monthly meeting was +well attended but uneventful, several new members. Major effort launched +to move files from obscure ImplicitCAD/radioshack_box directory on +renderadmin to wiki; see wiki.hacdc.org/index.php/Categories Sept. 19 +micro1.txt & micro2.txt heavily rewritten. Had visitor from Dublin, +Ireland & another who was looking for a laser cutter. Sept. 28 The +renderadmin computer would not connect. micro1.txt & micro2.txt heavily +rewritten yet again; now available at +wiki.hacdc.org/index.php/Documentation-ATmega_microcontroller Sept. 30 +Attempt to fix Rostock ruined printhead nozzle. Unable to fix +renderadmin computer. Large amount of documentation added to wiki - 3D +printing, CAD, equipment (see wiki.hacdc.org/index.php/Categories). Oct. +3 Renderadmin computer fixed. Started tracing laser cutter power supply +circuitry to compare with extra power supply previously traced. Oct.4 +Found apparently leaky diode in laser cutter power supply & disconnected +(not needed; for on board TEST button). Still have to finish +reassembling, but laser cutter may be fixed! Oct. 7 Further testing +confirmed that D15 in the power supply was leaky, which would be +expected to cause precisely the firing-when-it-shouldn't problem that +had been observed. This is basic Electronics 101 stuff that should have +been found a year ago, demonstrating that (1) As claimed, Bobby is +suffering from a severe case of overload-induced incompetence and (2) +There is a severe lack of electronics know-how in HacDC since someone +else should also have found this. Traced out circuit board for power +supply in laser (designated PS1); it is almost identical to the extra +power supply (PS0) in the cabinet. Kevin started working on the software +for controlling the laser cutter but it wouldn't compile. The power +supply was reassembled & temporary spacers installed so the controller +resting on the power supply no longer blocks the power supply fan. +Testing showed that the enable (P) signal now correctly controls the +laser so the safeties work; however, no cutting was observed, probably +because the optics are totally misaligned, dirty, or fried. Instructions +for operating the laser cutter were written and posted on the wiki +(wiki.hacdc.org/index.php/Documentation-Laser_cutter-K40). Someone +brought in some no-longer-usable amazon dash units. Caught a quick +glimpse of a critter scurrying under the amateur radio equipment - +again, DO NOT LEAVE FOOD OUT! Oct. 8 Further testing revealed that +mirror 2 (forward-to-right) is totally misaligned so the beam completely +misses mirror 3 (right-to-down). The laser definitely works; it set +paper towels on fire (oops!). James aligned mirror 2. Instructions for +how to adjust the stationary mirrors added to wiki. Oct. 10 Tom got the +laser cutter computer running but was unable to control the laser +cutter. Oct. 14 Nothing newsworthy. Got 74ACT323 IC to work. Oct. 17 +Roof was open (someone from the church had been working up there); after +it was reported to Mike a guard finally closed it. Only 2 people showed +up & little happened. Oct. 21 Work done on synthesizer. Couldn't find +basement keys. Oct. 24 Only 2 people again. There are now fairly +well-located & clearly labeled kill switches for all the 3D printers, +electronics workbench, laser cutter, & microwave. Oct. 25 Moderate +turnout for Movie Night (Hackers). Config file for laser cutter read +from Smoothieboard SD card. Config file sends laser fire PWM to pin 2.4. +Laser cutter had nothing connected to pin 2.4. Fire pin on ACR board was +connected to adjacent pin 2.6. Connector moved. That should fix the old +problem of the computer not being able to fire the laser. Now all that +is needed is to figure out why the computer can't control the laser at +all. Oct. 28 Unable to fix Monoprice 3D printer. Tom got computer +control of the laser cutter movement working and a mechanical problem +went away after moving the laser by hand but the computer still couldn't +fire the laser (even after fixing a possible problem with the +Smoothieboard config file not inverting the signal). Despite problems +with multiple meters being dead, the problem was traced to the ACR board +(signal in, no signal out). An attempt was made to connect the fire +signal directly to the laser power supply but the Smoothieboard SD card +failed. Oct. 31 Only 3 people total. A visitor needed to replace the +driver board on their 3D printer. Nov. 4 Had 2 visitors, one from +India/Japan. Nov. 18 Only 4 people. Regular printer (Brother) wouldn't +print altho it made copies. Nov. 21 No regular open house because of +HacDC Happy Hour event. Minimal people around. A new SD card has been +obtained for the lacer cutter Smoothieboard. Printer still not working. +Nov. 25 New SD card installed in laser cutter but no further progress +made in getting laser to fire correctly. Nov. 28 Started tracing +circuitry on laser cutter ACR board. Dec. 2 Had several visitors +including one from England. There was a small puddle in the middle of +the basement; watch for leaks. Dec. 5 Small turnout. A couple visitors. +Traced more on ACR board. Dec. 9 More work done on visitor's laptop. +Something shorted & damaged a component; computer still seemed to work +but there may be a problem with the screen. Mini didn't work; probably +clogged again. Continued tracing circuitry on laser cutter ACR board but +some traces on PC board are too obscured to follow. Dec. 10 Meeting not +held because of low turnout. Traced more on ACR board (but tracing fire +command seems doubtful because of obscured traces). Dec. 12 Visitors +helped work on laser cutter. Smoothieboard does not appear to be +producing fire signal; perhaps board failed when SD card did. Documented +(wiki.hacdc.org/index.php?title=Documentation-Laser_cutter-K40) how to +directly control Smoothieboard from tabletop computer. Unconfirmed +report that James died! Dec. 16 Started documenting tabletop computers +(wiki.hacdc.org/index.php?title=Documentation-Tabletop_computers). Dec. +23 Tabletop computers 1LDNKH1, 1M0QJH1, 5VVYKH1, 7KDNKH1, & DJ7VKC1 all +now have cura, emacs, meshlab, & minicom installed (the others that were +on the tabletop computer cart (7Y5MPD1 & CPV3HF1) are not usable because +they are missing the USB drive with the OS). A file named installed.txt +has been added with an incomplete list of the software installed on each +computer (which should be updated whenever more software is installed). +Dec. 26 Attempt to use Monoprice via HacDC network failed. Renderadmin +computer would not connect. Dec. 30 It was determined that the problem +with the renderadmin connection was outside of HacDC. (It is possible to +connect by using ssh renderadmin@jobs.local instead.) Jan. 2, 2020 +Monoprice works from front panel with SD card (leave in printer) but +format may not work with all systems. Gcode files can be transfered to +the SD card using USB adapter attached to front of printer. Mini +partially (extruder gear but not hot end) unjammed. Documentation added +for computer network & Mini printhead disassembly (partial). Jan. 6 +HacDC now has a replacement for the Rostock printhead nozzle but needs a +different mounting piece. The calendar on the HacDC website no longer +works. Jan. 9 Larger than usual turnout, including a couple old members +who worked on 3D printers. The Ultimaker is now working & an apparently +intermittent short in the Taz z endstop was fixed (at least for now). +Jan. 12 New USB drive prepared for one of the tabletop computers that +was missing one. Tom left a miter saw he was working on in the storage +bathroom and used the machine shop. Jan. 16 More work done on miter saw. +Attempt to update tabletop computer failed because of inability to +respond to warning message about GRUB; amazingly, the computer still +worked after being shut off. There was a small leak in the basement. +Jan. 20 Mini unclogged, printed objects. No leak in basement. Jan. 21 +Good turnout for monthly meeting including HARC guys. Several new +members joined. Little overall change in finances. Major discussion on +planning for future. Considerable support for getting rid of SEM. +Decided to do a much needed inventory (planned start Jan. 28). Jan. 23 +Wiki limited due to maintenance. Jan. 27 Wiki largely fixed. Decided to +schedule electronics lab sessions (see HacDC website) on Mondays. Jan. +28 The inventory turned into a cleanout of the space (not basement) with +lots of stuff going into outgoing instead of figuring out what HacDC +had. The SEM console was largely disassembled. Jan. 30 Visitor worked on +laser cutter. Feb. 3 Visitor worked on laser cutter & got computer +control to move the mirrors again. Monoprice working well using microSD +card (SD card adaptor on front). Carbon monoxide meter showed 0 but +carbon dioxide meter showed high levels that at one point exceeded 1000 +ppm which can cause impairment. Feb. 6 Further work on the laser cutter +again seemed to show the fire signal going into the ACR board but not +coming out. Attempting to bypass the ACR board by connecting the +Smoothieboard output directly to the fire position on the power supply +was partially successful - the computer could fire the laser but the +safeties did not work properly. The laser would not fire if the +controller door safety switch was open but once the laser was firing +opening the safety switch did not halt firing (except twice) altho the +switch did halt firing in manual mode and switching from auto to manual +halted firing which did not resume when switched back to auto until the +safety switch was closed. This behavior seemed impossible but later +examination of the circuit revealed feedback that can explain how, but +not why, it happens. Tom dismantled old hard drives. Feb. 7 More hard +drives disassembled. Feb. 10 Turnout poor for electronics introduction. +The laser cutter no longer kept firing when the safety switch was opened +(no idea why). However, it did fire on low when commanded to fire at a +power level of 0. A glow was noticed around the final mirror which was +found to have cracked apart and was replaced. Laser cutter rewired so +that the Beam Current knob will now control the current in auto as well +as manual mode (which will make debugging safer and provide a convenient +way to test a program if it is ever fixed). Feb. 11 Fairly good turnout +for monthly meeting. HacDC has been offered exhibit space at the USASEF +& is looking for ideas on what to show. The laser cutter Smoothieboard +PWM fire output became highly distorted when it was connected to the +power supply fire input. The Smoothieboard output did not seem to be +open drain as it was configured to be; switching to a different pin +(from 2.4 to 2.5) gave open drain but had no effect on the distortion. +There also seems to be a loose contact in the safety switches that +occasionally prevents the laser from firing. Feb. 13 Only Kevin & Bobby. +Kevin found that the printer computer would not boot up. Feb. 15 +Moderate turnout for Capture the Flag. Preliminary inventory of space +(not basement) done. Feb. 17 Laser cutter seems to act differently each +time; minimal progress. New extruder installed on Rostock but not yet +working. Radon detector put in basement (but wasn't reset - will have to +start over). Metal saw loaned to HacDC & put in basement. Space +rearranged (mainly VR stuff moved to other side). Tabletop computers +DJ7VKC1, 1LDNKH1, & 7Y5MPD1 updated and update procedure documented +(wiki.hacdc.org/index.php/Documentation-Tabletop_computers). Feb. 20 +Masonry blade for new saw brought in. Radon detector showed low one-day +Rn level, reset for long-term reading. Temporary terminal strip +installed in laser cutter to aid debugging but some connections are +inconveniently short. Further testing indicated Smoothieboard output is +not open drain which could be the cause of incorrect firing. Work done +on getting supercomputer running. All working tabletop computers updated +(5VVYKH1 doesn't work, most likely because an update was halted halfway +thru at 3:30AM Tuesday morning) & new file update.txt created giving the +date of the most recent update & any files that were not updated because +they had been modified. Discovered a few cases where programs that had +definitely been installed (listed in installed.txt) were no longer +present. Feb. 24 Hardly any turnout for electronics course. Laser cutter +seemed to work at one point after adding a diode in series with the fire +line to raise the voltage from .3 & 3.3 V to 1 & 4 V. After cleaning up +the control wiring snakepit it again seemed to work (but the safety +switch under the control panel doesn't work reliably). Feb. 27 Ultimaker +not working. March 2 Signal lights for safety switches on laser cutter +added. Computer control of laser cutter worked fine from 3D printer +computer but tabletop computers were unable to control laser cutter. +Laser cutter cut extremely poorly; power was coming out of second mirror +but was barely getting to cutting surface indicating a problem with the +final mirror. Mar. 5 Additional cleaning of the final mirror & lens +fixed the poor cutting by the laser cutter. There is still a problem of +cutting being significantly weaker to the left. Mar. 6 Letting the laser +cutter run longer revealed that it was not moving correctly, probably +because the software control was totally improvised. Mar. 9 Small +turnout for electronics course. Work done on Rostock. There seems to be +a problem with the temperature sensing. The square glass bed broke +(there were plenty of replacements). Mar. 10 Annual meeting with board +election (as a slate). Some rearranging done; switches are now in one of +the Radio Shack drawers divided into push (lots), toggle (lots), slide +(1), rotary (0), & key (2) and LEDs are in a bin above the electronics +workbench. Mar. 12 Church closed for all sizable events; HacDC events +canceled thru at least March 29 - expect few updates. Mike reported that +an antenna on the roof seemed to be leaning precariously. Inner door to +space wasn't shut. \ No newline at end of file diff --git a/Hacdc_log_2.md b/Hacdc_log_2.md new file mode 100755 index 0000000..25d2746 --- /dev/null +++ b/Hacdc_log_2.md @@ -0,0 +1,20 @@ +May 2, 2022 Space reopened. Small turnout, uneventful. Bobby took +outgone Line 6 amp (after a 2 year delay; speaker & SEM circuit boards +appear to be gone). May 30 New OS, POP! OS, installed on 3D printer +computer. Most bins sorted, loose driver bits put in bottles except for +hex bits - the bottle intended for those was found to still contain +pills! Tabletop computers checked: 5VVYKH1 wasn't working, CPV3HF1 is +missing the USB drive with the OS, & 7KDNKH1 (after it was found in an +inaccessible corner) seemed to be fully updated! The other 4 are missing +(anyone know where they are?). June 11 ("Spring Cleaning") Had trouble +getting door unlocked. Found some stuff to consider getting rid of +(i.e., CRISPR material). Took 2 Spaceblimp bins down to basement. Looked +at basement - found radon monitor (Corentium) & metal saw (both Bobby's) +seem to be missing (anyone know where they are?). June 13 Updated some +signage. Attempt to replace incorrect CAD file on wiki crashed server. +Verified 7KDNKH1 did not need updating. Created this wiki entry since +trying to update the original log entry crashed the server (note +pattern). July 12 Space open for monthly meeting since Kevin was working +on 3D printer computer. Window above ham station was ajar at top. Carbon +dioxide meter read 650 ppm with only 2 people in space. Renderadmin +computer working; was able to make .stl file from .escad file. \ No newline at end of file diff --git a/Hacker_Arcade.md b/Hacker_Arcade.md new file mode 100755 index 0000000..591d855 --- /dev/null +++ b/Hacker_Arcade.md @@ -0,0 +1,19 @@ +Games: + +- Galaga +- Q-bert +- Metal Slug +- Bust a move +- Crane +- Racing (Spyhunter, outrun) +- Light Gun +- Crystal Castles, Marble Madness, Centipede (Rollerball) +- Street Fighter +- Simpsons, Teenage Mutant Ninja Turtles (4 Person) + +As Prioritized: + +1. Neo Geo (Area 51) +2. 4 Person (Virtua Cop) + +[Category:Previous_Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/Hackersmart.md b/Hackersmart.md new file mode 100755 index 0000000..abc43d7 --- /dev/null +++ b/Hackersmart.md @@ -0,0 +1,46 @@ +HacDC ran [HackersMart, The Hackers Convenience +Store](http://wiki.hope.net/index.php/HackersMart), during The Last +HOPE. Designed to be a "one stop shop" for things attendees might need +and might not be readily available (especially at night), it's a way to +raise money for HacDC and provide a service to conference goers. In the +future, Hackersmart will be traveling to other +[Conferences](Conferences "wikilink"). + +## Hackersmart Lessons Learned + +### Preparation + +- Make sure everyone knows how to operate the [cash + register](cash_register "wikilink"). +- When members are scheduling their travel to and from the event, have + them take into account the time it will take to set up and tear down + the Hackersmart, including hauling and loading boxes. +- Bring only labeled boxes. Keep things sorted as much as possible + throughout the event. Confusion leads to lost sales. +- New customers are like razor-toothed gree worms. They can be + succulent, but sometimes they bite back. + +### Inventory + +- Keep a notepad upon which to record requests. Every time someone asks + for something you don't have, even if it seems like an item you'd + never consider carrying, write it down. Future business ideas start + here. +- Establish a dedicated separate spot for "employees" to leave their + crap so it doesn't get mistaken for inventory. Especially on Sunday as + people check out of their rooms, crap piles up. + +### Pricing + +- Price everything clearly, or mark "make-offer" items as such. +- Get someone familiar with each item to price it. If there's something + unique about an otherwise mundane-looking item, that familiar person + should write it down so that, if they're not available when a customer + wants to haggle, those who *are* available don't unknowingly let it go + too cheap. +- Giving things away can sometimes be much more profitable than selling + them. Handing someone a pair of two-cent LEDs and saying "don't worry + about it" usually got a few quarters or sometimes a whole dollar + thrown in the tipjar. + +[Category:Materiel](Category:Materiel "wikilink") \ No newline at end of file diff --git a/Hacriculum.md b/Hacriculum.md new file mode 100755 index 0000000..069ae13 --- /dev/null +++ b/Hacriculum.md @@ -0,0 +1,88 @@ +Hacriculum is a collaborative effort to develop a comprehensive "hacker +curriculum" that can help to shape well-rounded, imaginative, curious, +and bright people into the hackers of tomorrow by focusing on key +concepts that hackers, makers, and inventors value; Concepts like those +codified in Stephen Levy's Hacker Ethic: sharing, openness, world +improvement, and the technological creation of art and beauty. The +hacriculum will eventually include material appropriate for all levels, +including K-12, as well as higher education and adult students. The +project is wide in scope and initially is being considered in several +stages. + +# Expected Timeline + +### Phase 1: Development + +During the development phase, contributors will establish an +infrastructure for collaboration and begin to brainstorm thoughts about +how to approach the project. Broad overviews of grade and subject matter +will begin to be prepared, and some initial courses will be pilot +tested. + +### Phase 2: After school and weekend short courses for teens and adults + +### Phase 3: Home schooling and Independent Study Lessons + +### Phase 4: Charter School + +### Phase 5: Expansion + +# Funding + +Avenues of funding will be explored, including grants from educational +foundations. Funding could also come from income from tution from short +courses and home schooling lesson sales. A more formal budget will be +put together soon. + +# Participants + +- [Ben Stanfield](User:Ben "wikilink") +- Tino Dai + +# History + +The specific idea of a "hacker curriculum" isn't terribly unique, I've +found. It seems to be on the tip of a lot of minds, but not something +anyone has actually moved from concept to completion. As I've mentioned +the idea over the past few weeks, each time it seems like the response +is "ooh, I've been thinking about things like that," or "I've got a +great idea for how to do that." + +For me, it started several years ago when a friend asked me why there +wasn't more science fiction in high school and college English classes. +After an extended discussion on the idea, it was left to percolate in my +brain for quite awhile, until a casual discussion at HacDC turned to +schooling experiences as another member and I swapped stories of our +different paths in K-12 schools. That led to a discussion of the +Hacriculum idea, and the initial plan presented above. Several weeks +later, in a discussion with an NYC Resistor member, the topic of a +hacker's booklist came up again, and I got a chance to share some of the +ideas for the Hacriculum. + +And then, on July 29, 2008, other HacDC members began to discuss +rudimentary programming technique classes for kids (and adults), and on +the same day Hacriculum.org was registered and this wiki began. + +# Interesting References + +There are many really interesting discussions about what it takes to +become a hacker. One of the ones that I have shared with many interested +kids is from Eric Raymond: +[1](http://www.catb.org/~esr/faqs/hacker-howto.html) It is very good, +covers the range of what it takes to be a software/systems hacker, and +is radical enough to have some street cred. I also really like "Teach +Yourself Programming in only 10 years" at +[2](http://www.norvig.com/21-days.html) but it is a little much for +someone who wants to start hacking today. My current personal favorite +comes in the form of a recent juvenile novel by Cory Doctorow, "Little +Brother" available for a free download at +[3](http://craphound.com/littlebrother/download/) or in hardcopy from +Amazon.com at +[4](http://www.amazon.com/Little-Brother-Cory-Doctorow/dp/0765319853/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1217465350&sr=8-1) +Pretty amazing that a book available for free online is currently Amazon +\#1944 in books overall and \#1 in Computer Books for kids. It goes to +show you how fast the world is changing... The cool thing about the book +is that it gets the tech right, and includes some of what makes being a +hacker important and worthwhile, far beyond just technology. + +[Category:Proposed_Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/HamDesk.md b/HamDesk.md new file mode 100755 index 0000000..e69de29 diff --git a/Hardware_Take_Apart.md b/Hardware_Take_Apart.md new file mode 100755 index 0000000..9e48a83 --- /dev/null +++ b/Hardware_Take_Apart.md @@ -0,0 +1,58 @@ +# Proposal + +This project was originally thought up by JD/Jason (sorry I don't know +your full name). The general idea would be we would pick one item a week +to disassemble, and we would document each step with a text description +and photographs. + +## Proposal Vitals + +**Status**: In Progress, Discussion + +- Project Lead: Derek Cooper +- Proposed Budget: \$ Unknown but enough to cover a domain name and + hosting +- Goals: + - To document hardware with text, photographs and possibly video. + +## Background + +From JD/Jason's original email to HacDC Blabber: + +> After last night's disassembly spree, and reading the "hear the code" +> blog bits, I was thinking it would be interesting to start a "take it +> apart" column. The general idea would be we would pick one item a week +> to disassemble, and we would document each step with a text +> description and photographs. ("First we removed these screws, then we +> found these parts" etc) We will go as in depth as possible with the +> resources and time we have, possibly dumping ROMs (if applicable) and +> linking to processors involved. Ideally we will be able to reassemble +> whatever we've taken apart using the documentation we've produced, but +> that may or may not be applicable depending on the item and how it was +> originally made. As we progressed, we could either produce blog +> entries for the main HacDC page, or possibly in the wiki somewhere. + +On January 24, 2009 I (Derek Cooper) discussed this project with Gareth +Branwyn. Gareth is a member of HacDC and is the online editor of Make +Magazine. He strongly encouraged us to move forward on this and offered +to publicize the project. + +## Considerations + +- We need volunteers. +- Need to setup a mailing list. I'll need to figure out how to do this. +- I'd like to launch a dedicated domain and website so we can encourage + people outside HacDC to contribute. +- If we launch a dedicated website we'd need to come up with a domain + name. Please add to this list: + - Unmakery.org (or some other play on un-make) + - hackwaredb.org +- I need to find a camera. Hopefully we at least have a still camera + somewhere in the workspace. +- Ben built a lightbox which is currently stored on the shelves. I'd + like to connect it, or another lightbox, permanently to the computer. + I'd also like to keep it in a more convenient place. + +## Links + +[Category:Proposed Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/Hardware_compatibility_list.md b/Hardware_compatibility_list.md new file mode 100755 index 0000000..b98078c --- /dev/null +++ b/Hardware_compatibility_list.md @@ -0,0 +1,23 @@ +- Dell Inspiron 1520 + - Intel 3945 wireless chipset + - Broadcom BCM4401-B0 ethernet chipset +- Asus EeePC 900 + - Atheros AR5001 rev. 01 wireless chipset + - Atheros L2 Fast Ethernet rev. a0 ethernet chipset +- HP Pavilion dv6000 + - Atheros AR242x rev. 01 wireless chipset + - nVidia MCP67 rev. a2 ethernet chipset +- Novatech generic laptop + - Atheros AR9285 rev. 01 wireless chipset + - USB tether to Smartphone for Internet uplink (usb0, reported as a + wireless device but still was able to configure as the gateway + device). +- Sony Viao PCG 71312M + - Atheros AR285 Wireless + - Marvell Yukon 88E8059 Gigabit ethernet +- IBM Thinkpad, model unknown + - Intel Advanced-N 6200 wireless chipset (added firmware to Byzantium + Linux) + - Intel 82755LM Gigabit ethernet chipset + +[Category:Byzantium](Category:Byzantium "wikilink") \ No newline at end of file diff --git a/Heroes.md b/Heroes.md new file mode 100755 index 0000000..cfa4231 --- /dev/null +++ b/Heroes.md @@ -0,0 +1,123 @@ +## Hackers + +- [Alan Cox](http://en.wikipedia.org/wiki/Alan_Cox) +- [Richard Stallman](http://en.wikipedia.org/wiki/Richard_Stallman) +- [Limor "Ladyada" Fried](http://www.ladyada.net/) +- [Leah Buchley](http://www.cs.colorado.edu/~buechley/) +- [Mel](http://www.catb.org/jargon/html/story-of-mel.html) +- [Larry Wall](http://www.wall.org/~larry/) +- [Lynn Conway](http://en.wikipedia.org/wiki/Lynn_Conway) +- [The Chaos Computer + Club](http://en.wikipedia.org/wiki/Chaos_Computer_Club) +- [The Lone Gunmen](http://en.wikipedia.org/wiki/Lone_Gunmen) +- [Grace Hopper](http://en.wikipedia.org/wiki/Grace_Hopper) + +## Engineers + +- [Herbie Hancock](http://en.wikipedia.org/wiki/Herbie_Hancock) +- [Buckminster Fuller](http://en.wikipedia.org/wiki/Buckminster_Fuller) +- [Dean Kamen](http://en.wikipedia.org/wiki/Dean_Kamen) +- [Nikola Tesla](http://en.wikipedia.org/wiki/Nikola_Tesla) +- [Radia Perlman](http://en.wikipedia.org/wiki/Radia_Perlman) +- [Steve Wozniak](http://en.wikipedia.org/wiki/Steve_Wozniak) +- [Neil Armstrong](http://en.wikipedia.org/wiki/Neil_Armstrong) +- [Charles + Taylor](https://www.faa.gov/about/office_org/field_offices/fsdo/phl/local_more/media/CT%20Hist.pdf) +- [Wright Brothers](http://en.wikipedia.org/wiki/Wright_Brothers) +- [Ada Lovelace](http://en.wikipedia.org/wiki/Ada_Lovelace) +- [Vint Cerf](http://en.wikipedia.org/wiki/Vinton_Cerf) +- [Elon Musk](http://en.wikipedia.org/wiki/Elon_Musk) + +## Artists + +- [Leonardo daVinci](http://en.wikipedia.org/wiki/Da_vinci) +- [Arthur Ganson](http://www.arthurganson.com/) +- [Theo Jansen](http://en.wikipedia.org/wiki/Theo_Jansen) +- [Magritte](http://en.wikipedia.org/wiki/Magritte) +- [M.C. Escher](http://en.wikipedia.org/wiki/M.C._Escher) +- [Jos De Mey](http://en.wikipedia.org/wiki/Jos_de_Mey) +- [Andy Goldsworthy](http://en.wikipedia.org/wiki/Andy_Goldsworthy) + +## Authors + +- [Aldous Huxley](http://en.wikipedia.org/wiki/Aldous_Huxley) +- [Alice Walker](http://en.wikipedia.org/wiki/Alice_Walker) +- [Douglas Adams](http://en.wikipedia.org/wiki/Douglas_Adams) +- [Neal Stephenson](http://en.wikipedia.org/wiki/Neal_Stephenson) +- [Carl Sagan](http://en.wikipedia.org/wiki/Carl_Sagan) +- [Kevin Kelly](http://en.wikipedia.org/wiki/Kevin_Kelly_(editor)) +- [Stewart Brand](http://en.wikipedia.org/wiki/Stewart_Brand) +- [Philip K. Dick](http://en.wikipedia.org/wiki/Philip_K._Dick) +- [Stanislaw Lem](http://en.wikipedia.org/wiki/Stanislaw_Lem) +- [Cory Doctorow](http://en.wikipedia.org/wiki/Cory_Doctorow) (Urgh, + this guy can drive me nuts - [Bjorn](User:Bjorn "wikilink") 01:24, 12 + June 2008 (UTC)) +- [Terry Goodkind](http://en.wikipedia.org/wiki/Terry_Goodkind) +- [Bruce Sterling](http://en.wikipedia.org/wiki/Bruce_Sterling) +- [Neil Gershenfeld](http://en.wikipedia.org/wiki/Neil_Gershenfeld) +- [Horowitz and Hill, The Art of + Electronics](http://en.wikipedia.org/wiki/The_Art_of_Electronics) +- [Vernor Vinge](http://en.wikipedia.org/wiki/Vernor_Vinge) +- [Douglas Hofstadter](http://en.wikipedia.org/wiki/Douglas_Hofstadter) +- [William Gibson](http://en.wikipedia.org/wiki/William_Gibson) +- [Randall Munroe](https://xkcd.com/) + +## Composers/Musicians + +- [Iannis Xenakis](http://en.wikipedia.org/wiki/Iannis_Xenakis) +- [Grandmaster Flash](http://en.wikipedia.org/wiki/Grandmaster_flash) +- [Wolfgang Amadeus Mozart](http://en.wikipedia.org/wiki/Mozart) +- [Phillip Glass](http://en.wikipedia.org/wiki/Phillip_Glass) +- [Kraftwerk](http://en.wikipedia.org/wiki/Kraftwerk) +- [Brian Eno](http://en.wikipedia.org/wiki/Brian_Eno) +- [Karlheinz + Stockhausen](http://en.wikipedia.org/wiki/Karlheinz_Stockhausen) +- [Tom Lehrer](http://en.wikipedia.org/wiki/Tom_Lehrer) +- [King Tubby](http://en.wikipedia.org/wiki/King_Tubby) +- ["Weird Al" Yankovic](http://www.weirdal.com/) + +## Philosophers + +- [Simone de Beauvoir](http://en.wikipedia.org/wiki/Simone_de_Beauvoir) +- [Bertrand Russel](http://en.wikipedia.org/wiki/Bertrand_Russel) +- [Jean Baudrillard](http://en.wikipedia.org/wiki/Baudrillard) +- [Marshall McLuhan](http://en.wikipedia.org/wiki/McLuhan) +- [Rev. Stang](http://en.wikipedia.org/wiki/Ivan_Stang) +- [Timothy Leary](http://en.wikipedia.org/wiki/Timothy_leary) +- [Karl Popper](http://en.wikipedia.org/wiki/Karl_Popper) +- [Siddhartha Guatama](http://en.wikipedia.org/wiki/Siddhartha_Guatama) +- [Gene Ray](http://en.wikipedia.org/wiki/Gene_Ray) +- [Thomas Kuhn](http://en.wikipedia.org/wiki/Thomas_Kuhn) + +## Scientists + +- [Issac Newton](http://en.wikipedia.org/wiki/Issac_Newton) +- [Michael Faraday](http://en.wikipedia.org/wiki/Faraday) +- [Jame Clerk Maxwell](http://en.wikipedia.org/wiki/James_Clerk_Maxwell) +- [Archimedes](http://en.wikipedia.org/wiki/Archimedes) +- [George Washington + Carver](http://en.wikipedia.org/wiki/George_Washington_Carver) +- [Albert Einstein](http://en.wikipedia.org/wiki/Einstein) +- [Richard Feynman](http://en.wikipedia.org/wiki/Richard_Feynman) +- [Brian Greene](http://en.wikipedia.org/wiki/Brian_Greene) +- [Oliver Sacks](http://en.wikipedia.org/wiki/Oliver_Sacks) +- [Leonardo da Vinci](http://en.wikipedia.org/wiki/Da_vinci) +- [John Archibald + Wheeler](http://en.wikipedia.org/wiki/John_Archibald_Wheeler) +- Moses (yes, that Moses!) (Under 'scientists', really? :-/ + -[User:Gatohaus](User:Gatohaus "wikilink")) +- [Jane Goodall](http://en.wikipedia.org/wiki/Jane_Goodall) +- [Jill Tarter](http://en.wikipedia.org/wiki/Jill_Tarter) +- [Niels Bohr](http://en.wikipedia.org/wiki/Niels_Bohr) + +## Mathematicians + +- [Euler](http://en.wikipedia.org/wiki/Euler) +- [Paul Erdos](http://en.wikipedia.org/wiki/Paul_Erdos) +- [Alan Turing](http://en.wikipedia.org/wiki/Alan_Turing) +- [Edward Lorenz](http://en.wikipedia.org/wiki/Edward_Lorenz) +- [Beno??t + Mandelbrot](http://en.wikipedia.org/wiki/Beno%C3%AEt_Mandelbrot) +- [Kurt Godel](http://en.wikipedia.org/wiki/Godel) + +[Category:HacDC_Culture](Category:HacDC_Culture "wikilink") \ No newline at end of file diff --git a/Hoard.md b/Hoard.md new file mode 100755 index 0000000..fb4b746 --- /dev/null +++ b/Hoard.md @@ -0,0 +1,21 @@ +# Functions + +- File server + +# Access + +Access is provided via tortoise, or unauthenticated services. + +- Samba + - [tortoise](tortoise "wikilink") user shares, public read only, user + read-write (requires setting a samba password). - WIP + - Public read only resource distribution - //hoard/shared + - Public read-write - //hoard/public + +# Admin Notes + +Host machine is [Albert](Albert "wikilink") + +[Category:Infrastructure](Category:Infrastructure "wikilink") +[Category:Servers](Category:Servers "wikilink") +[Category:VMs](Category:VMs "wikilink") \ No newline at end of file diff --git a/Houston_Homes_For_Sale.md b/Houston_Homes_For_Sale.md new file mode 100755 index 0000000..2732009 --- /dev/null +++ b/Houston_Homes_For_Sale.md @@ -0,0 +1,3 @@ +Visit Houston Real Estate website for the best [Houston Homes For +Sale](http://www.westuniversityhoustonproperties.com/), presented by +Houston Broker Nema Ghalamdanchi with 007 Signature Realty Houston, TX. \ No newline at end of file diff --git a/How_do_I_find_my_Kindle_password.md b/How_do_I_find_my_Kindle_password.md new file mode 100755 index 0000000..1051e6f --- /dev/null +++ b/How_do_I_find_my_Kindle_password.md @@ -0,0 +1,289 @@ +How do I find my Kindle password? l8OO982O879 ROOH Kindle customer +service number, Kindle customer support number, Kindle customer care +number PAB UNCCCHow do I find my Kindle password? l8OO982O879 ROOH +Kindle customer service number, Kindle customer support number, Kindle +customer care number PAB UNCCCHow do I find my Kindle password? +l8OO982O879 ROOH Kindle customer service number, Kindle customer support +number, Kindle customer care number PAB UNCCCHow do I find my Kindle +password? l8OO982O879 ROOH Kindle customer service number, Kindle +customer support number, Kindle customer care number PAB UNCCCHow do I +find my Kindle password? l8OO982O879 ROOH Kindle customer service +number, Kindle customer support number, Kindle customer care number PAB +UNCCCHow do I find my Kindle password? l8OO982O879 ROOH Kindle customer +service number, Kindle customer support number, Kindle customer care +number PAB UNCCCHow do I find my Kindle password? l8OO982O879 ROOH +Kindle customer service number, Kindle customer support number, Kindle +customer care number PAB UNCCCHow do I find my Kindle password? +l8OO982O879 ROOH Kindle customer service number, Kindle customer support +number, Kindle customer care number PAB UNCCCHow do I find my Kindle +password? l8OO982O879 ROOH Kindle customer service number, Kindle +customer support number, Kindle customer care number PAB UNCCCkindle +support kindle support phone number kindle tech support kindle tech +support number kindle tech support phone number kindle customer support +kindle help number amazon toll free number kindle customer service +amazon kindle support amazon customer service phone number amazon +helpline call amazon amazon customer support amazon contact no amazon +telephone number amazon chat amazon call center amazon helpline number +amazon kindle help amazon kindle customer service Help amazon kindle +customer support number USA Kindle helpline number CAll amazon kindle +tech support number Kindle fire technical support number + +`kindle fire customer service telephone number kindle amazon support number  kindle amazon support phone number` +`amazon kindle fire support phone number kindle tech support number kindle technical support number kindle helpline number` +`kindle support telephone number kindle help desk number kindle tech support number kindle technical support number Kindle customer support number` + +Kindle password support number Kindle is not working kindle freezes +Kindle restart kindle reset support number Kindle password support +number Kindle is not working kindle freezes Kindle restart kindle reset +support number Kindle password support number Kindle is not working +kindle freezes Kindle restart kindle reset support number Kindle +password support number Kindle is not working kindle freezes Kindle +restart kindle reset support number Kindle password support number +Kindle is not working kindle freezes Kindle restart kindle reset support +number Kindle password support number Kindle is not working kindle +freezes Kindle restart kindle reset support number Kindle password +support number Kindle is not working kindle freezes Kindle restart +kindle reset support number Kindle password support number Kindle is not +working kindle freezes Kindle restart kindle reset support number Kindle +password support number Kindle is not working kindle freezes Kindle +restart kindle reset support number Kindle password support number +Kindle is not working kindle freezes Kindle restart kindle reset support +number Kindle password support number Kindle is not working kindle +freezes Kindle restart kindle reset support number Kindle password +support number Kindle is not working kindle freezes Kindle restart +kindle reset support number Kindle password support number Kindle is not +working kindle freezes Kindle restart kindle reset support number Kindle +password support number Kindle is not working kindle freezes Kindle +restart kindle reset support number Kindle password support number +Kindle is not working kindle freezes Kindle restart kindle reset support +number Kindle password support number Kindle is not working kindle +freezes Kindle restart kindle reset support number Kindle password +support number Kindle is not working kindle freezes Kindle restart +kindle reset support number Kindle password support number Kindle is not +working kindle freezes Kindle restart kindle reset support number Kindle +password support number Kindle is not working kindle freezes Kindle +restart kindle reset support number Kindle password support number +Kindle is not working kindle freezes Kindle restart kindle reset support +number Kindle password support number Kindle is not working kindle +freezes Kindle restart kindle reset support number Kindle password +support number Kindle is not working kindle freezes Kindle restart +kindle reset support number Kindle password support number Kindle is not +working kindle freezes Kindle restart kindle reset support number Kindle +password support number Kindle is not working kindle freezes Kindle +restart kindle reset support number + +`kindle amazon support phone number` +`amazon kindle fire support phone number` +`amazon com kindle support telephone number` +`amazon Kindle helpline telephone number USA  amazon Kindle fire helpline phone number  ` +`amazon Kindle customer service phone number usa    ` +`Kindle helpline phone number usa     ` +`Kindle helpline telephone number     ` +`Kindle assistance phone number     ` +`Kindle fire helpline phone number     ` +`amazon Kindle helpline phone number ` +`Kindle fire helpline phone number usa     ` +`amazon Kindle helpline telephone number USA  amazon Kindle fire helpline phone number  Kindle helpline phone number     ` +`Kindle customer service phone number usa    ` +`kindle customer support telephone number     ` +`amazon Kindle customer service phone number usa` +`Kindle touch customer service phone number` +`Kindle customer care phone number` +`Kindle customer service phone number amazon     ` +`amazon Kindle customer support phone number   amazon Kindle customer service phone number usa ` +`amazon Kindle customer service phone number  amazon Kindle customer service phone number  Kindle customer service number USA  Kindle fire helpline phone number` + +Call Kindle fire tech support phone number USA Kindle fire technical +support number Kindle fire technical Support Number Call Amazon KINDLE +Customer Service Phone Number USA KINDLE Customer support Number USA +CALLUSA Toll Free Kindle customer support phone number USA Kindle tech +support toll free number in usa CALLUS Toll Free Kindle technical +support USA Kindle customer service contact number + +`what is Kindle support customer care phone number?` +`Kindle customer service telephone number USA Kindle technical issues phone number` + +Call Amazon Kindle fire tech support phone number USA Kindle fire +technical support number Kindle fire technical Support Number USA + +`Kindle fire technical support phone number  help desk phone number Kindle fire Toll Free Intuit - Kindle fire Tech Support Phone Number provides online solution for all USA clients  For any help of query call   to get all Kindle fire account solution Call   for all type help by Kindle fire tech support phone number Intuit Kindle fire Tech Support Phone Number  Kindle fire Help Desk Phone Number Kindle fire tech support number Kindle fire technical support phone number   Kindle fire phone number Kindle fire technical support number Kindle fire support phone number Kindle fire technical support Kindle fire Customer Service Phone Number Kindle fire Customer Service Number Kindle fire Customer Support Phone Number   Kindle fire Customer Support Number Kindle fire Customer Service Helpline Number Kindle fire Customer Care Number Kindle fire support team phone number   Intuit- Kindle fire Technical Support Number provides online solution for all USA clients For any help of query call   to get all Kindle fire account solution Call   for all type help by Kindle fire support telephone number Kindle fire help phone number Kindle fire technical support numberKindle fire support number Kindle fire phone number Kindle fire tech support number Kindle fire customer support number Kindle fire customer support phone number Kindle fire customer service phone number Kindle fire payroll customer service phone number Kindle fire support phone number  Kindle fire help number-Kindle fire Helpline Number Kindle fire help phone number-Kindle fire Helpline Number Kindle fire Tech Support Toll free Number Kindle fire Support Telephone Number Kindle fire Tech Support Telephone number Kindle fire Tech Support contact number Kindle fire support contact number Kindle fire technical support contact number Kindle fire help desk phone number Kindle fire support telephone number Kindle fire help phone number Kindle fire technical support numberKindle fire support number Kindle fire phone number Kindle fire tech support number Kindle fire customer support number Kindle fire customer support phone number Kindle fire customer service phone number Kindle fire payroll customer service phone number   Kindle fire help number-Kindle fire Helpline Number Kindle fire help phone number-Kindle fire Helpline Number Kindle fire Tech Support Toll free Number Kindle fire Support Telephone Number Kindle fire Tech Support Telephone number Kindle fire Tech Support contact number Kindle fire support contact number Kindle fire technical support contact number` + +? Call Kindle fire tech support phone number Intuit Kindle fire Tech +Support Phone Number Kindle fire Help Desk Phone Number Kindle fire tech +support number Kindle fire technical support phone number Kindle fire +phone number Kindle fire technical support number Kindle fire support +phone number It is very popular toll free number which provide by Kindle +fire technical support Kindle fire Customer Service Phone Number Kindle +fire Customer Service Number Kindle fire Customer Support Phone Number +Kindle fire Customer Support Number Kindle fire Customer Service +Helpline Number Kindle fire Customer Care Number Kindle fire support +team phone number Call Kindle fire tech support phone number Intuit +Kindle fire Tech Support Phone Number Kindle fire Help Desk Phone Number +Kindle fire tech support number Kindle fire technical support phone +number Kindle fire phone number Kindle fire technical support number +Kindle fire support phone number Kindle fire technical support Kindle +fire Customer Service Phone Number Kindle fire Customer Service Number +Kindle fire Customer Support Phone Number Kindle fire Customer Support +Number Kindle fire Customer Service Helpline Number Kindle fire Customer +Care Number Kindle fire support team phone number Kindle fire help +number-Kindle fire Helpline Number USA Kindle fire help phone number +Kindle fire Helpline Number Kindle fire Tech Support Toll free Number +Kindle fire Support Telephone Number Kindle fire Tech Support Telephone +number Kindle fire Tech Support contact number Kindle fire support +contact number Kindle fire technical support contact number Kindle fire +support phone number Kindle fire payroll support phone number Kindle +fire payroll customer support phone number Kindle fire installation +error help number USA Kindle fire Help Desk Phone Number USA Kindle fire +installation help number Kindle fire Support Helpline Number Kindle fire +contact number Kindle fire tech support phone number Intuit Kindle fire +Tech Support Phone Number Kindle fire Help Desk Phone Number + +`Kindle fire tech support number` +`Kindle fire technical support phone number` +`Kindle fire phone number` +`Kindle fire technical support number` + +Kindle fire support phone number + +`Kindle fire technical support` +`Kindle fire Customer Service Phone Number` +`Kindle fire Customer Service Number` +`Kindle fire Customer Support Phone Number` +`Kindle fire Customer Support Number` +`Kindle fire Customer Service Helpline Number` +`Kindle fire Customer Care Number` +`Kindle fire support team phone number` + +Kindle fire help number Kindle fire Helpline Number Kindle fire help +phone number + +`Kindle fire Helpline Number` +`Kindle fire Tech Support Toll free Number` +`Kindle fire Support Telephone Number` +`Kindle fire Tech Support Telephone number` + +Kindle fire Tech Support contact number Kindle fire support contact +number + +`Kindle fire technical support contact number` +`Kindle fire Support Helpline Number` + +Kindle fire contact number USA Kindle fire Kindle fire customer support +phone number USA Kindle fire customer service phone number USA Kindle +fire Kindle fire customer support phone number Kindle fire customer +service phone number USA Kindle fire Kindle fire customer support phone +number Kindle fire customer service phone number Kindle fire support +technical support phone number Kindle fire customer support phone +numberCall + +`Kindle fire service phone numberCall` +`Kindle fire support phone numberCall ` +`Kindle fire support phone numberCall ` +`Kindle fire support phone numberCall ` +`Kindle fire support phone numberCall ` +`Kindle fire support phone numberCall ` +`Kindle fire support phone numberCall     ` +`Kindle fire support phone number  Intuit Kindle fire Toll Free Intuit+- Intuit Kindle fire Tech Support Phone Number provides online solution for all USA clients For any help of query call  55  to get all Intuit Kindle fire account solution Call +  for all type help by Intuit Kindle fire tech support phone number Intuit Kindle fire Tech Support Phone Number Intuit Kindle fire Help Desk Phone Number Intuit Kindle fire tech support number Intuit Kindle fire technical support phone number Intuit Kindle fire phone number Intuit Kindle fire technical support number Intuit Kindle fire support phone number Intuit Kindle fire technical support Intuit Kindle fire Customer Service Phone Number Intuit Kindle fire Customer Service Number Intuit Kindle fire Customer Support Phone Number` + +Kindle tech support toll free number in usa Kindle tech support phone +number Kindle tech support phone number Kindle technical support phone +number Kindle help phone number Kindle tech support number Kindle +telephone support number Kindle support contact number Kindle customer +support phone number Kindle problems Kindle tech support Kindle +technical support Kindle toll free number + +`Kindle com customer service phone number` + +Kindle contact phone number Kindle contact telephone number Kindle +customer service contact number Kindle customer service phone number +Kindle customer services Kindle customer support Kindle customer support +number Kindle customer support phone number Kindle tech support +assistant Kindle technical issues Kindle technical issues number + +`Kindle technical issues phone number` + +Kindle helpline phone Kindle helpline phone number Kindle helpline +number Kindle helpline telephone + +`Kindle helpline telephone number` + +Kindle popup number Kindle popup phone + +`Kindle Amazon technical problems helpline number USA` + +Kindle technical problems helpline phone Kindle technical problems +helpline phone number Kindle technical problems helpline telephone + +`Kindle technical problems helpline telephone number USA` + +Kindle technical error helpline number Kindle technical error helpline +phone Call Kindle technical error helpline phone number USA Kindle +technical issues phone number USA + +`Kindle technical error helpline telephone` +`Kindle Amazon technical error helpline telephone USA` +`USA kindle fire troubleshooting black screen kindle fire troubleshooting won't turn on` + +Call kindle fire troubleshooting won't turn on kindle fire +troubleshooting black screen Call amazon kindle fire troubleshooting +won't turn on kindle paperwhite won't turn on Call how to get your +kindle fire to turn on kindle paperwhite won't turn on Call if your +kindle fire hd wont turn on kindle paperwhite won't turn on Call kindle +paperwhite won't turn on Call kindle paperwhite won't turn on while +charging + +`USAkindle paperwhite won't turn on or charge` +`kindle paperwhite won't turn on after charging kindle paperwhite battery won't charge` +`USA How do you reset a kindle paperwhite?` +`USA kindle paperwhite charging light not green kindle paperwhite battery won't charge` +`USA kindle paperwhite battery won't charge kindle paperwhite charging light not green` + +Kindle Fire Customer Support 1\*800+982-0879 may i help u kindle fire +tech support phone number plezz come me fast KINDLE FIRE TECH SUPPORT +PHONE NUMBER kindle'phone'number 1-800-982-0879 kindle'phone'number +1-800-982-0879 kindle'phone'number 1-800-982-0879 Kindle Customer +Service Phone Number Kindle Support Number Kindle Help Phone Number +Kindle Fire Support Number Kindle Fire Support Phone Number Kindle Help +Number Kindle Customer Support Phone Number Kindle Fire Customer Service +Number Kindle Fire Help Number Kindle Fire Customer Support Kindle fire +support number\>\> Kindle fire support number\>\> Kindle Tech Support +Number Kindle Tech Support Phone Number Kindle Technical Support Phone +Number Kindle Fire Customer Service Phone Number Kindle Fire Tech +Support Phone Number Kindle Customer Service Phone Phone Number For +Kindle Support Kindle Fire Technical Support Phone Number Kindle Support +Telephone Number Kindle Technical Support Number 1-800-982-0879) Kindle +fire Customer service number, Kindle fire customer care number +1-800-982-0879) HD HXZ & Paperwhite Amazon Kindle fire Customer support +phone number 1-800-982-0879) Kindle Tech support number 1-800-982-0879) +Kindle fire support number 1-800-982-0879) Kindle fire support phone +number 1-800-982-0879) Kindle fire help desk number 1-800-982-0879) +phone number for kindle fire technical support 1-800-982-0879) phone +number for kindle fire customer service Kindle Support Phone Number +Kindle Phone Number Kindle Customer Service Phone Number Kindle Support +Number Kindle Help Phone Number Kindle Fire Support Number Kindle Fire +Support Phone Number Kindle Help Number Kindle Customer Support Phone +Number Kindle Fire Customer Service Number Kindle Fire Help Number +Kindle Fire Customer Support Kindle Fire Phone Number Kindle Tech +Support Number Kindle Tech Support Phone Number Kindle Technical Support +Phone Number Kindle Fire Customer Service Phone Number Kindle Fire Tech +Support Phone Number Kindle Customer Service Phone Kindle Fire Customer +Service Phone Number Kindle Fire Tech Support Phone Number Kindle +Customer Service Phone kindle customer service amazon kindle support +kindle customer service number kindle help phone number kindle tech +support kindle fire customer service kindle support phone number kindle +customer service phone number kindle phone number kindle fire tech +support kindle support number amazon kindle phone number amazon kindle +support phone number amazon kindle help amazon kindle support number +contact kindle kindle customer support kindle contact number kindle help +desk kindle fire customer service number kindle tech support number +kindle help number kindle fire tech support phone number kindle problems +kindle fire customer service phone number kindle support telephone +number phone number for amazon kindle kindle fire customer support +kindle customer support phone number kindle fire tech support number +kindle help desk number kindle fire help desk phone number kindle +customer service phone contact kindle support kindle customer support +number kindle help support kindle helpline phone number kindle fire help +phone number phone number for kindle customer service kindle fire help +support call kindle support kindle support contact Kindle fire support +number\>\> +1-800-982-0879 regarded== Martix FXloxi thanku foe call +kindle fire tech \ No newline at end of file diff --git a/How_to_Run_an_Event.md b/How_to_Run_an_Event.md new file mode 100755 index 0000000..6e32970 --- /dev/null +++ b/How_to_Run_an_Event.md @@ -0,0 +1,67 @@ +Note: non-public events and charging participants more than the cost of +materials are strongly discouraged at HacDC. + +1. Have an idea for an event. :) If your event is a [kit + build](Running_a_Kit_Build "wikilink") or [lightning + talks](LightningTalks_Howto "wikilink"), we have particular tips for + you in addition to the ones on this page. If you're running a class, + add the class description, including date and time and anything + participants should bring, to + [:Category:Classes](:Category:Classes "wikilink"). +2. Plan where and how to present your content. Options include the + space's meeting room or workshop, the + [auditorium](http://www.saintstephensdc.org/Meeting_Auditorium.html) + (capacity: 200 people standing; 150 sitting in chairs in rows; 70 + sitting at tables), the + [sanctuary](http://www.saintstephensdc.org/Meeting_Church.html) + (capacity: 200 people sitting in pews; another 300 can stand or sit + on floor), and the [dining + room](http://www.saintstephensdc.org/Meeting_DiningRoom.html) + (capacity: 300 people standing; 220 sitting in chairs in rows; 175 + sitting at tables). +3. Assemble any necessary parts. +4. Schedule a time + 1. Use [the church's + calendar](http://www.saintstephensdc.org/calendars.html) if you + want to use the church's auditorium, dining room, or sanctuary. + 2. **Use the [the HacDC event + calendar](http://www.hacdc.org/calendar) to choose a date and + time.** Please try not to overlap with other HacDC events. Also, + please try to give potential participants at least a week's + notice. + 3. If you're not sure when to have your event, consider posting a + poll to help you decide. [Doodle](http://doodle.com/) is one + free and easy service for doing so. +5. Publicize! + 1. Send an e-mail to HacDC's public announcements, + blabber@hacdc.org and (optionally, and an option only if sender + is a current member) private members@hacdc.org, mailing lists. + 2. Blog it on our Wordpress site (every member is entitled to a + login for [our Wordpress + dashboard](http://www.hacdc.org/wp-admin/)). That automatically + [tweets it](https://twitter.com/hacdc) and sends an e-mail to + HacDC's public blabber@ list via [If This Then + That](https://ifttt.com). + 3. Create a [HacDC Meetup](http://www.meetup.com/hac-dc/) event, + which automatically adds it to the [the HacDC event + calendar](http://www.hacdc.org/calendar). + 4. Consider notifying other groups whose members might be + interested. One place to check is [this list of DC-area geeky + groups](http://barcamp.pbwiki.com/DC-Area-Geeky-Groups). + 5. Get it listed on [DC Tech Events](http://dctechevents.com/) and, + if possibly applicable to artists, send it to the [DorkbotDC + Blabber](http://dorkbot.org/mailman/listinfo/dorkbotdc-blabber/) + mailing list or let the overlord(s) know: dorkbotdc \[at\] + dorkbot \[dot\] org. +6. Post signs (e.g., on the red door) directing attendees who've never + been to HacDC before. +7. Run the event. Share your knowledge. Have fun. [Take some + pictures.](http://www.flickr.com/groups/hacdc/) + 1. At the event, please tell the participants who aren't members + about what HacDC is and ask them to consider joining or donating + to us. Not confident with your impromptu asking-for-money + skills? Try our pre-scripted [Spiel](Spiel "wikilink"). +8. How did it go? [Blog](http://hacdc.org/) it! Have suggestions for + next time? Add them here! + +[Category:Event Planning](Category:Event_Planning "wikilink") \ No newline at end of file diff --git a/IPset.md b/IPset.md new file mode 100755 index 0000000..0983683 --- /dev/null +++ b/IPset.md @@ -0,0 +1,54 @@ +Because [IPset](http://ipset.netfilter.org/) is both a userspace utility +and a set of kernel modules, it poses something of a challenge to +compile. Here's how I did it: + +- Note that there are two extant versions of IPset that are designed + with different releases of the Linux kernel in mind: + - v4.5 is for Linux kernel \>= v2.6.16 + - v6.10 is for Linux kernel \>= v2.6.**35** + - This version requires that a patch be applied to the kernel to + implement the IPset functionality before it'll work. Let's try + this last. + - The SlackBuild script checked into Git needs to be updated! +- I used [this + procedure](http://porteus.org/info/docs/51-development/91-compilation-and-usage-of-custom-porteus-kernel.html) + to compile a Porteus kernel. Note that we're not actually replacing + 000-kernel.xzm, but a fully configured and compiled kernel has to + exist on the system for IPset to compile. You just have to compile it, + not install it, not install new modules, and not rebuild + 000-kernel.xzm. + - Don't forget to run **make modules**! +- Once the kernel is compiled but not installed (on Windbringer running + VirtualBox this took about five hours) download and uncompress the + appropriate version of IPset. +- I edited the Makefile to change the value of PREFIX to "/usr". I + recommend that you do this. +- **su -** +- **make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8** +- Pay close attention. If everything goes as planned it won't take long + to build. +- If you do not start seeing output to the effect of **CC \[M\] + /home/guest/tmp/ipset-4.5/kernel/ip_set.o** you forgot to run **make + modules**. IPset will not work. +- Now install the utility and kernel modules into a fakeroot so they can + be packaged: + +` `**`DESTDIR=/tmp/fakeroot make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8 install`** + +- Now you have to manually package the kernel modules: + +` `**`mkdir -p /tmp/fakeroot/lib/modules/2.6.38.8-porteus/extra/`** +` `**`cp /lib/modules/2.6.38.8-porteus/extra/ip* /tmp/fakeroot/lib/modules/2.6.38.8-porteus/extra`** + +- If no files exist in the fakeroot directory + */tmp/fakeroot/lib/modules/2.6.38.8-porteus/extra* then the kernel + modules will not be packaged and IPset will not work. +- Strip the ipset binary to save space: + +` '`*`'strip /tmp/fakeroot/usr/sbin/ipset`* + +- If they do exist, build the .xzm package: + +` `**`dir2xzm /tmp/fakeroot /tmp/ipset-4.5.xzm`** + +[Category:Byzantium](Category:Byzantium "wikilink") \ No newline at end of file diff --git a/Ics.php.md b/Ics.php.md new file mode 100755 index 0000000..d8642c6 --- /dev/null +++ b/Ics.php.md @@ -0,0 +1,150 @@ +This code still needs to be cleaned up some. + +- Note, this script requires: + [Drupal.login.php](Drupal.login.php "wikilink") + + + + +include('Drupal.login.php'); + +\$ics_contents = "BEGIN:VCALENDAR\n"; +\$ics_contents .= "VERSION:2.0\n"; +\$ics_contents .= "PRODID:PHP\n"; +\$ics_contents .= "METHOD:PUBLISH\n"; +\$ics_contents .= "X-WR-CALNAME:HacDC Schedule\n"; + +\# Change the timezone as well daylight settings if need be +\$ics_contents .= "X-WR-TIMEZONE:America/New_York\n"; +\$ics_contents .= "BEGIN:VTIMEZONE\n"; +\$ics_contents .= "TZID:America/New_York\n"; +\$ics_contents .= "BEGIN:DAYLIGHT\n"; +\$ics_contents .= "TZOFFSETFROM:-0500\n"; +\$ics_contents .= "TZOFFSETTO:-0400\n"; +\$ics_contents .= "DTSTART:20070311T020000\n"; +\$ics_contents .= "RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\n"; +\$ics_contents .= "TZNAME:EDT\n"; +\$ics_contents .= "END:DAYLIGHT\n"; +\$ics_contents .= "BEGIN:STANDARD\n"; +\$ics_contents .= "TZOFFSETFROM:-0400\n"; +\$ics_contents .= "TZOFFSETTO:-0500\n"; +\$ics_contents .= "DTSTART:20071104T020000\n"; +\$ics_contents .= "RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\n"; +\$ics_contents .= "TZNAME:EST\n"; +\$ics_contents .= "END:STANDARD\n"; +\$ics_contents .= "END:VTIMEZONE\n"; + +\$events = mysql_query("SELECT +node.nid AS nid, +node.title AS title, +node.changed as node_changed, +node.type AS node_type, +node.vid AS node_vid, +content_field_date.field_date_value as Start, +content_field_date.field_date_value2 as End +FROM (node +left join content_field_date on node.vid = content_field_date.vid) +WHERE type = 'event' +ORDER BY Start +"); + +function clean_url(\$desc) { +\$desc = html_entity_decode(\$desc); +\$desc = strip_tags(\$desc); +\$desc = ereg_replace("\[^A-Za-z0-9 +-\|=\`~!@#\$%^&\*()_+,./?\>\<:;'{}\]", "", \$desc ); +return \$desc; +} + +while (\$schedule_details = mysql_fetch_assoc(\$events)) { + +if (date('T', strtotime(\$schedule_details\['Start'\])) == "EDT") { +\$Offset = 4\*60\*60; +} else { +\$Offset = 5\*60\*60; +} +\$Start = strtotime(\$schedule_details\['Start'\])-\$Offset; +\$End = strtotime(\$schedule_details\['End'\])-\$Offset; + + +\$desc1 = mysql_query("SELECT \* from node_revisions +WHERE +nid = '".\$schedule_details\['nid'\]."' and +vid = '".\$schedule_details\['node_vid'\]."'"); + +\$desc1 = mysql_fetch_assoc(\$desc1); + +\$Yr = date(Y,\$Start); +\$Mo = date(m,\$Start); +\$Day = date(d,\$Start); +\$Hr = date(H,\$Start); +\$Min = date(i,\$Start); +\$Yr1 = date(Y,\$End); +\$Mo1 = date(m,\$End); +\$Day1 = date(d,\$End); +\$Hr1 = date(H,\$End); +\$Min1 = date(i,\$End); + +\$id = \$schedule_details\['nid'\]; +\$start_date = \$Yr."-".\$Mo."-".\$Day; +\$start_time = \$Hr.":".\$Min.":00"; +\$end_date = \$Yr1."-".\$Mo1."-".\$Day1; +\$end_time = \$Hr1.":".\$Min1.":00"; + +\$category = "HacDC"; +\$name = \$schedule_details\['title'\]; +\$location = "1525 Newton St NW, Washington DC 20010 (Near corner of +16th and Newton NW)"; +\$description = clean_url(strip_tags(\$desc1\['body'\])); + +\# Remove '-' in \$start_date and \$end_date +\$estart_date = str_replace("-", "", \$start_date); +\$eend_date = str_replace("-", "", \$end_date); + +\# Remove ':' in \$start_time and \$end_time +\$estart_time = str_replace(":", "", \$start_time); +\$eend_time = str_replace(":", "", \$end_time); + +\# Replace some HTML tags +\$name = str_replace(" +", "\\r\\n", \$name); +\$name = str_replace("&", "&", \$name); +\$name = str_replace("→", "--\>", \$name); +\$name = str_replace("←", "\<--", \$name); +\$name = str_replace(",", "\\,", \$name); +\$name = str_replace(";", "\\;", \$name); + +\$location = str_replace(" +", "\\r\\n", \$location); +\$location = str_replace("&", "&", \$location); +\$location = str_replace("→", "--\>", \$location); +\$location = str_replace("←", "\<--", \$location); +\$location = str_replace(",", "\\,", \$location); +\$location = str_replace(";", "\\;", \$location); + +\$description = str_replace(" +", "\\r\\n", \$description); +\$description = str_replace("&", "&", \$description); +\$description = str_replace("→", "--\>", \$description); +\$description = str_replace("←", "\<--", \$description); +\$description = str_replace("", "", \$description); +\$description = str_replace("", "", \$description); + +\# Change TZID if need be +\$ics_contents .= "BEGIN:VEVENT\r\n"; +\$ics_contents .= "DTSTART;TZID=America/New_York:" . \$estart_date . +"T". \$estart_time . "\r\n"; +\$ics_contents .= "DTEND;TZID=America/New_York:" . \$eend_date . "T". +\$eend_time . "\r\n"; +\$ics_contents .= "DTSTAMP:" . date('Ymd') . "T". date('His') . +"Z\r\n"; +\$ics_contents .= "SUMMARY:" . \$name . "\r\n"; +\$ics_contents .= "LOCATION:" . \$location . "\r\n"; +\$ics_contents .= "DESCRIPTION:" . \$description . "\r\n"; +\$ics_contents .= "UID:" . \$id .rand(0,9999). "\r\n"; +\$ics_contents .= "SEQUENCE:0\r\n"; +\$ics_contents .= "END:VEVENT\r\n"; +} +\$ics_contents .= "END:VCALENDAR\r\n"; + +echo \$ics_contents; \ No newline at end of file diff --git a/Implants.md b/Implants.md new file mode 100755 index 0000000..edc7fc9 --- /dev/null +++ b/Implants.md @@ -0,0 +1,4 @@ +Deprecated by [:Category:Implants](:Category:Implants "wikilink") + +[Category:Candidates for +deletion](Category:Candidates_for_deletion "wikilink") \ No newline at end of file diff --git a/Infrastructure.md b/Infrastructure.md new file mode 100755 index 0000000..7578d98 --- /dev/null +++ b/Infrastructure.md @@ -0,0 +1,5 @@ +## Notes on the infrastructure at the space. + +[WRTKVM](WRTKVM "wikilink") on the project server (eventually). +[PowerRailDisplay](PowerRailDisplay "wikilink") in the classroom area +(eventually). [Projector](Projector "wikilink") \ No newline at end of file diff --git a/Installing_AVR_Toolchain.md b/Installing_AVR_Toolchain.md new file mode 100755 index 0000000..34dd1fe --- /dev/null +++ b/Installing_AVR_Toolchain.md @@ -0,0 +1,176 @@ +# Introduction + +There are a few pieces of software you'll definitely want for AVR +programming: + +- A compiler and/or assembler + ([avr-gcc](http://www.nongnu.org/avr-libc/)) to convert human-readable + code to binary +- Manipulation of binaries + ([binutils-avr](http://www.nongnu.org/avr-libc/)). You'll need to + convert from the ELF file to something your chip will like. +- Something to talk to your AVR programmer + ([AVRDUDE](http://www.bsdhome.com/avrdude/)), that is the piece of + hardware you plug into both your computer and the chip you want to + program. +- Not required, but something to make your life easier: ([GNU + make](http://www.gnu.org/software/make/)) + +Note that both avr-gcc and binutils-avr come from the +[avr-libc](http://www.nongnu.org/avr-libc/) project. avr-libc itself +isn't software per-se; it's a library that implements standard C +functions for AVRs. + +# Installation + +## Linux + +### Ubuntu + +Install the following packages: + +- avrdude +- avrdude-doc +- binutils-avr +- avr-libc +- gcc-avr + +You can get them in one shot using: + +`sudo aptitude install avrdude avrdude-doc binutils-avr avr-libc gcc-avr` + +### Gentoo + +Install the following packages: + +- dev-embedded/avrdude +- sys-devel/crossdev + +Run (as root): + +`crossdev -t avr` + +This will install cross-avr/gcc, cross-avr/binutils, and +cross-avr/avr-libc (pulled from an avr portage overlay). + +Finally, the following command is necessary to make the linker happy +(again, as root): + +`ln -s /usr/lib/binutils/avr/2.21/ldscripts /usr/x86_64-pc-linux-gnu/avr/binutils-bin/2.21/ldscripts` + +You'll want to adjust the path above to match your architecture and +binutils version. + +## OS X + +> NOTE: In trying to program the AVR without using CrossPack (below), we +> were unable to get OS X to recognize the FTDI device until we +> installed FTDI USB Serial drivers. The easiest way to do this is to +> download the [latest Arduino installer +> archive](http://arduino.cc/en/Main/Software) and installing the +> FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg (its name as of 3/27/11) from +> it. + +[CrossPack](http://www.obdev.at/products/crosspack/index.html) Will take +care of you. It doesn't require you to have Xcode installed, but if you +do, you can do your development in Xcode and run your makefile from that +IDE. If you have an open terminal.app session open when you install it, +you'll need to reload your .profile to use crosspack. + +**You don't have to use the crosspack tools to manage a build projects, +you can use elliots makefile as well. You'll need to modify it +appropriately** + +When you install crosspack, you'll be presented with documentation in +your web browser. These docs are also located at +/Applications/Crosspack-AVR-Manual.html. This is important, as the +Crosspack docs are not on the www.obdev.at site :\\ + +### Making Crosspack projects work with Elliot's boards + +Follow the crosspack 'getting started' section to create your first +hello world project. + +First, make a demo project. + + bash$ cd ~/Documents + bash$ mkdir AVR + bash$ cd AVR + bash$ avr-project Demo + bash$ open Demo + bash$ cd Demo + bash$ ls -l + drwxr-xr-x 5 cs cs 170 Nov 19 13:58 Demo.xcodeproj + drwxr-xr-x 4 cs cs 136 Nov 19 13:58 firmware + bash$ cd firmware + bash$ ls -l + -rw-r--r-- 1 cs cs 4139 Nov 19 13:58 Makefile + -rw-r--r-- 1 cs cs 348 Nov 19 13:58 main.c + +You can see, your code lives in the projects' firmware folder. You can +replace the code (\*.c) as you please with whatever blinkenlights +project you see fit. You'll want to open up the Makefile and edit two +lines - the DEVICE and PROGARMMER line. The device we are using is the +"atmega88". The programmer needs to be set to avr109, the baud rate to +9600, and the port to whatever your /tty.usbserial device (read: FTDI +cable) is called. Mine shows up as /dev/tty.usbserial-FTEA4CYY, yours +may very well show up with a different name. + + DEVICE = atmega88 + CLOCK = 8000000 + PROGRAMMER = -c avr109 -P /dev/tty.usbserial-FTEA4CYY -b 9600 + OBJECTS = main.o + FUSES = -U hfuse:w:0xd9:m -U lfuse:w:0x24:m\ + +One you've edited your make file, you can run the following commands + + make + make flash + +Make will compile the c code into object code and then to the correct +HEX code for the device. Make flash will try to program the code. Make +sure you've held down reset and button A in order to let the device +reset into programming mode! Grab Elliots blinking led code and try it +out! + +-Will + +## Windows + +[WinAVR](http://winavr.sourceforge.net/) has everything you need. + +For the programmer type, select AVR109 or Butterfly. For the serial +port, select the USB device. + +# Special-Needs Hardware + +#### Atmel Dragon Hardware Programmer with avrdude on Ubuntu + +Apparently there are two bugs that get in the way when trying to use +avrdude with the dragon. + +- avrdude 5.8 (via apt-get) segfaults after writing 1 byte: + - there is a patch for 5.8 + posted there +- avrdude 5.9 (via the official site) source apparently has some other + bug that prevents the build from completing + +First, get the dependencies for building the code. + +`sudo apt-get build-dep avrdude` + +The solution (aside from applying patches to the above versions) is to +use the patched 5.10 SVN code. The instructions are from this link: + + +- svn co . +- cd avrdude +- ./bootstrap +- ./configure +- ./make +- sudo ./make install + +That seems to have worked for me! I'm on 9.04 32bit and I also installed +bison/flex/autoconf --obscurite + +[Category:Microcontrollers](Category:Microcontrollers "wikilink") \ No newline at end of file diff --git a/Installing_Python_and_Pygame.md b/Installing_Python_and_Pygame.md new file mode 100755 index 0000000..cceca52 --- /dev/null +++ b/Installing_Python_and_Pygame.md @@ -0,0 +1,33 @@ +## Windows + +You can download python from [Python 2.7 +release](http://python.org/download/releases/2.7.1/), get the Windows +installer and run it. + +After that, you are ready to install pygame, which can be obtained from +[Pygame releases for Windows](http://www3.telus.net/len_l/pygame/), make +sure you get the one for 2.7. Once you run the installer you should be +good to go. + +## Mac osx + +**OS X 10.6.\* (Snow Leopard)** You already have python 2.6 installed. +You need only then to download the pygame installer at [Pygame +releases](http://www.pygame.org/download.shtml), you will find the snow +leopard installer at the bottom of the OS X section. + +**OS X 10.5 and below** Earlier versions are running an older version of +python, so you may want to install python +[2.6](http://python.org/download/releases/2.7.1/) or +[2.7](http://python.org/download/releases/2.7.1/) and follow that with +the appropriate pygame installer from [Pygame +releases](http://www.pygame.org/download.shtml) + +## Linux + +If you are running a recent version of your distro, chances are you may +already have python 2.6 or 2.7 installed. If that is the case you can go +ahead and install pygame using your package manager (in the case of +ubuntu the package is python-pygame). + +[Category:Intro_to_Programming](Category:Intro_to_Programming "wikilink") \ No newline at end of file diff --git a/Integrated_Circuits.md b/Integrated_Circuits.md new file mode 100755 index 0000000..e78a1a1 --- /dev/null +++ b/Integrated_Circuits.md @@ -0,0 +1,323 @@ +## Integrated Circuits + +Paul Charles Leddy donated these June 29,2010 + +10x ADC0817CCN + + + +8-Bit Microprocessor Compatible A/D Converter With 16-Channel +Multiplexer, equivalent to MM74C948-1 100 ??s + +12x ADC0833BCN + + + +8-Bit Serial I/O A/D Converter with 4-Channel Multiplexer + +27x ADC0848CCN + + + +8-bit 40uS Parallel IO Analog to Digital Converter with 8 input +Multiplexer + +16x AF100-1CN + + + +Universal Active Filter - Highpass, Lowpass, Bandpass + +6x IDM2909ANC + + + +Nonvolatile, dual, linear-taper, digital potentiometers perform the +function of a mechanical potentiometer, but replace the mechanics with a +simple 2-wire digital interface. Each device performs the same function +as a discrete potentiometer or variable resistor and has 256 tap points. + +25x MM74C00J + + + +Quad 2-input NAND + +17x MM74C02N + + + +Quad 2-Input NOR Gate + +13x MM74C14N + + + +Hex Schmitt Trigger + +18x DM74H74N + + + +Dual Positive-Edge-Triggered D-Type Flip-Flops with Preset, Clear + +65x DM7483J + + + +4-Bit Parallel Full Adder + +50x DM7490AN + + + +counter binary/decade + +15x MM74C93J + + + +4-Bit Decade, Binary Counter + +14x DM74148N + + + +Priority Encoders + +30x DM74154N 9311 -831 + + + +Decodes 4 binary-coded inputs into one of 16 mutually exclusive outputs +Performs the demultiplexing function by distributing data from one input +line to any one of 16 outputs + +20x MM74C175N + + + +Quad D-type Flip Flop + +14x MM74C193N + + + +Synchronous 4-Bit Up/Down Decade Counter + +4x MM74C244N + + + +Inverting Octal buffer and line driver + +5x MM74C373N + + + +Three-state Octal D-type latch + +22x MM74C915N + + + +7 segment to bcd decoder + +9x DS1488N + + + +Quad Line Driver for RS-232 + +5x MM14543BCN + + + +BCD TO 7 SEGMENT DECODER DRIVER + +15x DP8340N + + + +IBM 3270 Protocol Transmitter / Encoder + +15x DP8341N + + + +IBM 3270 Protocol Receiver / Decoder + +5x DP8342N S=B8624 + + + +Parallel to multibyte serial high speed transmitter, up to 3.5 MBit/Sec + +5x DP8390N + + + +10 mBit Ethernet MAC + +5x DP8391N + + + +10 mBit Ethernet Serial Network Interface (use with 8390) + +5x DP8392AN + + + +Coaxial Transceiver Interface 10Base2 + +20x DM8602N + + + +Dual Retriggerable / Resettable One Shots + +49x DM9093N + + + +DTL dual JK flip-flops + +76x DM946N + + + +Quad 2-input DTL gate (Diode-Transistor Logic) + +50x DM949N + + + +DTL part + +50x DM961N + + + +DTL dual 4-input AND gate with expanders + +20x CD4029BMJ 12x CD4029BJC + + + +Presettable Binary/Decade Up/Down Counter + +20x CD4051BCJ + + + +Single 8-Channel Analog Multiplexer/Demultiplexer + +22x MM5307AA/N + + + +??? 1 GENERATOR, BAUD RATE + +7x MM5303N + + + +UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER DC:94 NATIONAL 40 PIN DIP + +25x MM54C04J + + + +Hex Inverter + +25x DM5486N + + + +2-Input Exclusive-OR + +22x MM54C221J + + + +Dual Monostable Multivibrator + +16x DM54S287J + + + +60 ns, (256 x 4) 1024-bit TTL PROM + +20x MM54C906J + + + +Hex Open Drain N-Channel Buffers + +15x DM9300N + + + +4-Bit Parallel-Access Shift Register + +5x DAC1265LCJ + + + ++/-18 V, hi-speed(200ns/5MHz) 12-bit D/A converter with reference in +24-pin DIP package. Operational temperature range from 0??C to 70??C. + +3x DAC1266LCJ + + + +0 V to -18 V, hi-speed 12-bit D/A converter + +10x LF347N + + + +Quad JFET Input Op-Amp + +44x LF13300D (gold ceramic case) + + + +INTEGRATING A/D ANALOG BUILDING BLOCK + +20x LM318D + + + +Fast general purpose op-amps Small-Signal Bandwidth . . . 15 MHz Typ +Slew Rate . . . 50 V/??s Min Bias Current . . . 250 nA Max (LM118, +LM218) Supply Voltage Range . . . ?? 5 V to ?? 20 V Internal Frequency +Compensation Input and Output Overload Protection Same Pin Assignments +as General-Purpose Operational Amplifiers + +25x LM339N + + + +Single Supply Quad Comparators + +17x LM1800AN + + + +Phase-Locked Loop FM Stereo Demodulator + +18x MK4564N-20 + + + +64K by 1 bit 200nS DRAM + +5x LMC669CD + + + +Auto-Zero for Input Offset Voltage of any Op-Amp + +[Category:Materiel](Category:Materiel "wikilink") \ No newline at end of file diff --git a/Interwiki_links.md b/Interwiki_links.md new file mode 100755 index 0000000..4555a20 --- /dev/null +++ b/Interwiki_links.md @@ -0,0 +1,119 @@ +[How to write an interwiki +link](mediawikiwiki:Help:Interwiki_linking#Interwiki_links "wikilink") + +# Interwiki links that work here, as of 16:43, 17 December 2008 (UTC) + +[abbenormal:](abbenormal: "wikilink") [acronym:](acronym: "wikilink") +[advogato:](advogato: "wikilink") [aiwiki:](aiwiki: "wikilink") +[annotationwiki:](annotationwiki: "wikilink") +[arxiv:](arxiv: "wikilink") [bemi:](bemi: "wikilink") +[c2find:](c2find: "wikilink") [cache:](cache: "wikilink") +[cliki:](cliki: "wikilink") [cmwiki:](cmwiki: "wikilink") +[codersbase:](codersbase: "wikilink") [commons:](commons: "wikilink") +[consciousness:](consciousness: "wikilink") +[corpknowpedia:](corpknowpedia: "wikilink") +[creationmatters:](creationmatters: "wikilink") +[dejanews:](dejanews: "wikilink") [dictionary:](dictionary: "wikilink") +[disinfopedia:](disinfopedia: "wikilink") +[diveintoosx:](diveintoosx: "wikilink") [docbook:](docbook: "wikilink") +[dolphinwiki:](dolphinwiki: "wikilink") +[drumcorpswiki:](drumcorpswiki: "wikilink") +[dwjwiki:](dwjwiki: "wikilink") [echei:](echei: "wikilink") +[ecxei:](ecxei: "wikilink") [efnetceewiki:](efnetceewiki: "wikilink") +[efnetcppwiki:](efnetcppwiki: "wikilink") +[efnetpythonwiki:](efnetpythonwiki: "wikilink") +[efnetxmlwiki:](efnetxmlwiki: "wikilink") [elibre:](elibre: "wikilink") +[eljwiki:](eljwiki: "wikilink") [emacswiki:](emacswiki: "wikilink") +[eokulturcentro:](eokulturcentro: "wikilink") +[evowiki:](evowiki: "wikilink") [e?????ei:](e?????ei: "wikilink") +[finalempire:](finalempire: "wikilink") +[firstwiki:](firstwiki: "wikilink") [foldoc:](foldoc: "wikilink") +[foxwiki:](foxwiki: "wikilink") [fr.be:](fr.be: "wikilink") +[fr.ca:](fr.ca: "wikilink") [fr.fr:](fr.fr: "wikilink") +[fr.org:](fr.org: "wikilink") [freebsdman:](freebsdman: "wikilink") +[gamewiki:](gamewiki: "wikilink") [gej:](gej: "wikilink") +[gentoo-wiki:](gentoo-wiki: "wikilink") +[globalvoices:](globalvoices: "wikilink") +[gmailwiki:](gmailwiki: "wikilink") [google:](google: "wikilink") +[googlegroups:](googlegroups: "wikilink") +[gotamac:](gotamac: "wikilink") [greencheese:](greencheese: "wikilink") +[hackerspaces:](hackerspaces: "wikilink") +[hammondwiki:](hammondwiki: "wikilink") +[haribeau:](haribeau: "wikilink") +[herzkinderwiki:](herzkinderwiki: "wikilink") +[hewikisource:](hewikisource: "wikilink") [hrwiki:](hrwiki: "wikilink") +[iawiki:](iawiki: "wikilink") [imdb:](imdb: "wikilink") +[infosecpedia:](infosecpedia: "wikilink") +[jargonfile:](jargonfile: "wikilink") [jefo:](jefo: "wikilink") +[jiniwiki:](jiniwiki: "wikilink") [jspwiki:](jspwiki: "wikilink") +[keiki:](keiki: "wikilink") [kerimwiki:](kerimwiki: "wikilink") +[kmwiki:](kmwiki: "wikilink") [knowhow:](knowhow: "wikilink") +[lanifexwiki:](lanifexwiki: "wikilink") +[lasvegaswiki:](lasvegaswiki: "wikilink") +[linuxwiki:](linuxwiki: "wikilink") [lojban:](lojban: "wikilink") +[lqwiki:](lqwiki: "wikilink") [lugkr:](lugkr: "wikilink") +[lutherwiki:](lutherwiki: "wikilink") +[mathsongswiki:](mathsongswiki: "wikilink") +[mbtest:](mbtest: "wikilink") [meatball:](meatball: "wikilink") +[mediawikiwiki:](mediawikiwiki: "wikilink") +[mediazilla:](mediazilla: "wikilink") +[memoryalpha:](memoryalpha: "wikilink") [metaweb:](metaweb: "wikilink") +[metawiki:](metawiki: "wikilink") +[metawikipedia:](metawikipedia: "wikilink") +[moinmoin:](moinmoin: "wikilink") +[mozillawiki:](mozillawiki: "wikilink") [muweb:](muweb: "wikilink") +[netvillage:](netvillage: "wikilink") [nycr:](nycr: "wikilink") +[oeis:](oeis: "wikilink") [openfacts:](openfacts: "wikilink") +[openwiki:](openwiki: "wikilink") [opera7wiki:](opera7wiki: "wikilink") +[orgpatterns:](orgpatterns: "wikilink") [osi reference +model:](osi_reference_model: "wikilink") +[pangalacticorg:](pangalacticorg: "wikilink") +[patwiki:](patwiki: "wikilink") +[personaltelco:](personaltelco: "wikilink") +[phpwiki:](phpwiki: "wikilink") [pikie:](pikie: "wikilink") +[pmeg:](pmeg: "wikilink") [ppr:](ppr: "wikilink") +[purlnet:](purlnet: "wikilink") [pythoninfo:](pythoninfo: "wikilink") +[pythonwiki:](pythonwiki: "wikilink") [pywiki:](pywiki: "wikilink") +[raec:](raec: "wikilink") [revo:](revo: "wikilink") +[rfc:](rfc: "wikilink") [s23wiki:](s23wiki: "wikilink") +[scoutpedia:](scoutpedia: "wikilink") [seapig:](seapig: "wikilink") +[seattlewiki:](seattlewiki: "wikilink") +[seattlewireless:](seattlewireless: "wikilink") +[seeds:](seeds: "wikilink") +[senseislibrary:](senseislibrary: "wikilink") +[shakti:](shakti: "wikilink") [slashdot:](slashdot: "wikilink") +[smikipedia:](smikipedia: "wikilink") [sockwiki:](sockwiki: "wikilink") +[sourceforge:](sourceforge: "wikilink") [squeak:](squeak: "wikilink") +[strikiwiki:](strikiwiki: "wikilink") [susning:](susning: "wikilink") +[svgwiki:](svgwiki: "wikilink") [tavi:](tavi: "wikilink") +[tejo:](tejo: "wikilink") [terrorwiki:](terrorwiki: "wikilink") +[theopedia:](theopedia: "wikilink") [tmbw:](tmbw: "wikilink") +[tmnet:](tmnet: "wikilink") [tmwiki:](tmwiki: "wikilink") +[turismo:](turismo: "wikilink") [twiki:](twiki: "wikilink") +[twistedwiki:](twistedwiki: "wikilink") [uea:](uea: "wikilink") + [ursine:](ursine: "wikilink") [usej:](usej: "wikilink") +[usemod:](usemod: "wikilink") [vinismo:](vinismo: "wikilink") +[visualworks:](visualworks: "wikilink") +[warpedview:](warpedview: "wikilink") +[webdevwikinl:](webdevwikinl: "wikilink") +[webisodes:](webisodes: "wikilink") +[webseitzwiki:](webseitzwiki: "wikilink") [why:](why: "wikilink") +[wiki:](wiki: "wikilink") [wikia:](wikia: "wikilink") +[wikibooks:](wikibooks: "wikilink") +[wikicities:](wikicities: "wikilink") [wikif1:](wikif1: "wikilink") +[wikihow:](wikihow: "wikilink") [wikimedia:](wikimedia: "wikilink") +[wikinews:](wikinews: "wikilink") [wikinfo:](wikinfo: "wikilink") +[wikipedia:](wikipedia: "wikilink") [wikiquote:](wikiquote: "wikilink") +[wikisource:](wikisource: "wikilink") +[wikispecies:](wikispecies: "wikilink") +[wikitravel:](wikitravel: "wikilink") +[wikiworld:](wikiworld: "wikilink") [wikt:](wikt: "wikilink") +[wiktionary:](wiktionary: "wikilink") [wlug:](wlug: "wikilink") +[wlwiki:](wlwiki: "wikilink") [ypsieyeball:](ypsieyeball: "wikilink") +[zwiki:](zwiki: "wikilink") [zzz wiki:](zzz_wiki: "wikilink") + +# See also + +[mediawikiwiki:Interwiki map](mediawikiwiki:Interwiki_map "wikilink") + +[Category:Useful_Info](Category:Useful_Info "wikilink") \ No newline at end of file diff --git a/Intro_to_Electronics.md b/Intro_to_Electronics.md new file mode 100755 index 0000000..a960d45 --- /dev/null +++ b/Intro_to_Electronics.md @@ -0,0 +1,567 @@ +## Concept + +The idea behind this course structure is for six sessions held a week +apart. In order to provide a tangible end for students to feel like +they???re working toward, each week will have a project; students will +be walked through building that project and completing it by the end of +the session. + +In that sense, each week stands alone — a project started in one week +does not need a future week in order to be complete. That said, later +projects will depend on the knowledge gained in previous projects, and +some of them will even be based on previous projects. (For example, +[Week 5???s +project](Intro_to_Electronics#Week_5:_Digital_logic "wikilink") is a +Larson scanner, and it uses [Week 4???s +project](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink") +— a typical 555-based astable multivibrator circuit — to provide its +clock signal.) + +The course starts with a few basic circuit components (a voltage source, +a resistor and an LED) and an explanation of typical prototyping +equipment (breadboard and multimeter) and builds up to include regulated +power supplies, basic optoelectronics and eventually digital logic. + +It does not (at least in this draft) include much in the way of detailed +exploration of analog electronics; it???s intended more as an +introduction to the field of hobbyist electronics as a whole and to an +assortment of the basic components one might find in a variety of +projects. + +Suggestions are, of course, welcome, as are other potential projects to +use in place of some of the ones listed here. (In particular, a good +introductory op-amp project might be handy to have.) I???ve listed +[component prices](Intro_to_Electronics#Components "wikilink") for 25 +students; my goal would be to keep the cost per student at \$25 or less +— preferably more in the \$20 range. + +## Syllabus + +### Week 1: Getting familiar with components + +**Goal:** Light an LED with AA batteries and an on-off switch + +**Slides:** +[Media:Intro_to_Electronics-Week1-Slides.pdf](Media:Intro_to_Electronics-Week1-Slides.pdf "wikilink") + +Explanations: + +- Breadboard + - What is it? + - How is it organized? + - Why is it useful? + - **Hands-on:** Here's a breadboard +- LED + - What is it? + - How does it work? + - Not at the P/N junction level + - Current goes in, light comes out + - Current only flows in one direction (diode!) + - Too much current = bad + - **Hands-on:** Plug one into the breadboard +- Battery + - What is it? + - How does it work? + - Roughly constant voltage source for a while + - Discharges over time — voltage decreases + - Definition of "dead" + - Maybe some chemistry? Doubtful, though + - **Hands-on:** Batteries (three or four AAs) in a holder + - Plug them into the breadboard +- Switch + - What is it? + - How does it work? + - Define poles and throws + - **Hands-on:** Plug one (SPST) into the breadboard +- Resistor + - What is it? + - How does it work? + - Ohm's Law + - Units of measurement + - Ohm + - Ampere + - Volt + - Non-polarized + - Describe color codes + - Give resources — memorizing is a bit daunting right now, I + imagine + - Tolerances — nothing's perfect + - What does a ±5% tolerance mean? + - **Hands-on:** Pick a resistor and plug it in to the breadboard + - Select using Ohm's Law +- Schematic + - What is it? + - Symbols + - LED + - Battery (DC source) + - Switch + - Resistor + - Ground! + - Define ground + - Draw one + - **Hands-on:** Connect components to match [this schematic (tested + April 2, + 2012)](Media:Intro_to_Electronics-Week1-0-LED.svg "wikilink") + - Moment of truth: Turn it on! + +### Week 2: Test equipment + +**Goal:** Build a power supply + +**Slides:** +[Media:Intro_to_Electronics-Week2-Slides.pdf](Media:Intro_to_Electronics-Week2-Slides.pdf "wikilink") + +Explanations: + +- Multimeter + - What is it? + - Review units of measurement + - Ohm + - Ampere + - Volt + - **Hands-on:** Measure [last week's LED + circuit](Intro_to_Electronics#Week_1:_Getting_familiar_with_components "wikilink") + - Voltages at different nodes + - Current through LED branch? + - Resistance of current-limiting resistor +- Voltage divider + - What is it? + - How does it work? + - Ohm's Law! + - Walk through the analysis + - **Hands-on:** Build one ([Schematic here (tested April 2, + 2012)](Media:Intro_to_Electronics-Week2-0-divider.svg "wikilink")) + - Measure no-load output voltage +- Regulated versus unregulated power supply + - What's the difference? + - **Hands-on:** Add a load to the voltage divider ([Schematic here + (tested April 2, + 2012)](Media:Intro_to_Electronics-Week2-1-divider-loaded.svg "wikilink")) + - Measure difference in output voltage + - Why does this happen? + - Equivalent resistances in series and in parallel +- Datasheet + - What are they? + - How can you find them? + - **Hands-on:** Here's an LM317 ([Schematic here (tested April 2, + 2012)](Media:Intro_to_Electronics-Week2-2-LM317.svg "wikilink")) + - Look up example circuits in [the + datasheet](http://www.ti.com/lit/ds/symlink/lm117.pdf) +- Capacitor + - What is it? + - How does it work? + - Polarized (electrolytic) versus non-polarized (ceramic) + - Filter capacitors + - Show them on the datasheet's example circuit + - **Hands-on:** Build the example circuit ([Schematic here (tested + April 2, + 2012)](Media:Intro_to_Electronics-Week2-3-LM317-filtered.svg "wikilink")) + - Measure input voltage over time with and without filter + capacitors + - Not sure if we'll be able to notice on the multimeter +- Oscilloscope (if there's time) + - What is it? + - How does it work? + - Time axis + - Voltage axis + - **Hands-on:** Look at regulator's output waveform + - Vary load and see what happens! + +### Week 3: Optoelectronics + +**Goal:** Build a night light (Many thanks to +[EMSL](http://www.evilmadscientist.com/article.php/nightlight)) + +**Slides:** +[Media:Intro_to_Electronics-Week3-Slides.pdf](Media:Intro_to_Electronics-Week3-Slides.pdf "wikilink") + +Explanations: + +- LED (review) + - What does it take to light one? + - Remember to limit current + - **Hands-on:** Light one + - Probably just rebuild [Week 1's + circuit](Intro_to_Electronics#Week_1:_Getting_familiar_with_components "wikilink") + ([schematic here (tested April 2, + 2012](Media:Intro_to_Electronics-Week3-0-LED.svg "wikilink")), + though you really don't even need the switch for this +- Transistor (BJT) + - What is it? + - How does it work? + - Amplifier + - Switch — what we'll focus on for now + - What are the different terminals? + - Base + - Collector + - Emitter + - NPN versus PNP + - **Hands-on:** Use one to control the LED ([Schematic here (tested + April 2, + 2012](Media:Intro_to_Electronics-Week3-1-BJT.svg "wikilink")) +- Phototransistor + - What is it? + - How does it work? + - Apply light instead of base current + - **Hands-on:** Add one to our circuit to switch the other transistor + ([Schematic here (tested April 2, + 2012](Media:Intro_to_Electronics-Week3-2-phototransistor.svg "wikilink")) + - Should look essentially identical to [the EMSL + circuit](http://www.evilmadscientist.com/article.php/nightlight), + except that we'll keep a current-limiting resistor in series with + the LED + - Note: This phototransistor (like many others) is mainly sensitive + to infrared and will consider a room lit only by fluorescent bulbs + to be "dark". Bring around a different lamp to test the projects. +- Bonus: Start talking about digital logic + - What is it? + - Logic gates + - High-level explanation + - Names: AND, OR, NOT (maybe XOR) + - Show examples of 7400-series ICs + - Show a schematic of a NOT gate (for example: [this + one](http://www.kpsec.freeuk.com/trancirc.htm#inverter), + [presentation schematic + here](Media:Intro_to_Electronics-Week3-3-NOT.svg "wikilink")) + - **Hands-on (ish):** Compare the NOT gate schematic to our night + light + - We've made one with a phototransistor! + - Could have been done with a normal transistor, too + - Way less useful that way + +### Week 4: Oscillators ??? and the venerable 555 + +**Goal:** Build a 555 circuit to blink an LED + +**Slides:** +[Media:Intro_to_Electronics-Week4-Slides.pdf](Media:Intro_to_Electronics-Week4-Slides.pdf "wikilink") + +Explanations: + +- 555 timer + - What is it? + - How does it work? + - High-level explanation, though more detail can come afterward for + anyone who wants to know + - Modes of operation + - Look at [the + datasheet](http://www.ti.com/lit/ds/symlink/ne555.pdf) + - We're interested in the astable multivibrator + - What does that mean? + - What crazy things do people do with it? ([All kinds of + things.](http://www.555contest.com/)) + - **Hands-on:** Wire one up ([Schematic here (tested April 4, + 2012)](Media:Intro_to_Electronics-Week4-0-555.svg "wikilink")) + - Show output on an oscilloscope +- LED (review) + - Look up forward voltages + - Use a different LED this time (maybe blue!) + - **Hands-on:** Figure out an appropriate current-limiting resistor + - Hook it up to the output of the 555 ([Schematic here (tested April + 4, + 2012)](Media:Intro_to_Electronics-Week4-1-555-LED.svg "wikilink")) +- Potentiometer + - What is it? + - How do I use one? + - **Hands-on:** Measure resistances between different terminals + - Could have used it in [Week + 2](Intro_to_Electronics#Week_2:_Test_equipment "wikilink") to vary + regulator output voltage + - **Another hands-on:** Replace one of the 555 frequency-setting + resistors ([Schematic here (tested April 4, + 2012)](Media:Intro_to_Electronics-Week4-2-555-potentiometer.svg "wikilink")) + - Change its resistance and watch what happens! + +### Week 5: Digital logic + +**Goal:** Build a Larson scanner (Schematic (more or less) from +[EMSL](http://www.evilmadscientist.com/article.php/CylonOLantern)) + +**Slides:** +[Media:Intro_to_Electronics-Week5-Slides.pdf](Media:Intro_to_Electronics-Week5-Slides.pdf "wikilink") +(with notes here: +[Media:Intro_to_Electronics-Week5-Slides_and_Notes.pdf](Media:Intro_to_Electronics-Week5-Slides_and_Notes.pdf "wikilink") + +- Use [Week 4's 555 + project](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink") + for the clock signal + - Can change resistor values to EMSL-recommended values to change + speed +- Leave out the low-pass filter because of time and cost + +Explanations: + +- Digital logic (in general) + - What is it? + - Compare to analog electronics — also has cool applications + - What can I do with it? + - State machines + - Multiplexers + - Counters + - **Hands-on:** Manual logic switch ([Schematic here (tested April 4, + 2012)](Media:Intro_to_Electronics-Week5-0-switch.svg "wikilink")) + - SPST on a line with a pull-up (or pull-down) resistor + - How does such a resistor work? What does it do? + - Watch it on a multimeter + - How does it differ from the SPST without the resistor? +- Decimal counter + - What is it? + - How does it work? + - **Hands-on:** Hook one up to power and the 555 circuit from [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink") + - Watch what happens — connect each output pin to an LED to make it + more obvious ([schematic here (tested April 4, 2012) with + different (i.e., faster) resistor values as suggested by + EMSL](Media:Intro_to_Electronics-Week5-1-counter.svg "wikilink")) +- OR gate + - Review logic gates (if we got to them at the end of [Week + 3](Intro_to_Electronics#Week_3:_Optoelectronics "wikilink")) + - Why are we interested in these? + - Plot out Larson scanner details/excitation table + - We need four of them + - **Hands-on:** Add them to the circuit ([Schematic here (tested April + 4, 2012)](Media:Intro_to_Electronics-Week5-2-Larson.svg "wikilink")) + - Watch the lights scan back and forth + +### Week 6: Soldering + +**Goal:** Solder [Week 5's +project](Intro_to_Electronics#Week_5:_Digital_logic "wikilink") on a +printed circuit board + +Explanations: + +- Solder + - What is it? + - How do I use it? + - Leaded versus lead-free + - **Hands-on (ish):** Here's some solder +- Soldering iron + - What is it? + - How do I clean and tin the tip? + - **Demo:** How do I form a good solder joint? + - Heat both terminals + - Apply solder + - Examples of solder joints + - Ideal + - Cold + - Bridged + - **Hands-on:** Solder two wires together +- Printed circuit board + - What is it? + - Fiberglass + - Copper traces/pads + - Drilled holes/plated vias + - Silkscreened markings + - **Hands-on:** Solder a component +- Assembly + - **Hands-on:** Finish the board! ([PCB design (EAGLE) here, still + untested](Media:Intro_to_Electronics-Week6-EAGLE.zip "wikilink")) +- Bonus: Do I need one of these? (Other ways to mount circuits) + - Prototyping board, layout tools, etching (chemical and mechanical) + +## Bill of materials + +Pricing assumes 25 kits with no special discounts (e.g., [Adafruit +hackerspace +discount](http://www.adafruit.com/blog/2010/06/01/big-news-all-hacker-spaces-in-the-world-get-adafruit-reseller-pricing-starting-today/)). +Total cost — not including breadboard jumpers, multimeter, PCB and +shipping for all of these things — comes out to \$368.20 (or \$14.73 per +person). + +### Equipment + +- Multimeter + - Relatively inexpensive (but maybe more than we want students to + spend) + - Voltage, current, resistance, continuity + - Diode test would be nice to have + - Do we want people to get their own, or do we want to use the + space's? + - MAS830 (\$337.50 for 25: + [Adafruit](http://www.adafruit.com/products/71)) + - Does the space have enough working meters? (If not, can we + convince some place to donate some more?) +- Breadboard + - Full size x1 (\$180 for 25: + [Adafruit](https://www.adafruit.com/products/239)) +- Battery holder + - 4xAA x1 (\$21.18 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/BH14AAW/BH14AAW-ND/66735)) +- Batteries + - Alkaline AA x4 (\$33.48 for 100-pack: + [Amazon](http://www.amazon.com/Duracell-Coppertop-MN1500-Batteries-Count/dp/B006W9QIM2/)) + +### Things we could make ourselves + +- Assorted breadboard jumpers + - We could cut these ourselves to reduce cost, assuming we have enough + small solid-core wire + - Apparently Digi-Key also sells these in [packs of 150 or + 200](http://search.digikey.com/us/en/cat/prototyping-products/jumper-wire/2359516?stock=1&pbfree=1&rohs=1) + for various lengths for \$16.48 + - Beginners might be more comfortable with longer pieces of wire + (e.g., [these packs of 75](http://www.adafruit.com/products/153) + for \$6.00 each), though — thoughts? +- Printed circuit board for [Week + 6](Intro_to_Electronics#Week_6:_Soldering "wikilink") + - Do we etch or mill these ourselves? Do we have some batch PCB + service (e.g., Seeed, Sparkfun) get them done? + - First design (EAGLE files [here](https://gist.github.com/2067344)) + is 1.70 x 3.00 inches + - BatchPCB price at that size for 25: \$328.75 (\$13.15 each) + - Fusion PCB price at that size for 30: \$84.70 (\$2.83 each) + - Fusion PCB price at that size for 50: \$84.90 (\$1.70 each) + - Both Fusion PCB prices are with the extra fee for testing all of + them (instead of half) since it'd be nice not to have to + troubleshoot the boards themselves in addition to the students' + work + - Still have some room in the corner if we're interested in doing + anything else with it + +### Components + +- LEDs + - 5mm red x10 (\$19.38 for 250: + [Digi-Key](http://search.digikey.com/us/en/products/WP7113SRC%2FDU/754-1274-ND/1747673)) + - [Week + 1](Intro_to_Electronics#Week_1:_Getting_familiar_with_components "wikilink"): + x1 (light) + - [Week 3](Intro_to_Electronics#Week_3:_Optoelectronics "wikilink"): + x1 (light) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 output) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x10 (4017 output, later x6 for Larson scanner) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x6 + (Larson scanner) + - 5mm blue x1 (\$4.75 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/C503B-BCS-CV0Z0461/C503B-BCS-CV0Z0461-ND/1922944)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 output) +- Switches + - SPDT slider x1 (\$14.72 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/EG1218/EG1903-ND/101726)) + (Note: We only need SPST, but for some reason those are several + times more expensive. Not sure why that is. SPDT will take a tad + more explanation, but it shouldn't be that big of a deal.) + - [Week + 1](Intro_to_Electronics#Week_1:_Getting_familiar_with_components "wikilink"): + x1 (power) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x1 (logic) +- Voltage regulator + - LM317 x1 (\$9.80 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/LM317KCS/296-13869-5-ND/521368)) + - [Week 2](Intro_to_Electronics#Week_2:_Test_equipment "wikilink"): + x1 (regulator) +- Resistors + - 220 Ω x1 (\$4.23 for 250: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT220R/S220QCT-ND/2617711)) + - [Week + 1](Intro_to_Electronics#Week_1:_Getting_familiar_with_components "wikilink"): + x1 (current limiting) + - [Week 2](Intro_to_Electronics#Week_2:_Test_equipment "wikilink"): + x1 (voltage divider load), x1 (LM317 R1) + - [Week 3](Intro_to_Electronics#Week_3:_Optoelectronics "wikilink"): + x1 (current limiting) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x10 (current limiting) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x6 + (current limiting) + - 360 Ω x1 (\$1.38 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT360R/S360QCT-ND/2617740)) + - [Week 2](Intro_to_Electronics#Week_2:_Test_equipment "wikilink"): + x1 (voltage divider top half), x1 (LM317 R2) + - 1 kΩ x1 (\$1.38 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT1K00/S1KQCT-ND/2617685)) + - [Week 2](Intro_to_Electronics#Week_2:_Test_equipment "wikilink"): + x1 (voltage divider bottom half) + - [Week 3](Intro_to_Electronics#Week_3:_Optoelectronics "wikilink"): + x1 (BJT base current) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x1 (pull-up or pull-down resistor) + - 180 kΩ x2 (\$1.50 for 50: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT180K/S180KQCT-ND/2617681)) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x2 (555 R1, 555 R2) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x2 + (555 R1, 555 R2) + - 1 MΩ x1 (\$1.38 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT1M00/S1MQCT-ND/2617692)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 R1) + - 2 MΩ x1 (\$1.38 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT2M00/S2MQCT-ND/2617726)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 R2) + - 150 Ω x1 (\$1.38 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/CFM14JT150R/S150QCT-ND/2617674)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (current limiting) +- Capacitors + - 0.1 µF ceramic x1 (\$2.91 for 25: + [Digi-Key](http://search.digikey.com/scripts/DkSearch/dksus.dll?x=20&y=11&lang=en&site=us&KeyWords=490-3859-ND)) + - [Week 2](Intro_to_Electronics#Week_2:_Test_equipment "wikilink"): + x1 (LM317 input filter) + - 0.22 µF ceramic x1 (\$5.00 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/FK18Y5V1H224Z/445-4806-ND/2050155)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 C) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x1 (555 C) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x1 + (555 C) + - 0.01 µF ceramic x1 (\$4.70 for 25: + [Digi-Key](http://search.digikey.com/scripts/DkSearch/dksus.dll?x=7&y=18&lang=en&site=us&KeyWords=490-3813-ND)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 filter) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x1 (555 filter) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x1 + (555 filter) +- Potentiometer + - 2 MΩ x1 (\$15.08 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/CT6EP205/CT6EP205-ND/738311)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (555 R1) +- Transistors + - 2N3904 x1 (\$6.90 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/2N3904-AP/2N3904-APCT-ND/950591)) + - [Week 3](Intro_to_Electronics#Week_3:_Optoelectronics "wikilink"): + x1 (switch for output LED) +- Phototransistor + - x1 (\$6.75 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/PT334-6C/1080-1159-ND/2675650)) + - [Week 3](Intro_to_Electronics#Week_3:_Optoelectronics "wikilink"): + x1 (light sensor) +- 555 timer + - NE555N x1 (\$6.99 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/NE555N/497-1963-5-ND/599557)) + - [Week + 4](Intro_to_Electronics#Week_4:_Oscillators_.E2.80.94_and_the_venerable_555 "wikilink"): + x1 (oscillator) +- Decimal counter + - 74HC4017 x1 (\$17.05 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/M74HC4017B1R/497-1835-5-ND/591928)) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x1 (counter) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x1 + (counter) +- OR gates + - 74HC32 x1 (\$6.88 for 25: + [Digi-Key](http://search.digikey.com/us/en/products/SN74HC32N/296-1589-5-ND/277235)) + - [Week 5](Intro_to_Electronics#Week_5:_Digital_logic "wikilink"): + x1 (count reverser) + - [Week 6](Intro_to_Electronics#Week_6:_Soldering "wikilink"): x1 + (count reverser) + +[Category:Intro_to_Electronics](Category:Intro_to_Electronics "wikilink") \ No newline at end of file diff --git a/Intro_to_Programming.md b/Intro_to_Programming.md new file mode 100755 index 0000000..85605e9 --- /dev/null +++ b/Intro_to_Programming.md @@ -0,0 +1,99 @@ +Very basic introduction to programming class meant for those who've +never programed before in their lives. Our external P2PU site is +[here](http://new.p2pu.org/en/groups/python-101-with-pygame/). Please +make sure to add yourself to the mailing list +[here](https://groups.google.com/a/hacdc.org/group/prog101). + +## Pre class HW + +For the class we will be using python and pygame. Instructions on how to +install them on your operating system of choice can be found below. + +- [Installing Python and + Pygame](Installing_Python_and_Pygame "wikilink") + +**Git and Github** + +We would like those taking the class to keep a source repository to +store workshop and homework code so that: 1. they can modify without +fear of messing it up beyond repair 2. they can share code and, thus, +assist each other + +To that end, we have some resources below to get git installed, open a +github account, and the main git commands you will need to get started. + +[Setting up git on Windows](http://help.github.com/win-set-up-git/) +[Setting up git on OS X](http://help.github.com/mac-set-up-git/) +[Setting up git on Linux](http://help.github.com/linux-set-up-git/) (you +may choose to use your package manager (apt, yum, pacman, etc.) to +install the git-core package) + +If you can go through this before the class 0, great! you will have more +time to write some code during the workshop. Otherwise, we will be +available to assist anyone who may need help getting things started. + +You can get the presentation slides, code, and other material from this +wiki OR live from the [class +repository](https://github.com/3lawsafe/HacDC-Intro-to-Programming) + +## Class 0 + +**Covers**: Some history. IDLE and Python. Primitive data types. +Statements and expressions. Hello World! Turtle Graphics **Slides**: +![](Class_0.pdf "File:Class_0.pdf") **Workshop**: Get +things working! **Demo code**: +![](Turtle_demo.py "File:Turtle_demo.py") +![](Wrapper_turtle.py "File:Wrapper_turtle.py") +**Homework**: Draw a pretty picture using the turtle graphics. + +## Class 1 + +**Covers**: Program control. If statements. For loops. While loops. +Pygame drawing. **Slides**: +![](Class_1.pdf "File:Class_1.pdf") **Workshop**: +Pygame picture time! **Demo code**: +![](pygame_pretty_picture.py "File:pygame_pretty_picture.py") +![](pong_paddle_hit.py "File:pong_paddle_hit.py") +**Homework**: Make an animation using your new looping and pygame +drawing skills. Sign up for the email list, and introduce your self. +Include a link to your GitHub repository. + +## Class 2 + +**Covers**: Functions. Common data structures. Pygame events. +**Slides**: ![](Class_2.pdf "File:Class_2.pdf") +**Workshop**: Pong code with functions! Quick event demo. **Demo code**: +Check the repo! **Homework**: Email list, do it! Share your repo and +code! Make that animation you had interactive using the new event or I/O +stuff. Try and make your previous code use functions. + +## Class 3 + +**Covers**: Classes. Modules and Packages. **Slides**: +![](Class_3.pdf "File:Class_3.pdf") **Workshop**: +Sprite demo! Pong with classes! (And probably prettier than the original +one) **Demo code**: Check the repo! **Homework**: Package some of your +existing code into a module. Try making a few objects for your +interactive animation. Extend the sprite so there's more than one sprite +on screen and they're keyboard controlled. + +## Class 4 + +**Covers**: Some stuff from the standard library. Pyserial too! +**Slides**: ![](Class_4.pdf "File:Class_4.pdf") +**Workshop**: A bunch of little programs! **Demo code**: Check the repo! +**Homework**: Use at least one of the libraries presented in class in +your own code. Two different datasets are being provided, try and +visualize the data using pygame. + +## Class 5 + +**Covers**: Tidbits we didn't cover during the other classes. Exceptions +handling. List/dict comprehensions. Lambdas, filters, maps and reduce. +**Slides**: ![](Class_5.pdf "File:Class_5.pdf") +**Workshop**: Some packaging stuff! **Demo Code**: Check the repo! +**Homework**: Keep coding and showing up to HacDC! + + + +[Category:Intro_to_Programming](Category:Intro_to_Programming "wikilink") \ No newline at end of file diff --git a/Intro_to_Visuals_for_Programmers.md b/Intro_to_Visuals_for_Programmers.md new file mode 100755 index 0000000..050956e --- /dev/null +++ b/Intro_to_Visuals_for_Programmers.md @@ -0,0 +1,180 @@ +**Visuals for Programmers in Two Parts** + +**SUGGESTED NON-MEMBER DONATION \$5 - \$25 per class, Bring Paypal +Receipt** + +**START DATE SUNDAY NOV 6th (2011) 4:00pm ??? 8:00pm** + +**I Manual Intro to Fine Art and Design** **II Intro to Digital Design +and Production** + +**About the course** + +An Introduction to Visuals For Programmers in Two Parts seeks to provide +a comprehensive understanding of theory, practice, skills and fluency in +the visual communications realm for the purpose of connecting +visionaries across disciplines so that new methods of problem types and +approaches may inform scientific discovery and innovation in the arts. + +Each Part consists of six lessons Each lesson is four hours in duration. +There are weekly assignments, leading to a final gallery exhibit. + +**Why you should participate:** If you come to every class and complete +every assignment you will have a portfolio worthy of undergraduate or +graduate fine art or design school admissions and an intimidating +foundation in visual communication. + +You are receiving 450K worth of fine art and design education investment +distilled into a comprehensive 12 week course. + +You will become fluent in the language used by artists and designers in +every day communications and you will understand project approaches from +their perspective ??? you will be able to interface and lead a group +project that integrates both the fine arts and the hard sciences. + +**Why I want to teach:** I look forward to seeing your response to the +concepts and projects presented. I would like to learn from all of you +through studying your individual processes. I am always looking to +network and anticipate some really cool ideas and collaborations +stemming from this course. + +About the Instructor [Emily Dunne Architecture and Design +Portfolio](http://www.emilydunne.com) + +Administrative Intro to Fine Art and Design Introduction, Backgrounds, +Experiences Syllabus, Information Sharing Start Manual Foundation + +**SUNDAY NOV 6st 4:00pm ??? 8:00pm** Class 1: Sketching and the Still +Life PPT 1 Myth Semester Assignment Sketching Warm???up Still Life +Sketching Still Life Pin???Up Review Assignment 1: Object Sketches, 20 +On 8.5 X 11 paper, pen, pencil + +**SUNDAY NOV 13th 2:00pm ??? 6:00pm** Class 2: Museum Trip and Research +Meet at National Gallery of Art Hand in Assignment 1 for Internal Review +Sketch 20 paintings/sculptures in NGA Assignment 2: Artist Research +(Prepare 3 paragraphs on artist, type of work and contribution to +society Answer the so what question, fill in info for 1 Slide from +template and email to Emily) Receive written feedback for Assignment 1 + +**SUNDAY NOV 20th 4:00pm ???8:00pm** Class 3: Figure Drawing and Self +Expression Present Assignment 2 Artist Research PPT Anatomy Study PPT +Sketching Warm???Up Figure Drawing Figure Drawing Pin???up Review +Assignment 3 : Self Portrait On 8.5 X 11 paper, pen, pencil + +**SUNDAY DEC 4th 4:00pm ??? 8:00 pm** Class 4: Sketch Model, Material +Manipulation Hand in Assignment 3 for Internal Review Modeling PPT In +class clay???knife, paper???glue modeling Assignment 4: Model a Musical +Instrument First clay then paper, smaller than 8.5 X 11 Receive written +feedback for Assignment 3 + +**SATURDAY DEC 10th 4:00pm ??? 8:00pm** Class 5: Fundamentals of 2D +Musical Instrument Podium Review Aspects of 2D PPT Outlines Gray Scales +2??? X 2??? Square Folding In???Class Assignment Assignment 5: Positive +Negative Study Create 6 studies from instrument model On 8.5 X 11 paper, +black and white, outlines + +**SUNDAY DEC 11th 4:00pm ??? 8:00pm** Class 6: Color, Space and Style +Hand in Assignment 5 for Internal Review Color Fundamentals PPT +In???class color studies: Hue: Intensity, Value, Saturation +Transparency, Vibrations Homework: Tessellation with Two Hues Based on +Instrument Figure Ground And Description of Color Relationships Receive +Written Instructor Review Sheet Use two weeks to redo, enhance or make +up any work for final exhibit and scan and photograph all work for +instructor. + +**FRIDAY DEC 30th** Gallery Exhibit and Reception Displaying: Still Life +Figure Sketch Self Portrait Instrument Model Instrument BW Study +Instrument Tessellation Class Dinner and Manual Foundation Discussion +Hand in Written Instructor Review Sheet Receive Final Instructor +Evaluation Myth Assignment Explanation End Manual Foundation + +**Hard Dates TBD in January** + +Administrative Intro to Digital Design and Production Introduction, +Backgrounds, Experiences Syllabus, Information Sharing Start Digital +Foundation + +Class 1: Intro to Interior Architecture PPT 1 ??? Understanding +Intervention & Parti Team Project Semester Assignment Intro Intro to +Autodesk Revit Architecture Intro to Drawing for Design/Arch Team Space +Measurement Team Revit Model Revit Model Review Assignment 1: Complete +Group Model In Revit Architecture + +Class 2: Project Research and Context Review Assignment 1 Group Model +Intro to Photoshop, Illustrator, InDesign Ideating Important Adjacencies +Walking Tour of Site Neighborhood Sketching and Marking Features +Diagramming: Mapping of Urban Context Assignment 2: Urban Mapping +(Prepare 6 maps with diagrams for analysis) Receive written feedback for +Assignment 1 + +Class 3: Project Concept Present Assignment 2 Urban Mapping Building +Parti Concepts PPT and Discussion Using Information Layers to Inform +Design Visual Analysis and Concept Sketches Concept Sketch Pin???up +Review Assignment 3 : Draw your Parti On 8.5 X 11 paper, pen, pencil + +Class 4: Project Intervention Hand in Assignment 3 for Internal Review +Translating Parti to Forms in Space PPT In class spatial intervention +Revit modeling Assignment 4: Complete Space Intervention Finish model In +Revit Architecture Receive written feedback for Assignment 3 + +Class 5: Post???Production Final Model Review Intro to Autodesk +Impression Cutting plans, sections, elevations, perspectives Exporting +to impression, Photoshop, etc. Graphic Standards Assignment 5: Complete +graphics for plan, 2 sections, 4 interior elevations, 1 perspective 8.5 +X 11 image size for 24??? X 36??? Board + +Class 6: Physical and Digital Presentation Hand in Assignment 5 for +Internal Review Presentation Fundamentals PPT Board and Website Concepts +in Photoshop Final Physical Boards in Indesign Group Website Index +Design Completion Individual Page Design Template Completion Homework: +Complete One 24??? X 36??? Board for Print and Individual Site Page for +Group Site Compile Group Website as Team Instructor Will Print Boards +Receive Written Instructor Review Sheet + +Use two weeks to redo, enhance or make up any work for final exhibit and +scan and photograph all work for instructor. + +Gallery Exhibit and Reception Displaying: Individual Boards Group +Website Class Dinner and Digital Foundation Discussion Hand in Written +Instructor Review Sheet Receive Final Instructor Evaluation End Digital +Foundation + +**My thoughts on materials and supplies:** + +Teachers have a way of making you buy a ton of supplies that you never +use or need. Art supplies are so expensive. My intent is to provide you +with a minimal supply list so that we aren???t breaking the bank. I +would advise you to look around for these items and be creative before +you go purchasing them. + +I don???t care what type of paper, pens, pencils or markers you bring to +the table. If you would like advice based on what I personally use then +I will be happy to point you in a specific supply direction. Shoot me an +email. + +I am recommending 8.5 X 11 because it is a decent size sheet of paper +for lugging around and very easy to scan ??? and you will be scanning +everything. I personally never carry a sketchbook ??? I find them +constraining and annoying, and the perforations on the edge of the paper +defy conceptual layout. + +I advise you always work from one rectilinear sheet of paper. I keep all +of my work on loose sheets of paper in the folder portion of a 3 ring +binder. I keep instructor handouts in the binder portion. I draw on the +paper with the support of the binder and organize my drawings in a +portfolio (a manila folder) later. + +**The most important supplies you bring with you to this course are an +open mind and patience.** + +**Materials you supply:** Sharpies (thin, medium, thick) Pens (3 varying +line weights) Pencils (4 h 4 b, I hb) Markers (bic mark???it 36, AWESOME +performance for value) Charcoal (4 sticks) White pastels (2 sticks) +Kneaded Eraser (1) White pen eraser (1) 8.5 X 11 paper any kind, lots of +it, computer paper works. 12??? Trace roll or 8.5 X 11 sheets Ruler +12??? Pen knife Extra Blades Elmer???s glue 1 block of clay + +**Materials I will supply:** Acrylic paint and canvas Colorform paper +Relevant software access Large scale 24??? X 36??? printing Tape measure + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/Introduction_to_Python.md b/Introduction_to_Python.md new file mode 100755 index 0000000..3c723f6 --- /dev/null +++ b/Introduction_to_Python.md @@ -0,0 +1,28 @@ +## Introduction to Python + +WHERE: HacDC 1525 Newton ST NW Washington D.C. 20010 + +WHEN: Saturday August 30, 2008 from 1:00PM - 4:00PM + +WHO: Rob Seger + +So you???ve got this great new idea, but it requires a computer.. The +blasted thing just doesn???t do what you need it to do out of the box. +You???ve got a few options: you can give up on your project (I???m just +saying..), you can find a programmer to whisper sweet nothings to your +expensive doorstop (you may have to bribe them), or you can master the +art of pillow talk for your processor. Presumably, you???re interested +in the last option. While I can???t promise you that you???ll become the +Fabio of circuitry over-night, I can promise you???ll know how to +motivate that doorstop of yours if you attend my class. In a +less-than-formal environment, I plan to take you from not even having +python installed to understanding the fundamentals of programming. If +all goes well, you should be able to create fairly complicated programs, +understand (and know how to find) the python online documentation, and +have this irrational urge to learn more. For those with some background +in programming, we???ll be covering: variables, if-statements, looping, +fundamental data structures, functions, and modules. If that didn???t +make any sense, or you don???t already know how to do all that in +python, this is the class for you! + +[Category:Classes](Category:Classes "wikilink") \ No newline at end of file diff --git a/IntrotoVisualsforProgrammers.md b/IntrotoVisualsforProgrammers.md new file mode 100755 index 0000000..1bcb264 --- /dev/null +++ b/IntrotoVisualsforProgrammers.md @@ -0,0 +1,2 @@ +1. REDIRECT [Intro to Visuals for + Programmers](Intro_to_Visuals_for_Programmers "wikilink") \ No newline at end of file diff --git a/Inventory(1).md b/Inventory(1).md new file mode 100755 index 0000000..f458a10 --- /dev/null +++ b/Inventory(1).md @@ -0,0 +1,250 @@ +
+ +
Printers.jpg
+
+ +This page has not been maintained. For parts, supplies, tools and +equipment, check here first: + + +## Outgoing Objects + +[Batch III](Batch_III "wikilink") + +## Equipment + +### Power Tools + +- Table Saw +- Soldering Irons +- Reciprocating Saw +- Belt Sander w/ dust collection [^1]. (No it can't. I am info@hacdc and + I have no idea where this is.) +- Circular Saw +- Manually controlled milling machine + +### Hand Tools + +- Screwdrivers +- Hammers +- Files + - Precision files + - regular sized metal/wood/etc files +- Hack saws +- Pliers of all kinds +- Sheet metal nibblers +- Clamps + +### Furniture + +- Butt recepticals + - chairs ... lot and lots of chairs + - cushy chair +- tables +- carts +- shelves + +### Computers + +- Complete Desktop Systems +- Laptop/Notebook Computers +- CRT Monitors +- LCD Monitors +- Computer Components + - Motherboards + - Video Cards + - Graphic Cards + - Sound Cards + - Memory Chips + - Processor Chips + - Modem Cards + - Ethernet Cards +- Printers +- Scanners +- External Modems +- Mice +- Keyboards + +### Other Capital Assets + +- MAME cabinet (does this belong to the space or to Toast and Co?) + +## Parts & Supplies + +- Audio Cables +- Ethernet Cables +- Radio Parts +- Power Cables +- Power Converters/Chargers +- [Integrated Circuits](Integrated_Circuits "wikilink") + +## Other Assets in the Community + +### Skills + +#### Marketing/Fundraising + +#### Chemistry + +#### Technical Writing/Documentation + +#### Programming + +- Perl +- PHP + - Derek Cooper (some) +- ASP + - Derek Cooper +- [Visual Basic for + Applications](http://en.wikipedia.org/wiki/Visual_Basic_for_Applications) + - Derek Cooper +- VB.Net + - Derek Cooper (some) +- Python +- C +- C++ +- SQL Server +- XUL + - Derek Cooper + +[Dcooper](User:Dcooper "wikilink") 03:47, 6 May 2008 (UTC) + +### Hardware available for "the right project" + +#### Test Equipment + +This machinery may require some training and mentoring to use +effectively. + +- HP 2024b 4ch 200mhz oscilloscope [Ashfixit](User:Ashfixit "wikilink") +- HP 10ghz spectrum analyzer [Ashfixit](User:Ashfixit "wikilink") +- TTC T-berd T-1/ISDN communications test set + [Ashfixit](User:Ashfixit "wikilink") + +#### Power Tools + +- Drill [Joncamfield](User:Joncamfield "wikilink") +- Dremel 4000 + attachments + dremel drill press (holder) + [MikeEME](User:MikeEME "wikilink") +- Laminator (USED for PCB heat transfers, silkscreen foils, and dry + transfer decals) [MikeEME](User:MikeEME "wikilink") +- Orange Heat gun. (chicago electric?) + [MikeEME](User:MikeEME "wikilink") + +#### Hand Tools + +- Axe/sledge hammer combo (large, and also safety hazard) + [Joncamfield](User:Joncamfield "wikilink") +- Shovel (geek gardening project?) + [Joncamfield](User:Joncamfield "wikilink") +- Machete [Joncamfield](User:Joncamfield "wikilink") + +#### Furniture + +#### Computers + +- Complete Desktop Systems + - 2 AMD + [PIC](http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_12264,00.html)s, + a small WinCE-based rugged computer; rumor has it that the bios + prevents installing Linux [Joncamfield](User:Joncamfield "wikilink") +- Laptop/Notebook Computers + - 2 old but running laptops (ubuntu/xfce or DSL pre-installed) + [Joncamfield](User:Joncamfield "wikilink") +- CRT Monitors +- LCD Monitors +- Computer Components + - Motherboards + - Video Cards + - Graphic Cards + - Sound Cards + - Memory Chips + - Processor Chips + - Modem Cards + - Ethernet Cards + - Cell Phone Connectivity + - 1 GSM-based PCMCIA card (sans simcard) + [Joncamfield](User:Joncamfield "wikilink") +- Printers +- Scanners +- External Modems +- Mice +- Keyboards + +#### Other + +- **the** red phone ... yes that kind of red phone. no dial just a + blinking light. + +#### Basement Shelves + +- SEM (Electron Microscope) Parts & Supplies - A1 +- Laser Cutter supplies - A1 +- Soldering Kits - A2 +- Big Electronics Course - A2 +- Fans & Heatsinks - A3 +- Batteries, Alkaline - C1 +- Batteries, Rechargable - C1 +- Fasteners, Screws - C1 +- Safety Coveralls, Goggles, Hearing Protection - C2 +- Multimeters , Voltmeters - D1 +- Flexible Magnet Roll - D1 +- AC Electrical Supplies - D1 +- Chemicals, Acids - E1 +- Chemicals, Solvents - E1 +- Chemical Absorbent / Spill Kit - E1 +- Motors, Electrical - D2 +- Pneumatic Tubes, Pumps - D2 +- Photolithography, PCB Etch - E2 +- Satellite Router, Direct 3000 series - C4 +- Broadband Satellite Comm, Nera WorldPro 1010 - C4 +- Projector, LCD - B4 +- Picture Frames, LCD - B4 +- CCTV Remote Control Consoles - B4 +- Video breakout box, 6:1 BNC - B4 +- Wire loom, cable organizer - A6 +- Enrique's Stuff - B1 +- Radio repeater duplexer resonators - B3 +- Radio related bin - B3 +- Signal Tracer, Transistorized - K1 +- Voltmeter, True RMS HP 3403C - K1 +- Multimeter, Simpson 467 - K1 +- Multimeter, Kethley 178 - K1 +- Multimeter, Simpson 260 - K1 +- Frequency Counter, HP 5382A - K1 +- Oscilloscope, HP 182A - K1 +- Oscilloscope, Phillips PM 3216, 35MHz - K2 +- Oscilloscope, CRBI 255 +- Oscilloscope, Tektronics 5110 - K3 +- Tektronics TM 505 +- Retina Scanner - K1 +- Charge Amplifier, Bruel & K 2635 - K1 +- Audio Spectrum Analyzer, Kay Sona-Graph 5500 - K1 +- Octave Filter, Ithaco 4302 - K1 +- Attenuator Set HP 5500 (2) - K1 +- Tracking Filter, Krohn-Hite 3800 - K2 +- Pulse Generator / Delay, SRS DG535 (2) - K2 +- Power Supply 25V 250mA, Marconi 6590B - K2 +- Spectrum Analyzer FFT, Nicolet Sci Corp 444A Mini-Ubiquitous - J3 +- Signal Counter 5512A - K3 +- Function Generator, Noise Generator - K3 +- Function Generator 2 MHz - K3 + +#### Tools on Loan + +- Hammer drill - Bobby +- Miter saw - Bobby +- Dolly cart - Bobby +- Scale 30g, digital - Enrique +- Scale 30kg, digital - Enrique +- Sound level decibel meter - Enrique +- Pyrometer - Enrique + +## Notes + + + +[Category:Materiel](Category:Materiel "wikilink") + +[^1]: This power tool may be stored offsite for security reasons. It can + be requested by sending an email to info@hacdc.org \ No newline at end of file diff --git a/Inventory-space-by-Bobby.md b/Inventory-space-by-Bobby.md new file mode 100755 index 0000000..794f739 --- /dev/null +++ b/Inventory-space-by-Bobby.md @@ -0,0 +1,60 @@ +(items in () are more or less temporary) North Speaker: Tannoy B50 +Light: 8 bulb Speaker: iMode iP1500 4 ohm 5W (outgo?) Smoke detector, +photoelectric: Ademco 5808LST (uses 2 CR123A batteries) (outgo?) +Magnetic stirrer: Home Science Tools CE-HOTSTIR Centrifuge: Drucker 611 +T Microscope: Tasco 1200 Monitor stand (outgo?) Video microscope: +AmScope Five Channel Home Theater System: dynaco QD-1 series 11L +(outgo?) Box of CFL bulbs: Plusrite CFQ13W/GX23/841 (outgo? (recycle, +contains Hg)) Speaker: Tannoy B50 (works, in use) Spaceblimp bin 1 Box +of CRISPR supplies (outgo?) Spaceblimp bin 2 12-inch Nonstick Electric +Skillet: Chefmate (labeled Not For Food) (outgo?) SEM Operating +Instructions binder Router: D-Link AC750 DIR-817LW Gigabit swtich: +TP-Link TL-SG1008D Gigabit switch: Linksys SEM parts bin PCB fabrication +bin Constant Temperature Water Bath Jug of HCl (take to basement or put +on floor) Hot Stone Spa Therapy System: Conair HR10A (OUTGO!) CRC QD +Electronic Cleaner spray can (labeled DO NOT USE HAZARD) (OUTGO!) Box +with OS DVDs (outgo?) Can of Byzantium drives Hot pot: ProctorSilex +K4077 (outgo?) Air purifier (CO2 meter) (CO detector) 3D printer: Mini +(works) Cordless phone: Uniden EX18560 VOIP: Linksys VOIP Voice Gigabit +router: TP-Link AC1750 Microwave oven: Emerson (works except for clock +digit) 3D printer: (2nd) Taz (never worked) 3D printer computer: Dell +Optiplex 760 3D printer: Rostock (being repaired) Fire extinguisher: +Kidde (recommend moving) 3D printer: Monoprice (works) Coffee maker: +Sunbeam East 2 air conditioners: Frigidaire Video screen DC power +outlets: MFJ MFJ-1128 Audio unit: Focal Power Bird Digital repeater: +DR-1X Duplexer: Phelps Dodge 696 AV surround receiver: Denon AVR-1908 +Power amp: Crown CP660 Function generator: HP 3312A Unidentified unit: +Swan Unidentified unit: Swan Transceiver?: Swan Cygnet Radio equipment: +Echophone Commercial Power supply: Astron RS-50M Amp: Elecraft KPA1500 +Autotuner: LDG Electronics YT-1200 Transceiver: Yaesu FT-991 Direction +control: hy-gain Power supply: Elecraft KPA1500 2 FRS/GMRS radios: Cobra +microTALK TV computer: LG Sharkoon Gigabit switch: D-Link DGS-1005D +Video camera: XBOX 360 Voltage regulator: Seven Star AR-5000 SEM South +Speaker: Tannoy B50 (assumed) Power supply: Power Mate Corp. PXS-C-5-V +Monitor: Lenovo Printer: IBM 4312 Tripod 4 speakers: JBL Bin labeled +John Pancoast W3HAC Light: 12V LED Speaker: Tannoy B50 (assumed) +Microscope: Tasco Pulse generator: Wavetek Model 801 (50MHz) +Oscilloscope: COS6150 3 keyboards Video game controller: TiltForce2 2 +computers: MacBook Computer: ASUS Eee PC 701SD Computer: Sony PCG-6L1M +("running Windows Vista... but not for long") Computer: Toshiba +Satellite U305 - S7446 (labeled the same) Computer: HP pavilion ze1000 +Computer: partially disassembled & unlabeled (outgo?) Computer: partial +Fujitsu LifeBook P1610 Computer: Fujitsu LifeBook P1610 ("No operating +system") Computer: IBM ThinkPad 2686 ("Void Linux - good") Computer: IBM +ThinkPad 2687 ("Not Linux! Haiku! No wireless") Computer: Dell PP18L +("Not Linux kernel! GNU Hurd kernel") 7 tabletop computers: Dell PP09S +(1 missing USB drive) Tape drive: Seagate STD624000N (outgo?) Battery: +Sealed lead-acid universal battery UB1280k (outgo? (recycle)) 3 +keyboards (Monitor: MultiSync 1980SX) (Monitor: Lenovo ThinkVision) +(Speaker: Evolution TS5500) Laser cutter Fire extinguisher: Kidde +(RECALLED - call Kidde to get it replaced free) Oscilloscope: +Tektronix-TDS-224 Soldering system: Aoyue Int 2738A Power supply: HQ +Power PS1503SBU Power supply: Kepco MPS 620M Soldering iron: Weller +WES51 Soldering iron: Weller WSM 1C Soldering iron: Therm-o-trac 1002 +West Video microscope: Sony 3D printer: Ultimaker (Computer: ASUS Eee +Box (old 3D printer computer)) (Printer computer (not working, will not +boot up)) Printer/copier: Brother DCP8060 (works) (Monitor) VR computer: +HP Omen 880-130 Renderadmin computer: PowerEdge T410 Many video game +controllers Monitor: Dell VR headset: htc VIVE Gigabit switch: Netgear +GSS116E (not in use) Refrigerator (belt sander) Magnetic sweeper +Stepladder \ No newline at end of file diff --git a/Inventory-space.md b/Inventory-space.md new file mode 100755 index 0000000..aa45a8b --- /dev/null +++ b/Inventory-space.md @@ -0,0 +1,130 @@ +(items in () are more or less temporary) + +### North + +- Speaker: Tannoy B50 +- Light: 8 bulb +- Speaker: iMode iP1500 4 ohm 5W (outgo?) +- Smoke detector, photoelectric: Ademco 5808LST (uses 2 CR123A + batteries) (outgo?) +- Magnetic stirrer: Home Science Tools CE-HOTSTIR +- Centrifuge: Drucker 611 T +- Microscope: Tasco 1200 +- Monitor stand (outgo?) +- Video microscope: AmScope +- Five Channel Home Theater System: dynaco QD-1 series 11L (outgo?) +- Box of CFL bulbs: Plusrite CFQ13W/GX23/841 (outgo? (recycle, contains + Hg)) +- Speaker: Tannoy B50 +- Spaceblimp bin 1 +- Box of CRISPR supplies (outgo?) +- Spaceblimp bin 2 +- 12-inch Nonstick Electric Skillet: Chefmate (labeled Not For Food) + (outgo?) +- SEM Operating Instructions binder +- Router: D-Link AC750 DIR-817LW +- Gigabit swtich: TP-Link TL-SG1008D +- Gigabit switch: Linksys +- SEM parts bin +- PCB fabrication bin +- Constant Temperature Water Bath +- Jug of HCl (take to basement or put on floor) +- Hot Stone Spa Therapy System: Conair HR10A (OUTGO!) +- CRC QD Electronic Cleaner spray can (labeled DO NOT USE HAZARD) + (OUTGO!) +- Box with OS DVDs (outgo?) +- Can of Byzantium drives +- Hot pot: ProctorSilex K4077 (outgo?) +- Air purifier +- (CO2 meter) +- (CO detector) +- 3D printer: Mini (works) +- Cordless phone: Uniden EX18560 +- VOIP: Linksys VOIP Voice +- Gigabit router: TP-Link AC1750 +- Microwave oven: Emerson (works except for clock digit) +- 3D printer: (2nd) Taz (never worked) +- 3D printer computer: Dell Optiplex 760 +- 3D printer: Rostock (needs extruder mount) +- Fire extinguisher: Kidde (recommend moving) +- 3D printer: Monoprice (works) +- Coffee maker: Sunbeam + +### East + +- 2 air conditioners: Frigidaire +- Video screen +- DC power outlets: MFJ MFJ-1128 +- Audio unit: Focal Power Bird +- Digital repeater: DR-1X +- Duplexer: Phelps Dodge 696 +- AV surround receiver: Denon AVR-1908 +- Power amp: Crown CP660 +- Function generator: HP 3312A +- Unidentified unit: Swan +- Unidentified unit: Swan +- Unidentified unit +- Radio equipment: Echophone Commercial +- Power supply: Astron RS-50M +- Amp: Elecraft KPA1500 +- Autotuner: LDG Electronics YT-1200 +- Transceiver: Yaesu FT-991 +- Direction control: hy-gain +- Power supply: Elecraft KPA1500 +- 2 FRS/GMRS radios: Cobra microTALK +- TV computer: LG Sharkoon +- Gigabit switch: D-Link DGS-1005D +- Video camera: XBOX 360 +- Voltage regulator: Seven Star AR-5000 +- Video game controllers (many) +- Monitor +- VR headset +- Computer +- SEM + +### South + +- Speaker: Tannoy B50 (assumed) +- Power supply: Power Mate Corp. PXS-C-5-V +- Monitor: Lenovo +- Printer: IBM 4312 +- Tripod +- 4 speakers: JBL +- Bin labeled John Pancoast W3HAC +- Light: 12V LED +- Speaker: Tannoy B50 (assumed) +- Microscope: Tasco +- Pulse generator: [Wavetek Model 801 + (50MHz)](:File:Wavetek_Model_801_50MHz_Pulse_Generator.djvu "wikilink") +- Oscilloscope: COS6150 +- Tabletop computers +- (Monitor: MultiSync 1980SX) +- (Monitor: Lenovo ThinkVision) +- (Speaker: Evolution TS5500) +- Laser cutter +- Fire extinguisher: Kidde (RECALLED - call Kidde to get it replaced + free) +- Oscilloscope: [Tektronix TDS + 224](:File:Tektronix-TDS-224.djvu "wikilink") +- Soldering system: Aoyue Int 2738A +- Power supply: [Velleman HQ Power + PS1503SBU](:File:Velleman-HQ-PS1503SBU.djvu "wikilink") +- Power supply: Kepco MPS 620M +- Soldering iron: Weller WES51 +- Soldering iron: Weller WSM 1C +- Soldering iron: Therm-o-trac 1002 + +### West + +- Video microscope: Sony +- 3D printer: Ultimaker +- (Computer: ASUS Eee Box (old 3D printer)) +- (Printer computer (not working, will not boot up)) +- Printer/copier: Brother DCP8060 (works) +- (Monitor) +- Renderadmin computer +- Gigabit switch: Netgear GSS116E +- Refrigerator +- (belt sander) +- Magnetic sweeper +- Stepladder \ No newline at end of file diff --git a/Inventory_Laptops.md b/Inventory_Laptops.md new file mode 100755 index 0000000..189e820 --- /dev/null +++ b/Inventory_Laptops.md @@ -0,0 +1,5 @@ +## TAG: CAPHYDRG + +IBM Thinkpad T60 + +Status: Missing power supply 20V 3.25A \ No newline at end of file diff --git a/Inventory_Refinement_-_Spring_Cleaning_2022.md b/Inventory_Refinement_-_Spring_Cleaning_2022.md new file mode 100755 index 0000000..9fe4d33 --- /dev/null +++ b/Inventory_Refinement_-_Spring_Cleaning_2022.md @@ -0,0 +1,78 @@ +## Time and Location + + +Date Sat 11 Jun 2022 at 2:30pm + +Members present: Michelle, Ken + +Others present: Bobby + +[Quorum](Quorum "wikilink") + + +Quorum met? No + +This meeting was held as an addendum "refinement" meeting from the prior +Inventory by Bobby done in Feb 2020. Because the membership on premises +was limited due to pandemic, a full inventory wasn't held. Please +reference the following document for a more complete list: +[Inventory-space-by-Bobby](Inventory-space-by-Bobby "wikilink") + +Action items: + +- Email Google Forms "keep/trash?" document to existing members with + photos attached +- Add "for discussion" items to next Monthly Members Meeting +- Water Issues - basement: + - coming in from outside + - not draining inside, possible super-clog that appears that there + isn't even a drain + - water leaking from busted drain pipe along wall; top of wall there + is opening with a tunnel (the tunnel is not part of our storage + space, was offered to us at one point) + +## Workroom: Washroom + +Standing pole lamp (photo) + +## Workroom: Entrance/short hallway + +Filing cabinet, gray: "HacDC" banners (top drawer) Filing cabinet, gray: +Raffle tickets, for events (top drawer) Filing cabinet, gray: clear and +blue disposable glvoes (top drawer) + +## Workroom: North + +Taking two large space Space Blimp boxes into basement For grabs: large +brown box marked "CRISPR" (everything photographed except the gloves, +microslides): do we need any slides for the microscopes we're keeping? +Can donate to Ulisses? + +## Workroom: East + +## Workroom: South + +Missing 4 (or 7) tabletop computers since Bobby's inventory - intended +for anyone who comes in to have something to work on. Possibly in +basement. Tayeb/Kevin/Obi: say to check near A/C - these are in fact +"laptops" without storage, without batteries and unlikely to have been +taken + +## Workroom: West + +Saw, electric metal saw - is Bobby's (had his name on it) and "wear +safety goggles" sign + +## Basement: North (same wall as the entrance door) + +Radon detector (brand: Corintium) - missing Bobby's radon detector which +was previously on this wall (last seen: Feb 2020) + +(\*) - need to lock physical devices on loan down to the walls or other +immoveable structure + +## Basement: East + +## Basement: South + +## Basement: West \ No newline at end of file diff --git a/Items_Borrowed_from_the_HacDC_Space.md b/Items_Borrowed_from_the_HacDC_Space.md new file mode 100755 index 0000000..69bc877 --- /dev/null +++ b/Items_Borrowed_from_the_HacDC_Space.md @@ -0,0 +1,241 @@ +*Add new entries to the top of the list!* + +**November 16, 2021 Tristan Ritland borrowing the lathe from the +basement** + +January 14, 2019 [TuxLovesYou](User:Tuxlovesyou "wikilink") +(Andrew) +Borrowed Tektronix TDS 224 oscilloscope ++ 2x "Little clippy probes (sencore and unbranded)" ++ 2x "Pokey probes (spl508, tele P6149A)" + +December 2018 - +[User:Summakor](User:Summakor "wikilink") +Borrowed the FLIR One for Android infrared imager. Should be returned by +mid/late December. + +March 2018 - [User:l_wl](User:l_wl "wikilink") +Borrowed Hacdc posters (now returned). Borrowed the thermometer gun (now +returned, with new batteries no-less). Borrowed several slack lines +(will return these after I take a few cool videos of me slack lineing). + +January 2018 - [User:l_wl](User:l_wl "wikilink") +Borrowed Power Mac G5 to conduct repairs on. Will share a video on its +current state and improvments. + +8 December 2017 - [tom](User:tom "wikilink") +I've borrowed the dolly and the heatgun, need to return them both. + +`   returned by May 2018 -t` + +March 2017 - [l_wl)](l_wl) "wikilink") +Borrowed an LCD screen for use as an additional monitor at home. I took +one LCD screen (that had VGA inputs) and replaced it with another LCD +screen (quite similar to the one I took, but possibly lower in quality) +(as this one had HDMI inputs - that my PC can't handle.). I have also +brought an additional small monitor to the space (March 2018). \[Could +some let me know if this suffices?\] + +30 August 2017 - [mirage335](User:mirage335 "wikilink") +Biosignal amplifier was returned a long time ago, hopefully it will be +treated well. Non-flyable quadcopter, legos, high-power audio amps were +also returned long ago, though the seem not to be in the space at +present. Also, have been borrowing stick welder, both in hopes of +testing it, and to keep it out of the way of basement cleanup projects. +Need for high-current 240V service has held up that project. + +27 September 2016 - [Ethan +Waldo](User:ewaldo "wikilink") +USRP1 for Spaceblimp communications experimentation + +1 July 2016 - [Tom Iddings](User:Tom "wikilink") +Borrowed a Dell D620 to put GNU/Hurd on it because it seemed like a good +use for it. Maybe we can use it for an experimental OS development +project? + +17 May 2016 - [Ethan Waldo](User:ewaldo "wikilink") +Borrowed Altera DE2-115 to assist in further developing +[OpticalTableRobot](:Category:OpticalTableRobot "wikilink") + +10 February 2016 - +[mirage335](User:Mirage335 "wikilink") +Borrowed T43 laptop used to drive pen plotter and remaining biosignal +amplifier development components. + +14 October 2015 - [mirage335](User:Mirage335 "wikilink") +Borrowed miniVNA and extender to calibrate and optimally point a +moderately-directional wideband antenna. EDIT: Returned a long time ago. + +16 September 2015 - +[mirage335](User:Mirage335 "wikilink") +Temporarily storing a bunch of stuff from HacDC, to relieve some of the +temporary storage pressure during the move. Most prominently,our +biosignal amplifier, a bunch of high-power audio amps, a couple +non-flyable quadcopters, a RC hovercraft toy, a telescope, some more +legos, some toy night-vision goggles, the NI myDAQ/myDSP, and some IP +cams. Will return upon request, hopefully sooner. Hopefully most of this +stuff (ie. biosignal amplifier audio amps, IP cams, myDAQ/myDSP, etc) +will be immediately integrated into the new classroom soon after the +move. EDIT: NI myDAQ/myDSP returned along time ago. Returned the +telescope, night-vision goggles, and IP cams. + +11 June 2015 - [mirage335](User:Mirage335 "wikilink") +Returned label printer, which is not useful without a special adapter +cable among other things. Borrowed a bag of legos and empty microscope +head for optical prototyping and photolithography experiments. Most +Legos will probably be returning after replacement by 3D printed parts. +Will return upon request. + +27 March 2015 - [mirage335](User:Mirage335 "wikilink") +Long-term borrowed amphibious RC car, power-line monitor, and label +printer. Will return upon request. + +17 March 2015 - [wa1ivd](User:Wa1ivd "wikilink") +Borrow Tektronix 2212 ser. H701215 from basement for Ultimate3S project, +will return if needed. + +10 March 2015 - [mirage335](User:Mirage335 "wikilink") +Returned remaining screwdrivers and such. Borrowed an average +oscilloscope, and low-end function generator long term, will return upon +request or when tolerance for their existance at the space improves (eg. +for a class event). Also borrowed one of the several wire-wrapping tools +recent discovered. + +3 March 2014 - [mirage335](User:Mirage335 "wikilink") +USRP, related radio gear (some of which was built by me), wire, +low-quality soldering iron, 2.4GHz R/C transmitter/receiver pair. +Attempting to set up ham radio antenna at new QTH. Additionally, going +to try repairing a model R/C plane with the R/C transmitter/receiver +pair. Will return unused radio gear and supplies to HacDC when done, and +donate for anything used. EDIT: Have returned some of the supplies as of +3/28/2014. Still borrowing USRP and soldering iron. RC plane may be able +to use R/C transmitter/receiver pair if given new servomotors. Also +borrowed a pair of decent pilers and wire cutters. EDIT: Borrowed SMT +tweezers as of 4/14/2014, since my own set may not be adequate for an +urgent project. Also borrowed M3 screwdriver bit. EDIT: Also borrowed +soldering iron tip, while waiting on RMA from two other tips. Will +probably bring back with some of the other materials within a week or +two, time-ultra-critical project still underway. EDIT: Have returned +almost everything. Still occasionally borrowing a few screwdrivers and +other non-critical items, as some of my own have failed. + +30 December 2013 - +[mirage335](User:Mirage335 "wikilink") +Prusa Mendel, and associated hardware. Minor repairs in progress, ETA +return Thursday, January 2, 2014. EDIT: Returned Saturday, January 4, +2014. Performance and reliability vastly improved. + +12 November 2013 - [nootrope](User:Nootrope "wikilink") +hackerspaces.org banner for Smithsonian X 3D Conference 2013 + +October 20, 2013 - +[mirage335](User:Mirage335 "wikilink") +~~Level and steel railing, for construction evaluation.~~ Returned. + +14 August 2013 - [The Doctor](User:Drwho "wikilink") +\* ~~Macbook Pro (for Byzantium development)~~ (returned Nov 2013) + +April 21, 2013 - [mirage335](User:Mirage335 "wikilink") +Prusa Mendel, PLA feedstock, M3 screws, some tape, some tools. Emergency +maintenance in progress, ETA return Thursday, April 24, 2013. EDIT: +Returned a while ago, seems the information was lost on wiki. + +April 4, 2013 - [nocko](User:Nocko "wikilink") +Diligent Spartan-3E Starter Board (Labeled HacDC \#12). I want to see if +the SUMP logic analyser HDL can be modified and installed on this board. + +December 18, 2012 - +[mirage335](User:Mirage335 "wikilink") +Project Salvage components. Most should become valuable electronic test +equipment at HacDC and absolutely must not be trashed. EDIT: Returned a +while ago to the test cart. Connectorization of some parts (eg. mixers) +still progressing. + +July 21, 2012 - [mirage335](User:Mirage335 "wikilink") +Borrowing Ham radio gear this weekend, as described in the previous +struck through entry. EDIT: Returned. Awesome data obtained. + +June 29, 2012 - [mirage335](User:Mirage335 "wikilink") +Borrowing Ham radio gear tomorrow. Specifically, IC-718 radio, +antenna tuner, RF power meter, balun (if available), PSU, some feedline, +some wire, and a measuring tape (if \>12'). Will also borrow some of my +own objects at the space, specifically a UPS (for its 12V battery) and a +magnetic loop antenna. Leaving my name and number on the ham radio cart +in case anyone needs the radio or has questions. This is exclusively for +the purpose of diagnosing HacDC's ham radio issues as documented on the +mailing list. Postponed due to severe weather and power disruption. +Radio not borrowed yet. + +May 30, 2012 - [mirage335](User:Mirage335 "wikilink") +- Ancient (20 years+) semi-working AM/FM/WB/CB radio. Found in basement. +AM function never worked, in sorry shape, needs repair, so I'm going to +try repairing it as far as possible. Will be back at the space in ~2 +weeks. EDIT: Returned. After mostly mechanical repairs, AM, FM, CB +functions work well. + +April 2012 - [User:Tslagle](User:Tslagle "wikilink") +- IBM Thinkpad T43 laptop from David Whiteis. Wiped, installed Windows 7 +and MATLAB on it, used it for USA Science & Engineering Fest booth demo +("Mug Plot") + +18:00, 29, January 2011 (PST) - +[Williamgibb](User:Williamgibb "wikilink") - Stanford Research +Systems DG535 Pulse Generator + +20:30, 1314, November 2010 (PST) - +[Williamgibb](User:Williamgibb "wikilink") - Digilent FX2 Expansion +board for Spartan3E FPGA Starter Kit. + +17:20, 13 July 2010 (UTC) - [DLotts](User:DLotts "wikilink") - +One OLPC XO with charge cord. It calls itself HacDC OLPC \#3. + +December 15, 2009 - [timball](User:timball "wikilink") - one +black soldering iron + stand + +[DLotts](User:DLotts "wikilink") 08:41, 29 October 2009 (UTC) - +A230 Micro Game Station with labeled problem: "Raster screen" AKA white +screen of death with stripes. + +June 2, 2009 - Derek Cooper - +- Infrared night vision goggles +June 2, 2009 - David Lotts - +- Infrared night vision goggles (EyeClops) +June 2, 2009 - [The Doctor](User:Drwho "wikilink") - +- Infrared night vision goggles +'cause, you know, all the cool kids were doing it. +I discovered that the unit I borrowed is flaky - after a few seconds of +wearing it while powered up the display flickers and goes dead. I think +that the cable leading from the power pack to the visor has a bad +connection. When I get time I'll tear this one down and see if I can +repair it. +January 13, 2009 - Derek Cooper - +- CEN-TECH Digital Multimeter (red) Item#90899 +December 22, 2008 - [Nate](User:Myself "wikilink") - +JC Penney component stereo cassette deck + Nov 13, 2008 Mac G4 usb keyboards (x2) - member28 +August 7, 2008 - [Ben](User:Ben "wikilink") +- Beginning Electronics book + +July 25, 2008 - Q (andrew@i11industries.com) - +June 30, 2008 - Q (andrew@i11industries.com) - +- 1x Digital Multimeter (Yellow) +June 19, 2008 - Richard Bewley (rbewley@gmail.com) - +Not Returned / Outstanding +- 1x Lineman's handset + +June 1, 2008 - Tino (oberoc@yahoo.com) - +Small Form Factor PCs book + +

+ +Items Returned to the HacDC Space + +

+ +June 15, 2008 - Tino (oberoc@yahoo.com) - +Small Form Factor PCs book +July 25, 2008 - Q (andrew@i11industries.com) - +- Reflow Station + +[Category:Materiel](Category:Materiel "wikilink") +[Category:EverydayPolicy](Category:EverydayPolicy "wikilink") \ No newline at end of file diff --git a/Iverilogmakefile.md b/Iverilogmakefile.md new file mode 100755 index 0000000..08ffcc0 --- /dev/null +++ b/Iverilogmakefile.md @@ -0,0 +1,94 @@ +This is made for the [Digital Design and FPGA +workshop](FPGA_Workshop "wikilink") run in Fall 2009. +== makefile == Assumptions: You have iverilog, vvp and gtkwave in your +\$PATH. iverilog and vvp are the Icarus Verilog package. gtkwave is the +GTKWave+ package. + +In order to use this makfile, the TOOL INPUT section must be modified to +match your needs. This involves the following + +- Change the SRC macro to include your verilog source code files. +- Change the TESTBENCH macro to include your verilog testbench. +- Change the TBOUTPUT macro to the name of the file your dumping your + testbench output too. + + +The posted makefile shows the TOOL INPUT macros pre-populated for +targeting an Arithmetic Logic Unit (alu). + + ############################################################################### + # + # ICARUS VERILOG & GTKWAVE MAKEFILE + # MADE BY WILLIAM GIBB FOR HACDC + # williamgibb@gmail.com + # + # USE THE FOLLOWING COMMANDS WITH THIS MAKEFILE + # "make check" - compiles your verilog design - good for checking code + # "make simulate" - compiles your design+TB & simulates your design + # "make display" - compiles, simulates and displays waveforms + # + ############################################################################### + # + # CHANGE THESE THREE LINES FOR YOUR DESIGN + # + #TOOL INPUT + SRC = alu.v alu_func.v alu_regn.v dff.v + TESTBENCH = alu_tb.v + TBOUTPUT = waves.lxt #THIS NEEDS TO MATCH THE OUTPUT FILE + #FROM YOUR TESTBENCH + ############################################################################### + # BE CAREFUL WHEN CHANGING ITEMS BELOW THIS LINE + ############################################################################### + #TOOLS + COMPILER = iverilog + SIMULATOR = vvp + VIEWER = gtkwave + #TOOL OPTIONS + COFLAGS = -v -o + SFLAGS = -v + SOUTPUT = -lxt #SIMULATOR OUTPUT TYPE + #TOOL OUTPUT + COUTPUT = compiler.out #COMPILER OUTPUT + ############################################################################### + #MAKE DIRECTIVES + check : $(TESTBENCH) $(SRC) + $(COMPILER) -v $(SRC) + + simulate: $(COUTPUT) + $(SIMULATOR) $(SFLAGS) $(COUTPUT) $(SOUTPUT) + + display: $(TBOUTPUT) + $(VIEWER) $(TBOUTPUT) & + #MAKE DEPENDANCIES + $(TBOUTPUT): $(COUTPUT) + $(SIMULATOR) $(SOPTIONS) $(COUTPUT) $(SOUTPUT) + + $(COUTPUT): $(TESTBENCH) $(SRC) + $(COMPILER) $(COFLAGS) $(COUTPUT) $(TESTBENCH) $(SRC) + +## convenient file copy script + +Convenient file to copy the makefile from ~/resources/makefile to your +current directory. copy the script into a file, chmod +x the file and +place the file in your \$PATH. this assumes that ~/resources/makefile +does not have write permissions granted to it. + + #!/bin/bash + # + # William Gibb + # Written for HacDC Digital Design and FPGA workshop + # + #variables! + fileofjustice=~/resources/makefile + + #script it up! + echo "Copying iVerilog makfile" + if [ -r $fileofjustice ]; then + cp $fileofjustice . + chmod u+w ./makefile + echo "makefile copied" + else + echo "You don't have the makefile at $fileofjustice" + fi + +[Category:FPGAWorkshop](Category:FPGAWorkshop "wikilink") \ No newline at end of file diff --git a/JeeMesh.md b/JeeMesh.md new file mode 100755 index 0000000..7f23772 --- /dev/null +++ b/JeeMesh.md @@ -0,0 +1,33 @@ +JeeMesh is a mesh protocol in development at HacDC to extend the +[JeeNode](http://cafe.jeelabs.net/lab/jn5/) +[RF12](http://cafe.jeelabs.net/sw/library_-_rf12/) low power wireless +protocol for mesh routing, packet fragmentation, and (more) reliable +delivery. + +RF12 has the following limitations: + +- up to 30 nodes (typically 26 nodes and 4 servers/gateways) +- MTU 66 bytes +- range of about 30' to 50' at 915mhz + +We intend to extend these limits somewhat: + +- MTU 1023 bytes +- range up to 200' by routing through up to four nodes on a mesh + +A 16 bit header is added using the first two bytes of the RF12 packet +data as follows: + +- 5 bits for original source node +- 5 bits for final destination node +- 2 bits for ttl +- 4 bits for fragment sequence + +This allows us to reconstruct 1024 byte JeeMesh packet from 16 64-byte +packet fragments. We further add another 8 bit header to the first +packet fragment, reducing the MTU to 1023 bytes: + +- 4 bits number of fragments +- 4 bits packet type + +[Category:Previous_Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/Junk_Bins.md b/Junk_Bins.md new file mode 100755 index 0000000..482b2b1 --- /dev/null +++ b/Junk_Bins.md @@ -0,0 +1,23 @@ +## Junk Bins (Proposed) + +- Level 1 - aka "1 week bin" + - When an item(s) is placed in the Level 1 bin, it (or its container) + must be **NONDESTRUCTIVELY AND NONPERMANENTLY** labeled with the + date it was removed from the bench and from which bench it was + removed. [see map](Space_Map "wikilink") + - After 1 week in a Level 1 bin an item must be placed in a Level 2 + junk bin. +- Level 2 - aka "1 month bin" + - After 1 month in a Level 2 bin an item should be placed in a Level 3 + bin +- Level 3 - aka "removal bin" + - When an item is placed in a Level 3 bin it should be photographed + and posted to the with a brief textual + description. + - Labeled (as described in previous Junk Bin Levels) items in Level 3 + bins may \*not\* be remain in the space once their time has elapsed. + - After a month in a Level 3 bin items will be recycled, trashed, + stripped for parts, sold by HacDC, or otherwise disposed of as the + Junk Comity or Voting Membership sees fit. + +[Category:Proposal](Category:Proposal "wikilink") \ No newline at end of file diff --git a/K40_Exhaust_Assembly.md b/K40_Exhaust_Assembly.md new file mode 100755 index 0000000..dae5402 --- /dev/null +++ b/K40_Exhaust_Assembly.md @@ -0,0 +1,63 @@ +[K40 Exhaust Assembly](K40_Exhaust_Assembly "wikilink") + +We've created an exhaust assembly to provide a modular, modifiable +platform to vent gases from the awkward rectangular cut-outs in the back +of our Ebay K40 laser. + +## External Repository + +All of these parts should be up on +[](http://kalli1.faikvm.com/HacDC/CheapLaserCutter), +(just kidding though, currently they're not!! -Tom 4/17/17). Feel free +to + +`   git clone` + +and print. ImplicitCAD code provided is GPL licensed. + +## Screwhole Adapters + +This is helpful, even if you think it's not. + +
+ +
File:Screwhole_adapter.stl
+
+ +## Exhaust Nacelle + +The latest iteration as of 4/17/17 -- + +
+ +
File:Square_vent_adapter.stl
+
+ +## Exhaust Nozzle + +James has a better version of this, but you'll likely want to make your +own or modify the source code than use the raw stl of a rather chunky +model below-- + +[Exhaust nozzle](Exhaust_nozzle "wikilink") + +
+ +
File:round_hose_adapter.stl
+
+ +## Exhaust Flow Switch + +Flap disk air flow switch to ensure exhaust is running when laser is +operating-- + +[Air flow switch holder](Air_flow_switch_holder "wikilink") + +[Category:Equipment](Category:Equipment "wikilink") +[Category:Laser](Category:Laser "wikilink") +[Category:CheapChineseLaser](Category:CheapChineseLaser "wikilink") \ No newline at end of file diff --git a/Keysigning.md b/Keysigning.md new file mode 100755 index 0000000..bf1a3f8 --- /dev/null +++ b/Keysigning.md @@ -0,0 +1,96 @@ +This page is a resource for keysigning parties @ HacDC. + +## Upcoming Parties + +Friday, November 13th @ 7:30PM + +## Past Parties + +September 10th, 2009 + +- We had about 20 folks and about 10 of whom were productively + keysigning. + +## Intro to KeySigning + +- You have a private key and a public key, which you generate (your + keypair). + - gpg --gen-key + + + +- People use your public key to send you encrypted messages that only + you can open via the magic of crypto! + - gpg --output doc.gpg --encrypt --recipient obscurite@hacdc.org doc + + + +- You decrypt these messages with your private key, which only you have + access to. + - gpg --output doc --decrypt doc.gpg + + + +- But first, you must share your public key, either directly or by + uploading it to a keyserver. + - gpg --keyserver pgp.mit.edu --send-keys D34DB33F + + + +- If it's on a keyserver, they must download it from the keyserver. + - gpg --keyserver pgp.mit.edu --recv-key D34DB33F + + + +- If it was a file (called obscurite.gpg for example), they can import + it manually. + - gpg --import obscurite.gpg + + + +- Now they can sign the key and send the key back to the keyserver. + - gpg --sign-key D34DB33F + + + +- But before anyone signs anyone elses key they have to make sure that + person actually owns that key (checking physical ID). + - Minimum recommendation is state photo ID + secondary photo ID + (school, employer) + + + +- You can see who has signed someone's public key. If their key has been + signed by someone in your web of trust, then that person is in your + web of trust as well. + - gpg --list-sigs D34DB33f + + + +- Don't forget to generate a revokation certificate for your public key + in case you lose your passphrase or your key is compromised! + - gpg --gen-revoke + +## DETAILS + +- Obscurite generally uses the pgp.mit.edu keyserver, but + keyserver.ubuntu.com is well liked and they do sync regularly, so it + doesn't especially matter which one you use, except that pgp.mit.edu + has a nice web search interface. +- I will pass around copies of signatures so you can check people off as + you confirm their identity +- I recommend using a valid state photo ID as a minimum validation. It + is up to your personal "keysigning policy." + +## Links + +- [Keysigning + commands](http://commandline.org.uk/command-line/ten-steps-for-attending-a-keysigning-party/) +- [Keysigning + HOWTO](http://www.cryptnet.net/fdp/crypto/keysigning_party/en/keysigning_party.html#overview) +- [Perl script to generate keyring + list](http://cryptnet.net/fdp/crypto/keysigning_party/en/extra/party-table.pl) +- [Checking the integrity of the installer, even without GPG already + installed](http://www.gnupg.org/download/integrity_check.en.html) + +[Category:Previous_Projects](Category:Previous_Projects "wikilink") \ No newline at end of file diff --git a/Kit_Building.md b/Kit_Building.md new file mode 100755 index 0000000..29ee2dd --- /dev/null +++ b/Kit_Building.md @@ -0,0 +1,14 @@ +# Kit Building + +Proposal: hold a kit-building event every month or so where attendees +cover the cost of kits in coordinated order. Kits should be not more +than \$30 each. + +## Kit Ideas + +- [Minty Boost](http://www.ladyada.net/make/mintyboost/), a small + battery-powered USB charger (for December 2009) +- [TV-B-Gone](http://www.ladyada.net/make/tvbgone) +- [Conway's Game of Life](http://www.ladyada.net/make/conway) + +[Category:Events](Category:Events "wikilink") \ No newline at end of file diff --git a/Klipper.md b/Klipper.md new file mode 100755 index 0000000..d9c9eea --- /dev/null +++ b/Klipper.md @@ -0,0 +1,49 @@ +2018.01.25 + +Hack-a-day offered a project +\[, +Fast 3D Printing with Raspberry Pi ??? But Not How You Think\]. However, +it describes how to do stuff via OctoPi (child of OctoPrint), which we +don't want to use. This led to the question ["Any way to divorce Klipper +from Octo\*?"](https://github.com/KevinOConnor/klipper/issues/138) and +also ["Klipper as +daemon"](https://www.freelists.org/post/klipper/Klipper-as-daemon,1) + +## [Installation](https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md) + +Most of our machines use the [Atmega +AVR](https://en.wikipedia.org/wiki/Atmel_AVR) +[2560](http://www.microchip.com/wwwproducts/en/atmega2560) Rambo board. +But we'll start with the Aden rebuild which uses the [Atmega +AVR](https://en.wikipedia.org/wiki/Atmel_AVR) +[644p](http://www.microchip.com/wwwproducts/en/atmega644p). Both are 16 +MHz. So, select the proper microprocessor and speed in the +**menuconfig** step below. + +`   $ make menuconfig` +`   $ make` +`     Build Kconfig config file` +`     Creating symbolic link out/board` +`     Compiling out/src/sched.o` +`     Compiling out/src/command.o` +`     Compiling out/src/basecmd.o` +`     Compiling out/src/debugcmds.o` +`     Compiling out/src/gpiocmds.o` +`     Compiling out/src/stepper.o` +`     Compiling out/src/endstop.o` +`     Compiling out/src/adccmds.o` +`     Compiling out/src/spicmds.o` +`     Compiling out/src/pwmcmds.o` +`     Compiling out/src/avr/main.o` +`     Compiling out/src/avr/timer.o` +`     Compiling out/src/avr/gpio.o` +`     Compiling out/src/avr/watchdog.o` +`     Compiling out/src/avr/serial.o` +`     Building out/compile_time_request.o` +`   Version: v0.5.0-108-g1b3ef8a-20180125_195156-hostname` +`     Linking out/klipper.elf` +`     Creating hex file out/klipper.elf.hex` + +It has been suggested that socat may help debug stuff... + +`   $ sudo apt install socat` \ No newline at end of file diff --git a/LED_Embroidery.md b/LED_Embroidery.md new file mode 100755 index 0000000..40c36f9 --- /dev/null +++ b/LED_Embroidery.md @@ -0,0 +1,46 @@ +At the moment this is Katie's page for planning an LED Embroidery +workshop. It may later become a resource page for workshop participants. + +[LED Calculator](http://led.linear1.org/1led.wiz) + +[one way to do +it](http://makeprojects.com/Project/Electronic-Embroidery/44/1) + +Resources already on hand: + +- coin cell batteries (3V) +- ~~resistors~~ [not + needed](http://www.evilmadscientist.com/article.php/throw/print) in + this case + - Limor says lithium coin batteries are internally current-limited +- conductive thread (~25Ohms/foot) +- white 3mm LEDs (3.5V, 20mA) + +What each participant should get: + +1. embroidery needle +2. regular embroidery thread +3. conductive thread +4. LEDs +5. embroidery hoop +6. dark fabric +7. fabric pencil? +8. coin cell battery +9. tape to secure battery? +10. needle threader + +Resource I should provide: + +1. books with constellation drawings +2. photo and sample of finished piece + +Instructions: + +1. Choose a design. +2. Layout the design with fabric pencil. +3. Prep LEDs (punch through fabric and twist leads). +4. Sew circuit with conductive thread. +5. Test with battery. +6. Sew decorative part with regular thread. + +[Category:Proposed_Projects](Category:Proposed_Projects "wikilink") \ No newline at end of file diff --git a/LED_streetlights.md b/LED_streetlights.md new file mode 100755 index 0000000..bb7fef2 --- /dev/null +++ b/LED_streetlights.md @@ -0,0 +1,70 @@ +# Efficiency + +Interesting factoids about [replacing sodium vapor lamps with +LEDs](http://dansdata.blogsome.com/2008/12/27/led-street-lighting-not-as-good-as-you-think/) +for city-wide lighting. + +- The theoretical lumen/Watt figures for LEDs are worse than + low-pressure sodium vapor lamps (100 lm/W versus 200 lm/W) +- White LEDs are actually blue LEDs with a consumable phosphor layer + that turns opaque after a few years of operation. +- Combined RGB LEDs will have better efficiency than a "white" LED. + +Other real-world tests have concluded that LED street lights have about +the same lumen/Watt in practice as the sodium vapor lamps ([64 lm/W +LEDs](http://www.olino.org/us/articles/2008/11/02/streetlamp-lioris-aduro-52) +versus [67 lm/W Sodium +vapor](http://www.olino.org/us/articles/2008/12/29/indal-industria-aurora-streetlamp)). + +Neon and florescent efficiency [depends on the color and +shape](http://www.signindustry.com/neon/articles/2003-07-11-RC-NeonandFlour.php3): + +> \[...\] the fluorescent tube produces between 50 and 100 lumens of +> light per watt depending upon design. Compare this with the typical +> incandescent light bulb that produces between 10 and 20 lumens per +> watt. Neon light efficiency is based upon much fancier pants, the +> color of its output, which ranges from 10 lumens per watt for red to +> 60 lumens per watt for green or blue. One reason that green and blue +> tubes are more efficient is that phosphor coatings used to produce +> such colors better ballyhoo the high-energy ultraviolet light from the +> argon/mercury mix into visible colors. One reason that the fluorescent +> tube is more efficient than a neon tube is that a large straight tube +> offers less resistance to electrical current flow than a skinny bent +> one. + +# Obstacles + +Little Rock, AK wanted to replace their inefficient shielded lights with +more efficient fixtures, but their contract with Entergy is not a simple +\$/kW formula: [the energy company sets the price based on the type of +fixture](http://www.arktimes.com/Articles/ArticleViewer.aspx?ArticleID=fce07cab-0dea-4fc5-b57e-f1145715f01e). + +> \[...\] According to Henry, the city tested out more efficient +> 100???watt HPS bulbs in one Little Rock neighborhood about five years +> ago. When the city asked Entergy to set a rate for those fixtures, it +> was almost double the rate for the 150-watt HPS type. +> +> When asked if Entergy was keeping Little Rock from being more energy +> efficient, Henry said simply, "Yes." +> +> "But how do you fight Entergy?" Henry asked. "I mean, we've had people +> come in and show us new, more efficient lights and we've said, well, +> the problem is, it's not going to save us anything. It will be a whole +> lot less wattage and it will put light out on the street but we can't +> get any benefit out of it because of the tariffs." + +# Commercial LED lamps + +[SparkFun](http://sparkfun.com) sells LED lamps that are screw +compatible with US light sockets: + +- [75 + W](http://www.sparkfun.com/commerce/product_info.php?products_id=8716) +- [12 + W](http://www.sparkfun.com/commerce/product_info.php?products_id=8714) +- [3 + W](http://www.sparkfun.com/commerce/product_info.php?products_id=8717) +- [1 + W](http://www.sparkfun.com/commerce/product_info.php?products_id=8715) + +[Category:Useful_Info](Category:Useful_Info "wikilink") \ No newline at end of file diff --git a/La_Fonera.md b/La_Fonera.md new file mode 100755 index 0000000..e14a894 --- /dev/null +++ b/La_Fonera.md @@ -0,0 +1,648 @@ +This document is generated from a Markdown file, via pandoc: + + pandoc -r markdown README.md -w mediawiki -o README.wiki + +### 2018.01.25 + +As of 2018.01.25, Flint's comments on the wee white wireless wrouter: + + ACCTON MR3201A.b + Model: MR3201A-38NQ + MAC: 00:12:0F:A4:42:EE + IP: 5.104.66.238 + FCC ID: HED-MR3201A + Input: 5 VDC, 2 A + +Crappy photo + +I have a high degree of confidence that Flint marked the ground wire of +his white patchwork cable with black marker. + +`nmap` didn't help me because I don't know how to use it. However, +`arp`, which I almost don't know how to use, did. + +Using HacDC machine **7KDNKH1**... + +According to [How to find live hosts on my +network?](https://security.stackexchange.com/questions/36198/how-to-find-live-hosts-on-my-network#36200) +use `arp` like so: + + $ arp -a -n + ? (192.168.26.93) at ...MAC... [ether] on wlan5 + ? (192.168.26.152) at ...MAC... [ether] on wlan5 + ? (192.168.1.1) at ...MAC... [ether] on eth5 + ? (192.168.26.175) at ...MAC... [ether] on wlan5 + ? (192.168.26.1) at ...MAC... [ether] on wlan5 + ? (192.168.26.141) at ...MAC... [ether] on wlan5 + +Note the line that ends in **eth5**... + +So. Opening a web browser and browsing to that address (192.168.1.1) +reveals: + + Webif^2 Administration Console + Redirecting to main page + +Unfortunately, it wants a username and password I cannot guess. However, +fortunately, it also says: + + http://192.168.1.1 is requesting your username and password. + The site says "OpenWrt" + +which suggests we don't need to install OpenWRT. ;-) + +But we want to update it. A search of the OpenWRT wiki for +`ACCTON MR3201A.b` redirects to [La Fonera (FON2100 and +FON2200)](https://wiki.openwrt.org/toh/fon/fonera?s%5B%5D=accton&s%5B%5D=mr3201a) +which claims the architecture we need is MIPS 4KEc. + +Nothing about reinstalling OpenWRT on an already installed system... So +far. However, there is an [Installing OpenWRT with +RedBoot](https://wiki.openwrt.org/toh/fon/fonera?s%5B%5D=accton&s%5B%5D=mr3201a#installing_openwrt_with_redboot) +article. + +Julia's right: This is really painful. Now installing `wireshark` and +`tcpdump`... + + $ sudo tcpdump -Ani eth5 port 4919 and udp + tcpdump: verbose output suppressed, use -v or -vv for full protocol decode + listening on eth5, link-type EN10MB (Ethernet), capture size 262144 bytes + 21:12:16.189983 IP 192.168.1.1.59153 > 192.168.1.255.4919: UDP, length 1001 + E.....@.@..............7......Press reset now, to enter Failsafe!............ + 21:14:41.637517 IP 192.168.1.1.58542 > 192.168.1.255.4919: UDP, length 1001 + E.....@.@..............7...|..Press reset now, to enter Failsafe!............ + 21:14:42.329525 IP 192.168.1.1.35221 > 192.168.1.255.4919: UDP, length 1001 + E.....@.@..............7......Entering Failsafe!............................. + ^C + 3 packets captured + 3 packets received by filter + 0 packets dropped by kernel + + $ telnet 192.168.1.1 + Trying 192.168.1.1... + telnet: Unable to connect to remote host: Network is unreachable + + $ sudo tcpdump -Ani eth5 port 4919 and udp + tcpdump: verbose output suppressed, use -v or -vv for full protocol decode + listening on eth5, link-type EN10MB (Ethernet), capture size 262144 bytes + ^C + 0 packets captured + 0 packets received by filter + 0 packets dropped by kernel + + $ ssh 192.168.1.1 + ssh: connect to host 192.168.1.1 port 22: Network is unreachable + + $ ip addr + 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + 2: eth5: mtu 1500 qdisc mq state UP group default qlen 1000 + link/ether 00:21:70:b8:a4:e9 brd ff:ff:ff:ff:ff:ff + inet6 fe80::c2ec:d64e:c244:47a/64 scope link noprefixroute + valid_lft forever preferred_lft forever + 3: wlan5: mtu 1500 qdisc mq state DOWN group default qlen 1000 + link/ether ee:77:8a:df:f6:d1 brd ff:ff:ff:ff:ff:ff + + $ ssh 192.168.1.1 + ssh: connect to host 192.168.1.1 port 22: Network is unreachable + $ telnet 192.168.1.1 + Trying 192.168.1.1... + telnet: Unable to connect to remote host: Network is unreachable + + $ nmap -p 1-65535 192.168.1.1 + + Starting Nmap 7.60 ( https://nmap.org ) at 2018-02-22 21:32 EST + mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers + Nmap scan report for 192.168.1.1 + Host is up (0.087s latency). + All 65535 scanned ports on 192.168.1.1 are closed + + Nmap done: 1 IP address (1 host up) scanned in 20.43 seconds + +The *good* news is that `tcpdump` did allow me to time the pressing of +the reset button correctly, and verify that it did indeed get into +failsafe mode. The bad news is that repeated attempts to communicate +over the network with the beastie were rejected. So... old-school serial +communication. On a box whose only serial "port" consists of a 10-pin +header inside the box. + +And... We're opening the box. The feet need to be removed and then the +screws under them. Then the thin top can be removed by popping the two +plastic clips on either side of the long edges, and the top then slid +forward (away from the power, antenna and ethernet, to release it from +the back corners before fully removing. + +The serial pin-outs are available, albeit not clearly, on the [LaFonera +Hardware +USB](https://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_USB) of the +DD-WRT wiki. + +Julia, armed with a multimeter, determined GND and VCC pins are those +closest to the edge of the board. + + * * 1 2 + RX * * RX 3 4 + TX * * TX 5 6 + * * 7 8 + GND * * Vcc GND 9 10 Vcc + +More important details at [LaFonera Hardware +Serial-Cable-Port](https://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port) +like, for example, better pictures, and the serial settings: + + 9600-8-N-1 and no flow control + +[How to mung a USB +cable](http://wiki.icub.org/images/c/c1/FTDI_-_SERIAL_CONVERTER_CABLE_TTL232R.pdf) + +With a custom USB cable built, in place, (black wire to GND, yellow to +TX orange to RX, green to ... nothing) and baud rate established: + + $ screen /dev/usb0 9600 + +This brought up the serial console, which brought up the OpenWRT +ASCII-art splash screen. + + root@OpenWrt:/# passwd + Changing password for root + [admin] + [admin] + Password for root changed by root + root@OpenWrt:/# + +Now the system can be reached via the web interface... But the update +failed. See screenshots. + +[This forum +thread](https://forums.hak5.org/topic/25254-pineapple-flash-update/) +looks... promising? But it's getting late. + +------------------------------------------------------------------------ + +### 2018.02.26 + +Looking at the [WiFi +setup](http://192.168.1.1/cgi-bin/webif/network-wlan.sh) it says that we +need to install the wpa-supplicant package. + +Attempting to ssh into the wee white wireless with + + ssh root@192.168.1.1 + +yields a message saying it only offers diffie-hellman-group1-sha1 as a +key exchange... So. Need to reconfigure ssh to use it? + + ssh -oKexAlgorithms=+diffie-hellman-group1 \ + -c aes128-cbc \ + root@192.168.1.1 + +Or, using ~/.ssh/config: + + Host 192.168.1.1 + User root + KexAlgorithms +diffie-hellman-group1-sah1 + Ciphers aes128-cbc + Host whitebox + Hostname 192.168.1.1 + User root + KexAlgorithms +diffie-hellman-group1-sah1 + Ciphers aes128-cbc + +TEMPORARILY changing to 192.168.26.222 DAMN IT! I forgot to set the +default gateway! + + route add default gw 192.168.26.1 br-lan + +That didn't work. (It set it but didn't make use of it.) + + vi /etc/config/network + + option 'gateway' '192.168.26.1' + :wq + +The [BITS-fonera OpenWRT GitHub +repository](https://github.com/BitsDevelopmentTeam/bits-fonera/tree/master/packages%20openwrt%2010.03) +proved helpful in understanding that there was a `opkg` command... +However, as supplied, it tried to update from a non-existent repo... + +Comment out the last src line: + + $ vi /etc/opkg.conf + src/gz snapshots http://downloads.openwrt.org/kamikaze/8.09/atheros/packages + dest root / + dest ram /tmp + lists_dir ext /var/opkg-lists + option overlay_root /jffs + #src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09/atheros/packages + + $ opkg update + Downloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/Packages.gz + Connecting to downloads.openwrt.org (148.251.78.235:80) + Packages.gz 100% |*******************************| 143k --:--:-- ETA + Inflating http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/Packages.gz + Updated list of available packages in /var/opkg-lists/snapshots + + $ opkg install wpa-supplicant + Installing wpa-supplicant (0.6.3-1) to root... + Downloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./wpa-supplicant_0.6.3-1_mips.ipk + Connecting to downloads.openwrt.org (148.251.78.235:80) + wpa-supplicant_0.6.3 100% |*******************************| 197k 00:00:00 ETA + Configuring wpa-supplicant + +Bwah-ha-ha! + +### 2018.02.28 + +Installing NTP client... Maybe. The web interface says it's installing +it. (System -\> Settings complained about it not being installed.) It +never finished. ssh'ing in and poking around a bit: + + root@OpenWrt:~# opkg print_installation_architecture + arch all 1 + arch noarch 1 + arch mips 10 + + root@OpenWrt:~# opkg print_architecture + arch all 1 + arch noarch 1 + arch mips 10 + +Well. This bloody took forever to find: + +The configuration edited above indicates we're looking for Atheros. +However, according to + +"The atheros target has been renamed to +[ath25](https://openwrt.org/docs/targets/ath25). +[changeset](https://dev.openwrt.org/changeset/44736) / +[git-commit](https://git.lede-project.org/?p=source.git;a=commit;h=1850e0f0a7627b4e0ef18516ff2b25a7c14215ca)" + +And then there's: + +**Comments: Releases past Backfire are essentially worthless because of +lack of RAM** + +on the [La +Fonera](https://openwrt.org/toh/hwdata/fon/fon_fonera_fon2201) page. + +Specifically, according to the web interface, the board is a +`Atheros AR2315` with `30008 KiB RAM`. + +I think the next step is to see if I can go from Kamikaze to Backfire in +one swell foop by following instructions on the [OpenWrt OS upgrade +procedure (LuCI or +sysupgrade)](https://openwrt.org/docs/user-guide/installation/generic.sysupgrade) +page. + +------------------------------------------------------------------------ + +### 2018.03.01 + +Following the instructions on the afore-mentioned page yields: + + User-installed packages are the following: + haserl + qos-scripts + webif + wpa-supplicant + +There does not appear to be any directory named "overlay", and +therefore? no "all packages associated with any user-modified file". I +guess. + +I'm less sure about what files and directories "should be preserved" +during an upgrade. Since it gets turned off a lot and isn't fetching the +date and time via NTP, file creation dates are all wrong. + + $ opkg list-changed-conffiles + +doesn't work. + +The good news: `sysupgrade` exists as a command. + +------------------------------------------------------------------------ + +### 2018.03.05 + +Time to build from scratch. It looks like the documentation links at the +bottom [The build system ??? +About](https://openwrt.org/docs/guide-developer/build-system/start) is +the place to start. + + $ make menuconfig + * Target System (Atheros AR231x/AR5312) + $ make download + $ make + +I think we're going down the wrong path... Let's go with: [La Fonera +(FON2100 and +FON2200)](https://wiki.openwrt.org/toh/fon/fonera#enabling_telnet_into_redboot_without_serial_access) + +Examining `dmsg` and **guessing** I think we want the **SIXTH** mtd, (0 +indexed). + + $ cat /dev/mtd5ro > /tmp/redboot_config + $ strings /tmp/redboot_config + $ mtd write /tmp/redboot_config "RedBoot config" + Could not open mtd device: RedBoot config + Can't open device for writing! + +### 2018.03.08 + +We've opened the box... And now to install a TFTP server `atftpd` on one +of the classroom machines. One dependency: `rlinetd`. + +OK... Maybe rewriting the OpenWRT wiki page so that one doesn't need to +read the page from the bottom up would be good... + +FIRST download the `vmlinuz` and `root.squashfs` BEFORE we take +everything off the real network... + + $ sudo -i + $ apt install atftpd + $ cd /srv/tftp + $ wget http://downloads.openwrt.org/backfire/10.03.1/atheros/openwrt-atheros-vmlinux.lzma + $ wget http://downloads.openwrt.org/backfire/10.03.1/atheros/openwrt-atheros-root.squashfs + + $ screen /dev/usb0 9600 + + root@OpenWrt:/# reboot + Restarting system. + +PHY ID is 0022:5521 + Ethernet eth0: MAC address 00:12:cf:a4:42:ee + IP: 192.168.0.1/255.255.255.0, Gateway: 0.0.0.0 + Default server: 0.0.0.0 + + RedBoot(tm) bootstrap and debug environment [ROMRAM] + Non-certified release, version v1.3.4 - built 19:22:52, Oct 15 2007 + + Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. + + Board: ap51 + RAM: 0x80000000-0x82000000, [0x8003eaf0-0x80fe1000] available + FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each. + == Executing boot script in 3.000 seconds - enter ^C to abort + ^C + RedBoot> + fconfig -l -n + boot_script: true + boot_script_data: + .. fis load -l vmlinux.bin.l7 + .. exec + + boot_script_timeout: 3 + bootp: false + bootp_my_gateway_ip: 0.0.0.0 + bootp_my_ip: 192.168.0.1 + bootp_my_ip_mask: 255.255.255.0 + bootp_server_ip: 0.0.0.0 + console_baud_rate: 9600 + gdb_port: 9000 + info_console_force: false + net_debug: false + RedBoot> fconfig boot_script_timeout 20 + boot_script_timeout: Setting to 20 + Update RedBoot non-volatile configuration - continue (y/n)? n + RedBoot> fconfig bootp_my_ip 192.168.5.22 + bootp_my_ip: Setting to 192.168.5.22 + Update RedBoot non-volatile configuration - continue (y/n)? n + RedBoot> fconfig bootp_my_ip_mask 255.255.255.0 + bootp_my_ip_mask: Setting to 255.255.255.0 + RedBoot> fconfig bootp_server_ip 192.168.5.2 + bootp_server_ip: Setting to 192.168.5.2 + Update RedBoot non-volatile configuration - continue (y/n)? y + ... Erase from 0xa87e0000-0xa87f0000: . + ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . + RedBoot> + + RedBoot> fconfig -l + Run script at boot: true + Boot script: + .. fis load -l vmlinux.bin.l7 + .. exec + + Boot script timeout (1000ms resolution): 20 + Use BOOTP for network configuration: false + Gateway IP address: 0.0.0.0 + Local IP address: 192.168.5.22 + Local IP address mask: 255.255.255.0 + Default server IP address: 192.168.5.2 + Console baud rate: 9600 + GDB connection port: 9000 + Force console for special debug messages: false + Network debug at boot time: false + RedBoot> + +On the laptop: + +1. Run an ethernet cable between the laptop and the wee white wireless + wrouter. +2. Turn off wifi +3. Release the DHCP lease +4. Delete the old IP addresses from eth0 +5. Add a new IP address to eth0 +6. Connect! + +The current state of affairs prior to all that: + + $ ip addr + 1: lo: mtu 65536 qdisc noqueue state UNKNOWN \ + group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + 2: eth3: mtu 1500 qdisc mq state UP \ + group default qlen 1000 + link/ether 00:21:70:b8:a8:48 brd ff:ff:ff:ff:ff:ff + inet 192.168.1.2/24 brd 192.168.1.255 scope global eth3 + valid_lft forever preferred_lft forever + inet6 fe80::efc5:9f91:4454:6622/64 scope link + valid_lft forever preferred_lft forever + 3: wlan2: mtu 1500 qdisc mq state UP \ + group default qlen 1000 + link/ether 00:1f:3c:c2:3e:f4 brd ff:ff:ff:ff:ff:ff + inet 192.168.26.140/24 brd 192.168.26.255 scope global dynamic wlan2 + valid_lft 4895sec preferred_lft 4895sec + inet6 fe80::21f:3cff:fec2:3ef4/64 scope link + valid_lft forever preferred_lft forever + + $ route -n + Kernel IP routing table + Destination Gateway Genmask Flags Metric Ref Use Iface + 0.0.0.0 192.168.26.1 0.0.0.0 UG 600 0 0 eth3 + 192.168.26.0 0.0.0.0 255.255.255.0 U 600 0 0 eth3 + +Now to implement steps 1-6 above: + + $ sudo -i + $ nmcli radio all off # Shut down WiFi + $ dhclient -r # Drop all DHCP leases + $ route del default # Undo any routing... + $ route del default # Lather, rinse, repeat... + $ route del default # ...until done + SIOCDELRT: No such process + + $ # Get rid of space-wide addresses, and add a path to wrouter + $ + $ ip addr del dev eth3 192.168.1.2/24 + $ ip addr del dev eth3 fe80::efc5:9f91:4454:6622/64 + $ ip addr add dev eth3 192.168.5.2/24 + + $ # Check our work + $ + $ ip addr + 1: lo: mtu 65536 qdisc noqueue state UNKNOWN \ + group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + 2: eth3: mtu 1500 qdisc mq state UP \ + group default qlen 1000 + link/ether 00:21:70:b8:a8:48 brd ff:ff:ff:ff:ff:ff + inet 192.168.5.2/24 scope global eth3 + valid_lft forever preferred_lft forever + 3: wlan2: mtu 1500 qdisc mq state DOWN \ + group default qlen 1000 + link/ether 00:1f:3c:c2:3e:f4 brd ff:ff:ff:ff:ff:ff + + $ route -n + Kernel IP routing table + Destination Gateway Genmask Flags Metric Ref Use Iface + 192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3 + + $ arping -qf -I eth3 192.168.5.22 ; telnet 192.168.5.22 9000 + Trying 192.168.5.22... + Connected to 192.168.5.22. + Escape character is '^]'. + RedBoot> + +------------------------------------------------------------------------ + +### 2018.03.11 + + RedBoot> ip_address -h 192.168.5.2 -l 192.168.5.22/24 + IP: 192.168.5.22/255.255.255.0, Gateway: 0.0.0.0 + Default server: 192.168.5.2 + + RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma + Using default protocol (TFTP) + Raw file loaded 0x8003ec00-0x8011ebff, assumed entry at 0x8003ec00 + + RedBoot> fis init + About to initialize [format] FLASH image system - continue (y/n)? y + *** Initialize FLASH Image System + ... Erase from 0xa87e0000-0xa87f0000: . + ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . + + RedBoot> fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 + ... Erase from 0xa8030000-0xa8110000: .............. + ... Program from 0x8003ec00-0x8011ec00 at 0xa8030000: .............. + ... Erase from 0xa87e0000-0xa87f0000: . + ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . + + RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs + Using default protocol (TFTP) + Raw file loaded 0x8003ec00-0x8021ebff, assumed entry at 0x8003ec00 + + RedBoot> fis create rootfs + ... Erase from 0xa8110000-0xa82f0000: .............................. + ... Program from 0x8003ec00-0x8021ec00 at 0xa8110000: .............................. + ... Erase from 0xa87e0000-0xa87f0000: . + ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . + + RedBoot> fconfig -l -n + boot_script: true + boot_script_data: + .. fis load -l vmlinux.bin.l7 + .. exec + + boot_script_timeout: 20 + bootp: false + bootp_my_gateway_ip: 0.0.0.0 + bootp_my_ip: 192.168.5.22 + bootp_my_ip_mask: 255.255.255.0 + bootp_server_ip: 192.168.5.2 + console_baud_rate: 9600 + gdb_port: 9000 + info_console_force: false + net_debug: false + + RedBoot> reset + + +PHY ID is 0022:5521 + Ethernet eth0: MAC address 00:12:cf:a4:42:ee + IP: 192.168.5.22/255.255.255.0, Gateway: 0.0.0.0 + Default server: 192.168.5.2 + + RedBoot(tm) bootstrap and debug environment [ROMRAM] + Non-certified release, version v1.3.4 - built 19:22:52, Oct 15 2007 + + Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. + + Board: ap51 + RAM: 0x80000000-0x82000000, [0x8003eaf0-0x80fe1000] available + FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each. + == Executing boot script in 20.000 seconds - enter ^C to abort + + ... [See the boot log -- linked to below -- for the details.] ... + + BusyBox v1.15.3 (2011-11-24 02:38:24 CET) built-in shell (ash) + Enter 'help' for a list of built-in commands. + + _______ ________ __ + | |.-----.-----.-----.| | | |.----.| |_ + | - || _ | -__| || | | || _|| _| + |_______|| __|_____|__|__||________||__| |____| + |__| W I R E L E S S F R E E D O M + Backfire (10.03.1, r29592) ------------------------ + * 1/3 shot Kahlua In a shot glass, layer Kahlua + * 1/3 shot Bailey's on the bottom, then Bailey's, + * 1/3 shot Vodka then Vodka. + --------------------------------------------------- + root@OpenWrt:/# + +See the [OpenWRT Backfire boot +log](OpenWRT_Backfire_boot_log "wikilink") for the sordid details of the +boot. + +Also, for what it's worth, a summary of [RedBoot +help](RedBoot_help "wikilink") + +### 2018.03.12 + +It is suggested that, in order to permanently enable telnet without +needing the serial cable, one should wget +**openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma** and **out.hex** from +. Sadly, this site no longer appears to +exist. However, taking a chance... The git repository at + has both files. + +With both a laptop and the box wired together via ethernet cable, the +laptop has an address of 192.168.1.2 (on eth3) and the whee white +whireless wrouter has an address of 192.168.1.1 (on eth0). On the +laptop: + + $ git clone https://github.com/bnchdrff/breakafon + $ cd breakafon/flash-images + $ python3 -m http.server + +Then, on the whee white whireless wrouter, while ssh'd into the BusyBox +shell: + + $ cd /tmp + $ wget http://192.168.1.2:8000/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma + $ wget http://192.168.1.2:8000/out.hex + $ mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7 + $ reboot + +**FAIL! KERNEL PANIC!** + +Well... That set us back. \ No newline at end of file diff --git a/LaserCutterLinks.md b/LaserCutterLinks.md new file mode 100755 index 0000000..9302124 --- /dev/null +++ b/LaserCutterLinks.md @@ -0,0 +1 @@ +1. REDIRECT [Laser Cutter Links](Laser_Cutter_Links "wikilink") \ No newline at end of file