CrowPI2: Reviewing the Famous all-in-one STEM Solution

5
(1)

Raspberry PI computer boards are famous for learning to code and small electronics projects. By using the beards as is, you will need cabling and buying the needed sensors. CrowPI2 gives a different way of thinking about Raspberry PI with an innovative laboratory layout

The CrowPi2 is a device which appears, at a first look, as classic netbooks, that were small and very cheap notebooks spreading the computer market in 2010.

crowpi2-01-opened

It has small dimensions (291 mm *190 mm * 46mm). It appears a more high compared to the ultra-thin portable computers produced in recent times, but its height is still manageable and has a specific reason: removing the wireless keyboard from its housing you will discover a complete and compact electronics lab. For this reason, the CrowPi2 is a unique solution for learning STEM education.

crowpi2-02-keyboard-removed

The brain of CrowPi2 is a Raspberry PI. You can install several RPI boards (compatible with Raspberry Pi3B+, 3B, 4), so being able to use all the OSes supported by our beloved board. By default, the CrowPi2 comes with a microSD card including an independent OS which makes it easier to learn Python, Scratch, AI, and Minecraft programming. Advanced and Deluxe kits add a second microSD card with a gaming operating system, transforming the CrowPI2 into a retro gaming station.

When you go to the official CrowPI2 store, you will be able to configure both the kit (Basic, Advanced and Delux), the presence or not of a Raspberry PI board, and the presence of a power bank (to make your CrowPi2 usable even without the power cable), the cover colour (silver or space grey), the keyboard layout and the power plug.

The CrowPI2 is an Elecrow product. Elecrow is a PCB (Printed Circuit Board) industry which adds to its industrial core services a special focus on products related to STEM education and smart home.

The CrowPI2 kit I’m going to show you is the Deluxe Kit with Raspberry PI 4 and is the device from where I’m writing this article.

Follow peppe8o posts on -> Twitter

Where to Buy the CrowPi2

You can buy the CrowPI2 from its official store. With the following link, you will get a 5% discount coupon: crowpi discount peppe8o.

Reviewing the CrowPI2

Datasheet and Available Kits

The following table resumes the CrowPi2 datasheet:

Dimensions291 mm x 190 mm x 46 mm
Weight1.3 kg
Screen11.6-inch 1920*1080 IPS screen
Camera2.0MP camera with microphone
Power supplyDC12V/ USB 5V power supply
Power portMicro USB/DC
Keyboard2.4G wireless
Mouse2.4G wireless
Audio outputStereo speaker
Volume adjustmentSupport
Screen brightness adjustmentSupport
Induction screen functionSupport
Audio port3.5mm headphone jack
CompatibilityCompatible with Raspberry Pi3B+, 3B, 4
other functionstorage box [power bank box]
Supporting operation systemRaspbian, Ubuntu, CentOS, Windows lOT, KALI, Pidora,
ArchLinux, FreeBSD, Kodi, OpenWrt, RISC OS,RetroPie,
LAKKA, Recalbox, LibreELEC,OSMC
ColorSilver, Space Gray
CertificationCE.FCC,RoHS

As said, there are 3 main kits including the CrowPI2: Basic, Advanced and Deluxe.

None of the kits includes by default the Raspberry PI and/or a Power bank (all the kits include a wired power supply). You must specify it when buying into the selection fields.

The Basic kit includes:

  • CrowPi2 (with its keyboard and mouse)
  • RFID card + tag
  • 12v power supply
  • Crowtail-9G servo
  • Stepper motor
  • IR receiver
  • IR remote controller
  • Crowtail- Moisture sensor
  • DC motor with mini fan
  • Micro HDMI connector
  • Standard HDMI connector
  • Screwdriver
  • Micro USB Cable
  • 32GB TF card with Customized system
  • TF card reader
  • Components pack
  • User manual

