Want to quickly prototype with a complete Linux computer or build a circuit sculpture with higher performance than you get with a microcontroller?
You can do it without needing a printed circuit board. "Dead bug" it!
With the OSD335x C-SiP System in Package device from Octavo Systems, you'll just need a few wires, resistors, your peripherals and a USB connector. That's it! Inside the SiP is a 1GHz powerful Texas Instruments Sitara AM335x CortexA8 CPU along with memory, power circuitry, oscillator and over 100 passives. Basically it's everything needed to boot up an OS such as Linux right from the BGA device. A Linux computer in a chip!
Building a Linux computer with discreet components would be nearly impossible. However, System-in-Package devices by their very nature will reduce a bill of materials (BOM) from over one hundred discreet devices to only one BGA easy to layout packaged device. This saves enormous amounts of layout time and effort purely from a component placement and routing point of view in a regular design and makes the impossible possible with building the dead bug design.
All signal pins to the outer three rows and columns, with the 1.27mm (50 mil) ball pitch, it allows all signals to be escaped in one PCB layer with very standard 0.15mm (6 mil) trace / space routing rules. Then we designed the power inputs and outputs to be easy to use by grouping the balls together such that it is easy to connect them together. Similarly all control signals between the processor and power management IC (PMIC) are pinned out next to each other for easy connections.
Download the Schematics and Layout Files for our Project HERE.
Get our your best soldering iron. You'll need to remove the balls where the jumper connections are made. Also, while not required, for this project, you can remove some additional the balls from the OSD335x C-SiP to create space for soldering other connections. We've made the design for the minimal Linux computer very basic to make this a fun getting started project. Refer to the schematic and layout documents to guide you. Remove balls as needed with your soldering iron and solder wick.
Step Three - Make Jumper ConnectionsOnce some of the balls are removed, there is room to do all of the jumper connections. There are 20 in this design. The balls are adjacent to each other therefore you can use a 0 ohm 0402 resistor to place between each and easily bridge each jumper. All of the jumper connections have adjacent solder balls, so you can easily place them with your tweezers and soldering iron
For this dead bug design we'll add a microUSB peripheral connector and some LEDs helpful to visually see that the processor is booted up and doing something. We need a couple of boot resistors to set the boot mode. This selects the in-SiP non volatile storage that will contain your linux image.
Use small blue wire to connect up the other components. A good clamp or "helping hand" set up will help hold your project in place.
Here's a few cool pictures of Mike showing an example of his Super Soldering Skills. (We didn't pressure him with Cathy filming the entire process.)
For mechanical stability you can put a small dab of epoxy on the top side of the C-SiP and mount it to a small piece of plexiglass.
The eMMC on the OSD335x C-SiP is blank when it comes to you. Now you are ready to load the Linux image. Connect your Dead Bug via the USB connector to your host computer. A single USB cable to both power the embedded design and transfer all the necessary information.
You can load any OS, for this project we'll choose Linux. So to load the Linux image we used for this project go here.
https://octavosystems.com/app_notes/programming-emmc-with-usb/
Once you flash the image, you can open cloud 9 and use this python code to flash the LED's.
Our code is initially programmed to follow a Cylon pattern (ref Battlestar Galactica)
Of Course with the performance of a Linux computer at your fingertips, you'll want to do more than flash LED's. Since full access to every pin on the Texas Instruments AM335x is available via the pins on the OSD335x C-SiP.
We hope other members of the community will get started with their dead bug implementations. We look forward to hearing about your design!
Comments