Skip to content

mizutanilab/BluetoothDials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bluetooth Dials

The left one is the USB model shown here and the right one is the former RS232C model. overall

Bluetooth Dials is a wireless input device for operating multiple parameters with dials and buttons. We use this device to rotate 3D structures, move them along the x/y/z axes, adjust the contrast and brightness, zoom in/out, move movie frames forward/backward, and so on. It has dials and buttons and sends your operation through its Bluetooth interface or USB port to your PC. In 1990's, dial/button boxes were commercially available from graphics workstation manufacturers, but today we can't find such multiple-dial devices. The most similar one is Microsoft Surface Dial, but it has only one knob, so it does not meet our needs. Bluetooth Dials is a wireless version of the historic dial/button box. It's compatible with our RecView and MCTrace softwares. We usually use a mouse with the right hand and this device with the left hand to operate our softwares.

Six knobs are used for changing parameters. Two buttons are used for toggling some functions. The lower button is also used for turning on and off the device. The green LED blinks when the Bluetooth interface is ready, or turns on when the link is established.

The Bluetooth interface of this device is RN42 (Roving Networks / Microchip). A host-side interface previously we used is MM-BTUD43 (Sanwa Supply) dongle that seems to have a CSR chip. Built-in Bluetooth interfaces of our laptop PCs also work well with the device.

Firmware

The firmware sends dial/button operations to USB COM port or to virtual COM port associated with the Bluetooth interface. You can find the COM port in the Dialbox dialog of RecView and MCTrace. The virtual COM port number of the Bluetooth interface can also be found from: Bluetooth icon in the lower right -> show devices -> other options -> COM port tab.

In the default boot, Bluetooth sniffing with a 500 ms interval is enabled (RN42 command: SW,0320) to reduce the battery consumption, but a certain laptop seems not compatible with sniffing. The sniffing is disabled by pressing the lower button while setting batteries. If it's connected with a USB cable, the Bluetooth interface gets turned off.

Schematic

schematic
There's nothing special. The MCU (PIC16F1828) receives signals from rotary encoders (PEC11R, Bourns) and push buttons (B3F, Omron), and sends those information through the UART TX line to the Bluetooth module (RN42) and to the USB interface (FT230XS). The device operates with four AAA batteries, or with DC current draw from USB. You can omit either RN42 or FT230XS if it's not needed.

PCB gerbers

Gerber files are available from the gerber folder. Copper should not be placed close to the antenna of RN42, but it was difficult to that in this model.

gerber
gerber gerber
A few blank circuit boards are available (only for researchers of academic institutions).

BOM

ItemDescriptionBrandQTY
MCUPIC16F1828Microchip1
Bluetooth interfaceRN42Microchip1
USB interfaceFT230XSFTDI1
3V3 regulatorS-812C33AY-B-GABLIC1
PMOS FETDMG3415UDiodes Inc.1
LED3 mm green LED-1
Shottkey DSD103APANJIT1
D1N4148Fairchild1
C10u ceramic-1
C0.1u ceramic-2
C47p ceramic-2
R10k-3
R560R-3
R27R-2
EMI filterDSS1NB32A103Murata1
Rotary encorderPEC11R-4215K-N0024Bourns6
KnobRS PRO 777-7296RS6
or11K5013-KMNBGrayhill6
Tactile SWB3F + B32-3000Omron2 each
USB connectorZX62R-B-5PHirose1
PCB connector headerB3B-XH-A(LF)(SN)JST6
PCB connector headerB2B-XH-A(LF)(SN)JST1
PCB connector housingXHP-3JST12
PCB connector housingXHP-2JST1
PCB connector contactSXH-001T-P0.6JST38
Pin header6 pin-1
EnclosureLC135-F4-WTakachi1
orLC165H-M4-WTakachi1
Nuts & boltsM3 x 12 mm, flat head-2~5 each
Spacer3 mm x 5 mm height, resin-2~5
Rubber bumponSJ-53123M2
You may also need tools, such as a crimping tool for XH connectors, a PIC programmer, and so on.

Host side coding

The device encodes dial/button operations into ASCII characters Z/X (CCW/CW of the lower left dial), A/S (middle left), Q/W (upper left), C/V (lower right), D/F (middle right), E/R (upper right), G (lower button), and T (upper button) and transmits them through the Bluetooth interface and to the USB interface. These character codes can be monitored with a terminal software or can be processed with any host-side applications. Please find a code example in files DlgDialbox.cpp and MainFrm.cpp of RecView.

Tips

Rubber bumpons on the device back are essential. Without these bumpons, the device itself rotates when you rotate knobs.
overall

We use connector cables to wire rotary encoders. This is because the encoders often go wrong when we use the device on a daily basis. Wiring with connector cables makes it easy to replace rotary encoders. There would be other workarounds but this seems easiest and cheapest.
inside

Variations

A portable model with a battery charging circuit. It's about 95 x 65 x 35 mm, and equipped with wood knobs for better usability. We purchased them as guitar knobs.
overall

A prototype. It's made from almost the same parts but using a universal board.
overall overall

About

Bluetooth dial box: a dial input device with Bluetooth interface

Topics

Resources

License

Stars

Watchers

Forks

Languages