Android Lollipop 5.1.1 built from scratch

Its that time of year again.  Another fresh build straight off the VM machine.  Check it:

AOSP Lollipop 5.1.1 screengrab

AOSP Lollipop 5.1.1 screengrab

Posted in Android AOSP | Tagged | Leave a comment

RGB LED Controller and Node: Part 2 – Electronic Parts and PCB Hardware

Here is part 2 where I show off the parts and PCB for the RGB LED Project:

Here are some additional pictures:

I designed the PCB (printed circuit board) using Eagle CAD. I don’t own a reflow oven so its all hand soldiered using through hole parts.

The controller and node make use of the Atmel’s ATmega328p for their microprocessors. Both are running at 8 mHz. I added space on the PCB for a crystal but the software runs fine at 8 mHz. (Shrug) The Controller and Node communicate with each other using Digi International XBee modules. The ATmega328p and XBees are powered at 3.3 volts.   Power is provided by either a nine volt battery or an external power supply through the DC barrel jack.

I program the nodes using an AVR Dragon. This is the best tool around for AVRs. It supports serial/parallel/high voltage programming.  Its been a lifesaver.  I’ve screwed up  the fuse settings in development and with some quick wiring the AVR Dragon can do high voltage programming and recover the chip. Best investment EVER! (Laugh)

The parts are all through hole, I order them mostly through Digikey. There’s an art to picking parts. I don’t know if I’ve mastered it yet. (Laugh) I order 10 of these or 20 of those and I get the oddest shaped packages in the mail. Most of these parts were meant to be fed into pick and place machines so they come in “tube” packaging and they have to put it in a box  that wont fold, spindle or mutilate the contents.  Its interesting to see what shape box I’ll get in the mail.

I hope you enjoyed this video. This is part 2 in a series where I will talk about the RGB LED Controller and Node Project.

Posted in PCB Awesome, RGB LED Controller and Node V1 | Leave a comment

RGB LED Controller and Node: Part 1 – Hardware and Software Demo

Here is a project I’ve been working on for a while. It is a RGB LED Controller and Node. Here is a short demo of the finished product:

This was a challenging project to put together.  The goal of this product is to adjust the color of a RGB LED remotely using a controller.  As you can see from the video I believe I’ve succeeded.  This is the first video in a series.  I will go through the software, hardware and enclosure aspects of this product in addition I will discuss what went right and what went wrong and future plans.  I hope you will watch and enjoy the videos.

Posted in PCB Awesome, RGB LED Controller and Node V1 | Leave a comment

Android Lollipop 5.0 built from scratch

My Nexus 5 died. (Bad phone. BAD!) And its time to rebuild the Android baseline from scratch anyway so here it is. Lollipop 5.0 from scratch. Flashed on my backup Nexus 4.

Android Lillipop "About Screen" screenshot

Android Lillipop “About Screen” screenshot

Nothing like a fresh rebuild with the latest and a successful flash. (Cracks knuckles) Nice!

Posted in Android AOSP | Leave a comment

Android Kit Kat 4.4.2 built from scratch

I develop on a Mac and I recently did an update to my Ubuntu Virtual Machine and … of course it hanged on reboot. (sigh) So, nuked it, reinstalled Ubuntu 12.04, install the latest patches, install the android toolchain etc etc. Downloaded the Kit Kat android-sdk-4.4.2_r1 branch, install the Nexus 4 vendor binaries, build and behold, success!

Android Kit Kat 4.4.2 built from scratch

Android Kit Kat 4.4.2 built from scratch

Posted in Android AOSP | Leave a comment

XBee and Sensor Printed Circuit Board

After finishing the Building Wireless Sensor Networks book, I have to look at the output of the circuits and realize that you cant deploy a solder-less breadboard. (Laugh) It doesn’t look very professional to ship someone a rats nest of wiring. So I bought a copy of Eagle CAD PCB Design Software and created a printed circuit board(PCB). Check it out:

Uploaded this design to OSH Park PCB Manufacturer. As you can see from the pictures, they use a distinctive purple solder mask. At about $5 a square inch, three copies of this board cost ~$45 dollars and about two weeks to get the boards back.

There are four PCB’s on this one board. Three temperature sensor PCB’s and one main PCB holding a 3.3V Voltage Regulator and an XBee. On the main PCB I pulled out the RSSI and ON pins through LED’s that can be enabled by a jumper. Pulled out the RX/TX and CTS/RTS wires for future expansion. And provided VCC and 3.3V pins for testing and for powering the board if needed without using a wall plug.

My plan is to have this one XBee board read three temperature sensors.  This will replace the three XBee boards each reading a single temperature sensor that I currently have. I’m rewriting the BWSN Chapter 8 “More to Love” Processing sketch to read these three analog values and upload to Xively.

So what went right:

* (MAJOR) Wrestled with Eagle CAD to create my first PCB.

* (MINOR) Ordered the correct matching Molex male/female and crimps to have a polarized connectors for the voltage and data pins from the XBee board to the Temperature sensor. You may not think this is important but having a connector that only allows a certain orientation to be plugged in saves time and effort in troubleshooting.

What went wrong:

* (MAJOR ISSUE) Used the wrong Voltage regulator part in Eagle CAD. The one I originally used on this board was center grounded:

Pin 1(VOUT) Pin 2(GND) Pin 3(VIN)

But the LD1117V33 voltage regulator in To-220 package I’m using is Pin 1 grounded:

Pin 1(GND) Pin 2(VOUT) Pin 3(VIN)

Dang. So a small hardware mod when connecting this to the board and its all fixed! But it’s kind of frustrating to solder the part onto the board, test and find that you aren’t getting 3.3v out.

Overlooked Label* (MINOR) Forgot to add (Plus)+ and (Gnd)- text on the PCB silkscren pins for the VCC and 3.3V taps I placed on the board.

Crowded Text* (MINOR) Need to move the 3.3V-GND-DATA labels on the PCB silkscreen out from the pins so that the Molex connector doesn’t completely obscure the text.

Posted in BWSN, PCB Awesome | Leave a comment

Android Jelly Bean 4.3 built from scratch

Created a new Ubuntu 12.04 virtual machine last night, reinstalled the android tool chain. Downloaded and built android-4.3_r1.1 for my Galaxy Nexus test phone. Flashed without any issues. Check it:

android-4.3_r1.1 Info Screen

android-4.3_r1.1 Info Screen

The hardest part was figuring out how to get the VMWare tools to compile and install on Ubuntu. (Shrug)

EDIT: Wrongly identified this as ICS (Ice Cream Sandwich) but the Android 4.3 branch is code named Jelly Bean. Changed the title to correct this error.

Posted in Android AOSP | Leave a comment