RaspBMO (Handheld Raspberry Pi Emulator)

by 3Derp, published

RaspBMO (Handheld Raspberry Pi Emulator) by 3Derp Feb 26, 2015

Featured Thing!

11 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


(3/8/15) PDF drawings detailing how to construct the USB controller for this project have been added under the source files. To create the PCB follow the 'Controller Perf Board' drawing. To assemble the controller follow the 'Controller Assembly' drawing as well as the pictures in the build album. For wiring the controller a schematic has been added under 'Controller Schematic'.
(3/14/15) Added zip files containing all parts as both Solidoworks and STEP part files in case anyone would like to modify some parts. Also added the Arduino code for the Teensy in the controller.
(3/29/15) Added PDFs of schematic for routing board as well as wiring guide for Raspberry Pi A+ to Thing Files. Also added link below to Youtube video (Credit to Floob) to help set controller in Retropie.
(4/27/15) Added link below to Youtube video (Credit again to Floob) to help set up controller for MAME.

Presenting my second handheld emulator project based on everyone's favorite sentient game console. The specs are as follows:

Overall size: 4" X 5" X 1.75"
CPU: Raspberry Pi A+
Operating System: RetroPie
Display: 3.5" TFT
Power: 7.4V 2200 mAh Li-Ion
Controls: Fully set of SNES (D-pad, 4 actions, start/select, L/R) buttons built around a Teensy 2.0 HID device
Sound: Stereo Speakers with slide potentiometer volume control and headphone jack

Video of the console in action can be found HERE
Video of the first boot can be found HERE
An overview album for the project can be found HERE
An album of the powered up pics can be found HERE
An album of glamor shots can be found HERE
A (massive) construction album is located HERE
An album detailing construction of a charger adapter is HERE

A detailed Bill of Material can be found HERE
A video link to help set up the controller can be found HERE
A video link to help set up the controller for MAME games can be found HERE

A small write-up of the project can be found in the instructions section.


Instructions are currently WIP. I hope to have a set of schematics as well as some general instructions out in the coming weeks. Feel free to ask any questions in the comments.

In the meantime I will add a small write up describing the main components of the system. I hope to follow this up soon with some schematics/instructions.

Caution, I am not a professional when it comes to the electronics in this project. If any of my instructions/schematics seem incorrect please disregard them and be sure to comment and let me know. Caution

Main Components:
-Raspberry Pi A+: The heart of the project. It uses an image of Retropie as its OS. The 256M of Ram is split evenly between the CPU and GPU. The composite video and stereo outputs (on the 4-pole jack) are utilized internally for this project. To save space the 4-pole jack was ignored and the connections wired directly to the solder tabs on the board. HDMI was utilized initially during construction for setup purposes. If you have an issue with the Rpi not outputting composite video add the line hdmi_ignore_hotplug=1 to the config.txt file. This will completely shut off HDMI output so in case you need it again you can use your PC to edit the above line out of the config.txt file. 5V power is regulated to the Pi by using a UBEC wired to the main 7.4V power line.

-3.5" TFT Display: The display linked in the bill of material is intended for use with a vehicle backup camera. However, it can easily be utilized as a cheap display for Raspberry projects. Being a vehicle display it is designed to run on 12V power, however, from testing I determined it to run smoothly (though inefficiently) on 7.4V. Research online points out that these displays can be modified to natively accept 5V power however a modification like this seemed slightly out of my comfort zone. Out of the box the screen is packaged in a hard plastic case. This case will need to be carefully removed to retrieve the raw display inside. The only modification the display needed was to have its stock wiring replaced with a servo cable to delivery power, GND, and composite signal.

-7.4V 2200 mAh Li-ion Battery Pack: The main power source of the project. First a word of caution! Li-ion batteries can be dangerous if mishandled. Be sure to double check your wiring as well as any system schematics to ensure everything is wired properly. And be sure to use a charger designed for this kind of Li-ion pack. The battery listed in the bill of material comes stock with no connector. For my build I used the 2-pin female header removed from the UBEC as the battery connector. The 7.4V battery power is supplied to the system as a whole. The display and UBEC are wired in parallel to run directly off this 7.4V. The UBEC then regulates the power down to 5V for the Raspberry Pi and speaker amplifiers. The power switch for the case is actually a DPDT (though only a SPDT is required) one throw of the switch connects the battery to the system and is essentially the 'on' state. The other throw disconnects the battery from the system 'off' and connects the battery to a coaxial connector on the case. This coax connector, when combined with an adapter cable built for the charger, can be used to charge the battery without removing it from the case.

-Controller: The main portion of the controls is built onto a perf-board, details of it can be found in the build log. The switches for the D-pad, action buttons and start/select buttons are soldered to one side of the board while the Teensy 2.0 is soldered to the other side. The wiring for the buttons consists of one side of the switches wired to individual I/O pins on the Teensy while the other side of the switches are bussed together to the Teensy GND pin. The programming for the Teensy is set up using the Teensyduino script to run the Teensy as a joystick HID. Instructions for this can be found on the Teensy website. The main board has a 3-pin header to bring the L/R shoulder buttons from the rear of the case to the main board.

-Routing Board (Optional): in order to organize the case wiring I built a routing board to keep the wiring to a minimum. This board handles the signals for the Audio amplifiers as well as the display. It also routes power to each of the main components. The speaker amps and Raspberry Pi are both wired in series to the 5V UBEC output using this board. The UBEC and display are also wired in parallel to the main battery using this board. If this aspect sounds a bit confusing its because it doesn't lend itself to a write up. I hope to supply a schematic for this board in the near future.

-Sound: The sound system for this project consists of two halves. First is the stereo speaker system utilizing two 8 ohm speakers and separate left and right amplifiers (from Sparkfun). This section draws left and right audio signals directly from the Raspberry Pi. 5V regulated power is supplied to these amplifiers by the UBEC. The second half of the sound system is the stereo headphone jack. This jack draws from the same L/R Rpi audio signals as the stereo speakers.

-3D Printed Case: I printed the case parts at 0.4mm to save time, overall the results were pretty decent. Two points of note. First, the front face is held to the shell using epoxy. Any cheap two-part epoxy should work here. I found the best practice here was to spread the mixed epoxy onto the edges of the shell using a plastic butter knife and then firmly press the front face over top. Be sure to get the orientation correct! Place a heavy object over top the two parts while the epoxy cures to ensure a strong seal. The other point of note is the locking mechanism used for the hardware in this project. To keep the design clean and simple I ignored hex nuts for locking purposes and instead focused on using the plastic itself as the captive hardware. To do this the holes in the case into which screws are inserted are slightly undersized for their perspective screw. This means that upon first install you will have to give the screw a few strong turns to tap threads into the plastic. In my experience this leads to good sturdy hardware connections about 90% of the time. On the off chance you wind up with a mounting hole too loose to properly hold a screw I found that adding a bit of hot glue into the hole helped to create a good connection. My advice would be to pick a small part to print as a test (potentially the front face) and make sure that your print settings are dialed in correctly to print out the properly sized mounting holes.

NOTE: Even if you don't want to complete the entire emulator project, I believe the case could make a pretty decent BMO replica. An interesting idea mentioned in the comments on Make.com mentioned replacing the video game console components with servos and making a little BMO robot which sounds awesome to me.

More from Video Games

view more

File Name



All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

have any step by step instructions been made for this project yet? i would really like to build this.

Has anyone who has done this incorporated more then just the retropi and installed some bmo animations?

Does anybody have a copy of the img they could share without the roms. Were having trouble getting this programmed and would love the help! Great build and Great tutorial btw! Very thorough!

Is this all in PLA ?

Not sure if I've got a bad screen or some screwed up wiring, but when the screen is on, It appears like it is really washed out and shaking up and down quickly. Like 2 or 3 pixels or so. Has anyone ever gotten a bad screen?

I've rebuild the routing board, but the screen is the same. Washed out and flickery. Pretty sure it's the screen now. https://drive.google.com/file/d/0BzDuHYOscOeqQzllYnlEbFBEUms/view?usp=drivesdk

It was definitely a bad screen. Replacement screen was perfect. Project done!


FYI, it appears that the screen ships with a barrel plug pre-wired with a black and red lead, that doesn't get used during this project. I imagine you can simply solder this to the cut power adapter wires instead of soldering the wire directly to the pins of the barrel plug seen here http://i.imgur.com/FC4lNRk.jpg

Comments deleted.

Any idea what plug was used that is soldered to the Pi to replace the usb plug that goes to teensy ?
Case is printed most parts have arived so time to get dirty.

I was wondering the same thing. It APPEARS to just be a 4-pin M-F header, like this. https://www.adafruit.com/products/2940 (obviously with just 4 pins though)

Yes thats what I thought. I ended up ordering thses as I needed the pins anyways.
They look the same size as the images in the build log.

The Teensy uses a modified USB cable to attach to the Rpi. The cable attaches to a header I soldered directly to the Rpi itself. Check the construction album linked under the 'Thing Details' towards the end of the album. There are quite a few pics showing the attachment of the header to the Pi as well as the construction and installation of the cable.

That switch on top is the biggest switch I've ever seen.

Comments deleted.

would you be able to scroll through games without computer hookups

Comments deleted.

Hey! quick question, since retropie supports other systems aside from the NES, can this be made into an emulator of those systems instead (such as a GBA or a SNES)? Or are the buttons mapped to a NES controller?

Look at this one. I was thinking of adding l and r buttons

A larger version of RaspBMO for The PI2
by sreid55

Your best bet on this is to follow the controller set up tutorial from the Retropie website. however, I can say from experience that by setting up the default controller it will work for all emulators. However, the button mapping may be slightly off for some consoles. The default controller setup mirrors the SNES controller almost 1:1 and works seamlessly with almost all Nintendo consoles as well as the ports (DOOM, Cave Story, Quake, etc.). When it comes to Sega consoles and well as the older or more off beat consoles you may need to set up controller maps form them individually. The controller set up tutorial from Retropie 'should' explain this but let me know if you have trouble. I'll help if I can but I've never set up custom controller maps myself.

Yes, but I think he's saying like this has 4 buttons. Could you add two to three back for shoulder buttons?

I'm trying to print the shell and I'm having issues with how it's filled. Can you please show me your slicer settings? Anything you did in particular to get the shell printed?

Do you have "Detect Thin Walls" checked?

Before we start discussing setting which G-code generator are you using. Personally I prefer/user Sli3er. I find that result tend to vary wildly from program to program.

I use Slic3r as well =) Thanks!

The tactile switches you use for your push buttons.... Are they "clicky"? I'm starting this project but I know a lot of the buttons I see provide too much feedback and I'm looking for "softer" buttons.... Thoughts?

Hey again. I don't know if I left my email. But I'm in pdx and if you have access to a 3d printer I'll pay for labor, supplies, time and demand if you can print me a case. Please, you are my answer to what I've been seeking...
[email protected] is my email address... I'm Danny.

Hello. Are you in Portland? I live here. I'm going to be building something like this soon. I've never done anything like this before. If you're willing to help me, I'd gladly pay you. What do you say? Id really like to build something with a raspberry pi b 2 and I need as many buttons as an snes controller or possibly an analogue. When soldering the buttons, do you need a custom pcb, or teensy or something or can you just solder a USB controller to the USB pins on the pi? I was thinking of using plans for one with for the raspberry pi a + and cutting off some stuff like one of the double USB ports, the ethernet port and the headphone jack to make it fit. Would that work?

I've just sent you a private message. No, I'm not gonna charge you for help... That's just silly. If you need things printed, I'll charge you for materials only.

A few tips have been sent to you, let me know if you need anything else...

The buttons listed in the bill of material actually have a soft feel to them. I looked all over before finally finding them. They have a great feel but after finished the design I came to the conclusion that they are a little TOO soft. The real issue is that they only compress roughly a 1mm when pressed so you can barely tell you are pressing them. Because of this I went back to 'clicky' buttons for my latest design.

What kind of screws did you use exactly?
Thank you.

I just love this project.
I'm about to build one for my wife's birthday. I got everything I need (or almost). It seems that I order a wrong version of the ATmega32u4. Mine is the Pro Micro version, which has a different pinout. Do you think I can use this version for the controller board? Any help?
By the way, thanks for sharing this awesome project.

I have checked both boards pinout (the "teensy 2.0" and the "Pro micro") and the only pin missing for the "Pro micro" is the PB7 which correspond with the PCINT7 input on the ATmega chip. I guess I can use other input like the PCINT4 which is available on my board. Should I make any change on the program to make this work? I will appreciate any help!

I "finished" my enlarged PI-2 capable case inspired by this model.
You can find it here:
Most of the electronics is identical to this model, but not all are, and there are much fewer (as in no ;) ) instructions.

A larger version of RaspBMO for The PI2
by sreid55

Does this case have the same amount of buttons as an snes controller? If not, can you remap to make it so? If so, I'll pay big bucks if you 3d print me one. If not, I'll pay more to custom make one with two shoulder or back buttons... PLEASE. my email is [email protected]

Hey, I'm planning to start this for the summer and I'm just getting the parts together but I live in the UK and cannot find the battery needed for the life of me, I've looked everywhere online. Is there an alternative I could use? I'm very new to this. Will any kind of power bank for a cellphone work? Also I've heard that when using the the model A+ with Retropie, it can occassionally crash when playing too long, has that happened with yours? If so, I've been contemplating using a model B. Would I need to make any significant changes if I did? Thank you ^.^

im planning on making one because they look hella sick.
i was wondering how much money you needed to build this and if you had any tips for people who want to make one.keep in mind,im a beginner when it comes to making big electronic projects like this so i barely have the basics understood,and are you ever going to make a video tutorial on making the beemo?and lastly,can it play 2 player games?

Re the parts list - I think you want a dual potentiometer for the volume control since it's stereo.
Also, you'll want an audio taper one, not a linear taper one.
This one is the same size and meets both requirements:


Also, I'm working on a version of this that fits the Pi 2.
It'll be slightly larger, but uses mostly the same components. Will post it when it's done.

To address the first point I have the potentiometer inputs for both amps bussed together to one slide pot. I'm not an electronics expert so I'm not sure if that will work properly. You are definitely right about the audio taper potentiometer. The linear pot I have in my build maxes out the volume after like 1/4" of slide. It 'sorta' works but not very well. I can't wait to see how your build come out. Keep me posted if you can..

After reviewing the schematics of the amp breakout boards, I see how it will work, but the left and right channels will be crossconnected, so you would lose stereo output.
My Pi 2 version is about 20% larger overall to fit the larger board. I'm not doing all of the nice internal brackets for parts that you have in this version--there will some hot glue involved in final assembly to hold things in place. I'm sort of designing 3d parts as I go, from front to back. Just finishing up the front panel and buttons now.
Thanks for the inspiration, teensy code, and extensive photo docs!

Hey all I started this project about a month ago. Really solw and still really new to all this but im installing the three wire connection to the tft screen but mine looks completely different. the electronics are half the size of the board shown in build pics and also the three button I guess lets call them the toggle feature fun is a two wire connected separate board. I guess my question really is how do I know which connections to use for the three wires. also this was the direct link from BOM. Anyone else run into this? Could use some help.

This is what I got


Thanks everyone



Its looks like your build is coming along very well! Honestly I'm not surprised the board you got on your display is different than mine. My best bet is that these kinds of products probably go through design changes all the time (or they are just using the cheapest driver board available). I'm actually a little jealous because the board on my was huge and difficult to design around. When I originally bought the display I as expecting to get a driver board about the size of the one in your picture. Ok now to business. Despite the different size your board should have the same connections mine did; power (red), ground (black), composite (white/yellow) and potentially composite 2 (white yellow). I don't see any wires in your picture so I'm assuming you removed them. Where they on the 4 through holes on the left side of the board or the connector J2? Also how many where there and what color were they?

I believe this is how it came connected? Top three spots


And I guess another question is do I need this part?

Found this online also. I think its the original connection points

Ok good that's exactly what I expected. The red wire is voltage, the black ground, and the white is for the composite signal. This should match up to the schematic I provided for the routing board. Its just that your wires are on the opposite side of the board. The small pcb with the buttons is optional but not necessary. It controls the brightness/contrast. You could leave it around and plug it in whenever you feel the need to adjust the screen. The example picture you provided shows a yellow wire as well. This is for a second composite signal. It is not necessary for the project to function (you only need the white composite line) and if your screen came without one then don't worry about it.

Can you post the config file for the Teensy. I can't seem to get any buttons to work except for the ABXY.

Hey sorry about the delay. My arduino code for the Teensy should be in the thing files section under 'RaspBMO_Buttons.ino' or something similar.

Sorry for bothering you again.but, I really can't figure out how to make it work on mame .
teensy-joypad is working on emulationstation UI very good.
but, In the mame game, just A, B buttons are work.

I tried modify /opt/retropie/configs/all/retroarch.cfg like as below,

input_player1_joypad_index = 0
input_player1_b_btn = 1
input_player1_y_btn = 3
input_player1_select_btn = 4
input_player1_start_btn = 5
input_player1_up_btn = 9
input_player1_down_btn = 8
input_player1_left_btn = 7
input_player1_right_btn = 6
input_player1_a_btn = 0
input_player1_x_btn = 2
input_player1_l_btn = 10
input_player1_r_btn = 11

can you help me out to figure out this?

I found a solution.

  1. run mame
  2. press tab key
  3. change pre-configured settings.

Hey sorry about the delay. That is exactly what I was going to say. Also THIS video is really helpful with the MAME setup. Its what I used for my own unit.

This is Algebraeic!!!
One question, can you play Lincoln Fight on it, and is there software to make it have an animated BMO face.
Also what is with all the deleted comments?

Hi I'm working on the controller and I'm having so much trouble with it i wired it i rewired it and it still wont cooperate with the pi please help I need it to get ready for make fair in Newcastle

maybe its the software maybe its the hardware maybe you had similar problems

Ok first things first. Assuming your working on Windows have you plugged the controller into your PC, gone to 'Control Panel' and then 'Devices and Printers'. The Teensy should show up there as a USB controller. You can right click on it and go to Controller Properties, from there if you select the 'Test' tab you should be able to see the button readouts. This is an excellent way to determine if the controller is working properly. If you have already tried this and the issue is that the controller isn't working with Retropie then you most likely need to configure the controller (the Teensy controller will not be recognized/wok until you do this). The best instructions for this can be found in THIS video. Let me know how this works out. Good luck.

