CrowPi L Review – Part 2: Learn programming and electronics with a Raspberry Pi 4 laptop

CrowPi L Review – Part 2: Learn programming and electronics with a Raspberry Pi 4 laptop

In the first part of our review of CrowPi L Raspberry Pi 4 laptop for education, we checked the hardware and accessories such as the CrowTail starter kit with various sensors and other electronics modules, and showed how to install or remove the Raspberry Pi 4 SBC from the laptop shell.

I’ve now had more time to play with the educational software, so I’ll report my experience with the laptop when learning game design and hardware control with Letscode visual programming IDE, as well as the Python lessons for more advanced students.

Reinstalling CrowPi OS image

It’s the rainy season here in Thailand meaning it’s both hot and humid, and even though I’m not entirely sure it’s related, I recently had to reinstall Raspberry Pi OS on one of my Raspberry Pi with a corrupted SD card. It happened again with the CrowPi L after I left it in its package for two to three weeks…

Crowpi L laptop boot failure

But that’s not a big issue, as Elecrow provides CrowPi OS images for download. So I just downloaded and flashed the CrowPi L image to a microSD card with USBImager, and I was good to do. Note that I often get the error “The software needs to run on Crowpi-Laptop!” at boot time.

The Software Needs to Run on CrowPi Laptop

Pi Panel user interface

But when that happens I can just click on the Pi Panel icon on the far right of the taskbar to start it up.

Elecrow Pi Panel

The Pi Panel program offers shortcuts to Letscode tutorials to learn visual programming,  Python lessons, as well as other programming tools such as Thonny (Python IDE), Geany text editor, and the Arduino IDE, all of which are preinstalled in the image.

Pi Panel Accessories

The Accessories tab provides shortcuts to desktop programs such as VLC Player, Chromium, or a File Manager, the Website tab gets links to relevant websites (Raspberry Pi, Arduino, Linux, Ubuntu, Open Source…)…

Pi Panel Websites

while the Forum tab offers links to popular maker forums. Note that the CrowPi OS is basically Raspberry Pi OS with the Pi Panel programs and developer tools.

CrowPi Raspberry Pi OS

Visual programming lessons with Letscode

Let’s check Letscode lessons first. There are three options with “the game designs”, “hardware control” (which requires the CrowTail Starter Kit with electronics modules), and finally an option to add future tutorials.

CrowPi L Letscode visual programming

Game design with CrowPi L

The game designs section does not rely on electronics at all, it will just teach kids and adults how to create games with visual programming.

CrowPi L Game Design

Game Programming Raspberry Pi

There are sixteen lessons in total, and I tried “Lesson 3 Undersea World” to have a look.

Letscode Pi Panel Tutorial

Letscode program will show on the left, and the Pi Panel’s tutorial on the right of the screen. As you can see the Letscode window overlaps on the tutorial section. It’s not ideal, but still usable.

game design video tutorial

The tutorial will explain step-by-step what the student has to do first with text, followed by a tutorial video showing where to click.

CrowPi L game sprites

You’ll also have access to background images and sprites to make game development easier, although letscode also allows you to draw your own sprites.

Game design lesson undersea world

You’ll have to drag and drop visual programming blocks to manage the behavior of sprites in your scene. It was fairly easy to follow, and both reading the text and watching the video are mandatory to complete a lesson, at least initially. This can be cumbersome on the small 11.6-inch display of the laptop, so I decided to connect a 10.1-inch HDMI display to the HDMI port of the laptop, have Letscode in full screen on the laptop’s screen, and the tutorial and videos on the HDMI display.

CrowPi L with Letscode and HDMI display with tutorial
Dual display screenshot

CrowPi L HDMI Display

I found myself to be quite more productive that way. Note that by default, the screens will mirror, and you’ll need to run Screen Layout Editor to change the layout as follows.

Screen Layout Editor

Hardware control with CrowTail Starter Kit

Let’s now switch to the section more relevant to CNX Software topics with Hardware control lessons.

CrowPi L Hardware Control
Letscode hardware programming 24 lessons
There are 24 lessons in total from the basic light flickering lesson to more complex projects such as a welcome robot or a smart planting system. I went with Lesson 6 “Motor Drive” to have a closer look at the way those tutorials combining electronics and visual programming are conducted.

