Anssi Heikkinen


Week 10: applications and implications

Propose a final project masterpiece that integrates the range of units covered, answering:
What will it do?
Who's done what beforehand?
What will you design?
What materials and components will be used?
Where will come from?
How much will they cost?
What parts and systems will be made?
What processes will be used?
What questions need to be answered?
How will it be evaluated?

What will it do?

It is a button box for sim racing. Idea of the button box came from the fact that most of the commercial racing wheels for wheel bases have very limited amount of buttons and switches to work with. On the other hand most of the simulators have a large amount of essential functions which require a assigned button. The button box is a way to tackle this issue.

Main features are LCD display, pushbuttons and rotary switches. It will be connected to a computer with usb and it should be able to work as a controller/joystick (other devices in win10) instead of a keyboard.

The button box will be mounted on the Clubsport CSW2.5 wheel base. There is 2 screws on the face of the wheel base that can be used for this purpose.

Who's done what beforehand?

Didn't find exactly same idea from previous years, but some people have done parts for this kind of work. For example Peetu created button caps on molding and casting week. Also Christian Reed made caps for the buttons on the molding and casting week.

There is also plenty of commercial and DIY versions. One commercial button box, DSD Button Box Pack for Fanatec Clubsport Wheel has been the inspiration how to make the mounting. This design allows it to be mounted directly on to the wheel base. For the functions, such as buttons etc most of the commercial and DIY versions are close to each other since all of them are mimicing extra buttons available in real race cars.

What will you design?

Case and lid. Trying to make it compact because I don't have lot of space for it.

A PCB to connect all the electronics. Some of the components are not SMD so I have to think a way to connect them to the board.

Designing a program for the buttonbox to be noticed by an OS (in this case windows) as a controller insted of as a keyboard. On some games/simulators keyboard presses can interrupt connected controllers so I am trying to avoid this. Also what kind of information the display will show and how to change between them if there's multiple outputs.

What materials and components will be used?

Additional components will be added in the final bill of materials. It can be found from the final project page.

Where will parts come from?

I will try to use parts from our fab lab as much as possible. Parts which are not available from earlier mentioned sources are bought from a local supplier if possible.

Most of the SMD components, LCD display, PLA and acrylic can be found from the lab. Pushbuttons and potentiometers I will buy from a local supplier.

How much will they cost?

Name Quantity Cost / item (Eur) Total cost (Eur)
ATmega328p 1 1,85 1,85
Pushbutton 6 1,20 7,2
Potentiometer 10K 3 1,01 3,03
LCD display 1 4,99 4,99
USB B port 1 1,10 1,10
USB A - B cable 1 3,80 3,80
PCB board 1 1,22 1,22
Led 1 0,10 0,10
Resistor 220 ohm 1 0,01 0,01

Currently not sure how much PLA and acrylic will cost. Final cost of the materials is probably going to be around 35-40 euros considering the most expensive are the pushbuttons, potentiometers and LCD. Final cost can also be found from final project page.

What parts and systems will be made? What processes will be used?

Currently planning to use one board which has all SMDs on it and also to control all the external devices such as LCD display, buttons and potentiometers.

3D design and printing: Going to design case with Fusion and 3D print it.

2D design and laser cutter: Desinging the lid with Inkscape/Fusion and use laser cutter to make it.

Electronics design and production: PCB.

Input and output devices: pushbuttons and LCD display.

What questions need to be answered?

Which components I need?

What would be good method to create case+lid?

How difficult/time consuming it would be to create a very basic UI to change settings for buttons from computer?

Is there any protocol or standard that allows to map keys and functionalities?

How will it be evaluated?

For project to be success, following features should be covered:

When these are covered, button box can be used in practice which is the main goal.