VladimirNecakov
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # Notes & Exercises - Vladimir # Excercises Week 1 ## Exercise 1: Go through the OSHWA definition - Read the definitions and principles: [OSHWA definitions](https://www.oshwa.org/definition/) - Share in the chat which principles you find useful in this document that you think can improve your current practices and why. ==I think that the matter of free redistribution is quite important for the further development and upscaling the product usage.== :::spoiler **Answer from last year** **Nemo:** The `License Must Not Restrict Other Hardware or Software` element seems a bit strange to me. On the one hand they promote copy-left ("same terms as the license of the original work"), but then they are opposed to enforcing other degrees over openness. It makes sense practically, but I get the same feeling of 'restriction' with copy-left licenses. ::: ## Exercise 2: Learn from open source projects - Pick at least one of the many influential projects in open source hardware and get familiar with its history. (There is a list bellow, for example you can pick one software project and one hardware project to compare similarities and differences.) ==https://github.com/OpenIPC== - Think about the concepts and ideas we provided in this lessons, were you able to spot some of these characteristics in the project you selected? ==It's a solution which could be easily adjusted to the user's needs.== - Share in the chat what captured your atention about the project - What did you find different in their approach compared to your idea of how hardware is developed and distributed? ==OpenIPC firmware only supported SoC manufactured by HiSilicon.== - What did you find familiar to your own practice? ==OpenIPC is an open source operating system from the open community targeting for IP cameras with ARM and MIPS processors from several manufacturers in order to replace that closed, opaque, insecure, often abandoned and unsupported firmware pre-installed by a vendor.== ==I did something similar with the Java OpenCV Blob detection library for one project== **Some interesting open source projects and initiatives you can google:** **Hardware** - Arduino - RepRap and Prusa 3D printers - Adafruits company - Precious plastic - others... **Software** - Python - Linux and git - FreeCAD - OpenSCAD - others... :::spoiler **Answer from last year** **Vincent:** Did a comparison of projects Arduino and Python. 1. Arduino is extensible via add-on boards on the hardware side and libraries on the software side. Python is “designed to be highly extensible via modules”. 2. Python started with one main decision maker, Guido van Rossum, titled BDFL (Benevolent dictator for life). Arduino was started with a group of five people. Python eventually in 2019 “elected a five-member Steering Council to lead the project”. . 3. Arduino has s complicated past with many disputes between its members. Python seems to not have the same complications. This is perhaps to how the project was formed (1 vs a group). the way it was licensed, or hardware versus software. 4. License Python: Python Software Foundation License (PSFL) is a BSD-style, permissive software license which is compatible with the GNU General Public License (GPL)
License Arduino: Hardware products are licensed under a CC BY-SA license, while software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL) 5. Both projects came from a public institution. Python from Centrum Wiskunde & Informatica (abbr. CWI; English: "National Research Institute for Mathematics and Computer Science”). The CWI also contributed to the start of many other projects. “The Arduino project began in 2005 as a tool for students at the Interaction Design Institute Ivrea, Italy”. https://opensource.guide/leadership-and-governance/ ::: ## Excercise 3 (Optional): Find an open source project related to your domain Find out if there are open source projects out there related to your project. You can start with the [open hardware observatory](https://en.oho.wiki/index.php?title=Special%3ARunQuery%2FprojectSearch&pfRunQueryFormName=projectSearch&ProjektSearch%5Bcontains_pdf_drawings%5D=yes&ProjektSearch%5Bsubcat%5D=Bending+machine) where there are lots of open hardware projects. ==https://github.com/aiformankind/ai-stop-wildfire== ==https://www.mdpi.com/1424-8220/23/14/6635== :::spoiler **Answer from last year** **Jerry:** Similar to the Plastic Scanner I recently found this: https://caoyuan.scripts.mit.edu/ir_spec.html ::: # Exercises Week 2 ## Excercise 1: Start sharing your documentation - Write a simple introduction to your project assuming that the audience is new to the topic and not familiarized with it. - Make it in a format that can be easily edited, presented, and shared online. - If you are just getting started, we recommend starting with Markdown and hackmd as a platform to present, share and get feedback. - This will make it easy for the mentors to comment and help you out) - Alternatively, if you have already a git repository or documentation published in a platform of your preference feel free to reuse that and avoid repeating yourself. ==Andjela has alredy shared the document about== [Early forst fire detection](https://docs.google.com/document/d/15w7udvruEpHY5o-p7Ppm_-zskGpzJsnTySIWPqLy7Kg/edit) :::spoiler **Answer from last year** **Vincent:** https://github.com/studiorabota/hello-worm ::: ## Excercise 2: See how others do it - Find an open source project, this can be one that you found last week, and see how they did their documentation, it can be handy to make an overview or to write down what you liked and what you did not like. - You can do the following: - Reflect on how open it is and how easy it is to get started with it. ==https://github.com/OpenIPC It starts with the wiki page which is so nice and accessible to everyone. I have nothing to add.== - Reflect back on your documentation to see if you can improve it based on looking at other projects. ==To be done== :::spoiler **Answer from last year** **Nanami:** Elektronika-1 A replacement module for a USSR made vintage LED watch I decided to pick the [ELEKTRONIKA-1 - A replacement module for a USSR made vintage LED watch anno 1978](https://github.com/BenjaminSoelberg/elektronika-1) project by Benjamin Soelberg. >Why? It seems to have some decent documentation, and it revitalises old hardware, which is a good challenge. 👍 Liked: * Pictures of the actual device * Some background about the original hardware * Good high level overview * Lists practical performance and limitations * Hardware motivation 👎 Could be improved: * Repository images could be in a subdirectory (it's messy now) * Software setup / microcontroller programming could be explained * `docs` directory seems to contain mostly background research material, should perhaps be somewhere else * Add a little video in action * In general not set up fully for reproduction (but given the niche nature of the project, that's understandable) But all in all, the project is all available if you are willing to take the time to sort through the files. Given how niche it is, it is a commendable effort. I have seen much much worse. ::: ## Excercise 3: Make a plan for the future - Make a checklist of what your documentation should look like by the end of the program. ==To be done== - Assess if it is too much for your current status or is a good match. ==To be done== :::spoiler **Answer from last year** **Nemo:** LED driver board documentation targets *This pertains to my LED driver PCB sculpture project. When the hardware is tested and finalised the documentation should contain* # Week 3 Excercises ## Exercise 1: Create a first value proposition The goal of this exercise is to frame explicitily your project by writing down the theory behind it. Remember the idea is that once you generate these hypothesis the next step is to design experiments that allow you validate them. - Generate some hypothesis and ideas about your project using the value proposition canvas. :::success **Some tips and considerations** - Consider that a starting point can be a product you want to improve, simply open source, or create a new version of your project (v.2.1) - Think of the value proposition canvas as a specific type of camera to take pictures of the thinking and assumptions behind your project. - This is a hypothesis generation tool (one of many) the point is to help you structure your hypothesis and organize them according to certain concepts that are common in product development. - You can start from the square (left to right) or from the circle (starting from needs) - Your customer or user can be yourself (this is quite common with hobbyist and DYI projects, even for the linux kernel and git this was the case) - Substitute the "products and services" part of the canvas with your target features and specifications (performance, materials, costs). ::: - Here are two templates for you to reuse. Feel free to extend your notes if needed. **Template 1** ``` Here’s Moore’s original 6-step value proposition formula: For (target customer) Who (statement of need or opportunity) The (product name) is a (product category) That (statement of key benefit - that is, compelling reason to buy) Unlike (primary competitive alternative) Our product (statement of primary differentiation) ``` **Template 2** ``` # My awesome value proposition ## Jobs (This might be unknown for some projects) - - ## Pains - - ## Gains - - ## Product features and specs (Products and services) (This might be unknown for some projects) This is like the core concept of your solution, key features and spects. - - ## Pain relievers - - ## Gain creators - - ## Other things you want to include in your frame? (You can extend your framing with whatever you find relevant to make your project theory more complete) - Deadlines?? - Desired outcomes??? ``` ## Excercise 2: Prioritize your target specs and features This exercise is meant to help you specify what attributes of your product idea is essential. Which are those target specifications, features and functional driven goals that if met are going to make your project or next release relevant? Here is template to help you get started: |Priority| Features/ target specs| |--------|-------| |Must have| | |Should have| |Could have| |Won't have| ## Exercise 3: Frame your next iteration Now that you have captured hypothesis and ideas about your project. Pick an aspect, target specification or spec you think is critical, and frame an iteration of your project where you focus solely on these aspects. ::: success **Tips** - Set a goal or intent for this iteration (Is it going to be documentation focused? Focused on refinement? Testing and debugging something you have made? Or getting feedback from potential users?) - Think of an iteration or sprint as a period of 1-3 months where you end up with a deliverable that includes what you build, why you build it, the results and the learnings. - It may well be that your project is already functioning and yu simply need to focus on documenting it in the best possible way you can for the "customers" or target audience you are prioritizing. - You might want to focus on a core component of your project (software, electronics) - Or you want to test options of materials and find suppliers that allow you to lower the cost of the project. - It can be a know-how building iteration where you focus on learning through different builds of setups to understand better the problem. ::: ## Exercise 4 (Optional): Generate an assignment - Use your framing knowledge to generate an assignment or design challenge. ## References [1] E. Graves, “Applying Agile to Hardware Development (part 1).” https://www.playbookhq.co/blog/agile-hardware-development (accessed Aug. 20, 2022). [2] Playbook, “Hardware Development for Agile.” https://www.playbookhq.co/agile-hardware-development (accessed Aug. 20, 2022). [3] “Manifesto for Agile Software Development.” https://agilemanifesto.org/ (accessed Aug. 20, 2022). [4] S. AG, “Value Proposition Design Book - Preview & Download PDF.” https://www.strategyzer.com/books/value-proposition-design (accessed Aug. 20, 2022). [5] “Problem Solving in Education.” https://educationforproblemsolving.net/methods/ed.htm (accessed Aug. 20, 2022). [6] “Design Process - in Education and Life - for Problem Solving.” https://www.asa3.org/ASA/education/think/intro.htm#scides (accessed Aug. 20, 2022). [7] R. Hubner, “Hardware design: ensuring specifications,” Zign Innovations, Jul. 19, 2022. https://zigninnovations.com/blog/high-quality-hardware-design-guaranteeing-specifications/ (accessed Aug. 20, 2022). [8] “The Importance of Framing and Alignment on a Project | OwnerTeamConsultation.” https://www.ownerteamconsult.com/the-importance-of-framing-and-alignment-on-a-project/ (accessed Aug. 16, 2022). [9] “Problem Framing,” Design Sprint Academy. https://www.designsprint.academy/problem-framing (accessed Aug. 11, 2022). # Appendix: Framing tools for different purposes The internet is flooded with framing tools, theories and methodologies of all kinds. This appendix aims to provide a range of framing tools to illustrate how varied is the landscape of approaches. :::warning Ultimately the goal of this lesson is to help you enrich your framing tool box and spark interest on this level of thinking about your technology projects. ::: |Tool|Framing Focus| |---|---| [Value Proposition Canvas](https://www.strategyzer.com/canvas/value-proposition-canvas) | Generating hypothesis and concepts about the relationships between users/customers needs and product/services properties, specifications, or characteristics. [Persona canvas (one of many)](https://www.revelx.co/blog/canvas-toolkits/) | Focused on empathizising with potential users/customers, understanding interests, pains, [Job-to-be-done JTBD](https://jobs-to-be-done.com/what-is-jobs-to-be-done-fea59c8e39eb) | *"A lens through which you can observe markets, customers, needs, competitors, and customer segments differently, and by doing so, make innovation far more predictable and profitable.""* [Business Model Canvas](https://www.strategyzer.com/business-model-canvas/building-blocks) | Integretad framework to tackle products from a "business" point of view. [Open Hardware Busisness Models](https://www.slideshare.net/btincq/business-models-for-open-source-hardware) | A nice slide deck enriching business theory in the context of open hardware based on the business model canvas. [Lean canvas](https://leanstack.com/lean-canvas)| A variation of business model canvas focused on startup processes.| |[lean canvas for non-profits](https://blog.leanstack.com/why-and-how-to-model-a-non-profit-on-the-lean-canvas/)| This read explains how to use the lean canvas in the context of non-profit, social entrepeneurship. | |[Gartner Hype Cycle](https://en.wikipedia.org/wiki/Gartner_hype_cycle) for Emerging Technologies| A theory about how technologies evolve and are adopted. | |[Open Canvas](https://docs.google.com/presentation/d/1JbfKztGMmirUgWSAWv0SmdSkmwGqYVYxEIaTIZyg6B4/edit#slide=id.g1b30ce0bb1_0_90) | This canvas has been developed by the Mozilla Foundation based on the lean canvas with a focus on users and contributors and their relationships. |[Private Public Partnership canvas](https://www.ppplab.org/wordpress/wp-content/uploads/2016/05/PPPCanvas-User-Guide.pdf)| Derived from the business model canvas includes aspects with a strong focus on PPP consortia. |[Platform Design Toolkit](https://www.boundaryless.io/pdt-toolkit/)| Focused on platform design, these are complex business that develop market places and ecosystems where people exchange value (arduino is a good example, raspberry pi as well ) --- <ul class="pager"> <!--this is the style of the button--> <li><a href="/C1eJ3lmSQ7ijtGi0FtTcGg">Previous Week</a></li> <!--This button takes me to the table of contents--> <li><a href="/1kONu5gwSS6knAGnwcO5KQ">Next Week</a></li> <!--This button takes me to the previous page--> </ul> # Final presentation template :::success :wave: Hi, if you are here you are almost there to get ready for the final presentation. This shouldn't take you more than 30 mins if you have been working in your project and doing the academy exercises. - Consider this template the final deliverable of the academy - Copy the template with your project name and remove supporting comments. - Share the hackmd in our share-progress channel or via email to delftopenhardware@gmail.com. Make sure to make that hackmd public. ::: length: 10 -15 minutes ## Read this guide before filling the template - The main goal of the final presentation is to showcase the work that has been done during the academy at a project level, but also at a community level. - The following template provides some fields for you to fill in to guide you and prepare for your presentation in a format that everybody is familiar with. - Your project description is important to feature your project in our open hardware academy website and help you out reaching new people that might be interested in your work. # Template (Copy this hackmd) ## Project description **Name of your project**: **Name of your author**: --- **Brief description of your project:** :::success Tips - Provide an abstract of your project - This can be in the form of a simple value proposition based on our [Framing open hardware projects](/AHVevvT-SbOY2jq4FYdieg) lesson. - You can rely on sections of your documentation. ::: --- **Current status of your project**: :::success Tips - For projects that are in early phase we recommend to show a simple hackmd or markdown file in a github repository with a description of the project intent, some features and planned developments that allows to use it as a first step to ask for help and get feedback. - For projects with a prototype being developed - For more mature projects close to a first result that can be an alpha or beta design we recommend to show a release or a release plan. ::: --- **References to your project documentation**: :::success Tips - For projects that are in early phase we recommend to show a simple hackmd or markdown file in a github repository with a description of the project intent, some features and planned developments that allows to use it as a first step to ask for help and get feedback. - For projects with a prototype being developed a repository or archive that is public is recommended. Showcase your work in progress documented in your development plan. (If you are using github you can showcase project documentation in the form of issues.) - For more mature projects close to a first result that can be an alpha or beta design we recommend to show a release or a release plan (We recommend to use github for this) ::: ### Upload your project to github or similar platform to make it findable accessible reusable and interoperable - You can generate an open know how manifest using this tool: https://okh.makernet.org/form - Once you do it put it at the root of your project repository (Github or alternative) ### Share a link to the peer review you did before ### Share link to the peer review you have received ## Share general feedback to the academy ### What did you learn and/or experienced that was useful to progress in your project ### Do you find that the estimation of 4 hours per week is fair to be able to perform the exercises? ### What things can we improve for next rounds

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully