grants icon indicating copy to clipboard operation
grants copied to clipboard

Helium Arduino PortentaH7 Lora Vision Shield Sensor Actuator Machine Learning Tutorials for Non-Engineers

Open hpssjellis opened this issue 3 years ago • 11 comments

Project:

Helium Arduino PortentaH7 Lora Vision Shield Tutorial for Non-Engineers

Note: I have reduced the scope of this grant and removed the Sensor/Actuator and Machine Learning component to make this application more succinct.


Elevator Pitch:

The Helium People's Network needs everyday people to be able to use both the Hotspots and their own Devices. In my opinion only big companies with Mechatronic Engineers using ESP32's are able to create products that effectively use HNT.

I believe the network's success is centered on many people being able to make LoRaWan low power long distance solutions for their family and small business needs. The simplicity of the Arduino products is legendary and the PortentaH7 is a beast, with it's dual core, 160 pin base and shields for Vision, Microphone, sd card, Ethernet and LoRaWan. The PortentaH7 is the perfect choice for the technology capable Helium Hotspot owner.

I have the unique ability to simplify complex technology and the teaching experience to create a base tutorial to allow anyone to use the Helium Network to it's full potential.

What it is all about:

Here I show my Bobcat Miner beside an Arduino Portenta with the LoRa Vision Shield attached using the 2 x 80 pin attachments and a 915 MHz antenna (for North America) powered by a regular cell phone charger. (LiPo or coin cell options are on the large breakout board not shown)

image


Total Fiat/HNT ask:

$5,000 USD to connect the Arduino PortentaH7 with LoRa Vision Shield to the Helium Network and to post an example PR to the Official Arduino MKRWAN (LoRaWan) library. I will also document the process on the Helium Docs, and include how to use the MQTT servers and Helium console that are an integral part of the Helium data collection techniques.


Code Repos of team of key applicant:

Final Product link on Helium Docs (Link listed when active)

Final Product code PR sent to Arduino MRKWAN library pulls here.

The actual example should end up here

Mr. Ellis: Teaching Robotics Github Link: Maker100

Mr. Ellis: Teaching Robotics Video Playlist: Youtube Maker 100 Videos

Mr. Ellis: Teaching Robotics Library for the Arduino IDE: portenta-pro-community-solutions

Mr. Ellis: Github Profile: Jeremy Ellis Github Profile


Project Details:

  • Background: The Arduino PortentaH7 https://store.arduino.cc/usa/portenta-h7 is the new $103.40 USD "Pro" Arduino board with impressive abilities (easy Arduino programming of this dual core, 160 pin, Wifi, BLE, I2C, UART, SPI, 8MB SDRAM, Coincell and LiPo connector on breakout board.) especially when combined with the $63.00 USD LoRa Vision Shield https://store.arduino.cc/usa/portenta-vision-shield-lora and the optional $45.99 USD Breakout board https://store.arduino.cc/usa/portenta-breakout. The Vision shield with 320px x 320px GRAYSCALE camera and dual microphones, SD card and LoRaWan capabilities brings multiple sensor possibilities to Makers and Professional businesses alike.

Arduino PortentaH7

PortentaH7small

Portenta LoRa Vision Shield

This snaps to the back of the PortentaH7 using 2 x 80 pin high Density connectors.

lora-vision-small

Optional Portenta Breakout Board, note the Vision shields can still snap to the back of the breakout board!

image

Problem

  • Problem (as of May 2021): Unlike many LoRa capable boards the Portenta does not give direct access to the LoRa module, making most LoRa and LoRaWan example code useless. The Arduino MKRWAN library can connect to the TTN (TheThingsNetwork) in Europe but has some issues connecting in North America.

  • Problem to Solve: Helium connectivity in North America does not work with the present May 2021 Arduino examples.

  • Connecting is only the first step, simple sensors and actuator examples are also needed.

  • Solution: I plan to simplify getting Portenta sensors and actuators working on the Helium Network.

  • First with basic connectivity, then simplifying Cayenne MQTT server presentation of the uploaded data.

  • (Update: Summer 2021) I have spent several months looking into solutions and now with recent improvements to the Arduino MKRWAN library I have 2 proven methods to connect to Helium in North America


Roadmap:

Milestone + Date                        Deliverable               Summary Cost                   
MS#1
(Research)
August 2021
Research about using the Arduino PortentaH7 dual core 160 pin microcontroller.

Research LoRa and LoRaWan abilities for the Arduino PortentaH7 LoRa Vision Shield, using the Murata Module and the GrumpyOldPizza Library.

Research LoRa and LoRaWan abilities for the Arduino PortentaH7 LoRa Vision Shield, using the MKRWAN Arduino Library
Done Generic Portenta Github $1,500 USD
MS#2
(The Build)
February 2022
Connect the PortentaH7 to the Helium Network.

Create several examples (code and/or notes/images) of sending data on the US915 Helium network using multiple MQTT methods.

Simplify Open Source code examples.

Send a PR of main Helium example to the official Arduino MKRWAN (LoRaWan) library
On Going helium-cayenne-us915 $2,000 USD
MS#3
( The Docs)
August 2022
Test introducing the above code to people with different levels of technological skills and make changes as appropriate.

Update the main example of how to connect to the Helium network if needed.

Send PR requests of a Tutorial to the Helium docs to inform a wider Helium audience of how to use the Arduino PortentaH7 with LoRa Vision Shield using HNT.
Not Yet Started Helium Docs $1,500 USD
--- --- --- Total $5,000.00 USD

