GithubHelp home page GithubHelp logo

project's Introduction

The Tessel Project

Code of Conduct

What is this project?

Tessel is a completely open source and community-driven IoT and robotics development platform. It encompasses development boards, hardware module add-ons, and the software that runs on them.

One common misconception is that we're a company. We're not! We're just a collection of (unpaid) people who find it worthwhile to spend our time building towards the Tessel Project mission.

Important announcement

While this project has seen quieter days in terms of maintenance, we're excited to see new contributors like you keeping the spirit alive. Even though it might not receive regular updates, the fact that your tessel is still functioning is a testament to the quality of this project.

Maintenance status?

Please note that Project is currently an unmaintained open source project. While we may not be able to provide timely support or actively address issues, we encourage you to explore, experiment, and make the most of what's already here.

Working with the Code

Feel free to tinker with the codebase, propose improvements, or even fix issues that you come across. Your contributions are immensely valuable, and we hope you can help breathe new life into this project.

What is this Tessel Project all about?

Tessel is about designing intuitive and accessible hardware development experiences around the open web. Feel free to read more about our mission and governance model. Please also read and adhere to our code of conduct.

What can I find in this repo?

This repository is for the organization and governance of the Tessel project as a whole. For code, see the Tessel GitHub organization.

For an introduction to the project's organization and key repos, check out the Technical Overview

How can I get involved with the Tessel Project?

Quickest start

Find an issue tagged "contribution-starter" and start working!

Quick start

  1. Read the Technical Overview to see if any particular area of the project strikes your fancy.

The (slightly) longer version

By contributing to Tessel, you'll be a valued member of a passionate, diverse team and one of the pioneers of the burgeoning connected devices space. Here are some ways in which you can get involved:

Learn more about how we collaborate using Github:

All contributors are expected to follow our Code of Conduct.

Read more

Contribute

Tessel is in part funded by contributions through Open Collective.

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

project's People

Contributors

7wikd avatar abdullahfarwees avatar accordingtoherr avatar adkron avatar arushi019 avatar dbuentello avatar drnugent avatar dtex avatar frijol avatar hipsterbrown avatar johnnyman727 avatar juliancheal avatar kanikasaini avatar kevinmehall avatar linusu avatar mrnice avatar natevw avatar reconbot avatar rwaldron avatar sidwarkd avatar student007 avatar tcr avatar tessel-bot avatar tikurahul avatar wprater avatar wyze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

project's Issues

Contributing / getting help sections

I'm a huge fan of Rust's distilled sections on this:

image

We can do something similar. AFAIK we have these assets

  • forums.tessel.io
  • irc channel
  • gitter.im
  • twitter
  • reddit?
  • stack overflow?

How can newcomers better be directed to collaborate?

The README for this project currently indicates some steps for people to collaborate and submit code. As we grow closer to when Tessel 2 ships, we should be ramping up avenues for involvement as much as possible.

  • What can be done without hardware?
  • What can be worked on when hardware is available?
  • How do we onboard new community members to contribute meaningful things to the project?

Agenda for 2015-06-09

  • Tessel Licenses (@tcr)
  • Tessel 2 fritzing component update (@rwaldron)
    • tessel/logos
  • Team Outreach (@johnnyman727)
  • Hardware Timeline (@tcr)
  • Many tasks have no one assigned. How will we address that?
  • Yearly budget for web properties. How will payment work for this? How should it be tracked?
  • Blog post about RFC, one about Team Members (@Frijol)
  • Twitter name swapping

Collaborator role isn't defined properly

The existing moderator guide is wholly software focused.

This document should better define the powers and responsibilities of a Moderator: not just repo commit power, but also moderator access on forums, what power a Moderator has in hardware developments, and what the expected responsibilities are for each of these areas.

I can work on some guidelines for community moderation. @ekolker can you outline how you would expect hardware discussion & design decisions to work?

Open source www.tessel.io

Since most of our web content is now static, we should consider open sourcing the website (even if it remains a dynamic website).

  • Carbon copy the current tessel.io website as a new fresh git repo.
  • Trim sensitive items and ensure they aren't commited to history.
  • Banner to indicate Tessel's status as an open source project.
  • Publish.

T2 completeness tracking

This issue is for tracking T2 features which must be completed before ship. Discuss below what should/shouldn't be on this list.

Hardware

  • Final hardware design
  • Pilot batch of 100
  • FCC cert
  • CE cert
  • Full manufacturing

Firmware

OpenWRT

  • BLE drivers
  • audio/video drivers
  • flash drive mounting drivers
  • 3g/4g dongle integration

CLI

Milestone tracking here

I'm not including t2 status, t2 ap, or t2 root command because, although they are super awesome features, they aren't absolutely critical to shipping.

Docs

Start

Milestone tracking

Modules working/documented

Language Support

Platform support

Shrinking server and mail server use

Currently we have many legacy servers from Technical Machine. These should be trimmed down for the Tessel Project.

@HarleyKwyn put together this list of servers we are currently using:

Purpose Provider host-name monthly cost
storefront digital ocean shop.tessel.io $5
rampart digital ocean rampart.tessel.io $5
whiplash digital ocean ??? $5
projects portal digital ocean projects.tessel.io $5
forums digital ocean forums.tessel.io $20
tessel.io heroku technical-io. $34.50
start.tessel.io heroku start.tessel.io $20.00
stage heroku techinical-io-stage.tessel.io $0
email google n/a $80
total $174.50

Goals:

Purpose Provider host-name monthly cost
tessel.io digital ocean tessel.io $20.00
rampart rampart.tessel.io ^^^
start.tessel.io start.tessel.io ^^^
stage stage.tessel.io ^^^
forums digital ocean forums.tessel.io $20
email fastmail n/a ~$10 ($15/year per user)
total $50

Sunsetting:

Purpose Provider host-name monthly cost
storefront digital ocean shop.tessel.io redirect
whiplash digital ocean ??? offline
projects portal digital ocean projects.tessel.io offline

Open Sourcing Checklist

Publicizing the existence of the Tessel Project as an organization.

Tasks

  • Forum post for announcing this (rehashed email post probably)
  • Should we clean any history from the tessel-project repo? We mentioned doing that for some sensitive items
  • Should we remove mentionds of nominees for candidacy on tessel-project

Open questions

  • Can we disclose our membership in the dojo foundation. is there some public resource we can point to

Content of outgoing email

  • Open source group / page
  • Push for Slack signup

Non-essential

Agenda for 2015-06-30

  • Are T2's from the 100 batch shipping to pre-orders or is that just the final test batch?
  • Update on shipping ETA?
  • How many to market?
  • Availability moving forward

Switch @technicalhumans and @tesselproject

This will take about five minutes to accomplish.

Having a bot that corrects incorrect mentions is harder. Currently looking if there's any pre-existing demos of this.

Discussion on Open Source Tools

We have put a bunch of work into ensuring we use only open source tools. Do we have a stated commitment for what our work in open source tools should be? Is this a group we're interested in spinning up?

For instance, all of our modules listed on our open source page are in Diptrace. A while back I dallied in trying to convert them to Kicad projects, with some success.

We currently have a test rig with files in OnShape, which is a non-free project. It seems like FreeCAD is the best open alternative (very debatably). Should we make sure we are exporting to free tools?

We currently have all our logos in Illustrator files. Should those always be offered in free analogs?

Improve the wording of our mission statement.

I would like to propose some rework of the mission statement:

Create a fully open source hardware & software platform that makes it easy and intuitive to develop connected devices. The Tessel platform will lead the way for an open web of hardware.

The main problem with this is that sentence number 2 is not a mission, it's a possible result. Further, I want to look up some literature around good mission statements / philosophies so we can spot check if ours measure up.

Legal, Physical, and Financial Resources

We should maintain a list of infrastructure resources owned by the tessel project.

  • Domain names (tessel.io)
  • Servers
  • Trademarks
  • Finances
  • Contracts with manufacturers
  • Inventory (physical location?)
  • Physical test server (Rampart)

Logos

I propose we have a branding/assets/logo repository with all the the iconography that we have locally on Dropbox.

Anything directly pertinent to our trademark would go in this repository, but would not be the definitive source for imagery.

Update Contribution guide with Team Member pull request policy

We specced out a PR policy that ensures pull requests are attributed to their original author, but are augmented with any appropriate changes or fixes that should be done before they are merged into master.

This ensures attributing credit where it is due, but also giving examples of improving code quality in the future.

Agenda for 2015-9-22

  • Moderator: Jon
  • Notetaker: Tim
  • Proposal from Medium One
  • FCC Update
  • Hackathon recap

Agenda for 2015-06-15

Checking up on last week's action items:

@jonmckay: talk to Dylan, guy in charge of Dojo re: consent by contribution and avoiding a CLA
Jon: generate a list of tasks for onboarding
Jon: blog post about the background of RFCs
Jon: blog post about the new people and what they're bringing them to the team and they're excited about it and they're cool and everyone's happy
jon: ask Dylan about funding and how we pay
jon: rfc blog post cite rick
jon: next week meeting invite
@kelsey: Get in touch with people re licensing presentations
Kelsey: onboarding discussion
kelsey + tim : merge backers and twit lists on mailchimp

Tim: Send Jon a list of tasks for onboarding (cc Jon)
Tim: Add consent by contribution component.

@rwaldron: look over PRs for unit tests
@channel: look at, review, contribute to t2-start

Any new business?

Define a process for feature proposals (RFCs)

We mention RFCs in the guidelines. I seek input on these items:

  • Do we need a formalized process, or even unformal RFC form?
  • What is the intent of RFCs with regard to how it connects the community to decision-makers?

Normalize repository naming for T1, T2, V2, TM, etc...

Our naming on Tessel project repositories is inconsistent. Here's a proposal:

  • t2-cli => t2-cli
  • v2-firmware => t2-firmware
  • t1-contribution-guide => t1-contribution-guide
  • tessel-v2-hardware => t2-hardware
  • firmware => t1-firmware
  • runtime => t1-runtime
  • hardware => t1-hardware

