Category: BeagleBone Black

PocketBone: The Linux Computer that Fits in a Mini-Altoids Tin – Designed in KiCad – Featuring the OSD3358

This article was guest written by Michael Welling, the developer of the KiCad PocketBone Design.  Michael is an Embedded Design Engineer with over 10 years of experience.  He owns an electronic design consulting firm, QWERTY Embedded Design, LLC.  He has an MS in Electrical Engineering, was an instructor at SIUC and a 12-year member of IEEE.  He is also a mentor for Google Summer of Code.


As an embedded systems design engineer, I am always on the lookout for the latest technology. When the Octavo Systems OSD3358 was announced I was very excited to see something mainstream using System-In-Package (SiP) technology.

System-In-Package represents a new way to overcome many design challenges in the highly integrated mixed signal system space.   The OSD3358, in particular, piqued my interest because I had done a few designs using the Texas Instruments Sitara® series System on Chips (SoC), the same one at the core of this Octavo SiP. This urged me to design something around the SiP.  I really wanted to compare the design process of the SiP to that of a typical SoC.

The benefits of having the DDR memory integrated into the package are obvious to anyone that has done work with typical SoCs with external RAM. DDR memory routing and design rules are quite complex and require a substantial amount of work at design time. From trace equalization to differential pair routing, the DDR routing process usually has the engineer rolling up their sleeves.

The integration of the power supplies and passives removes many of the SoC design challenges. Most SoCs require several power supplies that must be enabled in a very specific and timed sequence. Typically, integrated power management ICs (PMIC) are used to meet these requirements but they still require sourcing of passives, including the appropriately sized inductors for the embedded switching regulators.

As a bonus, the SiP even integrates the bypass capacitors that are typically sprinkled all over the opposite side of the PCB from the SoC. This leaves more area on the bottom of the PCB for placement when doing highly space-constrained designs. With all of this built into the SiP, I knew the design process was going to be a breeze.

So when I was approached to do a community reference design with the SiP, I knew it was time to step forward.

The History of PocketBone

TPocketBone Done In Eaglehe PocketBone started out as a small reference design in Eagle CAD developed by Jason Kridner of the foundation. It was meant to provide a starting point for the community to take and create their own designs. The original board broke out USB, MicroSD, and a few LEDs. The form factor was truly impressive, a Beagleboard in a small Altoids tin.

At the Linux Plumbers Conference, the design was brought to my attention after I expressed interest in doing a design with the Octavo SiP to Drew Fustini. Drew had recently become a board member for and said that they were looking to hand off the PocketBone project to someone.

Drew explained the state of the project and the desire to convert the project from Eagle to KiCAD to make the design more accessible to the community. We discussed documenting the design process and the possibility of doing home assembly of the units. Furthermore, the final assembly would be recorded and posted as a reference for aspiring hardware hackers.

Needless to say, I took the challenge and started work soon after returning home from the conference.

The Schematics

The schematic was translated rather quickly from Jason’s design. One thing that accelerated the translation was the existing KiCAD component symbol and footprint provided from a library by Alex Hiam, a fellow GSoC mentor.

While pulling the schematic across from Eagle a few errors in the original design were discovered and corrected as necessary. The original design had various issues with the crystals and USB. I also added a 10 pin header which broke out SPI, I2C, and UART0 to add a bit more functionality.

All of the design files were pushed to Github and are publically available at

Once I completed the design it was reviewed by some other community members.  The design was so simple there really wasn’t much to review and I moved onto routing.


For the first pass at routing, I attempted using 2 layers to route the design. Though it was possible to route in 2 layers I wasn’t completely satisfied with my attempt.  First, I had concerns about routing USB traces in 2 layers and not having the proper impedance.  Also, some of the components placements I chose made it difficult to make cases for the PocketBone.

Finally, a request was made that I put all the components on the top side of the board.  I had originally put the MicroSD and expansion header on the bottom.  Moving everything to the top side makes populating the board simpler (and more cost-effective) because it only takes a single pass through the reflow oven.

PocketBone 2 Layer Routing Top Layer
PocketBone 2 Layer Routing – Top Layer

PocketBone 2 Layer Routing Bottom Layer
PocketBone 2 Layer Routing – Bottom Layer

With all of this feedback, I decided to pull up all the routing and completely rework the component placement.  After some shuffling and part swapping, the placement was consolidated to a single side and sent off for approval. As a bonus, the new placement even left enough room for a battery header to be added. Once the component layout was approved, the second pass at routing commenced.

