B8 flight stick

 

 

 

 

 

 

Summary

It is a fully operational Simchair MKIII compatible remix of a very nice B8 flight stick replica, originally by schrodingers_cat. It is designed for use with a new i2c controller. It contains an Arduino Pro Micro inside (sketch included). The trigger has two positions: half-press (intercom) and full-press with a click (radio push to talk). When the trigger is fully pressed, a half-press button is disabled by the software, so your sim will see these two positions as entirely separate buttons.

Components

You will need:

1 x Arduino pro mini board
1 x KY-023 joystick module
1 x USBtoCOM adapter (e.g., PL2303) or another Arduino to program it
3 x PBS-11B buttons
1 x PBS-10B-2 button (trigger intercom)
1 x 12x12x4.3mm TS-1202 button (https://goo.gl/mjpt6T) (trigger PTT)
some wires
1 x m8 x 60 bolt and nut
1m of UTP-5e cable
1m of 10mm aluminum square pipe
6 x m3x20 screws and nuts
1 x m3x40 screw for trigger mounting

1 x Simchair MKIII I2C controller (Arduino Leonardo based) (https://www.thingiverse.com/thing:2919692)
1 x Simchair MKIII cyclic gimbal V2 (https://www.thingiverse.com/thing:2917209)

Hot glue gun

Available mods

none

Special features

  • hot plug support- you can detach and re-attach stick mid-flight
  • sensitivity switching with hat switch button (extreme precision mode)
  • force trim toggle button (the top one by default), emergency trim release (with a hat switch button click)
  • 2-way realistic intercom/push to talk switch, half-press toggles intercom, full-press (click) toggless push-to-talk
  • ‘push-to-talk sends a keyboard key’ option, handy if your external radio work through teamspeak
  • hat switch can be used to make precise adjustments to the cyclic position while trimmed, or as a regular hat switch

Downloads

STLs / sources
Firmware

Assembly

The assembly pretty much consists of joining the halves together, when finished with electronics, and putting a trigger on after that. At first, we need to solder wires to PBS-11B buttons and insert them into their sockets. Bend their legs as shown on the picture below, then solder wires to the innermost areas of contacts (so wires wont be damaged when you will be inserting the button into its socket):

Bend legs of all PBS buttons like this

 

 

 

 

 

 

 

 

 

 

 

 

 

To fit the KY-023 module into the stick, we need to cut off its upper left corner (no worries, there’s nothing useful there :D).

Cut off upper left corner of the KY-023 board

 

 

 

 

 

 

 

 

 

 

 

 

 

Connect everything as shown in “Electronics” section below. Here’s how the result should look like:

 

Wired B8 stick, proper cable management (disregard wire colors except for an ethernet cable)

 

 

 

 

 

 

 

 

 

 

 

 

 

PTT TS-1202 button is glued with hot glue to the left half part just under the PBS-10B2 tip, which goes into the trigger (adjust its position so the PBS-10 button tip will push to the center of it). Fix wires with hot glue (make sure screw holes are not covered with wires!), add some glue to an ethernet cable. After joining halves of the stick together and tightening (be gentle!) screws, attach a trigger with m3x40mm screw. Insert the screw to around 80%, add a small drop of hot glue to fix it in place, insert it fully, wipe any leftover glue with a paper towel (use a knife if needed, hot glue can be removed easily). Put an M8 washer and a nut on a bolt that protrudes from the bottom of a stick.

Adjust stick height to your liking, cut the aluminum pipe accordingly, then route an ethernet cable through the pipe and crimp it as a regular ethernet cable.

Here’s how assembled stick looks:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Choosing a stick frame (IKEA GUNDE chair)

After the stick grip is assembled, it’s time to choose a stick frame for it. There are two options: bolt-on ergonomic, adjustable stick, or a light detachable one.

 

 

 

 

 

 

 

 

 

 

 

 

The main difference between them is, that bolt-on variant suits better for a spring loaded cyclic, while the detachable version is better with a non-centered one. Both variants are perfectly flyable with either version of cyclic gimbal though , so the only thing to decide is whether you  need to be able to remove the lever by simply pulling it from its socket, or you can live with a thought you have to use 2 wrenches to attach or detach it.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Alternatively, you can just mount your cyclic gimbal to the floor and use a 8mm threaded rod to connect the stick grip.

Electronics

Connect buttons and the pot board to an Arduino as follows:

POT BOARD VCC to PIN 10
POT BOARD GND -> Arduino GND
POT VRx -> A0
POT VRy -> A1
POT BOARD BUTTON – PIN 2
TOP (TRIMMER) – between PIN 3 and GND
MIDDLE (FIRE) – between PIN 4 and GND
BOTTOM – between PIN 5 and GND
TRIGGER INTERCOM – between PIN 6 and GND
TRIGGER PTT (full press) – between PIN 7 and GND
A4  (SDA) -> ethernet cable blue wire
A5  (SCL) -> ethernet cable green-white wire
VCC -> ethernet cable orange-white wire
GND -> ethernet cable orange wire

 

After soldering everything, put the Pro mini board into its socket, organize wires, put an M8x75 bolt with a nut into its place, and finally screw the halves together.

Downloads

hc625ma.org

thingiverse.com

Simchair MKIII I2C latest software on GitHub

16 Replies to “B8 flight stick”

  1. Hi Alexey – just assembling the flight stick. Unclear for me is how the KY-023 is connected to the Arduino. The KY-023 has GND and +5V as inputs and as outputs VRX, VRY and SW. According to your description SW to PIN2 ( which is D2 ? ) , but what dou you mean with “POT BOARD VCC to PIN 10” ? Do you mean VRY to PIN10 ( A10? ) ? Is VRX not used?

    Guido

    1. Hi Guido! You can just connect the pot board (KY-023) VCC and GND together with other 5v and GND wires respectively, or you can connect its VCC to digital pin 10 (it’s set to HIGH which is 5v in firmware). PIN2 means D2, PIN3 means D3 etc. VRx goes to A0, VRy goes to A1 =) Missed it somehow in the manual, will fix, ty for noticing it!

  2. Hi Alexey – I am putting together a flight stick and I’m having trouble getting pin 3 to work on the pro mini (Top trimmer). I have tried it on 2 different minis and getting the exact same thing; not registering in the joystick configuration. All other buttons and axes are working perfectly. I looked at the code for b8_stick and didn’t notice anything out of the ordinary. Just wondering if there is something I might be missing? Thanks for any help you can provide.
    Also have built the cyclic gimbal and am still looking for appropriate springs. Just wondering if anyone has sourced a good spring alternative in Canada.

    1. I found some springs at the TSC store in ontario canada – they look like they may be perfect! They have a whole section of springs in their store for farm equipment.

      I’d love to hear how your build is going and where you sourced parts! (also in Canada!)

      Get a hold of me at telemole@gmail.com or by following my name’s link! thanks!

  3. Hi! This is intentional because of the nature of how the trim works! It is incompatible with joystick button function, so it doesn’t register in joy.cpl!

    You can check that it works by either Serial.print’ing its value, or just by looking at the axis cross -it will freeze when the button is pressed and will only unlock when the stick is returned to its physical center (spring loaded cyclic force trim mode) or when the trim button is pressed again and the stick will be back within force trim disengage radius from the trimmed position (springless cyclic adaptive force trim mode).

    To make it work as a joystick button, you can also disable force trim completely.

    I have to write more about it definitely, as it’s not only a major feature but also flying with springs and not using it won’t be realistic! Will try doing it tomorrow.

    Cheers!

    1. Great thanks!! Got it working now; pretty cool feature that I wasn’t expecting. I’m curious if the thumbstick has something to do with trim as well. It doesn’t seem to register as x and y axes or any of the sliders in the joystick config. Thanks.

      1. The thumbstick is used to switch between sensitivity settings (100% and 80% by default), also 2 clicks reset the trim position (emergency trim release, only use it as a last resort if you can’t unlock controls as it will cause a sudden attitude change that may over G the airframe).

        80% sensitivity setting is good for flying 407 in X-plane, 100% is better for smth like 206 or 412 =) Note that 80% will map your sensor range to a reduced axis range thus limiting your controls travel to 80% of axis range, but axes will stay linear. That’s fine with almost any helicopter (but sometimes can be a problem in DCS Huey if you want to fly very fast). Anyway, it’s a nice addition to curves (in fact, is better than curves for helicopters as the stick is never centered) that are present in any sim, and an ability to switch modes with a button is quite handy =)

  4. Hello Alexey!
    I am considering to build the simchair and am currently looking for where to buy the necessary parts.

    Is this the correct spring for the stick-centering mechanism?
    https://www.lada.shop/en/2101-3504094.html

    It says it is for the lada 2101 brake pedal, however I cannot find one for the clutch pedal (could it be the same part?). Do you know the exact part number?

    Thanks,
    Maximilian

    1. Hi! The brake pedal spring will be way too strong. The part number ot the clutch pedal spring should be 2101-1602094. It seems like it’s also used on Chevrolet Niva, maybe Lada 4×4 as well (not sure about the latter though). If you wont be able to find it, let me know, I can buy it here for you and ship to your location. Shouldn’t be too expensive considering its weight =)

      Theoretically, any other similar spring should be fine, it just shouldn’t be too stiff.
      Spring dimensions:

      1,2mm thick, 11,5mm diameter, 53,7mm height without hooks, ~81mm with hooks when squeezed

      Cheers!

  5. It would be great if you could send me the springs 🙂
    Please send me an email with the price (shipping to austria), and I can send you my address.
    Thanks!

  6. Hi Alexey!

    I have started to print te first parts and to assemble the B8 grip.
    I just had a little problem with the small space inside the grip, I could not easily fit all the cabling and micro controller inside.
    I think it would be a bit easier, if the right halve of the grip would also have a small recess to fit everything inside more easily.

    By the way, what is the actual diameter of the M8 reinforced washers?

  7. Hi!

    Another guy recently told me he had some problems fitting stuff there as well =) I will add some space to it when I will be making another grip (which will be quite soon I think, in around 2 weeks).

    Reinforced washers are 23.8mm in diameter.

    Cheers!

  8. Great job with this guide. Didn’t have any issues with space on my end personally. However the KY-023 doesn’t show up as anything when I open DCS, windows joystick calibration, etc. I logged the serial output of the y and x axis as well as the button and they are correctly showing up in the serial logger, but nothing comes through once the cyclical is plugged in to the master controller.

    Any idea what could be up? Its definitely software related.

    1. Thanks! This is intentional 😀 The hat switch of the B8 stick is set up as cyclic trim by default. It makes very small adjustments to the current stick trim position. That means, you can’t assign anything to it when you’re using a spring-loaded cyclic (but you can if you’re using a springless one, which works slightly differently – please check the force trim tutorial), To be able to assign in-game functions to it, change “ATT_TRIM” in the line:

      #define B8_HAT_SWITCH_MODE “ATT_TRIM”

      to “HAT”, but you won’t be able to adjust the cyclic trim position with it anymore =)

      Cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.