Build: VR Button Box

I've finally starting to build this thing in earnest. Below is my sketch layout for the final product. The idea is that its the same general size as the center console in a car, and the plan is for it to be placed in the same general physical location relative to the driver seat/steering wheel. I've laid this out as separate panels, and tried to make every panel layout unique so that there are easy landmarks. Note the bottom panel is blank, as it is down at H-shifter level. But, I'm considering putting some general Simhub adjustments there to be able to tweak the strength of some effects, and Simhub Master volume....while in-car.

BB_design.png


I've built up the panels, I cut them out of 1/8" lexan. I have a Bodnar BBI-64 to use as the controller for the whole thing.

panels_assembled.jpg

Last night I spent some time soldering leads onto the first panel. My plan is to wire each of these to double row 0.100" headers (see below) in a standard fashion for plugging into the BBI-64. So I bought this kit of crimp-pins and various header sizes:


Dual encoders use 5 inputs (inner L/R, outer L/R, push-button), plus GND wires = 2x5 female header.

wired_panel1.jpg
Currently this prototype is just wood and hand drilled lexan. I have a roll of Carbon-fiber Vinyl which I intend to use to wrap the whole thing once I'm happy with it. I may have the final panels laser cut after I make any needed refinements.
panels_in_box.jpg


I've already decided that a couple of things are too close to the side guards (brake bias, and a couple others. So, I'll probably widen the whole thing by 1-2" and respace everything to ensure a minimum clearance between everything.

The larger cockpit build is being done around the ergonomics of my real racecar (a 1990 Spec Miata). I have a spare set of miata pedals that I'm currently instrumenting with a 200 kg loadcell, and potentiometers for clutch/throttle. I also have a spare set of stalks and a ignition key...that I may wire up to another bodnar box.

PC_AmaBYtci83NOETIwuMnbsrThK_ScH1YewCueS29I_qMzBvCbesqGjsttq79DuuGzBpv0RgB_gNCtS6wTnZdxCwKnzVORRJzDnU5-9gvinhduP3xtjkjq9qe36LCQdtB8QvgouayeMFhVb_Y2gfvodN9F_OVMxiuZLKimtMP90YKyXh56J3cpSfSWIP3hyQhQCP34hs0YCGzskw1qx3hrQbJER5F9flNBCGIm2PUALTOuz47fU-CO1FAP8AGKFBl3Lm3vhPAvH_dkRsxVuOzu4vihf5mimHd5sT9rw02-6Am_YhGsNvRe5oVrZWSs6a_c6g_zuIjOjsW4sA-9v4cbY9HyqWlc0qJ1SgtrpdFGAVYXiM0cCFNN2U4bpETtKfzP9PrKmtL5663jve3wk0jVNrXC8ZAkl2WkSbTJ9b_GX0xgVoSKrDI2rmghnE_vTlc2t0vfR7YvDQG-rSI2DTBNLqt7bVK54z1Thhx817DSIFSMZYe5NAg2e9_18GzNzkE6VM1RE-5Gygnkd6_wAV69OwnnFvuM4Odqp2fkpOYKv1yaIXkqJY63j7bceeXr5p8VJa2vLVrvJ2iY3zXaNH-KAW0PME-tUGekaceP70hwv_-9MSRYZc-xMEdGaZN2z6HujFv5a6wHD3V5738nF3lxJjM-V96VUGaVsZyx3mdqw-Xabre4slzOBUpIB=w1728-h972-no


Parts List

Single axis encoders with push
. CTS288V232R161B2. Used for Brake Bias, and volume knobs.


Dual axis encoders with push. No part# per se, just a web link. Used for sway-bar, and wing adjustments.


Joystick, 4 way switch. Again no part #, just ebay listing.


Raised Pushbutton switch (with LED). Ebay listing:


Flush pushbutton (with LED). Ebay listing:

Various knobs. These shaft hole in these knobs were all about 0.010" too small for the CTS288 shaft. I drilled them out with a 1/4" drill bit to fit. Ebay listings:




Brake Bias knob. Apex Sim Racing. I actully bought a different knob (that is 3d printed plastic), but Apex doesn't seem to sell it anymore. The closest is now billet machined (it looks nice, though twice the price):


Switches. I'm not happy with the action of the switches. So, I won't bother listing those for now. When I decide on a replacement, I'll update this with that part.
 
Last edited:
I got the BBox all wired up...And test fit.

bbox1.jpg


Ignore the crappy wheel. That'll be replaced here in not too long with a DD.

A few notes on the Bodnar BBI-64:

Its really annoying that Leo didn't follow standard pin numbering for the pins. Leo numbers them from left to right, on both the top and bottom row of inputs:

1607877782733.png

The issue is that for a normal electronic part, the pin numbers should continue around the edge. So, pin #33 should be where pin #64 is shown...then it should count right-to-left along the bottom edge. This doesn't matter if you have all two pin headers, because you can just plug them in anywhere. When I wired up all my encoders, I put them into two-row female header connectors using a standard pin out, and color scheme. However, because the pins along the bottom row are numbered left-to-right...each of the inputs ends up being connected in the reverse order on the bottom edge compared with the top edge. See the pic below:

1607877716861.png


The reason this creates an issue is because the BBI-64 configuration needs the L/R pins of the encoder to be connected sequentially starting with an odd-numbered pin. So, L/R = 1/2, or 7/8, etc.

1607878695730.png


As you can see above, the same dual-rotary-encoder (with Button) connection gets FUBAR'ed when connecting along the bottom row for two reasons:

1. Each encoder pair starts on and Even pin#.
2. The encoder inputs are reversed.

Issue #1 is no big deal...just shift the connection left one pin. Issue #2 is a showstopper. The BBI-64 firmware can't decode the inputs when they are connected R/L instead of L/R. So, any encoder connectors plugged into the bottom row have to have the L/R inputs reversed on the connector to R/L. In order to avoid dealing with this too much, I connected as many encoders as I could in the first 32 inputs.

The rule for connecting encoders always starting with a Odd numbered pin was also somewhat annoying for encoders with a button. Why? Because an encoder has a pair of inputs for each knob, and a single input for the button. So, it will always have an ODD number of inputs (3 for a single encoder with button, 5 for a dual encoder with button). But, ODD+ODD = EVEN. So, you can't put encoders adjacent to each other...you have to leave a single input between them. That's fine as long as you have available singles (push-buttons, or single pole switches). If you have more encoders than buttons/switches...then you may not be able to use every input.

Again, this is only an issue if you do like I did, and put a single connector on the end of each encoder following a standardized pinout. If you just use singles or free-hanging wire for every input then you can do whatever you want. That approach just makes for more opportunity for hookup errors. Which I didn't want to deal with. That's especially true, since I know I'll be taking this apart and reconnecting things as I work through iterations refining it. Connecting 128 pins one-by-one once (and debugging them) isn't that big of a deal. But, doing it 3, 4, 5 or 10 times would really start to get annoying.

1607880592019.png
1607881368219.png


Anyway, I got into a iracing, Legacy Dalara DW12 to go for a test drive. As noted previously, things are a little cramped. But, the logical groups of buttons works very well while in VR. Within 5 minutes I was already reaching to the right locations without being able to see.

The top panel is all In-car adjustments. The middle panel is black-box and pit requests (fuel/tires) operations. The bottom panel is radio controls (Vchat Volume, Crew Chief volume, Xmit channel selects).

1. The panels need to be larger to allow for more separation between the buttons.
2. The panels need to be separated by about an inch to make it easier to know which panel my hand is on.
3. The rows of dual encoders and up/down switches may need some more thought. Its still easy to confuse which control my fingers have ahold of.

Next up will be to decide where I want it mounted and then add the threaded knobs and T-nuts to be able to mount/remove it.
 
Last edited:
Upvote 0
By the way....I'm seriously jones-ing for a 3d printer. I don't mine working in wood and lexan---but the wood wastes a lot of volume. But, I've got similar ideas to @RCHeliguy for making each of these panels and enclosures modular...I'm thinking each panel is in its own enclosure and can slide together with tapered dovetails or bolt together with screws/inserts.
 
Upvote 0
I got the BBox all wired up...And test fit.

View attachment 426705


1. The panels need to be larger to allow for more separation between the buttons.
2. The panels need to be separated by about an inch to make it easier to know which panel my hand is on.
3. The rows of dual encoders and up/down switches may need some more thought. Its still easy to confuse which control my fingers have ahold of.

How about separating the controls and move the ones you don´t need as often to another space, eg next to the shifter?
At least for me the in car adjustments except for the brakebias/TC/ABS encoders are not needed that often.
So they would not hinder my driving when mounted in the "center console"?

MFG Carsten
 
Upvote 0
Whelp. The 3d printer arrived tonight. It's my youngest daughter's birthday...so, I have to wait until tomorrow to open MY present. She is equally excited... But, not by the calibration process...unfortunately.

In the end I got a creality cr-10. At $310 delivered for 300x300x400 build volume, I just couldn't pass that up. I toyed with many different options. But, I couldn't find any negative reviews of the cr10...except noise level. Maybe I'll Maka a few upgrades to make it closer to a prusa... But, they will be upgrades that I deem necessary, and at MY cost.
 
Upvote 0
Hope you enjoy it and I look forward to seeing what you come up with!

I worked out a BOM for my button box at about $426 and that is buying a lot of parts from China and having 6 week ship times. None of this ends up cheap.
 
Upvote 0
Hope you enjoy it and I look forward to seeing what you come up with!

I worked out a BOM for my button box at about $426 and that is buying a lot of parts from China and having 6 week ship times. None of this ends up cheap.

Shhhh!!!! Those don't count. Only the major capital expenditures ever get "accounted".

Rather than clog your thread with 3d printer talk...I have found the CR-10 printed quite nicely right out of the box, once I understood the proper bed/nozzle clearance. It doesn't have auto bed-leveling, but its been running nearly non-stop and I haven't had to adjust the bed since I first got it set right. I did replace the stock bed glass with a mirror tile. But, that was clearly because my initial nozzle height was WAAY too low. I'm sure I could go back to the stock glass now that my height is correct. But, I like the mirror...it has uses. Benchy printed without any obvious flaws on day1.

If I weren't trying to print dimensionally accurate parts, I wouldn't have bothered with anything else, after benchy printed just fine. ...Well, except for basic curiosity about "what does this setting do?" So, I've been printing various printer tests and calibration shapes. Some shapes I've drawn in FreeCAD, others downloaded from Thingiverse. I did some basic XYZ cals, then did some extrusion cals. I had to make some pretty minor tweaks, for things that I wouldn't have even known were sub-par. Then I bought some different filaments...and, started learning how to adapt to a new filament with slightly different print properties.

I've also created a few test shapes to understand the needed design rules for 3d printed parts. I'm getting good at, and annoyed with converting from imperial (my dial calipers are imperial), to metric. So, a set of metric precision tools is on the way....digital, because my old eyes can't read the dial anymore. :-(

Plus there's been lots of learning about the CAD/Slice/Print workflow...and, thinking about how best to organize the myriad of files from the different stages of the process.

I think a lot of people get lost in the modding aspect of 3d printing as a hobby in its own. Those people would do the same thing with a Prusa that they are doing with their $169 special. But as you say, its primarily a tool for me, too. I've printed a few mods that I felt met my needs, and they helped to learn the workflow along the way.
 
Upvote 0
Back
Top