Skip navigation
> RoadTest Reviews

Pocket Beagle - Review

Scoring

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
  • RoadTest: Pocket Beagle
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes
  • Comparable Products/Other parts you considered: Raspberry Pi Zero, Raspberry Pi A+, Beagle Bone Black, RaspberryPi 3B+
  • What were the biggest problems encountered?: Pocket beagle doesn't come with a USB host connector and any wireless connectivity so adding simple gadgets will be a challenge. But once I got the USB host out to a connector everything was easy.

  • Detailed Review:

    Introduction

        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).

    Features:

    • 512MB DDR3 RAM
    • 1-GHz ARM Cortex-A8 CPU
    • 2x 200-MHz PRUs
    • ARM Cortex-M3
    • 3D accelerator
    • power/battery management
    • EEPROM

     

    The board additionally features:

    • 72 expansion pin headers with power and battery I/Os, high-speed USB, 8 analog inputs, 44 digital I/Os and numerous digital interface peripherals
    • microUSB host/client and microSD connectors.

     

    The package comes in a plastic cover with README documents.

     

    Comparison with BeagleBone black:

     

    BeagleBone BlackPocketBeagle
    Based on AM3358/9 SOCBased on OSD3358-SM SIP
    1000MHz ARM A81000MHz ARM A8
    On board 4GB eMMCNo Onboard flash memory
    On board EthernetNo on board ethernet

    1 x Standard A host port (direct).

    1x mini B device port (direct)

    1 x Micro USB Type B

    512MB DDR3512MB 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 portNo HDMI port available

     

    Getting started

     

    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.

     

    Setting up the operating system:

     

    Get the operating system from the website.

    https://beagleboard.org/latest-images

    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.

    Booting sequence:

     

    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.

     

    Accessing USB host

    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.

     

    After soldering:

     

    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

     

    Adding wireless and ethernet functionality

     

    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:

     

    dmesg 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:

    Overall Power Consumption of the device:

     

    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.

     

     

     

    Performance :

    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.

    http://exploringbeaglebone.com/chapter8/

    Derek Molloy's blog is one of the most visited and most useful for BeagleBoard developers.

    Beaglebone Black | derekmolloy.ie

    PRU

     

    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:

    https://beagleboard.org/pru

    http://exploringbeaglebone.com/chapter15/

     

     

     

     

    Conclusion:

     

    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.


Comments

Also Enrolling

Enrollment Closes: Nov 29 
Enroll
Enrollment Closes: Nov 18 
Enroll
Enrollment Closes: Dec 11 
Enroll
Enrollment Closes: Dec 12 
Enroll
Enrollment Closes: Nov 18 
Enroll