OTFN Hackathon 2023: nimble networks and its open toolchain

Greetings Everyone!

Our team is really looking forward to the upcoming hackathon and wanted to kick off the discussion and share a few resources here.

The nimble is an open hardware project that aims to enable underconnected communities to design, build, and deploy their own low-power/low-cost/portable connectivity infrastructure that operates online or offline. Our goal is to enable communities to be more resilient by using locally available hardware and manufacturing combined with open connectivity hardware designs and educational resources to construct and maintain networks in areas without reliable or affordable internet access.

We are grateful for the opportunity to have the nimble as the test subject for the first OTFN hackathon to both test and advance the toolchain, and move the nimble to open tools and practices that make the project more accessible/replicable/sustainable/etc.

Over the next week OTFN will share resources w/ participants - in the meantime, a few links:

GitHub
Twitter (Mastodon link to follow)
Wakoma Matrix
OTFN Matrix


Toolchain

  • diagrams.net & Obsidian canvas for ideation/wireframing/wiring diagrams.
  • Tinkercad for CAD, generation of STLs (I know, I know). We want to migrate all designs elsewhere asap.
  • PrusaSlicer for generation of gcodes.
  • We previously shared designs on Thingiverse, then moved to Printables.
  • GitHub until now only used for sharing of project info. We’re considering moving the project to GitLab for version control/collaboration, but we’re currently using GH for Lokal as well, so more thought needed.
  • Google drive/docs/sheets for collaboration w/ partners building localized versions, hardware procurement/tracking/quasi-BOM… and though we’ve started to use Nextcloud and Hedgedoc for collab, we need a reliable tool for maintaining a comprehensive open hardware (and services) database that feeds into nimble BOM/build & compatibility guides & eLearning/power estimation/etc.

Not sure if part of toolchain

  • Matrix/Element for community engagement, and we’re soon to launch forums (either discourse or Wordpress, though discourse w/ ActivityPub federation would be a big plus as we’re working on getting Mastodon/Peertube/Pixelfed up for news & media sharing).
  • Adobe ID/Illustrator/LR/Premiere Pro for creation/editing of graphics/photos/videos - need open alternatives.
  • Zotero for sharing of reports/publications/documentation.

Possible questions

  • How can the ‘new’ toolchain be designed to best enable local capacity building, decentralized manufacturing, localization of designs & BYOHW (bring your own hardware?), etc.
  • What standards should be used to ensure integration with other open hardware/firmware/software projects?
  • What elements of the toolchain can be automated/fine-tuned after the hackathon?
  • Since the nimble is primarily about empowering underconnected communities, it would be interesting to explore if/how the entire toolchain can be offline-first. i.e. how can someone in a remote area download all tools/software, firmware, designs, and guides required to disconnect from the web then modify the designs to their needs, print, assemble, and deploy. Federation would enable async support depending on power/internet availability.
  • Which open source hardware business/sustainability models are relevant to nimble and should be considered for tool selection/deployment?
  • What questions should we be asking? :interrobang: :ear: :pray:
2 Likes

Welcome on board Team nimble :star_struck:

2 Likes

Hi @wakoma can you maybe add your current toolchain and possible questions for a more open solution you’re aiming for in the post above? So we can have that discussion upfront for the hackathon :slight_smile:

Thanks, @Timm. A few notes:

Toolchain

  • diagrams.net & Obsidian canvas for ideation/wireframing/wiring diagrams.
  • Tinkercad for CAD, generation of STLs (I know, I know). We want to migrate all designs elsewhere asap.
  • PrusaSlicer for generation of gcodes.
  • We previously shared designs on Thingiverse, then moved to Printables.
  • GitHub until now only used for sharing of project info. We’re considering moving the project to GitLab for version control/collaboration, but we’re currently using GH for Lokal as well, so more thought needed.
  • Google drive/docs/sheets for collaboration w/ partners building localized versions, hardware procurement/tracking/quasi-BOM… and though we’ve started to use Nextcloud and Hedgedoc for collab, we need a reliable tool for maintaining a comprehensive open hardware (and services) database that feeds into nimble BOM/build & compatibility guides & eLearning/power estimation/etc.

Not sure if part of toolchain

  • Matrix/Element for community engagement, and we’re soon to launch forums (either discourse or Wordpress, though discourse w/ ActivityPub federation would be a big plus as we’re working on getting Mastodon/Peertube/Pixelfed up for news & media sharing).
  • Adobe ID/Illustrator/LR/Premiere Pro for creation/editing of graphics/photos/videos - need open alternatives.
  • Zotero for sharing of reports/publications/documentation.

Possible questions

  • How can the ‘new’ toolchain be designed to best enable local capacity building, decentralized manufacturing, localization of designs & BYOHW (bring your own hardware?), etc.
  • What standards should be used to ensure integration with other open hardware/firmware/software projects?
  • What elements of the toolchain can be automated/fine-tuned after the hackathon?
  • Since the nimble is primarily about empowering underconnected communities, it would be interesting to explore if/how the entire toolchain can be offline-first. i.e. how can someone in a remote area download all tools/software, firmware, designs, and guides required to disconnect from the web then modify the designs to their needs, print, assemble, and deploy. Federation would enable async support depending on power/internet availability.
  • Which open source hardware business/sustainability models are relevant to nimble and should be considered for tool selection/deployment?
  • What questions should we be asking? :interrobang: :ear: :pray:
2 Likes

Nice, that gives much clarity about the situation for discussion on this. → @julianstirling would you go for automation via OpenSCAD or FreeCAD?

@wakoma can you add this info (copy paste) also in your original post above?

Interesting question @Timm, I think it depends what you are automating. But in general any check of the models, or any automated exports to “production files” (STL, STEP, G-code) should be done in the program where the CAD is done.

I have not played much with GitHub Actions for automation, nor have I played much with using FreeCAD in a Docker container to automatically do things. I’d love to get involved with this side in the Hackathon. It is very important for good documentation that all of the files you need for production are automatically kept up to date.

I would say these are peripherally part of the toolchain. I would like a company to be able to design and manufacture products using only open software. They are less core for OTFN focus.

As an Illustrator replacement I would say that Inkscape has come on leaps and bounds in the last few years. There are still some quirks, but there are also some powerful features for technical diagrams. You can plot functions within inkscape allowing shapes to follow mathematical functions (so your sine waves actually look right!), we have also found that it is great for annotating automatically generated renders because you can make the raw SVG link to external files and run exports from a script.

I use Gimp and Kdenlive as for photo/video. I like Gimp, but then I have used it for years and I use a fraction of the features, so I am the wrong person to ask. Kdenlive gets the job done for me eventually, but I do find it quite painful, and I am unsure whether I am limited by the software or my own incompetence (or both!).

4 Likes

Hopefully this question is not jumping ahead, but should we bring measurement tools (i.e. calipers and a scale) for the Hackathon? Will we need to measure existing 3D printed parts, or will we be able to get measurements directly off of the Tinkercad models? I used Prusa Slicer 2.6-alpha’s new measurement tool on the STL to do an experimental recreation of the Nimble rack leg using CadQuery, but measuring STLs and 3D prints adds some fuzziness. I do have a Tinkercad account and a little bit of experience helping my son use it, so I may be able to help get measurements.

I have quite a bit of experience with GitHub Actions, and should be able to help with that.

How can the ‘new’ toolchain be designed to best enable local capacity building, decentralized manufacturing, localization of designs & BYOHW (bring your own hardware?), etc.
Since the nimble is primarily about empowering underconnected communities, it would be interesting to explore if/how the entire toolchain can be offline-first.

It does seem like a good thing to keep these in mind during the Hackathon. There is always so much to do during a Hackathon that it’s easy to lose sight of of the overarching goal(s) of a project (or at least it is for me).

4 Likes

good point, I think we will have some tools but it is not a bad Idea to bring some extra ones, especially measurement might be limited. Nice thinking!

1 Like

get some inspiration for the hackathon:

dedicated to the nimble use case @wakoma @ericnitschke check it out

further discussions also via #toolchain-discussion

thanks, @julianstirling. We’re wide open to ideas here. GitBuilding seems like it could be really useful for generating documentation for versions of the nimble deployed & updated in different countries.

Looking forward to testing Inkscape and Kdenlive. Thx for the info.

I’ll bring calipers, hex tools, all existing shelves/prints, network hardware, etc. Would be great if someone local could bring a scale, electric drill/screwdriver. Looks like there is a fleet of printers at our disposal (thanks Fab City Haus folks!).

Not sure what we’ll be able to extract from tinkercad. Thankfully most of the shelves are based off of the same few designs.

amen. thanks, @jmwright.

Cool. I like the explanations in there. I’d almost even number each part of the chain and describe what is it and how it relates to the others, for educational purposes. We could perhaps do this for the nimble chain.

Here is an editable hedgedoc pad with some additional links and info.

See y’all on Monday (and others tomorrow afternoon for setup)!

1 Like

See y’all on Monday (and others tomorrow afternoon for setup)!

I’m happy to come and help set up if there’s something I can do, but I understand if it needs to be just the OTFN team.

For anyone looking for the TinkerCAD models for Nimble, I believe this is the correct link.

1 Like

At the end of the hackathon @MartinSchott and others were looking at making a logo for the nimble project.

I made a GitHub issue for the lack of logo. I am a big fan of open projects putting their whole todo list into public issues, as it lets people understand the project’s status and roadmap, allowing other contributions.

Already Oba Tochukwu has put forward a nimble logo he made. It would be good for any suggested logos to be placed in the thread. @ericnitschke is then left with the difficult task of choosing a logo, but we can maybe do a community process to choose the final logo?

3 Likes

Hi Everyone!

It was incredible meeting you all in Hamburg - hard to believe it’s already been a month! A few updates:

If you haven’t seen it, here is the video on the event: (big cheers to Daniel! Find more of his work here.)

Last week we submitted a proposal to continue working on ‘smart documentation’ that makes it easier for people to plan and build their own nimble networks. If this is accepted we’ll post the project repo here.

@jmwright made an excellent blog post on the work done by team 2 at the hackathon which also touches on some of the next steps for the framework.

Don’t forget to follow OTFN here!

2 Likes