Raspberry Pi 4 Laptop Motor Drive lesson

I’ll keep using my dual display setup, as it’s even more imporant here, since the tutorial window is even bigger.

CrowPi L Hardware control Dual Display
Before getting started with any of those lessons you’ll want to install the CrowPi L Extension by first clicking on the icon at the bottom left in the Letscode program…

CrowPi L Extension
.. then select CrowPi L Extension which comes with the visual programming block we’ll need for hardware control lessons.

Lestcode Learning Target

The lesson starts with an explanation of the learning targets,

What is IR reflective sensor

and provide a description of each module used in the project followed, if needed, by the theory behind the working principle of the sensors, in this case, the IR reflective sensor.

IR reflective sensor working principle

The motor drive tutorial also use a MOSFET module,
What is MOSFET

and a “TT motor”, so we’ve got an explanation for both.

What is TT motor

After all that theory, we’ll need to dig into our CrowTail Starter Kit for Raspberry Pi to get the necessary boards and modules for the project. The Starter Kit has plenty of modules (22), but since the package is well-described they are easy to locate.

CrowPi L Visual Programming-Motor Control Hardware
This is followed by the connection diagram, and I think it could be more detailed. I had to take 3 jumper wires, two to connect the TT motor, and one to connect the female jumper cable of the battery pack. I also had to use my screwdriver to connect the wires to the screw terminals of the MOSFET board, as well as a tool to open the battery compartment and insert two AAA batteries of my own. None of this was explained, and it might be head scratching for kids without supervision. I also find the use of jumper wires to connect to the TT motor a bit odd, as they can be loose.

CrowPi L motor control connections
But let’s carry on with the lesson now that we have connected our project. The visual programming part is fairly easy to follow as it’s explained step-by-step. You’ll also see the Python automatically generated as you may more programming blocks. Once you program is done select the baud rate (115,000) in the bottom right, and click on the start/play button.

motor control visual programming

Everything looks fine, but does it really work? You bet it does as the TT motor as I place my finger on top of the IR reflective sensor…

Python Programming

Let’s switch to Python programming lessons and tutorials.

CrowPi L Python lessons syntax hardware control

Just like for visual programming, there are three sections: “Introduction to syntax”, “Hardware control”, and an option to add a new course.

Generic Python Syntax Lessons

The introduction to syntax does not require any additional hardware, it just teached Python basics…
CrowPi L Python games programming
… to more complex examples such as games that all run on the laptop itself. If we select one of the lessons, the Pi Panel tutorial will show on the right, and Thonny Python IDE will show on the left with the lesson providing step-by-step instructions to write the program.

CrowPi L Python Programming Thonny

The “Hardware control” Python lessons are exactly the same as with the Letcode program, but instead of using visual programming, students will learn to code Python.

CrowPi L hardawre control Python lesson Raspberry Pi 4 laptop hardawre control Python lesson

I did flick through the Motor Drive lesson, and it’s basically the same as for the visual programming lesson with theory, explanation about the modules, a connection diagram, and the main difference is that you’ll learn Python programming on the way as well. By the way, you can also do this in the visual programming lesson, as Letscode will automatically generate the Python code as you drag and drop the blocks.

Thonny Motor Drive Python Programming tutorial Motor Control Circuit Connection Diagram Motor Drive Raspberry Pi Python code

But I did not try it in detail, as the CrowTail Started Kit for Raspberry Pi comes with a printed user guide, and I personally prefer to learn that way. But that’s a mistake as I’ll explain better, and you should learn Python with the program inside CrowPi L laptop, instead of the book as it is outdated.

CrowTail Python Lessons

I first noticed the list of lessons was different. But I still went ahead, and installed samples and “drivers” as explained in the book:

Let’s go into the examples directory to list the samples:

Good! We’ve got out 21 samples here. We can run the hello world sample:

sudo is actually optional here, but we’re told sudo is required later on for the GPIO library. It looks like the system may not be configured properly (permissions-wise) if that’s the case… But I can see the pi user is part of the gpio group, so it may not be needed at all. We’ll try that later…

