Within the first a part of our overview of CrowPi L Raspberry Pi 4 laptop computer for schooling, we checked the {hardware} and equipment such because the CrowTail starter equipment with varied sensors and different electronics modules, and confirmed how you can set up or take away the Raspberry Pi 4 SBC from the laptop computer shell.
I’ve now had extra time to play with the academic software program, so I’ll report my expertise with the laptop computer when studying recreation design and {hardware} management with Letscode visible programming IDE, in addition to the Python classes for extra superior college students.
Reinstalling CrowPi OS picture
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…
However that’s not a giant subject, as Elecrow gives CrowPi OS photos for download. So I simply downloaded and flashed the CrowPi L picture to a microSD card with USBImager, and I used to be good to do. Observe that I usually get the error “The software program must run on Crowpi-Laptop computer!” at boot time.
Pi Panel person 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.
The Pi Panel program gives shortcuts to Letscode tutorials to be taught visible programming, Python classes, in addition to different programming instruments resembling Thonny (Python IDE), Geany textual content editor, and the Arduino IDE, all of that are preinstalled within the picture.
The Equipment tab gives shortcuts to desktop applications resembling VLC Participant, Chromium, or a File Supervisor, the Web site tab will get hyperlinks to related web sites (Raspberry Pi, Arduino, Linux, Ubuntu, Open Supply…)…
whereas the Discussion board tab gives hyperlinks to well-liked maker boards. Observe that the CrowPi OS is principally Raspberry Pi OS with the Pi Panel applications and developer instruments.
Visible programming classes 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.
Sport 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.
There are sixteen classes in complete, and I attempted “Lesson 3 Undersea World” to take a look.
Letscode program will present on the left, and the Pi Panel’s tutorial on the precise of the display. As you’ll be able to see the Letscode window overlaps on the tutorial part. It’s not splendid, however nonetheless usable.
The tutorial will clarify step-by-step what the scholar has to do first with textual content, adopted by a tutorial video displaying the place to click on.
You’ll even have entry to background photos and sprites to make recreation growth simpler, though letscode additionally lets you draw your individual sprites.
You’ll have to tug and drop visible programming blocks to handle the habits of sprites in your scene. It was pretty simple to comply with, and each studying the textual content and watching the video are necessary to finish a lesson, a minimum of initially. This may be cumbersome on the small 11.6-inch show of the laptop computer, so I made a decision to attach a ten.1-inch HDMI show to the HDMI port of the laptop computer, have Letscode in full display on the laptop computer’s display, and the tutorial and movies on the HDMI show.

