Category Archives: Projects

IMG_2609_small

Xeno-GC Clone Mini

Xeno-GC Clone Mini

Since I wasn’t satisfied with how I laid out it’s big bother, I decided to redo the board, the Xeno-GC Clone Mini is the end result. It’s about the size of a quarter dollar and twice as sexy. Check out the images above and see for yourself.

Make your own!

The mini model, like it’s big brother, uses 0805 SMD components. No rework station or solder paste required; Just a standard soldering iron and some whiskey (Ok, the whiskey is optional).

Parts

  • 2x 100nF 0805 ceramic capacitors.
  • 2x 1kΩ 0805 resistors.
  • 2x 330Ω 0805 resistors.
  • 1x 100Ω 0805 resistor.
  • 1x Red 0805 LED.
  • 1x Green 0805 LED.
  • 1x Atmel AVR ATmega8L 32-pin TQFP.

Order

You can order your boards directly from (OSH Park)[http://oshpark.com/shared_projects/XDNLoePV]. If you have any questions, feel free to email me. Now go get your homebrew on!

IMG_2559-small

Make your own Raspberry Pi – PSU [R3]

Here’s the Raspberry Pi R3 PCB TH (Through-Hole) model fully populated.

The R3 board is shared on OSH Park which means you can order your own boards which you can assemble yourself!

Components

Here’s the current layout and component values.

rpi-psu-r3 All parts are fairly common, specially the passives. Here are a few suppliers for the parts you may have a hard time finding.

ATTiny85

SparkFun: COM-09378

Mouser: 556-ATTINY85-20PU

Programming

You will need a way to program the ATTiny, I suggest getting yourself an Atmel AVR mkII, a Pocket AVR Programmer or if you already own an Arduino you can make an ArduinoISP.

LD33V

SparkFun: COM-00526

Mouser: 511-LD1117V33

TIP125

Mouser: 511-TIP125

PN2222

Adafruit: 756

Mouser: 512-PN2222ABU

Resources

OSH Park: http://oshpark.com/shared_projects/MmabtNcO

RPi-PSU R2

Make your own Raspberry Pi – PSU [R2]

I received my Raspberry Pi PSU Revision 2 PCBs in the mail last week and I got a chance to populate and test them during the weekend.

The R2 board is shared on OSH Park which means you can order your own boards and assemble for yourself.

Components

Here’s the board, fully populated and with all the parts values highlighted.

RPi-PSU R2 - Components

All parts are fairly common, specially the passives. Here are a few suppliers for the parts you may have a hard time finding.

ATTiny85

SparkFun: COM-09378 Mouser: 556-ATTINY85-20PU

Programming

You will need a way to program the ATTiny, I suggest getting yourself an Atmel AVR mkII, a Pocket AVR Programmer or if you already own an Arduino you can make an ArduinoISP.

LD33V

SparkFun: COM-00526 Mouser: 511-LD1117V33

TIP125

Mouser: 511-TIP125

2N2222A

Mouser: 511-2N2222A Digi-Key: 497-2598-ND

OBSOLITE R3 replaces this component with the 2N3904 and PN2222

Resources

OSH Park: http://oshpark.com/shared_projects/clqtxZaD Video: http://youtu.be/xgsn7Mpjh7g

IMG_2522

GameCube Modchip (Xeno-GC Clone)

Background

I’ve been really getting into making homebrew games. I got my game engine running on the Wii last year and I thought why not give the GameCube a shot. It’s a similar architecture, Broadway (Wii) is pretty much a faster Gekko (GC).

Open-Source to the rescue

I remembered reading about how the more popular modchips (or drivechips) for the GC and Wii worked, so I started looking into making my own. After some digging I found that the Xeno-GC modchip had been open-sourced a couple of years back, so I only needed to compile it and build some compatible hardware.

IMG_2511

This little guy is the final result. I want to keep tweaking the firmware, so I made the board be just the right size to fit a small gap in the back of the GC; This would make it easy to flash and test on the actual hardware. I also made it big enough to allow for easier circuit board population.

IMG_2513

I wired the bottom of the drive unit and ran a few tests. Everything checked out fine so I soldered in the modchip and crossed my fingers. :)

IMG_2514

I proceeded to flash the modchip and it immediately came to life! I then popped in a homebrew game I burned earlier and it worked without a hitch, no laser adjustments needed or anything!

IMG_2520

I cut of a tab in the back of the console cover, this is where the modchip will be placed.

IMG_2521

You can see it here, snug and tight.

IMG_2522

That’s pretty much it! Now I move on to porting my game engine and making a demo.

Issues

I noticed that the modchip would sometimes fail to boot up correctly, I changed the fuses on the AVR so that the modchip would start 64ms after powering up, giving the drive unit some time to setup. I used the following fuse values: 0xE4 0xD9

Make your own!

You can order 3 boards directly from OSH Park and get all the required components from Mouser or Digi-Key. The board and schematic files are available on GitHub.

The modchip firmware can be found in here.

Mini

xeno-gc-mini

I also made a smaller version of the modchip, you can also order it from OSH Park.

IMG_0359

Raspberry Pi – PSU (rpi-pwrbtn)

PCBs

I’ve recently received the first and second revisions of my Raspberry Pi – PSU Through-Hole PCB. They came out pretty well if I do say so myself.

RPI-PSU R1

There are a couple of issues with the R1 and R2 designs that have already been addressed in R3, but since the R3 is not here yet, let’s populate an R2 board and test it out.

We will need to start with the power rail. It’s pretty straight forward – Just like my original prototype, the board takes in 5V which is used to power the Raspberry Pi directly. The micro-controller is powered by a 3v3 rail (hence the LD33V), this reduces power consumption but more importantly makes the micro compatible with the Raspberry Pi’s GPIO.

