kgiori.github.io

sharing tech info to make the world a better place

View My GitHub Profile

Shared Technology Information

This is a place I can share tidbits of technology. I hope to create several fun workshops to help people get started building their own technology solutions, especially those that incorporate open software and hardware. The benefits of open source collaboration are immense, which is why I’ve always been a fan of FLOSS, open hardware, and even open ‘silicon’ approaches. We all stand on the shoulders of other brilliant men and women. In this site I advertise my current favorite collaborative technology projects. I want to continue to create content to help you try them, tweak them, and make them better for yourself.

Mozilla WebThings

https://iot.mozilla.org - Fun project, terrific people, excellent potential (and already useful running in my own private smart home). Join this fully open and community supported project to bring IoT devices to the web, in a private, secure, and interoperable manner. (Note I am biased as I work on this team at Mozilla, leading advocacy, expanding industry and strategic relationships, and bringing it to educators via the MicroBlocks Web Things library.)

MicroBlocks

http://microblocks.fun - Phenomenal blocks-based programming tool for physical computing. Includes a library to easily build your own Mozilla “web things” out of any of the supported 32-bit MCU boards. Unlike Snap4Arduino, these MicroBlocks programs run even after you disconnect the board from your computer. Create your own IoT devices as standard web of things devices in minutes. This is not just for kids!

Tutorials: http://microblocks.fun/stories#tutorials – Look at Mozilla IoT Activity Cards Hour of code: https://gpblocks.org/hourOfCode2018/microbitIntro/

Snap! and Snap4Arduino

https://snap.berkeley.edu/ and http://snap4arduino.rocks/ - Snap! is also an amazing programming environment, but interaction is focused on the computing platform you are doing the development on (e.g. a laptop). It runs in a browser. It was built because of limitations in Scratch – it lets you go as far as your imagination in first class programming constructs. Snap4Arduino lets you tie the UI of your computer with the real world of microcontroller boards that can run Arduino and Standard Firmata. Like MicroBlocks, it is a superb way to engage in programmable interaction with the physical world. However, it does require that the microcontroller remain tethered to the computer.

PlatformIO

https://platformio.org - When I’m not programming in blocks, I prefer to use PlatformIO to program any MCU hardware, especially those that support the Arduino framework. In fact, the way I build and upload the MicroBlocks virtual machine (VM) onto microcontroller boards is using the extremely veratile PlatformIO tool. I wish all semiconductor (chip) makers would support a common interface VM for their products!

Oryng

http://oryng.org - The idea of Oryng is to have a group of people focused purely on community driven curation of the Arduino/Wiring Framework, independent of any for-profit commercial bias. (The hard part is finding time to do the curation.) This ties into the desire I mentioned above, where ideally chip vendors would create a common interface hardware abstraction layer for their products, allowing developers and makers to select and enjoy any programming language or tool, independent of the hardware.

Arduino

http://arduino.cc - Such a wealth of community collaboration and libraries make this an excellent framework to build microcontroller based things. The main complaint I have is commercial bias for Arduino-branded hardware. In my opinion, it has always needed a non-profit developers-first organization to manage the reference framework (such as oryng) and software (to enable un-biased community input).

Docs

Not exactly sure yet how I will organize this site yet, but one benefit will be the ability to share documents. I want others to localize content that I generate to their own language, and use it to give workshops, present at conferences, and create online tutorials for their own communities.