The Advanced kit brings a 128GB TF card with a customized system instead of the 32GB and adds to the Basic kit the following:

  • 32GB TF card with RetroPie system
  • 2 x Game controller
  • 10 x NFC card
  • 10 x Minecraft cube modelling
  • Python programming book
  • Scratch programming book

Finally, the Deluxe kit adds to Advanced Kit the following:

  • Crowtail-llC HUB
  • Crowtail-PULSE sensor
  • MPU6050 Accelerometer & Gyro 2.0
  • Crowtail- IR Reflective Sensor
  • Crowtail- Gas Sensor 2.0(MQ2)
  • Storage bag

Packaging

The CrowPI2 arrives in a package also containing the external components (like the mouse, game controllers and the external devices/sensors). Only the storage bag (available with the Deluxe kit) comes outside of the package:

crowpi2-03-storage-bag

All the parts are well ordered in the packaging and you can reuse it to ordinately store your components when they are not used:

crowpi2-04-packaging

The CrowPi2 case

At the touch, the CrowPI2 case seems solid. It isn’t of aluminium, but the plastic is well produced and robust. Surely it is made for kids and it must resist the stress that kids may apply to devices in general.

It isn’t so light as the modern notebooks (it’s 1.340 g with the Raspberry PI 4 Model B installed), but you can manage it easily with one hand.

When it is closed, it appears as a common mini laptop:

crowpi2-06-case-closed

On the left side, USB ports of the installed Raspberry PI and its Ethernet port are accessible to easily plug your USB devices or your LAN cable to the CrowPi2:

crowpi2-07-case-left

On the right side, you will find in order, as shown in the following picture: headphones jack, volume adjustment buttons, power button, connector for the included power supply and a micro USB port that you can use with a power bank to use your CrowPi2 also out of home:

crowpi2-08-case-right

IMPORTANT NOTE: the Power Supply and USB power bank must NEVER be used together in order to avoid damaging the CrowPi2!

On the backside of CrowPi2, you will find a push-pull drawer useful to store electronics sensors:

crowpi2-09-case-drawer

This drawer can be used also to store a thin power bank with sizes not higher than 145 x 70 x 8 mm (or 5.787 x 3.071 x 0.374 inches). There is a hole in the front of the tray for the power cord and a micro USB port for the power bank to plug into the power port. Because of these sizes, it’s really hard to find a power bank with enough autonomy that fits the drawer on the market.

In the lower part of the case, we’ll find the Raspberry PI installation by easily removing the related cover.

The Raspberry PI computer board can be installed with 3 screws (a screwdriver is also provided with the kits) and connecting the cables as referred to in the CrowPi2 user manual. This is a really intelligent positioning as it allows changing the microSD card without the need to remove the whole RPI from its housing. In this way you can have different OSes installed on different microSD cards and you will be able to switch by changing the storage slot in a few moves.

crowpi2-11-case-access-raspberry-pi-cover

The Software Included

As already said, at the hearth of CrowPi2 there is a Raspberry PI. For this reason, you can use whatever OS you like, from these compatible with RPI computer boards (like the official Raspberry PI OS Desktop or Raspberry PI OS Lite, check Raspberry PI OS Lite vs Desktop tutorial for differences).

But CrowPi2 also brings within the package a micro SD card including a custom version of Raspberry PI OS Desktop. This OS has pre-installed a lot of useful applications to start lear programming from zero.

NOTE: If you want to revert to factory defaults the custom OS or if you want to have another copy to a new microSD card, you can download this software from crowpi blog.

A special place in the installed software goes to the CrowPI application. This can be found in main Menu – Education – Crowpi2 as in the following picture:

crowpi2-11-menu-cropisw

By launching it, you will enter into a full learning environment created for low skilled people in order to move the very first steps in programming:

crowpi2-12-cropisw-home

The AI Learning Tutorials

Artificial Intelligence is a computer technology trend of our days. Tons of applications use AI for a lot of tasks, the main being face image recognition. Crowpi2 comes with 2 AI lessons: face and speech recognition.