I wanted to route this layout in 2 layers as well. However, it was becoming difficult and I still had concerns about the USB impedance. After a few attempts, I made the executive decision to switch to 4 layers. This calmed my concerns about the USB routing. USB has strict requirements for trace impedance which cannot be easily met with a standard thickness 2 layer PCB.

Switching to 4 layers was not a problem because I was using KiCAD.  Unlike the free version of Eagle CAD, KiCAD has no layer and board size restrictions.

Once the routing was complete, the design was posted for another review.

PocketBone 4 Layer Routing - Top Layer
PocketBone 4 Layer Routing – Top Layer

PocketBone 4 Layer Routing - Bottom Layer
PocketBone 4 Layer Routing – Bottom Layer

PocketBone 4 Layer Routing - Power Layer
PocketBone 4 Layer Routing – Power Layer

PocketBone 4 Layer Routing - Ground Layer
PocketBone 4 Layer Routing – Ground Layer

Somewhere in the middle of the process of routing the board, I created a page to document the design in progress and get more community feedback. is a relatively new forum for aspiring hackers to share projects that they are working on. is hosted by, known for its daily hacker blog started in 2004. The PocketBone page is a good place to find the latest status of the project.

Building The Board

With the routing completed, I started working with Drew Fustini to get the PCB’s from OSH Park, a low-cost batch PCB manufacturer. Drew works at OSH Park and the got me the first PCBs free of charge. In exchange, I created a special edition with the OSH Park logo on it. OSH Park is known for their high-quality purple PCBs and reasonable low volume pricing. While in Portland for the Embedded Linux Conference I had the pleasure of visiting OSH Park to pick up the boards in person.

First PocketBone PCB courtesy of OSH Park
First PocketBone PCB courtesy of OSH Park

The original and OSH Park version of the design were posted publicly to OSH Park’s site for anyone who would like to order the boards and attempt assembly.

Meanwhile, Jason Kridner took initiative and put in a turn-key order of the PCBs assembly with Circuithub. He sent me one so I could finish testing everything out.

PocketBone Assembled - Top Side
PocketBone Assembled – Top Side

PocketBone Assembled - Bottom Side
PocketBone Assembled – Bottom Side
PocketBone Assembled - Cool Side View
PocketBone Assembled – Cool Side View

Board Bring Up

The first prototype assemblies worked without issue! The latest Debian image from supports the PocketBone thanks to the work done by Robert C. Nelson and Jason. Robert, another board member, is the driving force behind the Debian images provided on all of the Beagleboard products.

All that was required was the initial EEPROM programming and the board was ready to go.  Once the EEPROM was programmed I plugged it in and voilà!

PocketBone - It's Alive!
PocketBone – It’s Alive!

That is it.  A Linux PC the size of a Mini-Altoids tin.  All of the board designs are freely shared on the Circuithub site for anyone to order.

What’s Next

In the upcoming weeks, I will be attempting to hand-assemble one of these. Stay tuned for another installment detailing the procedure for home prototype assembly.

I would like to thank Jason, Drew, and Alex for the idea and support along the way.

New OSD3358 Development Platforms from GHI Electronics


It has been a busy couple of weeks around here lately with a lot of exciting news.  First we had the announcement of the BeagleBone® Black Wireless which features the OSD3358-512M-BAS instead of the discrete TI AM3358.  Then we went to World Maker Faire at the New York Hall of Science.  Now we have a couple more announcements.

We are happy to let everybody know that GHI Electronics has released two development platforms for the OSD3358.  Both boards utilize the OSD3358-512M-BAS which integrates the TI Sitara™ AM3358 ARM® Cortex® A8 processor running at 1GHz, 512MB of DDR3, 2 power supplies, and passives into a single IC package.  The boards are available to order today from the GHI Electronics website.  Their status is listed as preview.  This means there are some things that haven’t been completely tested yet (all of which are outlined).  It also means there could be some minor changes when the production versions are released.

The GHI OSD3358 BeagleBone® Dev Board

GHI OSD3358 Development BoardThe first platform is the GHI OSD3358 BeagleBone® Dev Board.  This is a full featured development board that includes a capacitive touch screen display and features popular industrial interfaces like RS232 and CAN.  It also has a single 10/100 Mbit Ethernet, USB Host, and USB Client ports. For nonvolatile memory, the board has 4GB EMMC and a SD Card Slot for expansion.  The GHI OSD3358 BeagleBone® Dev Board also boasts an expansion header that allows access to the ADC channels and the remaining GPIOs of the OSD3358 System-In-Package.

