Installing the GrovePi

I have the same problem with the (-1, -1) readings (consistently - not after a period of time). However in my case this appears to be the firmware not up to date. I have documented my experience so far here:

I was hoping to use this in an educational context, but most students (and teachers for that matter) wouldn’t even get close to doing anything in the limited time of school with that many hoops to jump through.

Is there a simpler way to just update the Firmare without all of these chain of scripts?

Please note: this is meant very as constructive feedback not whinging. I would be happy to help out with forking testing a more modular approach via Gihub using standard binaries from the Raspian repos rather than cloning and compiling specific versions of dependencies on the Pi.

Also - reading the above - you state that “sudo curl -L | bash” is a quicker way compared to doing the full install via the /GrovePi/Scripts/ But from all I can see this script just loads another script which just clones the whole GrovePi repo and calls install.


Hey @leogaggl saw this post and thought it deserved it’s own topic.

Did you have a specific issue with the installation script that failed? Or did the installation just take too long for your needs?

What I want to understand a little better is what’s wrong with the installation scripts as we have it setup, and how you think we could do better. Thanks!

Hi John,

Here is the use-case (which currently does not work at all with the install scripts as they stand):

A clean minimal-headless install of Raspian (Stretch in my case). All you want to do is deploy a Raspberry Pi Zero with a GrovePi and some sensors which send data at regular intervals. Basically all I wanted to do is install the libraries via pip install and read the sensors. But since the GrovePi I bought had really old firmware I just got these -1/-1 readings from digital port 3 with a white DHT Pro sensor.

Issues with the current install scripts:

  • Chain dependencies (one script calling another, calling yet another)
  • Hard-coded usernames (we try to also teach good security practice - and that ain’t one of them)
  • Hard-coded Github URL’s for calling dependency scripts (which is not much good if you don’t have everything hard-coded to the ‘pi’ user)
  • The scripts compile a lot of standard libraries from scratch which are all in the Raspian repos (sudo apt install is an order of magnitude faster on such a device than installing the whole development tools and compile on a resource-limited device).

If all you would like to do is install the GrovePi libraries via PiPy repo and read some values from a headless minimal Pi with no hard-coded user account this is an absolute nightmare.

Modular firmware update
You should be able to just flush a firmware binary to a specific version (unless I am missing something) with a simple upload of the binary. Don’t get me wrong - it’s great to have the sources and be able to compile it yourself and fork/modify if necessary. But for the above use case, all you need is to ensure the firmware of the GrovePi is current.

I would love to use this setup in some ‘citizen science’ type educational settings, but currently the time it takes far too much time to install a single one for this to be useful.

Hope this explains the issue. As above I would be happy to help out testing and contributing patches if needed for such an approach.

Cheers, Leo

Any comment @JohnC ?

Hey @leogaggl thanks for following up on this. I have a few comments back.

First, we’re really happy you like the GrovePi and see a lot of potential in it. And we’re really grateful that you explained a better solution in detail here. Thanks: it raises our game. All of your suggestions are great, and they’re on our list. We have a pretty deep stack of development projects going on at the moment, but we will work on this ASAP.

Thanks again, we’re grateful to have you in our community and grateful for the detailed feedback.