the pi recognises it as a controller but whenever i use one of the buttons it wont recognise it

could you provide a teensy HEX file?.
my teensy is not working properly.

Sorry about the delay. Look for a .ino file in the 'Thing Files' section. It is the Arduino code I used to set up the Teensy. If you have any other questions let me know.


I think this is really cool. I really want to get a Raspberry Pi, and when I do, I might have made this, so I can just hook it up.

Ridiculously cool job man. I am ordering my stuff now however I do not see the screen in the Bill of materials. Can you link to Amazon for the screen? Again, so cool. My kid is gonna flip over this.

For anyone interested in knowing. I just ordered everything on the bill of materials exactly the same except for the sliding pot (was out of stock, ordered similar on Amazon). Total cost with shipping: $234.54

Thanks! I'm glad you liked it. Also its awesome to hear that you want to build one! Can't wait to see how it turns out. If you have any in process pictures I'd love to see them. As for the display, look for line 11 in the bill of material, it should say '3.5 Inch TFT LCD Monitor for Car / Automobile' and take you to the following amazon link (http://www.amazon.com/gp/product/B0045IIZKU/ref=oh_aui_detailpage_o08_s00?ie=UTF8&psc=1). Let me know if you have any trouble. Good luck!

Hey so I'm wiring up the routing board (thanks for the schematic btw, it is super helpful in combination with the build album) and I just had a question about the speaker wiring. I see that the speakers are wired to the routing board but in your album it's kind of confusing how you actually connected them up. I gather you recommend doing this after putting the bits and pieces in the enclosure, but was wondering if you could elaborate on this a little? Which parts would you recommend connecting to the routing board before mounting into the enclosure and which should I do after?

