|
Fusion 360Autodesk
|
|
|
TinkerCad |
Mini drill PCB_2026-08-28 FINAL
It's an electric screwdriver. I made it because I unscrew things a lot and it makes my hands hurt. It uses a DRV module to spin the geared motor both directions to screw and unscrew. It requires a set of screw heads that have a hex bottom so that it fits. If it doesn't, you can 3d print your own.
void setup() {
///////PINS///////
pinMode(2, OUTPUT); //AIN1
pinMode(3, OUTPUT); //AIN2
pinMode(4, INPUT_PULLUP); //DPDT1
pinMode(5, INPUT_PULLUP); //DPDT2
pinMode(6, INPUT_PULLUP); //PUSHBUTTON
pinMode(7, OUTPUT); //RED LED
pinMode(8, OUTPUT); //GREEN LED
pinMode(LED_BUILTIN, OUTPUT); //Built-in LED for debugging. Turn off while in product
///////INITALIZE///////
//Write every output to LOW
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
void loop() { //Switch LEFT and RIGHT if wrong
if (digitalRead(4) == LOW && digitalRead(5) == HIGH) { //LEFT
if (digitalRead(6) == LOW) {
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
while (digitalRead(6) == LOW) {
if (digitalRead(6) == LOW) {
digitalWrite(8, LOW);
}
for (int i = 0; i < 10; i++) {
if (digitalRead(6) == LOW) {
delay(25);
}
}
if (digitalRead(6) == LOW) {
digitalWrite(8, HIGH);
}
for (int i = 0; i < 10; i++) {
if (digitalRead(6) == LOW) {
delay(25);
}
}
}
} else if (digitalRead(6) == HIGH) {
digitalWrite(8, HIGH);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(7, LOW);
}
} else if (digitalRead(4) == HIGH && digitalRead(5) == LOW) { //RIGHT
if (digitalRead(6) == LOW) {
digitalWrite(3, HIGH);
digitalWrite(2, LOW);
while (digitalRead(6) == LOW) {
if (digitalRead(6) == LOW) {
digitalWrite(7, LOW);
}
for (int i = 0; i < 10; i++) {
if (digitalRead(6) == LOW) {
delay(25);
}
}
if (digitalRead(6) == LOW) {
digitalWrite(7, HIGH);
}
for (int i = 0; i < 10; i++) {
if (digitalRead(6) == LOW) {
delay(25);
}
}
}
} else if (digitalRead(6) == HIGH) {
digitalWrite(7, HIGH);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(8, LOW);
}
}
}
Mini drill PCB_2026-08-28 FINAL
Project images are for reference only. Actual production is based on the manufacturing files on the project page.
Please review the designer's notes (e.g., PCB thickness) and select the appropriate options.
PCBWay is not responsible
for issues caused by unsuitable parameter selections.
For more important ordering information, please refer to
Read More
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Engineer
-
Programmable Mist Maker - XIAO / QT PY Extension
1822 2 2 -
RadioHAT - Raspberry Pi radio development platform
1557 0 3 -
QWIIC-VL53L4CD Time-of-Flight Distance Sensor Module
1768 0 2 -
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
3787 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
4536 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
5341 2 2 -







