Hackster is hosting Hackster Holidays, Finale: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Tuesday!Stream Hackster Holidays, Finale on Tuesday!
EdOliverVictor Altamirano
Published © Apache-2.0

CoolBreaker: Automotive Smart Circuit Breaker and Switch

Automotive Smart Circuit breaker and switch to increase efficiency in your car's electrical system and prevent electrical hazards.

AdvancedFull instructions provided15 hours1,449
CoolBreaker: Automotive Smart Circuit Breaker and Switch

Things used in this project

Hardware components

CoolMOS C7 Gold SJ MOSFET
Infineon CoolMOS C7 Gold SJ MOSFET
×1
Custom PCB
Custom PCB
×1
Adafruit Feather HUZZAH with ESP8266 WiFi
Adafruit Feather HUZZAH with ESP8266 WiFi
×1
Infineon EiceDriver
×1
Capacitor 100 nF
Capacitor 100 nF
×1
Capacitor 10 µF
Capacitor 10 µF
×1
10R Resistor
×1
3R3 Resistor
×1
DFRobot ACS758 Current Sensor board
×1

Software apps and online services

BlueMix
IBM BlueMix
Autodesk EAGLE
Autodesk EAGLE
Fusion
Autodesk Fusion

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Custom parts and enclosures

Rectangular box used

An example of the box used to setup everything

Coolbreaker Gerbers

For the community to use as they see fit!

Schematics

PCB MASK

Module Schematics

Full circuit

Code

Arduino IDE code

C/C++
Set up everything for the feather HUZZAH following this guide:

https://learn.adafruit.com/adafruit-huzzah32-esp32-feather/pinouts
/*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Social networks:            http://www.fb.com/blynkapp
                                http://twitter.com/blynk_app

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************
  This example shows how to use ESP32 BLE
  to connect your project to Blynk.

  Warning: Bluetooth support is in beta!
 *************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#define BLYNK_USE_DIRECT_CONNECT

#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>

#define LED_BUILTIN 25

const int numReadings = 30;
float readings[numReadings];      // the readings from the analog input
int index1 = 0;                  // the index of the current reading
float total = 0;                  // the running total
float average = 0;                // the average

float currentValue = 0;


// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "4a29e9458d184b7c803322a3b2a80f29";

void setup()
{
  // Debug console

  Serial.println("Waiting for connections...");

  Blynk.setDeviceName("Blynk");

  Blynk.begin(auth);
  Serial.begin(57600);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  for (int thisReading = 0; thisReading < numReadings; thisReading++)
    readings[thisReading] = 0;   
    
}

void loop()
{
  Blynk.run();
   total= total - readings[index1];          
    readings[index1] = analogRead(A0); //Raw data reading
    readings[index1] = (readings[index1]-2048)*3.3/4096/0.04+5.04;//Data processing:510-raw data from analogRead when the input is 0; 5-5v; the first 0.04-0.04V/A(sensitivity); the second 0.04-offset val;
    total= total + readings[index1];       
    index1 = index1 + 1;                    
    if (index1 >= numReadings)              
    index1= 0;                           
    average = total/numReadings;   //Smoothing algorithm (http://www.arduino.cc/en/Tutorial/Smoothing)    
    currentValue= average;
    Serial.println(currentValue);
    

    if (currentValue > 0.28) digitalWrite(LED_BUILTIN, LOW);
    
   
    delay(10);
}

Coolbreaker repo

self explanatory

Credits

EdOliver
38 projects • 74 followers
Engineer, Scientist, Maker. Entrepreneur and Futurist.
Victor Altamirano
25 projects • 81 followers
I am a Biomedical engineer who likes to develop hardware and software solutions.

Comments