I discovered myself to be fairly extra productive that means. Observe that by default, the screens will mirror, and also you’ll have to run Display Format Editor to vary the format as follows.
{Hardware} management with CrowTail Starter Equipment
Let’s now switch to the section more relevant to CNX Software topics with Hardware control lessons.
There are 24 classes in complete from the fundamental mild flickering lesson to extra complicated tasks resembling a welcome robotic or a wise planting system. I went with Lesson 6 “Motor Drive” to have a better take a look at the way in which these tutorials combining electronics and visible programming are performed.
I’ll preserve utilizing my twin show setup, because it’s much more imporant right here, for the reason that tutorial window is even larger.
Earlier than getting began with any of these classes you’ll wish to set up the CrowPi L Extension by first clicking on the icon on the backside left within the Letscode program…
.. then choose CrowPi L Extension which comes with the visible programming block we’ll want for {hardware} management classes.
The lesson begins with an evidence of the educational targets,
and supply an outline of every module used within the undertaking adopted, if wanted, by the idea behind the working precept of the sensors, on this case, the IR reflective sensor.
The motor drive tutorial additionally use a MOSFET module,
and a “TT motor”, so we’ve bought an evidence for each.
In any case that principle, we’ll have to dig into our CrowTail Starter Equipment for Raspberry Pi to get the mandatory boards and modules for the undertaking. The Starter Equipment has loads of modules (22), however for the reason that package deal is well-described they’re simple to find.
That is adopted by the connection diagram, and I feel it may very well be extra detailed. I needed to take 3 jumper wires, two to attach the TT motor, and one to attach the feminine jumper cable of the battery pack. I additionally had to make use of my screwdriver to attach the wires to the screw terminals of the MOSFET board, in addition to a instrument to open the battery compartment and insert two AAA batteries of my very own. None of this was defined, and it could be head scratching for teenagers with out supervision. I additionally discover the usage of jumper wires to hook up with the TT motor a bit odd, as they are often unfastened.
However let’s stick with it with the lesson now that we’ve got related our undertaking. The visible programming half is pretty simple to comply with because it’s defined step-by-step. You’ll additionally see the Python routinely generated as you could extra programming blocks. When you program is finished choose the baud charge (115,000) within the backside proper, and click on on the beginning/play button.
All the pieces appears superb, however does it actually work? You guess it does because the TT motor as I place my finger on high of the IR reflective sensor…
Python Programming
Let’s switch to Python programming lessons and tutorials.
Identical to for visible programming, there are three sections: “Introduction to syntax”, “{Hardware} management”, and an possibility so as to add a brand new course.
The introduction to syntax doesn’t require any extra {hardware}, it simply teached Python fundamentals…
… to extra complicated examples resembling video games that each one run on the laptop computer itself. If we choose one of many classes, the Pi Panel tutorial will present on the precise, and Thonny Python IDE will present on the left with the lesson offering step-by-step directions to write down this system.
The “{Hardware} management” Python classes are precisely the identical as with the Letcode program, however as an alternative of utilizing visible programming, college students will be taught to code Python.
I did flick via the Motor Drive lesson, and it’s principally the identical as for the visible programming lesson with principle, rationalization concerning the modules, a connection diagram, and the principle distinction is that you simply’ll be taught Python programming on the way in which as nicely. By the way in which, you may as well do that within the visible programming lesson, as Letscode will routinely generate the Python code as you drag and drop the blocks.
However I didn’t attempt it intimately, because the CrowTail Began Equipment for Raspberry Pi comes with a printed person information, and I personally choose to be taught that means. However that’s a mistake as I’ll clarify higher, and you must be taught Python with this system inside CrowPi L laptop computer, as an alternative of the e book as it’s outdated.
I first observed the checklist of classes was completely different. However I nonetheless went forward, and put in samples and “drivers” as defined within the e book:
pi@Crowpi–Laptop computer:~ $ git clone https://github.com/Elecrow-RD/RPi-Starter-Equipment |
Let’s go into the examples listing to checklist the samples:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
cd ../RPi–Starter–Equipment/examples/ pi@Crowpi–Laptop computer:~/RPi–Starter–Equipment/examples $ ls –l complete 80 –rw–r—r— 1 pi pi 745 Aug 10 14:31 10_plant_doctor.py –rw–r—r— 1 pi pi 642 Aug 10 14:31 11_dimmer.py –rw–r—r— 1 pi pi 647 Aug 10 14:31 12_speed_fan.py –rw–r—r— 1 pi pi 834 Aug 10 14:31 13_servo_control.py –rw–r—r— 1 pi pi 917 Aug 10 14:31 14_obstacle_alert.py –rw–r—r— 1 pi pi 1588 Aug 10 14:31 15_smart_lantern.py –rw–r—r— 1 pi pi 1015 Aug 10 14:31 16_distance_display.py –rw–r—r— 1 pi pi 1086 Aug 10 14:31 17_weather_station.py –rw–r—r— 1 pi pi 1396 Aug 10 14:31 19_speed_measurement.py –rw–r—r— 1 pi pi 86 Aug 10 14:31 1_hello_world.py –rw–r—r— 1 pi pi 1282 Aug 10 14:31 20_plant_expert.py –rw–r—r— 1 pi pi 1370 Aug 10 14:31 21_remote_door.py –rw–r—r— 1 pi pi 231 Aug 10 14:31 2_blinking_led.py –rw–r—r— 1 pi pi 381 Aug 10 14:31 3_contorl_led.py –rw–r—r— 1 pi pi 427 Aug 10 14:31 4_doorbell.py –rw–r—r— 1 pi pi 674 Aug 10 14:31 5_treasure_chest.py –rw–r—r— 1 pi pi 597 Aug 10 14:31 6_bright_and_dark.py –rw–r—r— 1 pi pi 387 Aug 10 14:31 7_smart_light.py –rw–r—r— 1 pi pi 705 Aug 10 14:31 8_collision_alert.py –rw–r—r— 1 pi pi 591 Aug 10 14:31 9_car_tracking.py |
Good! We’ve bought out 21 samples right here. We will run the good day world pattern:
pi@Crowpi–Laptop computer:~/RPi–Starter–Equipment/examples $ sudo python 1_hello_world.py Hey World |
sudo is definitely elective right here, however we’re informed sudo is required afterward for the GPIO library. It appears just like the system is probably not configured correctly (permissions-wise) if that’s the case… However I can see the pi person is a part of the gpio group, so it is probably not wanted in any respect. We’ll attempt that later…
$ teams pi adm dialout cdrom sudo audio video plugdev video games customers enter netdev lpadmin gpio i2c spi |
Let’s choose one of many classes to attempt it out: Lesson 17 – Climate Station.
We will see the teachings are for the Raspberry Pi SBC as an alternative of the CrowPi L laptop computer per se, however I used the Grove defend for CrowPi L as an alternative of the “base defend for Raspberry Pi”, as I assumed each would have the identical format (one other mistake).
We have now to put in the Adafruit DHT Python module as instructed within the lesson:
$ cd ../drivers/Adafruit_Python_DHT $ sudo python setup.py set up |
now let’s return to the instance listing to run the pattern:
$ cd ../../examples/ $ python 17_weather_station.py Traceback (most current name final): File “17_weather_station.py”, line 6, in <module> import Adafruit_CharLCD as LCD ImportError: No module named Adafruit_CharLCD |
Oops! That’s as a result of I’ve been a naughty boy and jumped on to lesson 17 with out going via the opposite ones beforehand. However we’ll simply want to put in Adadruit Character LCD module:
$ pushd ../drivers/Adafruit_Python_CharLCD/ $ sudo python setup.py set up $ popd |
Now now we will run the pattern, no sudo wanted:
$ python 17_weather_station.py Traceback (most current name final): File “17_weather_station.py”, line 6, in <module> import Adafruit_CharLCD as LCD File “construct/bdist.linux-armv7l/egg/Adafruit_CharLCD/__init__.py”, line 1, in <module> File “construct/bdist.linux-armv7l/egg/Adafruit_CharLCD/Adafruit_CharLCD.py”, line 98, in <module> File “construct/bdist.linux-armv7l/egg/Adafruit_CharLCD/Adafruit_CharLCD.py”, line 104, in Adafruit_CharLCD File “construct/bdist.linux-armv7l/egg/Adafruit_GPIO/GPIO.py”, line 420, in get_platform_gpio ImportError: No module named Adafruit_BBIO.GPIO |
Adafruit GPIO module shouldn’t be within the checklist of “drivers”:
pi@Crowpi–Laptop computer:~/RPi–Starter–Equipment/drivers $ ls –l complete 12 drwxr–xr–x 7 pi pi 4096 Aug 10 15:00 Adafruit_Python_CharLCD drwxr–xr–x 8 pi pi 4096 Aug 10 14:57 Adafruit_Python_DHT drwxr–xr–x 2 pi pi 4096 Aug 10 14:31 LIRC |
So I attempted to put in it manually:
$ git clone https://github.com/adafruit/Adafruit_Python_GPIO $ cd Adafruit_Python_GPIO/ $ sudo python setup.py set up |
and
pip set up Adafruit–GPIO |
However I nonetheless had no luck… So I contacted the corporate, they usually informed me to attempt with Python3 as an alternative:
$ sudo python3 17_weather_station.py Traceback (most current name final): File “17_weather_station.py”, line 20, in <module> liquid crystal display=LCD.Adafruit_CharLCDBackpack(handle=0x20) File “/usr/native/lib/python3.7/dist-packages/Adafruit_CharLCD-1.1.1-py3.7.egg/Adafruit_CharLCD/Adafruit_CharLCD.py”, line 473, in __init__ File “/usr/native/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/MCP230xx.py”, line 165, in __init__ File “/usr/native/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/MCP230xx.py”, line 50, in __init__ File “/usr/native/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/MCP230xx.py”, line 133, in write_iodir File “/usr/native/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/I2C.py”, line 129, in writeList File “/usr/native/lib/python3.7/dist-packages/Adafruit_PureIO-1.1.9-py3.7.egg/Adafruit_PureIO/smbus.py”, line 368, in write_i2c_block_data OSError: [Errno 121] Distant I/O error |
It went additional however I had one other “Distant I/O error”. Within the follow-up e mail, it was made clear to me the inexperienced e book shouldn’t be used with CrowPi L:
Btw, some persons are usually confused by the Crowpi L programs and the crowtail directions, I have to make it clear right here.
The inexperienced directions is designed for the raspberry pi starter equipment, individuals may be taught raspberry pi by way of the directions although they haven’t any Crowpi L. Moreover, the instruction is simply too outdated to be adopted step-by-step.
You would possibly discover that we sitll have built-in programs within the CrowpiL which has no printed directions, that is one other programs which is designed for CrowPi L it’s completely different from the raspberry pi starter equipment directions.
However I used to be additionally given the answer to the Climate Station tutorial within the inexperienced e book: the connection is completely different for the reason that I2C port for the LCD module is in one other location, and the LED and DHT22 modules should be switched. After that, it labored superb:
For the reason that pi person is a part of the gpio group, we don’t even want to make use of sudo:
$ python 17_weather_station.py |
The show was exhausting to learn initially, however after adjusting the brightness of the potentiometer on the management board on the again of the LCD with a screwdriver, it was superb.
Right here’s the Python code for reference:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# Climate station
import RPi.GPIO as GPIO import time import Adafruit_DHT import Adafruit_CharLCD as LCD
# set GPIO board mode GPIO.setmode(GPIO.BCM)
sensor_type = 11 sensor_pin = 5 #temperature&humudity sensor pin led_pin = 6
GPIO.setup(led_pin, GPIO.OUT) # outline LCD column and row measurement for 16×2 LCD lcd_columns=16 lcd_rows=2 # initialize the LCD utilizing the pins liquid crystal display=LCD.Adafruit_CharLCDBackpack(handle=0x20) # flip backlight on liquid crystal display.set_backlight(0)
attempt: whereas True: humidity, temperature = Adafruit_DHT.read_retry(sensor_type, sensor_pin) if humidity is not None and temperature is not None: liquid crystal display.message(“Temp={0:0.1f}nHumidity={1:0.1f}%”.format(temperature, humidity))
if temperature < 10 or temperature > 35: GPIO.output(led_pin, GPIO.HIGH) else: GPIO.output(led_pin, GPIO.LOW) time.sleep(1) liquid crystal display.clear() besides KeyboardInterrupt: liquid crystal display.clear() liquid crystal display.set_backlight(1) GPIO.cleanup() |
So simply don’t give the inexperienced e book to your youngsters for them to be taught Python and electronics with the CrowPi L laptop computer, will probably be irritating and doubtlessly discourage them. But when they’ve accomplished “{Hardware} Management” Python programming classes and located all of it “means too simple”, then contemplate giving them the inexperienced e book with cursed directions for one thing slightly more difficult 🙂
Misc remarks and conclusion
The CrowPi L picture comes with an apt mirror primarily based in China, and it may be fairly gradual outdoors of mainland China:
$ sudo apt replace Get:1 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster InRelease [15.0 kB] Get:2 http://mirrors.tuna.tsinghua.edu.cn/raspberrypi buster InRelease [32.6 kB] Get:3 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster/non-free Sources [139 kB] Get:4 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster/predominant Sources [11.4 MB] Get:4 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster/predominant Sources [11.4 MB] 27% [4 Sources 3074 kB/11.4 MB 27%]^C |
So you could contemplate modifying /and many others/apt/sources.checklist or install apt-mirror-updater and select one of Raspberry Pi OS/Raspbian mirrors near your nation for quicker replace:
$ sudo pip3 set up apt–mirror–updater $ apt–mirror–updater –c http://mirror.kku.ac.th/raspbian/raspbian/ |
The laptop computer comes with a touchpad with mouse buttons on the highest proper of the keyboard, and I assumed it might be actually awkward to make use of, however I used to be pleasantly shocked and it’s truly not too dangerous. That’s except that you must click on and use the touchpad on the similar, for instance to maneuver a window, during which case it’s near unusable.
Two extra nagging points. In the event you shut the lid, the fan is not going to cease and preserve operating. It’s going to solely cease once you flip off the laptop computer. The WiFi connection contained in the laptop computer could also be unreliable (TBC), as when utilizing SSH to entry the laptop computer, I had frequent freezes of a number of seconds the place I couldn’t kind something. So in case you might have connection points, you could wish to change to Ethernet as an alternative.
The CrowPi L can be used as a typical Linux laptop computer, however with my dangerous eyes, an 11.6-inch show is way from splendid. Moreover, whereas the worth proposition as an schooling laptop computer is clearly there, the CrowPi L shouldn’t be the perfect worth if all you wish to do with it’s verify the mail, browse the online, and watch some YouTube movies.
I’d prefer to thank Elecrow for sending the CrowPi L laptop computer, Raspberry Pi 4 (8GB RAM), and Crowtail Starter equipment for overview. The CrowPi L Superior Equipment reviewed right here sells for $518 including shipping (or about $487 with CNXSOFT coupon for a 6% low cost), however in the event you solely want the laptop computer shell, obtainable in white or black, that might be $279 (or ~$262 with the coupon).

Jean-Luc began CNX Software program in 2010 as a part-time endeavor, earlier than quitting his job as a software program engineering supervisor, and beginning to write each day information, and evaluations full time later in 2011.
CrowPi L Review – Part 2: Learn programming and electronics with a Raspberry Pi 4 laptop