Programming

After I filled in the power stage, I proceeded to flash the micro using my MKII and some pogo pins.

IMG_0354

I tested the board and since it all checked out fine, I proceeded to populate the rest of the components.

Moment of Truth

I pulled out one of my RPis and hooked up the fully populated PSU.

IMG_0359

No blue smoke came out, which is always good, hooray! :)

IMG_0361

Revision 3

The third revision of the PSU PCB has already been sent to the fab and is under production at the moment of writing, I’ll record a video as soon as I get it showing how it works and how you can build your own!

RPI-PSU R3

Update

I got my Rev3 board in, check it out by clicking the link below:

Make your own Raspberry Pi – PSU [R3]

OSHW

The source code, schematic and board layout for this project is publicly available on GitHub.

GitHub Repository

Marshmallow on the Raspberry Pi

Raspberry Pi Buildroot – 3.8.6 Kernel Branch

I’ve added a new branch to rpi-buildroot. The 3.8 branch uses the new 3.8.6 Linux kernel provided by the Raspberry Pi Foundation.

This distro is based on Buildroot, that means it very flexible and well suited for numerous customized embedded linux applications. Makers will find it extremely useful since it can be used to create powerful custom deployments – Want to control a robot using a Raspberry Pi? then this is the distro for you – Please keep in mind that the default configuration builds a system with nothing more than the bare essentials.

Please checkout the README file for more information.

You may download the test-drive SD-card image here: http://dl.guillermoamaral.com/rpi/sdcard-3.8.img.xz (user root – no password)

How to build it yourself!

1
2
3
4
  git clone --depth 1 -b rpi-3.8 git://github.com/gamaral/rpi-buildroot.git
  cd rpi-buildroot
  make raspberrypi_defconfig
  make

How to flash

1
2
3
  wget http://dl.guillermoamaral.com/rpi/sdcard-3.8.img.xz
  xz -d sdcard-3.8.img.xz
  sudo dd if=sdcard-3.8.img of=/dev/**YOUR-DEV-NODE**
IMG_2459-e1379609806278

Custom NES Controller

Mission

I recently found myself with a surplus of Adafruit Industries components, I decided to put a few of them to good use by making a custom NES controller.

Objectives

Design

The design is fairly simple, the only difference between it and a standard controller would be the use of the Center pin on the navigation switch as the Select button.

NES Controller Diagram

PCB

I had to resort to using quite a lot of jumper wires since the board is pretty small, it should also work fine on a double sided board (just not very efficiently).

NES Controller PCB Replace the bottom layer (blue lines) with jumper wire.

Results

The controller works great! Though it could use some routing to make it more comfortable.

Front Back – Start Button

Back Front

In Action Use

RPI-issue

Raspberry Pi Buildroot update!

RPI-Buildroot

My custom Raspberry Pi distro is now sporting an up-to-date userland along side a 3.6.10 kernel and a few more tweaks (including that colorful /etc/issue you see above).

This distro is based on Buildroot, that means it very flexible and well suited for numerous customized embedded linux applications. Makers will find it extremely useful since it can be used to create powerful custom deployments – Want to control a robot using a Raspberry Pi? then this is the distro for you – Please keep in mind that the default configuration builds a system with nothing more than the bare essentials.

Please checkout the README file for more information.

You may download the test-drive image here: http://dl.guillermoamaral.com/rpi/sdcard.img.xz (user root – no password)

How to flash

1
2
3
wget http://dl.guillermoamaral.com/rpi/sdcard.img.xz
xz -d sdcard.img.xz
sudo dd if=sdcard.img of=/dev/**YOUR-DEV-NODE**

MES

Marshmallow Entertainment System demo image was also updated, now with (buggy) ALSA support!

Raspberry Pi ALSA leaves a lot to be desired, so don’t expect too much. :)

You may download the platformer demo image here: http://downloads.marshmallow.me/sdcard.img.xz

How to flash

1
2
3
wget http://downloads.marshmallow.me/sdcard.img.xz
xz -d sdcard.img.xz
sudo dd if=sdcard.img of=/dev/**YOUR-DEV-NODE**

Thanks

I would like to thanks you all your great emails, the support is much appreciated!

12110042

MakeyMakey NES Controller Shield

Idea

Today I decided to do something fun, I went to my local flea market for inspiration and found it! It came in the form of a dead but in good-condition NES controller. After closer inspection, the problem was a dead 4021 p2s IC.

I was about to convert it to a TV controller when I remembered it was MakeyMakey Monday!

Resurrection

I started by cleaning the device and figuring out how I was gonna go about wiring the buttons to the MakeyMakey. I then got a few of my Adafruit Extra-long break-away headers and an old red pen (I needed the ink, you will see why in a moment).

I inked the top of the headers with the red pen’s ink and then placed the NES Controller back on-top of the headers; This gave me a clear idea of there I should drill.

I got my trusty hand drill and fitted the headers to the back of the NES Controller. Afterwards, I testing the header locations to make sure the MakeyMakey fit correctly. It did!

My attention them moved over to the PCB, I cut the wires for the controller cable and desoldered the whole thing, IC and all.

I then soldered a few wires from the headers to the controller PCB.

And finally cut the pull-up resistor traces; this step is extremely important! Failing to cut them will result in all buttons getting triggered.

I then cleaned up and closed the controller making sure I didn’t bend any of the internal wires.

Tested it by playing some minecraft.

Mapping

Up Arrow = W Left Arrow = A Down Arrow = S Right Arrow = D

Select = F Start = G

B = RIGHT CLICK A = LEFT CLICK

Video