Surface Controller

Hello everyone,

I thought I would post the final results of my HCU:

I went really overboard with the design and programming.

I am also using a 13bit analog input which is sent as 16bit to windows. To give you an idea, the Leobodnard I initially used was 12bits. This is 4096 steps from 0 to 5v. Adding a bit doubles this where I now have 8192 steps from 0 to 5 volts.

My controller is a teensy 3.5 which operates at 120mHz

You can assign up to 64 button output. 6 axis, 17 sliders…

I would be able to assign 128 buttons and 4 hat switches but QGC really doesn’t like it so I had to limit this for compatibility reasons.

I have selector buttons so people can use several channels for tilt ant light. At present, it is set for 3 but I will amend this so the user will be able to add the channels they want.

So lets say, light channel 1 triggers button 12 ans 13, channel 2 uses a slider and channel 3 uses buttons 24 and 25…

Same idea for the tilt functions.

There are no shift buttons on the joystick. You just program the unit to operate in shift mode if need be and it will trigger whichever button you assigned to shift.

This is the config UI:

I also added a free expansion pcb for the ROV so users can use the joystick to its full potential.

This will use the RaspPi USB port and give access to 7 digital I/O and 6 PWM signal.

I will be completing the UI for it this month and I’ll post more info on it.

Cheers,
E.

9 Likes