Multi Purpose Controller

Description

This is a wireless controller that can be used with multiple devices and projects (eg my drone) using an ATmega644A.
During the development of my drone I needed a wireless controller. Instead of making a controller just for that project I decided to make a controller that can be used for other projects saving me time and allowing me to use an already tested controller for future projects.
The design allows for expansion in the future without rebuilding and flexibility for use in different situations.

Skills

Closer Look

Inputs

The controller has a wide range of inputs, suitable for multiple projects

Circuit Diagram

This is the circuit which uses an ATmega644A, chosen due to the large number of pins needed, most of which are utilised

RGB LED

The LED colour gives an intuitive understanding of the status of the controller

LED colour Meaning
Red Initialising or aborted
Orange Waiting for other device
Blue Standby mode
Green Sending data

Modular Expandability

The controller has a UART connector allowing for add-ons

Creating the Project

Prototype Circuit

This is the prototype board I made for the controller which uses an Arduino Nano:


Validation that the overall design worked.

Lessons learned from the prototype:
  • Limited inputs
  • No expandability
  • Limited feedback to the user

Prototype 3D Prints

I did a few prototype prints in order to get correct dimensions, strength and endurance.


Improvements for next print:
  • Larger holes
  • Thicker joystick stand
  • Thicker base

Improvements for next print:
  • Potentiometer higher up
  • Slight adjustment of hole positions

Final Circuit

Utilising the knowledge from the prototypes (above) I re-designed the controller.

The fully soldered new board:

Note colour coded wires for aesthetics and easy identification

The fully functional controller:

Looking Forward

Files and Links

GitHub repository