First of all, please connect the camera USB cable to one of your Raspberry PI USB ports, as explained in CrowPi2 user manual:

crowpi2-15-connect-usb-camera

Go to CrowPi2 software and selects AI button, then “Face Recognition”. By selecting this tutorial, your screen will split into 2 parts. On the left side, the Thonny Python IDE will open to write your code, while the right part will show the tutorial steps to follow, divided into lessons:

crowpi2-13-ai-face

By opening the single lessons (they should be executed in the order they appear), a detailed guide on what to do is listed in the crowpi2 GUI, while in the left part you will always get the main programming interface:

crowpi2-14-ai-face-lesson-01

A very new user could be confused about where to issue the commands if it hasn’t a clear idea of the difference between terminal commands and python code. Making it clear at the beginning of tutorials would be a great help for low experienced people. For that people, I would say that generally, the commands with a black background on CrowPi2 software are to be issued on terminal, while the code without a background has to be added to python IDE (Thonny for this lesson).

Some of these steps could be simplified/updated. For example, the “Install OpenCV 3” refers to a old guide. The way to correctly install OpenCV 3 is quite simple and is the following terminal command:

sudo apt install python3-opencv

Continuing on the following lesson, you will soon note that the python code listed in the tutorials is not available to copy-paste. This means that you have to write manually every code line. This can trigger getting errors for bad typing and a beginner user may not be so experienced to troubleshoot from Thonny shell what’s happening. For this reason, I suggest you to carefully check the code if any error could arise. In this case, also reading the Thonny shell for the lines where the error comes is helpful in order to highlight the line breaking the code and compare it with the tutorial one.

For the first tutorials, you can also get a copy of the code from my download area. The following is the one required to check that camera and OpenCV 3 are correctly installed and configured.

Download the cam test code with the following link directly in your CrowPi2:

simpleCamTest.py

You can run python code in 2 different ways: from your terminal, you can use the command (where “code.py” is how your python code is saved):

python3 code.py

or visually, opening it from Thonny IDE and using the “Run Current Script” green button.

Please also note that you have to hide the active windows in your CrowPi2 desktop once the Python scripts are running as the start by default in the background. CrowPi software can be closed with the “X” button as it remains active in your CrowPi2 taskbar. The result for this first code will be similar to the following:

crowpi2-16-ai-simple-camera-test

Please note that closing one of the windows that are showing the image stream will not stop the code execution (the closed window will re-open automatically). You have to stop the code (from terminal, with CTRL+C, from Thonny IDE with the “Stop/Restart backend” red button) to get the picture windows closed.

We can now move forward a bit quicker. The face detection lesson explains how to get a general face detected and highlighted with a square. The code is the following:

faceDetection.py

and it is perfectly explained in CrowPi2 software. Here’s another suggestion: our python script has to use pre-trained classifiers that are already included in CrowPi2 OS disk. For these references, it is better to add an absolute path reference instead of a relative path. That means that for beginners the following line:

faceCascade=cv2.CascadeClassifier('/home/pi/Documents/Face_recognition/Cascades/haarcascade_frontalface_default.xml')

is more robust than the following line, which requires running the code inside the “/home/pi/Documents/Face_recognition/” folder:

faceCascade=cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml')

The following picture shows the result:

crowpi2-17-ai-face-detection-test

By continuing with the following tutorials in CrowPi2 software in this section, you will be able to add more features such as adding the detected name below the rectangle and triggering the CrowPi2 LED matrix for feedback based on the detected person.

Using the Sensors

The power of CrowPI2 comes when using the sensors. As said, it’s like a portable laboratory and the lessons explaining how to interface the GPIO peripherals are really well done.

In order to get started with the tutorials explaining how to use sensors both with python and scratch, you have to create an account in CrowPi2 software. This will also allow you to restart from a saved point when using lessons in different sessions.