Let’s select one of the lessons to try it out: Lesson 17 – Weather Station.

Lesson 17 Weather Station CrowTail Weather Station Tutorial

We can see the lessons are for the Raspberry Pi SBC instead of the CrowPi L laptop per se, but I used the Grove shield for CrowPi L instead of the “base shield for Raspberry Pi”, as I assumed both would have the same layout (another mistake).

Weather Station Connection

We have to install the Adafruit DHT Python module as instructed in the lesson:

now let’s go back to the example directory to run the sample:

Oops! That’s because I’ve been a naughty boy and jumped directly to lesson 17 without going through the other ones beforehand. But we’ll just need to install Adadruit Character LCD module:

Now now we can run the sample, no sudo needed:

Adafruit GPIO module is not in the list of “drivers”:

So I tried to install it manually:

and

But I still had no luck… So I contacted the company, and they told me to try with Python3 instead:

It went further but I had another “Remote I/O error”. In the follow-up email, it was made clear to me the green book should not be used with CrowPi L:

Btw, some people are often confused by the Crowpi L courses and the crowtail instructions, I need to make it clear here.

The green instructions is designed for the raspberry pi starter kit, people could learn raspberry pi via the instructions even though they have no Crowpi L. Besides, the instruction is too old to be followed step by step.

You might notice that we sitll have built-in courses in the CrowpiL which has no printed instructions, this is another courses which is designed for CrowPi L it is different from the raspberry pi starter kit instructions.

But I was also given the solution to the Weather Station tutorial in the green book: the connection is different since the I2C port for the LCD module is in another location, and the LED and DHT22 modules must be switched. After that, it worked fine:

CrowPi L Weather Station Python Demo

Since the pi user is part of the gpio group, we don’t even need to use sudo:

The display was hard to read initially, but after adjusting the brightness of the potentiometer on the control board on the back of the LCD with a screwdriver, it was fine.

LCD module potentiometer

Here’s the Python code for reference:

So just don’t give the green book to your kids for them to learn Python and electronics with the CrowPi L laptop, it will be frustrating and potentially discourage them. But if they have completed “Hardware Control” Python programming lessons and found it all “way too easy”, then consider giving them the green book with cursed instructions for something a little more challenging 🙂

Misc remarks and conclusion

The CrowPi L image comes with an apt mirror based in China, and it can be quite slow outside of mainland China:

So you may consider editing /etc/apt/sources.list or install apt-mirror-updater and select one of Raspberry Pi OS/Raspbian mirrors close to your country for faster update:

The laptop comes with a touchpad with mouse buttons on the top right of the keyboard, and I thought it would be really awkward to use, but I was pleasantly surprised and it’s actually not too bad. That is unless you need to click and use the touchpad at the same, for example to move a window, in which case it’s close to unusable.

Two more nagging issues. If you close the lid, the fan will not stop and keep running. It will only stop when you turn off the laptop. The WiFi connection inside the laptop may be unreliable (TBC), as when using SSH to access the laptop, I had frequent freezes of several seconds where I could not type anything. So in case you have connection issues, you may want to switch to Ethernet instead.

The CrowPi L can also be used as a standard Linux laptop, but with my bad eyes, an 11.6-inch display is far from ideal. Additionally, while the value proposition as an education laptop is clearly there, the CrowPi L is not the best value if all you want to do with it is check the mail, browse the web, and watch some YouTube videos.

I’d like to thank Elecrow for sending the CrowPi L laptop, Raspberry Pi 4 (8GB RAM), and Crowtail Starter kit for review. The CrowPi L Advanced Kit reviewed here sells for $518 including shipping (or about $487 with CNXSOFT coupon for a 6% discount), but if you only need the laptop shell, available in white or black, that would be $279 (or ~$262 with the coupon).

CrowPi L Review – Part 2: Learn programming and electronics with a Raspberry Pi 4 laptop

Software developer designs tool streamlining machine learning | The New Times Previous post Software developer designs tool streamlining machine learning | The New Times
DOD eyeing ‘transformational’ edge computing, fog computing tech Next post DOD eyeing ‘transformational’ edge computing, fog computing tech