STM32F103C8T6 Bluetooth-Controlled Arcade Joystick Interface
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary of the Circuit
This circuit integrates a Bluetooth module (HC-06), a microcontroller (STM32F103C8T6), a joystick (Adafruit Arcade Joystick), and a battery case to create a wireless control system. The Bluetooth module allows for wireless communication, the STM32F103C8T6 microcontroller processes the inputs from the joystick, and the battery case provides the power supply for the circuit.
Component List
Bluetooth HC-06
- Description: A Bluetooth module for wireless data communication.
- Pins: VCC, GND, TXD, RXD
STM32F103C8T6
- Description: A 32-bit microcontroller with a wide range of I/O pins and capabilities.
- Pins: GND, 3.3V, reset, B11, B10, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0, C15, C14, C13, VBT, 3.3, 5V, B12, B13, b14, B15, A8, A9, A10, A11, A12, A15, B3, B4, B5, B6, B7, B8, B9, SWIO, SWCLK
My battery case
- Description: A case that holds batteries to provide power to the circuit.
- Pins: +, -
Adafruit Arcade Joystick
- Description: A joystick with multiple directional controls.
- Pins: COM, N, S, W, E
Wiring Details
Bluetooth HC-06
- VCC: Connected to the 3.3V power supply from the STM32F103C8T6 and the positive terminal of the battery case.
- GND: Connected to the ground (GND) of the STM32F103C8T6 and the negative terminal of the battery case.
- TXD: Transmits data to the STM32F103C8T6 (pin B0).
- RXD: Receives data from the STM32F103C8T6 (pin B10).
STM32F103C8T6
- 3.3V: Provides power to the Bluetooth HC-06.
- GND: Common ground for the circuit.
- B0: Receives transmitted data from the Bluetooth HC-06 (TXD).
- B10: Sends data to the Bluetooth HC-06 (RXD).
- b14: Connected to the North (N) direction of the Adafruit Arcade Joystick.
- B15: Connected to the Common (COM) pin of the Adafruit Arcade Joystick.
My battery case
- +: Provides power to the circuit, connected to the VCC of the Bluetooth HC-06 and the 3.3V of the STM32F103C8T6.
- -: Common ground for the circuit, connected to the GND of the Bluetooth HC-06 and the GND of the STM32F103C8T6.
Adafruit Arcade Joystick
- COM: Connected to the B15 pin of the STM32F103C8T6.
- N: Connected to the b14 pin of the STM32F103C8T6.
- S: Connected to the ground (GND) of the circuit.
- W: Connected to the VCC of the circuit.
Documented Code
There is no code provided for the microcontroller in this circuit. The code would typically handle the initialization and configuration of the microcontroller's peripherals, read inputs from the joystick, process the inputs, and communicate with the Bluetooth module to send the processed data wirelessly.
For this circuit to function as intended, embedded code for the STM32F103C8T6 microcontroller is required. The code should include the following functionalities:
- Initialization of the microcontroller's I/O pins.
- Configuration of the UART interface for communication with the Bluetooth module.
- Reading the state of the joystick and debouncing the inputs.
- Sending the joystick's state via Bluetooth to a paired device.
Once the code is developed, it should be documented here with explanations for each function and routine.