11 Remotes: Building the Hardware - bjoerngiesler/BBDroids GitHub Wiki
Please check that you have all the parts.

You should have: Right Top Board (blue PCB)
- The PCB itself
- Two potentiometers
- One 6-pin male pin header
- One 4-pin male pin header
Right Bottom Board (blue PCB)
- The PCB itself
- One joystick
- Five push buttons (we only need four, one is spare)
- One On/Off Switch
- One 6-pin female pin header
- One 4-pin female pin header
- One antenna (connected to the XBee board on the PCB)
Left Top Board (yellow PCB)
- The PCB itself
- One display module
- One 6-pin male pin header
- One 4-pin male pin header
Left Bottom Board (yellow PCB)
- The PCB itself
- One joystick
- Five push buttons (we only need four, one is spare)
- One On/Off Switch
- One 6-pin female pin header
- One 4-pin female pin header
- One antenna (connected to the XBee board on the PCB)
Carefully remove the antennas from the XBee modules. Do not pull the connector straight up, it's best to gently angle it up on the side and lever it off. Be careful!

On the boards that have them, break off the wings. These are used for boards that have SMD soldered parts on both sides, not just on one. They should snap off easily. If you find a lot of resistance, use a pair of needle-nose pliers but grasp the wings, not the main board with it!
Turn the board so that the XBee and ESP32 are facing down, and the USB port faces towards you. The side of the board you are looking at is the "up" side, and gets all the components. Please refer to the picture below showing where the parts go.

It is a good idea to solder the parts in the order of their height - you will likely lay the board facedown on the table with a component in place, then tack it by soldering one of its pins, and that is easiest if you start with the lowest components.
- On/Off Switch
- Push Buttons
- 4-Pin and 6-Pin Female Headers (Picture shows Male, that is a mistake!!!)
- Joystick
Note: Make sure all components sit flush with the PCB and are straight. It is a good idea to tack on parts by soldering only one pin, then holding them down to straighten them out while re-heating the solder tack, and only then soldering the other pins. The push buttons and joystick have corrugated pins to take away mechanical strain from the solder joints. These tend to be a bit hard to push in, and it's easy to bend the more delicate connection pins if they are not sitting in their holes correctly. This is especially true for the joystick, which has ten connection pins. Make sure that all of them are seated properly before you solder any of them! Here is a picture with a correct and a bad example. Can you spot the connection pin sticking out on the side, when it should really be sticking down into its hole?

The right remote bottom board gets exactly the same solder job as the left bottom board, but the parts are mirrored (4-pin female header left, 6-pin female header right, two buttons on left instead of right side, power switch on right instead of left side). You'll figure it out :-D
The left remote top board has wings. Break them off carefully!

The side with the SMD soldered push buttons is the top side. This gets the display, which is soldered on from the bottom. The male pin headers will stick out the bottom, so they are soldered on top.

Take care with orientation of the display - it has a MicroSD card reader on one side with a metal SD card holder (that we don't use), that part is going to the bottom of the board. Please refer to the following picture taken from the underside of the board.

The right remote top board only gets two potentiometers (on the top of the board) and two pin headers (on the bottom). This should be an easy solder.


When you're finished with both remotes top and bottom boards, please follow these steps to test. We'll start with the left remote.
- DO NOT CONNECT THE BATTERY YET!
- Plug the top board into the bottom board using the 4-pin and 6-pin header
- Connect the remote to your PC with a USB-C cable. You should see the display turn on with the Bavarian Builders logo, and switch over to a QR code. If you don't, disconnect immediately and check all joints.
- Flash the software (https://github.com/bjoerngiesler/BBDroids/wiki/01-Build:-Software)
- Open a serial console (Ctrl Alt S, or the little plug icon at the top right of the window)
- Wait until you get a "> " prompt
- Enter "remote status". You should get a response like this:
> remote status
Sequence number: 339
Addressing:
This remote: 0x13a200:4216c9d6
Other remote: 0x13a200:4216c94e
Droid: 0x13a200:421cb95f
Joystick:
Hor: Raw 1812 normalized 0.00 calib [ 192..1875..4028]
Ver: Raw 2368 normalized 0.00 calib [ 296..2274..3888]
IMU: OK
Rotation Pitch: 165.81 Roll: -7.50 Heading: 67.36
Raw Acceleration X:0.135986 Y:0.240845 Z:-0.954834
Grav-corrected accel X:0.005445 Y:-0.002135 Z:0.006374
Buttons: 1:_ 2:_ 3:_ 4:_ Joy:_ Confirm:_ Left:_ Right:_
Potentiometer 1: 0.0
Potentiometer 2: 0.0
Battery: 0.8
- If you see no "Error" messages, you're fine :-) You should also by now see the remote schematic on the display. Please refer to the video manual and play around with it.
- If you do see "Error" messages, please check all connections. If everything is OK, please ask in the Facebook group, but please include the full text of the above output.
- Do the same with the right remote. No display here, but the console output should be the same.
- Cut all pins sticking out of the bottom of the top boards (display on the left, potentiometers on the right) very flush. We don't want anything sticking into the LiPo we'll be adding.
- If you want, you can add a bit of Kapton tape covering the pins.
- Make absolutely sure that your battery plug has the correct polarity. Here's the picture. Take a look at the trace. The switch switches the "+" connection (red cable on battery) on both remotes.
- If your cable is the other way around, switch the pins on the connector. You can use a very small screwdriver to push in the metal tab of the individual connection and pull it out. DO NOT SHORT CIRCUIT UNDER ANY CIRCUMSTANCES, this is a fire hazard! Of course you need to pull out both to switch them, so they will have bare metal pins for some time. If you want to be totally sure, pull out the first one, wrap it in tape, pull out the second one and re-seat it on the other side of the connector, then remove the tape from the first one and re-seat that.

- The picture also shows how the battery should nestle between the top/bottom connection pins, and how the cable can be routed. This may be different based on your battery size and length of cable.
- Switch off the remotes before plugging them in. Buzz through the switch pins to make sure.
- With the remotes switched off, plug the battery in, then switch on and check that the LEDs are coming on.
- With the remotes switched on, plug them into USB until fully charged (all green boxes in display green). This can take several hours, the charging circuits are not that strong.
- Add the knurled knob to the left top board's endless pot. It fits on top and gets a very small self-tapping screw on the bottom.
- Put both top boards into the top halves of the cases and screw them in with short M2 screws.
- Reconnect the antennas to the XBees (the smaller SMD daughter boards, not the ESP32s!) on both bottom boards. If you want you can stick the antennas into the bottom halves of the cases, they are self-adhesive, but that's not a must.
- Put both bottom boards into the bottom halves and screw them in with short M2 screws.
- Add the batteries, seating them in carefully.
- Assemble the top and bottom halves of both cases, making sure you don't pinch batteries or cables.
- Secure top and bottom halves with long M2.5 screws.
Congratulations, you've got yourself a pair of remotes! Now watch the video manual to pair and use them with your droid!