(No longer included:)

  • tm-kicad-library
  • tm-eagle-library

Rename "Technical Machine" things to Tessel

  • technicalmachineblog tumblr
  • our name on twitter
  • our twitter handle?
  • FB page(s) - there's a Tessel and a Technical Machine and the Technical Machine one is much bigger
  • G+ group? There's a Tessel and a Technical Machine, and the Tessel one is much bigger
  • look over the website, I think About, Contact, Press, and copyright all have Technical Machine in them
  • anything else?
  • Pinterest https://www.pinterest.com/technicalhumans/

Restructure file hierarchy

I propose

  • meeting-minutes/
  • GOVERNANCE.md
  • CONDUCT.md
  • CONTRIBUTING.md
  • MISSION.md
  • MODERATING.md
  • README.md
  • TEAM.md

Passing FCC Certification with Tessel 2

Tessel 2 is seeking FCC approval. Tessel 2 runs OpenWRT, a distribution of Linux designed as open firmware for routers with very granular control over wireless capabilities. Currently Tessel 2 is stuck in FCC approval pending its demonstration of being able to generate packets in the 802.11n range.

Testing instructions

Installation on a Tessel 2:

opkg update
opkg install tcpdump
wget https://kevinmehall.net/tmp/packetspammer -O /usr/bin/packetspammer
chmod +x /usr/bin/packetspammer

To configure monitor on wlan0 (this goes away on each reset):

ifconfig wlan0 down
iw dev wlan0 interface add mon0 type monitor
ifconfig mon0 up
iw mon0 set channel 11

To set which transmit mode you want:

iw mon0 set bitrates legacy-2.4 1 2 11 # b
iw mon0 set bitrates legacy-2.4 6 12 24 # g
iw dev mon0 set bitrates ht-mcs-2.4 4 10 # n

# to reset these values:
iw mon0 set bitrates legacy-2.4
iw dev mon0 set bitrates ht-mcs-2.4

Lastly run the packetspammer command, and see if the resulting output is being transmitted at a speed that correlates with the given spec:

packetspammer -d40000 mon0

Output may resemble:

1818:20:58.209712 1.0 Mb/s 2462 MHz 11b -38dB signal [bit 29] 0us 13:22:33:44:55:66
(oui Unknown) Unknown SSAP 0x60 > 13:22:33:44:55:66
(oui Unknown) Unknown DSAP 0x50 Unnumbered, ua, Flags [Response], length 72

Note the "1.0 Mb/s" indicating the output speed (1.0 Mb/s, 802.11g)

Issue

We observe that in spite of the iw dev mon0 set bitrates ht-mcs-2.4 4 10 command, Tessel 2 always transmits at b or g rates.

Possible diagnoses:

  1. Our OpenWRT distribution is old and this has been fixed in a more recent build. We can rebase the OpenWRT build to a newer one.
  2. There is an issue in the MT7620 driver that we must dig into and fix.
  3. ???

References

Licenses

I propose tessel/licenses to document what licensing we usually go for (and encourage discussion if that's ever an issue). We should also link to appropriate documentation and describe what LICENSE-MIT LICENSE-ASL2 files should exist in properly-licensed repos.

  • MIT/ASL2 for code. We prefer ASL2 for its patent exception, but we require dual-licensing as MIT is GPL-compatible.
  • Creative Commons Attribution ShareAlike license for Documentation.
  • CC0 for code samples (equivalent to, but technically more correct than "public domain")

Open questions:

  • What did we decide on for hardware licenses? What is our justification? Pinging @kevinmehall @ekolker

Social Media Resources

Following up on the other issue about resources, we have a bunch of social media accounts we should transfer to this org.

  • Twitter: @tesselproject
  • Vine
  • Facebook pages
  • Instagram
  • Youtube (for meeting videos / etc)
  • Tumblr (blog)
  • Klout (scheduling)

We should codify what the intent of each is for.

Agenda for 2015-08-25

Facilitator: @johnnyman727 Notes: @Frijol

  • Onboarding better: let's build something to help new mentors understand how to be good mentors (starting as simple as a walkthrough script for onboarding a new person). Or an issue with a checklist for each new member? Stuff like this to help people get involved
  • Creating better community/communication internally: what about making a regular hangout for Team Members?
  • FCC certs: what do we do now?

Software Tools

Tools we will be using to collaborate:

  • Github
  • Mitro (passwords)
  • Hangouts (weekly meetings)
  • IRC (#tessel on freenode)

Open questions:

  • Is there a Slack / Zulip equivalent that we should be using?
  • Will we be using IRC? Will it be an "internal" channel (like rust-dev) or just the Tessel channel?

Switch accounts to Zoho Mail

We own the following email accounts:

As well as these shell accounts:

Zoho Mail has 10+ free users for one custom domain. From here on out, we should change all technical.io emails to tessel.io.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.