Ok I just looked through my pics to try and remember what I did. I think this picture (http://i.imgur.com/WHPAllk.jpg) is the best break down. Just prior to mounting the board should be wiring with all the internal connections shown in the schematic. As for the UBEC you need to wire its entry points to the 7.4V buss lines (bottom right in linked picture). The UBEC 5V output lines are left un-wired until after the routing board is installed. This picture (http://i.imgur.com/LnGbPhX.jpg) shows where to wire the 5V output of the UBEC once the routing board is installed (left side of the board). You should also wire one red wire to the high side of the 7.4V buss line. This wire will connect to one of the throws the SPDT switch atop the case so that when the switch is flipped the positive terminal of the battery will connect to the routing board. There also needs to be a ground line run from the battery to the 7.4V buss on the routing board. In my build I did this on the top side of the board so it can be completed after installing. This picture (http://i.imgur.com/Oc3SyBi.jpg) gives a really good idea at what the board should look like. The speaker wiring is very easy, just wire their leads to the output points of the left and right amp. The black wire heading off the bottom of the board is the 7.4V ground line I mentioned above while the red wire that heads out from the top of the board out through the hole for the power switch is the 7.4V positive line.

Just typing this out has made me realize that I should probably do some sort of instructions set for this, my build technique was slightly confused and could benefit for some elaboration. However, good instructions take time and I'm not sure where I'm going to find said time. I hope the paragraph above was helpful. If anything needs for explanation feel free to ask.

Hey, this is truly awesome! My buddy and I were looking to make this but he has no experience with 3D printing (I do) and I got no experience with circuits (he does) (as a team, I think we should be able to do this!) Still, just to be sure, we are probably going to want work with a complete blueprint. Should what's posted here be enough to work with, or should we wait a little longer for this to be fully comprehensive?
Kudos again for making this (it's so amazing and cute!) and for being nice enough to share it. Can't wait to give it a try.

That's awesome to hear that you want to build one! Just the other day I uploaded the schematics for the routing board which was, in my opinion, the last confusing piece that needed documenting. With the schematics I've uploaded as well as the huge build album on Imgur I'd say you have about 95% of what you need to complete this. The only other documents I'd like to add in the future would be a flow-chart/diagram of the system as a whole just to give an idea of how everything come together. Again, this information should already be available in what I've uploaded but I'd like to add a summary.

I'd say you guys are probably ready to start, if your friend has electronics experience then he probably has more knowledge than I did going into this :P There is nothing too outlandish going on inside this project. I think the most trouble you may run into is trying to get all the wiring together properly. I really can only help with that so much as I did the wiring for mine by the seat of my pants. My best advice would be to go through what I've uploaded (schematics and pics) and make sure you both understand exactly what's going on inside the case. From there it shouldn't be too much trouble to work out the little details yourselves. Also don't hesitate to ask any questions if problems arise.

Good luck with the project! Can't wait to see how it turn out!

Hey dude,

Is it possible if this could be modified into a game boy with 4 shoulder buttons on the back a analog stick aswell as dpad and maybe put some USB ports on the side, the SD card slot and headphone jack and not as wide?


I'm not sure to be honest. Space is already pretty limited in the design as it is. That being said you are more than welcome to try and I'd love to see how it comes out.

Comments deleted.

Yo this is super sick dude, I'm planning to make a modified version of this with the B+ raspberry pi and with a 64GB ssd hdd mostly so that it kind of doubles up as a kind of small desktop (especially when Windows 10 comes out for the pi) which will be useful for me. Looking through your gallery of the construction has really helped me plan out the layout of the whole thing :D, I really hope though that you'l be able to get the wiring for the audio and stuff out. Super nice work!

Comments deleted.

Ordered all parts. Got my pi yesterday and plan on loading RetroPie as my next step while I wait for parts to roll in.

I have watched the vids and read your schematics. At this point I think my main questions are around video hookup, power hookup, switch wiring and the optional distribution board that was mentioned. Eagerly awaiting any additional documentation or photos you can provide.

Heh, you're basically asking for all the documents I haven't finished :P I apologize for not getting them out sooner, I've gotten lazy on projects after finished this one. I'll try to push out another portion of the schematics asap. I'm guessing the wiring for the A+ as well as the distribution board would be most useful.

P.S. There is one aspect of the setup that I haven't mentioned yet. It relates to the limitations of the A+ due to it only having one USB and no Ethernet. To set up directly on the A+ you're going to have to use the Retropie image supplied from their site as the lack of Ethernet means that downloading Retropie directly onto the A+ is out (unless you use a wifi dongle, see below). Also you will need a usb splitter. This is so you can connect both a keyboard as well as the custom controller up to the Pi for setup purposes. I should note that a 4 way USB splitter may allow you to use a wifi dongle and do a online Retropie install. Just FYI, during my build I had an old Model B that I used to set everything up (using a micro SD card adapter) before transferring the Micro SD card to the A+. This may be easier than the usb splitter approach but they should both work just fine.

I have mine up and running (sort of). Control board, screen and Pi are installed and running off of a 7.4v wall power supply. I haven't gotten to building the distribution board or done anything with sound yet. Anything you could provide, however rudimentary, would help. I thought of wiring it based on your photos but that seems too risky to me.

It boots up and goes into emulationstation, at which point it says that there is a game controller connected and to press and hold a button to set it up. When I hold a button it does nothing. Only option at that point is to F4 out. Is that the default state since I haven't yet found and installed any ROMS or might that indicate a problem with the controller board?

Hi, awesome to hear that your build is coming along well. I want to check in to make sure you know I didn't miss your message. I've started the schematic for the distribution board and should have it uploaded in a day or two.

As far as the controller is concerned I have a two thoughts. First, have you tried the Teensy controller connected to your PC to make sure the buttons are working correctly? Go to 'Devices and Printers' on windows and check to see if the controller is recognized. Afterward you can check the controllers properties to see if the buttons are responding. Second, have you registered and set up your controller in Retropie? To do this I'm adding a link in the instructions section to the video I followed to set up my controller.

Thank you. Those docs should get me the rest of the way through.

I went ahead and re-flashed the teensy today. I used USB Type "Keyboard + Mouse + Joystick" (there is no option with just joystick). I then loaded your .ino code. When I went to test in the windows game controller panel, I found that only the A,B,X,Y work. The other buttons don't seem to be recognized. When I went into RetroArch setup, it picked up the same buttons recognized in the windows panel. I have re-checked my wiring and everything looks good. Any advice here?

Update: Just ordered another Teensy 2.0. I am going to flash it and test it right out of the box before doing any soldering.

Received 2nd Teensy and it is exhibiting the same behavior as the first one. Only the pins on one side of both Teensies are responding when testing using Windows "Set up USB Game Controllers". I flashed the Teenies using your .INO file and USB Type "Keyboard + Mouse + Joystick"

B0, B1, B2, B3, B7, D0, D2, D3, C6

Not Responding:
F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, C7, D4, D5

Looks like perhaps a code issue? I will dig into it and see what I can find, but if anything comes to mind please let me know.


Ok. Resolved the Teensy problem... Had to simply add additional code to accommodate the other buttons.

Hey, great to hear you worked out the issue. Sorry I didn't have a chance to respond. How is the project coming along?

Was wondering if you think there might be any issues if I used a Raspi B+ (happen to already have one lying around).

There was a point during my build where my A+ wouldn't work and I considered switching to a B+. After looking over the design I determined that the only way a full size B+ was going to fit in the case would be if it were laid in horizontally. Going vertically like the current A+ orientation would lead to interference with the battery. Also it would leave no room for speakers so they'd have to go. On top of all of this I believe the shell would have to be modified to fit the double-decker USB ports and Ethernet. What I'm trying to say is that while I don't think it would be impossible I believe you'd have to heavily modify the design to incorporate a B+.

That's what I needed to know! Sounds like the A+ is the way to go for the first round.


Comments deleted.

Thank you for putting this together.

Forgive me if this is a noob question... I am acquiring parts and have a question about the header cables and header pins. You specify Male and Female for both. I am seeing header pins of various configurations, variable by number of pins, pin spacing, length of pins, etc. Do you have a breakdown of how many of each type, (How many N pin male, N pin female, etc.)? Can you buy Also, what length and quantity of the header cables for each male and female, and are these the single-wire header cables or multi-wire cables? There appears to be a great deal of variability in the price of these and I don't want to buy the wrong thing, or much more than I'll need.


Comments deleted.

I made an account just so i can comment on this. Seriously, you rock! I've never dreamed of putting anything like this, before, and now i've got a box of parts! However, for the 3D printing, is there a website you could recommend? And a general price range to expect for the 3D printing? I'm looking to get this put together as soon as possible, as this is SUPER cool! :)

How many corner brackets needed?

Shoulder brackets -- Corner brackets -- same thing in anatomy

Also what was the bed temp you printed at because my shell is curling and it will not stay

Oh shoulder brackets, you need 2 of them. My bed temp for the shell was 60 C using PLA filament. Are you trying the shell model with the added tabs? I used that one because the tabs helped mitigate the curling. The base shell part curled and failed on me twice. I uploaded it anyway because everyone's printer is different and many would probably have no issue with the base shell part. So again, try the shell with tabs, they should help with the curling.

Yeah the secondary fans are fans that do not come with the printer, they are meant for cooling the extruded filament, not the heating source

Even with the tabs extruding out the sizes I can't get it to not curl. Should I use a ready on the shell with tabs? I don't know if it will help, but I'm using the sky blue PLA on a Wanhoa Duplicator 4S. I have my bed temp at -13°K (60°C) and it curls still. The shell does use up a lot of material, so I just want to get it right, especially since its for a customer.

Ok from the looks of it we are getting into issues relating to specific printers. I am not a 3D printer expert, its a miracle mine still runs. However, I'll try to help where I can. I don't know much about the Wanhoa Duplicator but I can tell you that for my prints, using the Sky Blue JET PLA, I have the nozzle set to 180 C and the bed to 60 C. Also, and I find this very important for my printer, I do NOT use a fan to cool the PLA on larger prints. On small prints a fan is necessary due to heat build up in the part, however, for a print the size of the BMO shell the nozzle travels enough to allow heat to dissipate adequately. The only thing the fan does in this case is cool the sections of the print nearest to it more than those further away causing a temperature differential and thus warping. So to reiterate; 180 C nozzle, 60 C bed and no fan to cool the print. Let me know if this helps at all. Good luck!

Sad to say that must not have been the case...

Thanks a bunch I think that will help alot, and so an printing now, I'm hoping you are referring to the secondary fans being turned off instead of the primary (heat sync) fans am I right?

Again not an expert on your printer but I'm assuming the secondary fans if their purpose is to cool the part being printed.

Not sure exactly what part you're referencing, could you elaborate.

Hi, this is a really great project, good job!
I'm planning to do one too and to add servos for the arms and legs, by any chance, did you made the parts in solidworks? Could you share them? At least the shell, it's hard to edit from stl files.

Thanks, I'll post update pictures of the build :)

Thanks! Glad you liked it. Yes, as a matter of fact I did use Solidworks. I'm actually glad you asked for the .sldprt files because I had planned on uploading them but sorta slacked off. Given the fact that certain sections of this build may go differently for different people I think it would be a great idea to have a file set that anyone can edit themselves (might be good to add STEP files as well). I'll put up a zip file with the Solidworks models in the next day or two.

Thank you so much it will save me a lot of work. I'll post the the modified version for a robot bmo \o/

Hey I just added zip files for both solidworks parts and STEP files. Hope this helps!

That sounds awesome! Can't wait to see it.

Hi! It looks like there are duplicate parts in this file. For example, I see "action buttons" and then each button is listed as a separate file. There's also a shell and a shell with tabs.

Can you please clearly state which pieces are needed at a minimum?

Sorry about the confusion.You only need one set of buttons. I provided a plate of the four action buttons for those that wanted to print them all in one color and maybe paint them separately (or for those that have a multi-nozzle printer O_o). I also provided individual models of each button for people like myself who want to print the buttons separately in different filament colors. As for the shell, again only one needed. I added optional tabs to the model because during my first attempt at printing the shell the corners of the print began to curl. The tabs should hopefully mitigate that. They have to be removed and sanded down afterward. If you don't think they are necessary then print the plain shell without tabs. I'll update the bill of material to explain this all out. Hope that helps!

Comments deleted.

Hi, what kind of plastic did you use to make the 3D printed parts?

JET PLA from American Instrument, color 'sky blue'

what was you total cost of additional materials. Screen, battery etc ?

I'm not finished, but I've begun a make of this project. All in, I got the parts on the Bill of Material for under $200. I don't recall the exact total b/c I had to order from a few sources.

Comments deleted.

God I made an account just to learn how to make this. I'll be patiently waiting for some instructions dude! This looks amazing!

Comments deleted.

My friend and i are planning to build one of our own, but we are kinda new to programming and wiring things up. If you don't mind, can give a tutorial on how to make one of this? awesome work man.

Glad to hear that you wanna try this project out! I'm trying to move as quickly as possible with schematics/instructions. Check back in the next few days/weeks and I should have some schematics and instructions to follow.

Thanks so much man.

Awesome stuff mate, but I hate you lol... as soon as my kids saw this, well you can guess what I'm making now :) I luckily have everything required including the filament (its glow in the dark but in the light the same blue)

Haha well the very least I can do to make it up to you is answer any questions you may have along the way. In all seriousness though I'm glad your kids enjoyed the project! When you get underway with the build let me know and we can compare notes. As I mentioned in a comment below I'm planning on making the schematics over the weekend so there will be more/better instructions to follow.

Awesome project, and thanks for working so hard to help the rest of us along. I'm partway through a build of this, and I've run into some confusion on the controller wiring.

I've got the Teensy 2.0 and the buttons soldered onto the board, but I trimmed the tails of the buttons. Looking at your pics, it seems that you used the tails to wire the buttons to each other? I'm not sure how to wire this up, just wondering if you have written this part out yet.

Also your list says 24 AWG wire and 30 AWG wire - is there a time to use one vs. the other? They have different resistances.

Awesome to hear that you're working on one of your own. If you have some in process pics I'd love to see them! As far as the controller wiring is concerned you haven't done anything wrong, it mostly comes down to my instructions being unclear. If you look at the schematic for the controller you'll see that all the buttons share a common ground with the Teensy. The other side of each button is attached to a signal pin on the Teensy so that when a button is pressed that pin on the Teensy is shorted to ground which the Teensy then reads as a button press. As long as you wire your board to the schematic you will be fine. For my build I bent some of the button tails over and soldered them together to connect the grounds. This can just as easily be accomplished with some buss wire but could take some extra time cutting and stripping wire. As far as wire gauge is concerned, for the Teensy it doesn't really matter. The current carried in those signal pins is so low that 30 AWG works just fine. The biggest concern is space. I used 30 AWG wire for the signal pins so as to not clutter up the board with too much thick wire. I used 24 AWG black wire for any ground connections just so they could be more easily differentiated. Just be sure to not add wire over any of the mounting holes and try to keep the button side of the board as clear of wire as possible (this is the side that faces down when mounting, too much wire on this side could potentially interfere with the controller mounting points). I hope this helps. I'm still working on more schematics for this system but if you get ahead of my instructions feel free to ask for advice. Hope the build goes well and excited to potentially see some early pics. Good luck!

Comments deleted.

Would you ever make one to sell?

Sadly no, there's too much involved with a project like this to justify selling it. It's definitely a worthy DIY project though!

This is so fantastic! I'm planning on making this myself, but I'm a bit of a novice as far as programming goes. Really looking forward to the detailed instructions. Keep up the good work!

I just ordered all the parts for this online. Hopefully you can put together some detailed instructions or at least some high resolution pics showing how everything is hooked up. I would gladly make a YouTube video showing the build process if I could get instructions.

Awesome to hear! I think I can throw together the schematics this weekend. Good instructions will probably come at a slower pace but I would be glad to answer any questions that come up in the meantime.

Since you may be the first person that is going to tackle this project I think it may be a good idea to compare notes as you progress and develop the instructions accordingly. I would really like to get an outside perspective on this project and any improvements you could offer would be greatly appreciated.

Excellent creation. :-)

May I ask where I can get the fan mount you have on your MF i3?
Thank you,

Thank you! The fan mount was my own designn but sadly I lost the models :(

I would happy part with money for one of these! Well done.

Comments deleted.

this is brilliant! may I ask where you got the filament color?

Thank you! Ok I had to hunt through my purchases over the last few months so this may be slightly off but I believe the brand is JET PLA from American Instrument and the color i purchased was 'sky blue'.

another amazing project. Have to pencil this in for late March. Thanks for contributing!!

This is hilarious and wonderfully awesome

Haha thank you :D