Downloaded Raspbian for Robots - What's next?


Spoiler Alert! Dumb questions ahead:

I spent most of yesterday, and a generous portion of last night, (until my wife Laid Down The Law at 4:00 am!), looking for information about Raspbian For Robots. Aside from the installation instructions, how to use Etcher, (or dd), to burn a micro-SD card, and a few lessons, I found absolutely nothing that would guide me “down the path of righteousness”.

I also looked at Scratch, and decided that the Dexter OS “Blockly” implementation blows it away so far and so fast that it’s not even in the same Solar System! (Leaving the Galaxy at Warp-9, rapidly reaching the edge of the Known Universe!!) I really wish you’d include the Dexter implementation of Blockly in all your software offerings.

RFR is installed on Charlie. I did the standard hookup for a monitor, keyboard and mouse. I booted it, allowed it to expand the file system, changed the installation name to “Charlie”, and ran all the updates. Not only did I run the “Dexter” updates, (and allowed it to install whatever it offered), I also ran the plain-vanilla “apt-get” update process as well, which installed another four-or-five-hundred update packages as well.

I also preserved the Dexter update logs. I ran the Dexter update twice, just to make sure that update “A” didn’t trigger the need for update “B”. Very seldom does this happen, but I’ve seen it happen several times among several distributions.

I also did the “firmware update”, though it wasn’t necessary.

Gripe/Enhancement Request:
The firmware update process did not verify the current revision level of the existing firmware and avoid updating if it’s already current. Since a firmware update is not to be undertaken lightly, it is virtually a universal practice among updaters to verify if an update is actually necessary before updating - otherwise it returns a nice green check-mark, (or something similar), with the message that your firmware is already up to date.

This is the “firmware update” page from my SSD’s maintenance software. Though you are given the opportunity to update the firmware manually if you need to, it lets you know that you are already at the latest firmware revision.

  • During the “Dexter Update” process, I received a scarily large number of “Warning!” messages from Wiring as it installed - mostly about unreferenced variables or things like that. Not hugely scary, but off-putting at best. Is this normal?

  • Also, I noticed a lot of messages about "redirecting [something or other] to [someplace] by raspihack (or something similar), and a similar amount of “removing redirection” messages. As a general rule, I only see these if the system is going to compile dynamic kernel modules for whatever reason. (HP’s printer drivers absolutely love to compile dkm modules.) What puzzled me is that - as far as I could see - no dynamic kernel modules were compiled or created while this was happening. Is this expected behavior?

  • Assuming that periodic Dexter-style updates are necessary and important:

    • Now that the most current “Dexter” software is installed, will periodic “apt-get” upgrades keep it current?
    • If not, how do I know that an update is available or necessary?
  • And the final question: (so far! :wink:) How do I “get there from here”?

    • Aside from “Scratch”, I did not see any kind of programming environment or IDE available. Now, in all fairness, it was ferociously late and I was probably as cross-eyed as a neutered aardvark, but I didn’t see anything, either on the desktop or in the drop-down menu.
    • Assuming that there’s some way to program the beastie somewhere, (and I missed it, half asleep at 4:00 am, after a long day entertaining the granddaughters), where is it and what programming languages/environments are supported? By “supported”, I mean “libraries and necessary header-files exist and I don’t have to burn brown rice or sacrifice small rodents to get things working.”

With respect to the Dexter environment, there’s at least some on-line help and advice - as in “go here, click this, do that” and you’re magically programming!

With respect to the Raspbian-For-Robots environment, I saw essentially no guidance on-line and little to none within the O/S itself.

Of course, for old dogs like yourselves, cyclicalobsessive and the Navy guy, (thomascoyle11859), this is child’s play. For those of us that are relatively new to this, and who don’t have our Ph.D. in Rocket Science, perhaps a smidge of guidance would be useful? (apparent sarcasm is entirely in jest - you guys work terribly hard and I appreciate it!)

What else should I know about this before I make a damn-fool-idiot out of myself?


Jim “JR”

1 Like

That “the Raspian Gods” stated that Stretch should not be upgraded to Buster? (Several anectodal deviants have claimed an update worked for them.)

1 Like

Hi Jim,
You’re now experiencing why we created DexterOS. :slight_smile: We do not control everything that goes into Raspbian for Robots. Raspbian itself is from the Pi Foundation. Some of the tools we install are generic tools that we don’t control (all those warnings you saw from WiringPi is a prime example).

My first question to you is which Raspbian for Robots did you install? What’s the name of the file you downloaded?

1 Like


I don’t remember which at this moment, but it’s the one just before Buster, running on a Pi-3.

BTW, Raspbian Buster is still buggy as a bait-shop! A lot of things that worked in Stretch are now broken in Buster. Wacom tablet support, for one example. Right now I don’t trust it as I have used it on several other Pi’s I have and it’s definitely not ready for prime time. (Plain Vanilla Raspbian, not RFR, though I am sure RFR will inherit all of Buster’s problems.)


I would really give a pretty penny if there were a way to download Dexter’s Blockly interface to Raspbian for Robots. (Or something substantially similar, with the “Dexter” extensions.)

It is my humble and respectful opinion that, at least with respect to Dexter’s products, Scratch isn’t worth the oxygen it took to produce it - Microsoft’s MakeCode is 10,000% better - at least for the micro:bit.

I may be an edge-case here, but allow me to explain some of my justifications:

  • First of all, I’m incredibly lazy. If I can avoid re-inventing the wheel, I’d much rather do that.

  • Being the lazy bum that I am, I really appreciate a simple and rapid prototyping model. sort of like “gator clips” or “breadboard” (plug-board). I can take an idea, throw it together and see if it works - at least sort of. I can rapidly prototype ideas for feasibility, make changes, re-prototype, and then - when I am satisfied that my idea is worth the effort - migrate to more advanced programming techniques if I think it’s worth the effort.

  • If it does work in the “blockly” environment, I can export this to my granddaughters 'bots and/or show them the code on my bot and explain it to them. It’s much easier to explain blocks than recursively nested python/c++/etc. (APL for Robots anyone?)

  • Going back to the “lazy” part, I really don’t have the time, (with two granddaughters crawling all over me), or the patience to spend two weeks programming an experiment to discover it doesn’t work - and then another two weeks debugging to determine if my code is simply wrong, or it’s a wrong idea from the start.

  • As far as this being something that can be imported into the classroom: It is not unusual for a teacher/professor to take a system, configure it the way he wants it, and then image the system for deployment. Raspbian for Robots can be configured this way on a relatively small SD image - with everything necessary enabled, updated, and verified working - then deploy the image on larger SD cards with Raspbian auto-expanding to fit. Once the class is over, nuke back to the original “as deployed” image. This also gives the instructor the ability to use the same image for multiple levels of instruction - beginners using Dexter’s Blockly, all the way to advanced users using Python/C++/ALGOL/FORTRAN or PLI - (Just kdding, though I’d love to see someone coding this in COBOL!)

What say ye?

Jim “JR”

1 Like

It’s now called GoPiGo OS :wink: and you get both worlds !


. . . and you get the best of  both worlds!

(At least IMHO)

All we need now is the ability to create and share custom blocks.