From CrowPi2 software home, please click the “Learning” button, This will bring you to the login page. The very first time you probably won’t have an account. For this reason, the “Create Account” will be the first step:

crowpi2-18-create-account

You will be asked to fill in just a name and a password, as in the following picture. The “next” button will also allow you to add a secret answer to recover your password if you forget the account one:

crowpi2-19-create-account-info

At the end of account creation, you will get back to CrowPi2 software. But the difference will be the proof that you are now logged in, with your name appearing on top:

crowpi2-20-account-logged

Please click again the “Learning” button. Now you will have 2 learning options: Python and Scratch.

Click the Python one:

crowpi2-21-python-lessons-select

In this course area, you will get the lessons on the left bar, while the main part will show you the board and its parts. Let’s start with the first lesson, “Python3 and GPIO usage”:

crowpi2-22-python-lessons-GPIO-select

During every lesson, you will have 3 main areas.

The part on the right side will give you the explanations of how sensors work and the code to use them. The arrow buttons at the right-bottom part allow you to “navigate” the lesson and move forward/backwards in the instructions.

The left-top area is the code area. Here you will paste or write the code according to the lesson, but you can also change the code according to your preferences. On top of this area, the play/stop buttons will allow you to execute or stop the code added.

When your code includes a print statement, which prints to the IDE shell, the results will be available in the left-bottom part: the Output area.

crowpi2-23-python-lessons-GPIO-area

While executing lesson steps, you can whenever exit from it and go back to the Python course window. It will show your lesson’s progress with a progress bar and a numeric indicator showing how many steps have been executed and the total steps for that lesson:

crowpi2-24-python-lessons-progress