With all of the features and connection options, the GHI OSD3358 BeagleBone® Dev Board is the best way to explore the full capabilities of the OSD3358.


The GHI OSD33558 BeagleBone® TH Module

GHI OSD3358 TH ModuleThe next platform is the GHI OSD3358 BeagleBone® TH Module.  This is a bare bones system that allows you to easily start integrating the OSD3358 into your designs.  It adds 4GB of EMMC, a MicoSD slot, and USB to the OSD3358 System-In-Package.  It also brings the GPIO, Analog, LCD, and Ethernet pins to a 100mil header footprint making it extremely easy to connect your custom circuitry.

This board is designed to be the next step after the Dev Board.  It provides a natural progression to integrating the OSD3358 into your system.  It has just what you need to boot Linux and start controlling your custom circuitry.

GHI Electronics

We are really excited to release these boards to the community.  We have been working with GHI Electronics for over a year on them to ensure the best possible experience.  GHI’s vision and customer knowledge combined with their in-house, US based, hardware design, software services, and manufacturing allowed us to ensure the best possible quality.  We are proud GHI Electronics is part of our partner network and look forward to working with them to continue supporting the needs of our customers.

BeagleBoard Compatible

beaglecomp_200pxAs the names might suggest, both development platforms are BeagleBoard Compatible, just like the OSD3358 itself.  This means both boards are capable of running the well supported Linux distributions provided by®.  By leveraging the BeagleBoard community and software you can get Linux running in matter of minutes.

Also since the OSD3358 and the development platforms are all BeagleBoard Compatible you can rest assured whatever you build on the platforms will perform the same when you go to an OSD3358 only design.



We hope these platforms will provide designers an easy way to start developing around the OSD3358 System-In-Package.  As you start designing please give us your feedback on the platforms.  We really want to continue to improve the experience.  Let us know what you think here.

The BeagleBone® Black Wireless and BeagleBoard Compatibility


Today is a very exciting day!  After months of hard work, we are finally ready to make two big announcements.  First, is the release of the BeagleBone® Black Wireless, which features the Octavo OSD3358-512M-BAS System-In-Package.  Second, the OSD3358 is now officially BeagleBoard Compatible!  These developments strengthen our relationship with and make the OSD335x family of devices even easier to use.

BeagleBone™ Black Wireless

We are proud to be a part of BeagleBone® Black Wireless!  It builds on the success of the very popular BeagleBone® Black with two exciting changes.  First, the design was greatly simplified by replacing over 150 discrete components with the OSD3358-512M-BAS.  BeagleBone Black Wireless Featuring the OSD3358Additionaly, the Ethernet peripheral has been replaced with the WiLink8 WL1835 module from Texas Instruments, providing both 802.11 b/g/n and Bluetooth V4.1.  BeagleBone® Black Wireless is completely compatible with all standard BeagleBone® Black capes.  Finally, like everything in the BeagleBoard family, BeagleBone® Black wireless is completely open source!

BeagleBone® Black wireless now offers developers a low cost evaluation platform for the Octavo OSD335x device.  They can use it to start prototyping on a Linux system in a matter of minutes.  Then, once ready, designers can quickly go from a prototype to a custom board by leveraging the OSD3358 and®’s active community, open-source hardware, and software.

The OSD3358 becoming an integral part®’s newest board is a huge honor for us.  We have been collaborating with® since the beginning of the OSD335x.  This is huge validation that we are on the right track, and we are excited to continue to work with® on future products.

OSD3358 is Officially BeagleBoard Compatible

This one is really important if you have a design built on BeagleBone® and want to create your own custom board.  By integrating the processor, DDR3, and power supplies from the BeagleBone® Black into a single device, the OSD3358 already simplified the hardware design required for a custom embedded Linux system.  beaglecomp_200pxMaking it an ideal starting point for any new design.

Now that the OSD3358 is officially BeagleBoard Compatible you have the confidence that the software you developed on BeagleBone® will perform the way you expect when you transition to the OSD3358.  It also means you will be able to get support from the large and active BeagleBoard community that you are already familiar with.

The BeagleBoard Compatible OSD3358 is now the easiest way to create your own BeagleBone® based embedded Linux system.

We are very excited about these two developments.  We look forward to our growing partnership with  Together we are striving to bring the simplicity of microcontrollers to the world of embedded Linux.