Skip to content

Commit

Permalink
docs: Improve documentation (#3)
Browse files Browse the repository at this point in the history
* Improve and seperate

* Add schematic and board pic

* Update README.md

* Add front panel io schematic
  • Loading branch information
MatiasG19 authored Jul 1, 2023
1 parent 60d0ab5 commit d25a21d
Show file tree
Hide file tree
Showing 8 changed files with 377 additions and 25 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.drawio.bkp
29 changes: 4 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,11 @@
# Arduino Remote Switch

Remote switch to turn on, off or reset PC.
Remote switch to turn on, off, reset or kill PC via a web interface.

This project is based on a Arduino with a ethernet shield and a small daugtherboard to connect to PC headers by decoupling the two circuits with optocouplers. The power for the Arduino is sourced from the PC's motherboard USB header. The switch interface is hosted on the ethernet shield as a website and can be accessed from anywhere on the network via a webbrowser.

![Web interface](./web.png)

## Getting started

### Hardware

- Arduino Uno
- Arduino Ethernet Shield
- Ethernet cable
- Micro SD card
- Wires
// TODO how many wires?

### Software

- Arduino IDE

### Steps

> **Disclaimer:** Follow these instruction at your own risk.
1. Format SD card to FAT16.
2. Store website (content of `web/src/`) on SD card.
3. Put SD card into ethernet shield.
4. Upload server program `server.ino` to Arduino via Arduino IDE.
5. Turn off Arduino and PC and detach from power.
6. Wire cables between your PC and Arduino like following:
TODO Picture wiring of schematic
Check [what is needed](./docs/ToolsAndMaterials.md) and follow the [build instructions](./docs/BuildInstructions.md) to build this project.
Binary file added docs/Assets/daughterboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Assets/frontpanelIO.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
303 changes: 303 additions & 0 deletions docs/Assets/schematic.drawio

Large diffs are not rendered by default.

Binary file added docs/Assets/schematic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 43 additions & 0 deletions docs/BuildInstructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Build instructions

> **Disclaimer:** Follow these instruction at your own risk.
>
> Also check your motherboard's manual for the available headers, since these might differ.
## Soldering and board installation

![Schematic](./Assets/schematic.png)

1. Cut PCB to the right size if neccessary.
2. Drill two mounting holes into PCB to fit the board at the end of the case.
3. Solder the componentes onto PCB (daughterboard).
4. Screw Arduino with shield and spacers into case (saw spacers to the right length in neccessary).
5. Install daughterboard.
6. Wire daughterboard to Arduino.

![Daughterboard](./Assets/daughterboard.png)

## Installing software

1. Format SD card to FAT16 with [SDcard formatter (recommended)](https://www.sdcard.org/downloads/formatter/)
2. Store website (content of `web/src/`) on SD card.
3. Put SD card into ethernet shield.
4. Connect Arduino to a powerd on PC via USB and the shield to a router via ethernet.
5. Open router configuration, set a static IP range and choose a free IP address.
6. Set the IP address in the `server.ino` file and save.
7. Open Arduino IDE and upload `server.ino` to Arduino.
8. Test if the website can be reached by typing the IP into the webbrowser.
9. Unplug all the cables from the Arduino for the next steps.

## Installing into PC

1. Turn off Arduino and PC and detach from power.
2. Install USB internal header on the PC's motherboard. See your motherboard manual for a free USB header.
3. Wire cables between your PC and Arduino like following and close the case.
4. Connect Arduino to the USB header.
5. Connect the shield to ethernet to router.
6. Restore power to PC again. Arduino should turn on.
7. Open webbrowser on phone to open the website and turn on PC by pressing the power on button.
8. PC should start.

![Front panel IO](./Assets/frontpanelIO.png)
26 changes: 26 additions & 0 deletions docs/ToolsAndMaterials.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Tools and materials

## Materials

These are all the materials needed to rebuild the project:

- Arduino Uno
- Arduino Ethernet Shield
- USB-B to USB-A cable (to power Arduino)
- USB internal motherboard header to USB-A (to power Arduino from inside the the PC case)
- Ethernet cable
- Micro SD card (to store website)
- Set of Dupont cables 100mm and 300mm
- 16x pin headers for dupont cables
- 3x PC817 optocoplers
- Resistors (1x 200 Ohm, 2x 330 Ohm, 1x 1 kOhm)
- PCB 30mm x 55mm
- KKSB Arduino Case for Arduino UNO and Arduino Mega
- 4x M2.5 x 14mm hexagonal nylon spacers (to screw Arduino with shield to case)

## Tools

- Soldering iron and solder
- Drill (for mounting holes on PCB)
- Thin wood saw (to shorten the nylon spacers)
- Screwdriver

0 comments on commit d25a21d

Please sign in to comment.