A different way to use the built-in sensors is by keeping in mind that they are physically cabled with the following CrowPi2 internal connection schema (available from https://github.com/Elecrow-RD/CrowPi2):

ModuleGPIO pin (Function name)GPIO pin (BCM mode)GPIO pin (Board mode)
RelayGPIO292140
PIR motion sensorGPIO42316
Sound sensorGPIO52418
IR receiverGPIO282038
ServoGPIO241935
Stepper motorGPIO21, GPIO22, GPIO23, GPIO65, 6, 13, 2529, 31, 33, 22
BuzzerGPIO11812
Vibration motorGPIO22713
Touch sensorGPIO01711
RGB matrixGPIO261232
Ultrasonic sensorGPIO25, GPIO2726, 1637, 36
Tilt sensorGPIO32215
DHT11 sensorGPIO747

Analog & SPI Module:

ModuleAnalog channel
Joystick sensorSPI1;y-axis:0;x-axis:1
Button matrixSPI1;4
RFID-RC522SPI0

I2C Modules:

ModuleI2C address
Segment0x70
LCD display0x21
Light sensor0x5C

The Gaming Side

Advanced and Deluxe kits of CrowPi2 come with 2 game controllers (similar to Super Nintendo ones) and an additional SD card with a gaming OS: RetroPie.

crowpi2-retropie-00

For people not knowing this fantastic distribution, RetroPie is a famous gaming emulator running perfectly on Raspberry PI. Besides the image coming with the CrowPi2 kits, you can also get it both from its official website (see the previous link) or from Raspberry PI Imager. It can emulate several gaming platforms like Atari, Super Nintendo, and so on. Please refer to RetroPie Systems list for the full list. Each platform can run different games, available as “ROMs”.

By default, the OS image of RetroPie comes without any ROM pre-loaded. You will have to find your preferred ROMs on the web and upload it to your RetroPie installation. Please note that some games may be protected by copyrights, so evaluate getting them only when they are not protected and if your country’s laws allow it.

So, connect at least one controller t CrowPi2 and power it on. After a few operations like filesystem expansione (only for the very first boot), your RetroPie installation will detect the gamepad connected:

crowpi2-retropie-01-gamepad-detected

Push (and hold pushed) a random button on your gamepad to move to gamepad configuration.

For each line, you will configure the related button on your gamepad by pressing it. In order to skip some lines, you can hold a button pressed:

crowpi2-retropie-02-gamepad-conf

At the end, the “OK” button will complete the gamepad configuration. A message will warn that you haven’t set a Hotkey Enable button. Basically, it is needed for exiting from games (when running) and you can confirm as game exit will be configured by pressing START+SELECT buttons from gamepad:

crowpi2-retropie-03-hotkey-confirm

Please note that you can repeat the gamepad configuration from RetroPie configuration section whenever you like.

Finally, the audio output configuration will allow you to setup where to get the sound. WIth CrowPi2, you can leave the “Auto” selectio in order to get it from CrowPi2 speakers:

crowpi2-retropie-04-audio-conf

In the next screen, please confirm this choice:

crowpi2-retropie-05-audio-set-auto

From here, you will have a screen where only the “RetroPie Configuration” can be selected. Use this to get to the related page:

crowpi2-retropie-06-configuration

You will be able to navigate the menu with the gamepad direction buttons. You can also enter a menu with the gamepad “A” button and exit with the “B” button.

One of the most common needs is configuring the WiFi connection. For this task, I suggest using the raspi-config -> Networking -> WiFi to set the correct Country or it will be really hard to get the WiFi connection working.

From here you have a working RetroPie, but without any game available. Download at least one ROM into a USB storage (formatted with FAT32). Please note that some ROMs are collected into compressed files (“.zip”, “.rar”, “.7z” or similar). You have to extract them from the compressed file in order to get the games usable. Every gaming platform will have its own file extension: for example, Super Nintendo files will have a “.smc” extension.

Connect the USB storage in your CrowPi2 with RetroPie running, from RetroPie configuration page, and use the File Manager to copy your ROM from the USB storage (usually available at the “/media/USB” path) to your RetroPie into the related platform folder (available at the “/home/pi/RetroPie/roms”).

A RetroPie restart (press the ‘Start’ button and then select ‘Quit’) will be required in order to get the new ROMs available for execution. After this restart, please select the platform where your ROMs are saved and execute them.

crowpi2-retropie-07-rom-running

Again, please remember that you will be able to exit from a game by pressing “Select+Start” from your controller.

My Final Thoughts

I found the CrowPi2 device a fantastic board. I personally think that it must be available in every school in order to get kids approaching for the first time programming and electronics by using a combination of Raspberry PI power and the compact lab that CrowPi2 includes under the keyboard.

I also think that a few improvements can be performed to make it even better. Please find below my personal PROs and CONs:

PROS

  • It’s plenty of built-in sensors in a compact form factor
  • Well done tutorials in Learning mode, explaining how sensors work and how to use them. These tutorials are good for every skill level, from kids to older kids
  • It combines a mini laptop with a learning platform, which makes this device useful for multiple purposes

CONS

  • OS image file is provided instead of packages to be installed in your favourite Debian-based OS. The distro upgrade (“sudo apt upgrade” command) currently breaks the CrowPi2 OS. It would be far better to have a package to install (maybe via a dedicated repository) in order to get the CrowPi2 development team focused on their software instead of following the Raspberry PI OS distribution releases
  • Code is not available to copy-paste in AI lessons (you have to write manually). On the other side, the copy-paste works in “Learning” lessons
  • It’s really hard finding a battery both fitting the related case sizes with enough capacity to power the CrowPi2. Even with a power bank formally compatible with the datasheet specs, the OS runs but it frequently warns about “Under Voltage warning”. This should be fixed in order to make the device really portable.

Next Steps

In the meanwhile, if you want to discover many other projects for your Raspberry PI, you can take a look at peppe8o Raspberry PI tutorials.

How useful was this post?

Click on a star to rate it anonymously!

Average rating 5 / 5. Vote count: 1

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?