|Product Performed to Expectations:||9|
|Specifications were sufficient to design with:||8|
|Demo Software was of good quality:||9|
|Product was easy to use:||10|
|Support materials were available:||10|
|The price to performance ratio was good:||9|
|TotalScore:||55 / 60|
Pocket beagle is a tiny 35mm x 56mm x 5mm mint-tin sized computer. It's the tiniest relative of the famous BeagleBone series.
Pocket beagle is based on octavo systems OSD3358 1GHz ARM Cortex A8 system in package (SIP).
The board additionally features:
The package comes in a plastic cover with README documents.
|Based on AM3358/9 SOC||Based on OSD3358-SM SIP|
|1000MHz ARM A8||1000MHz ARM A8|
|On board 4GB eMMC||No Onboard flash memory|
|On board Ethernet||No on board ethernet|
1 x Standard A host port (direct).1x mini B device port (direct)
1 x Micro USB Type B
|512MB DDR3||512MB DDR3|
|86.40 mm × 53.3 mm|
Dimensions : 56mm x 35mm x 5mm
power source : Mini USB or 2.1 mm x 5.5 mm 5 V jack
|power source : micro USB port or I/O pins|
4xUART, 8× PWM, LCD, GPMC, MMC1, 2× SPI, 2× I2C, A/D Converter, 2× CAN Bus, 4 Timers
|3xUART, 4× PWM, 2× SPI, 2× I2C, 2xCAN Bus|
|Mini HDMI port||No HDMI port available|
Pocket beagle doesn't have on board eMMC flash like in Beaglebone black . So we need to load the Operating System (OS) through MircroSD card.
MicroSD card is not supplied with the package. I have used 16GB Class10 sandisk microSD card for loading OS.
Just before we start loading the board with the latest operating system we need to do some soldering work.
Pocket beagle comes with 36 x 2 pin connectors for accessing the GPIOs. But the package comes with no burg strips.
So I have decided to mount 2 16x2 male burg strips to the board. This required some soldering skills.
After the soldering, Board will look like this.
Get the operating system from the website.
Download the IOT version of the Operating System. IOT Version doesn't come with the GUI (Xwindow). Since pocket beagle doesn't have inbuilt way of rendering graphics LXQT version is a bit overkill for the processor.
Extract the .XZ file
Once you have extracted the latest operating system, There are two easy ways of loading the OS
1) Using a thirdparty tool like balena Etcher
2) Use dd command in Linux
This will take a couple of minutes to load the OS.
Once the uSD card is ready, Plug it into the uSD card slot of the PocketBeagle. Power the board using a micro USB cable from a laptop.
Once the board boots up like shown above. You can try to connect to the device via a terminal or a webbased IDE.
In this case I tried Cloud9 IDE hosted by the pocketbeagle. To connect to the IDE you have to open your web browser and type http://192.168.7.2/
Then you will be greeted with this landing page.
Here in this IDE you will get the flie browser, A terminal and other option to write your code, Compile and run.
This is a really handy tool when it comes to the development process.
Pocket beagle has a micro USB port both powering and connecting to the device. It doesn't comes with any other connectivity options. But interestingly the board has a USB host port.
This is available through GPIO pins. So I made a small USB extension solution for PocketBeagle.
This burg strip endings will be connected to the board. But the pocketbeagle doesn't come with burg strip male parts soldered to the board.
I made the necessary soldering works.
Now the board is ready to get attached to my USB extension solution. Before that I need to figure out that which are the USB pins (VBUS, GND, DP, DN) on the board.
VBUS and VIN are shorted ID and GND are shorted.
My setup looks like this.
Reboot the system to get the effect of the changes we made. Now I plugged in my Serial-to-USB converter to test the setup.
It got detected and I confirmed it using lsusb command
Now its the time to try the USB solution for WiFi and ethernet.
Connected my USB to ethernet converter to my setup.
As expected it got detected in on the lsusb.
Linux's dmesg output.
More tests has to be done to analyse the performance of the usb system. Since my setup is not really great for tesing fullfledged , high speed USB devices this is only for review and feasibilty check porpose.
Connected Wifi Adapter
lsusb command output:
Now lets search for all the access points around.
I used iwlist wlan0 scan command for that. And it worked! Here is the output:
I have a small usb based power consumption meter. I used that to test the power consumption of the pocketbeagle.
Upon boot, Pocket beagle uses around 140 - 230 mA of current @ 5Volts.
Once the booting process is completely over device goes into a 5mA sleep if the device is kept idle.
Pocket beagle features the same SoC as of BeagleBone black(TI's OSD3358 ) and Both offers 512MB of RAM. So in terms of CPU performance both packet beagle and beagle bone black is almost identical. The main competitors of Beagleboards will be RaspberryPis, In terms of CPU performance RaspberryPis outperforms BeagleBoards. The latest model of RaspberryPi 4 is far ahead of beagle boards. But the real advantage of Beagle Boards comes when we talk about the opensource nature of hardware and software. All the design docs and related technical documents are available to public. This makes it the best suitable single board computer for DIY enthusiasts and embedded developers. Coming to Pocket Beagle-Since the major design concentration is on the size of the board there are very few connectivity options available (Like USB host ports, ethernet ports, Memory card slots etc are missing compared to Beaglebone black). Pocket Beagle features 72 pin header for connectivity. This includes USB, I2C channels, SPI channels, UART channels and CAN bus channels.
Accessing these ports will let us design really interesting projects. Since the Operating system is based on Linux kernel, Accessing this communication ports are almost same as any other SBC's.
Some really helpful pages are given below.
Derek Molloy's blog is one of the most visited and most useful for BeagleBoard developers.
One interesting feature of pocketBeagle or Beaglebone is the availability of Programmable Real Time units (PRU). Linux systems are not designed to meet realtime embedded system goals. Linux's kernel will never give you a guarantee about the context switching time intervals. This will have a huge effect on dealing interrupt based high speed events. To address this issue OSD3358 comes with two 200-MHz PRUs. PRUs share the same memory space of the linux kernel and you can access the peripherals through this independently running PRUs. This makes the pocketBeagle really useful for realtime system developers .
I will be covering the whole PRU topic on my next article.
These are very useful links:
Considering the size of the board, PocketBeagle offers a lot for developers. But it would have been great if It can come with an inbuilt Wirelesss, Since the major potential of this board will be on the IoT and signal processing on edge. I wish if pocketBeagle features BLE (Bluetooth Low Energy) option it would have been ideal for IoT. There are a lot of Wifi+BLE combo solutions available ( RaspberryPi is using of of those). So in the next iteration of the design if designers of Pocket Beagle can add a combo Wifi+ BLE it would be awesome. Apart from these suggestions I am pretty much happy with the product in terms of ease of use and performance.