Generic Links related to this Project

Maker100 Robotics Curriculum: https://github.com/hpssjellis/maker100

Maker100 Video Playlist https://github.com/hpssjellis/portenta-pro-community-solutions/blob/main/examples/a-portentaH7-examples/a-a-hello-blink/a-a-hello-blink.ino

Twitter: https://twitter.com/rocksetta

Website: https://www.rocksetta.com/

Older Links

Youtube Arduino Playlist: https://www.youtube.com/watch?v=bVIdH92dcqg&list=PL57Dnr1H_egtm0pi-okmG0iE_X5dROaLw

Robotics Curriculum with Video Series: https://github.com/hpssjellis/particle.io-photon-high-school-robotics

Arduino Portenta Solutions: https://github.com/hpssjellis/my-examples-for-the-arduino-portentaH7

Machine Learning using TensorflowJS: https://www.rocksetta.com/tensorflowjs/

Relevant Experience by Jeremy Ellis

I have taught coding for 30 years, taught robotics for 7 years, developed my own Robotics curriculum. I have a Chemistry Degree, An Education Degree and a Diploma in Counseling. I teach High School Technology including: Robotics, Coding, Animation and 3D Printing. I taught myself Machine learning. I am an Edge Impulse Ambassador https://www.edgeimpulse.com/ . I have a class set of the Arduino PortentaH7, with LoRa Vision Shields and Breakout boards for teaching Robotics during the next few years.

hpssjellis avatar Sep 05 '21 16:09 hpssjellis

@hpssjellis The grants committee is excited to support ecosystem-growing projects like this. I see this proposal as strongly supporting efforts of expanding awareness and broadening the suite of prototyping tools available to developers. Your experience appears to speak strongly to your ability to deliver on these outcomes.

Directionally, I wanted to offer some thoughts. This proposal seems to offer two high-level outcomes; enabling Helium on the Portenta platform and demonstrating ML on the edge. While the prospect of ML on the edge is intriguing and valuable for certain use cases, it does distract from what I see as the core deliverable here – which is the inclusion of the Helium network in the professional-tier Arduino ecosystem. In other words from a userbase perspective, the ML demos are subset of the former subset.

If you are open to it, I’d love to help shift focus more toward Portenta/Helium educational materials for this initial grant. Demonstrations of ML may fit better into subsequent grants (made easier by the rolling applications). At which point we may be able to make an introduction a Fortune 50 company working in the ML-on-the-edge space.

As such, a couple of thoughts for the Portenta/Helium deliverable:

  • Authoring guides or documentation for docs.helium.com will help the content you develop be found by the broader Helium community as well as act as a long-term store for the guides you build.
  • Per the above note, it could also be of interest to see some of this information shared on other networks like hackster.io, hackaday, etc.
  • The Arduino libs are open source on GitHub. It would be great to see a PR into those projects in support of Helium, even is just as a contribution to the README.

Happy to chat further on this or to pair up on some shaping for this proposal.

jthiller avatar Sep 08 '21 21:09 jthiller

Hi Joey:

Great ideas which actually makes my proposal easier to fulfill as the Machine Learning part is ever changing and complex, however I am more comfortable reducing complex systems to teachable material, the writing of beautifully done hackster.io or medium.com articles are definitely more stressful for me.

I have actually done a hackster.io article about your competition the crypto IOTA

https://www.hackster.io/jeremy-ellis/particle-photon-pay-iota-to-read-sensors-edb7b8

As my full time job is a Technology Teacher, I will have to find ways that these new ideas fit in with my teaching, but that should not be difficult.

I will rewrite the grant and tag you when it is updated. The Arduino support and getting examples on their site should not be a problem at all. Also using my social media platforms (Instagram, Twitter, YouTube etc) to help spread the word might be helpful.

Thank you so much for the feedback.

Jeremy Ellis

hpssjellis avatar Sep 09 '21 01:09 hpssjellis

@jthiller I have updated the grant proposal above.

hpssjellis avatar Sep 09 '21 06:09 hpssjellis

Thanks @hpssjellis. I'm coordinating with the grant committee. Will keep you posted here.

jthiller avatar Sep 10 '21 18:09 jthiller

@jthiller, any feedback about approximate dates for grant approval/adjustment/rejection?

Also any explanation of grant payments, how, when, regular dates, milestone completion, ...?

P.S. The Machine Learning part of my possible next grant request is doing very well (ML at the edge and the low data rate of the Helium network go very well together) https://twitter.com/rocksetta/status/1445532840775483392?s=20

hpssjellis avatar Oct 07 '21 04:10 hpssjellis

Hi @hpssjellis, I think we can sort out the remaining details over a quick call. Can you reach out to me on Discord @Joey? We can schedule from there.

jthiller avatar Oct 14 '21 16:10 jthiller

@jthiller The revised application above is ready for you to have a look at.

hpssjellis avatar Oct 27 '21 13:10 hpssjellis

Thanks @hpssjellis. I'll get this in front of the broader committee.

jthiller avatar Oct 27 '21 19:10 jthiller

Thanks for the revised application @hpssjellis. The committee is happy to approve this grant request.

I look forward to continuing to support your project through the rest of the milestones.

jthiller avatar Oct 29 '21 19:10 jthiller

@hpssjellis please reach out to me so we can formalize your grant agreement! [email protected]

Scottsigel avatar Oct 29 '21 20:10 Scottsigel

@Scottsigel Done!

hpssjellis avatar Nov 02 '21 05:11 hpssjellis