Hello World,
I’ve been pretty dormant in the Particle community since finishing my capstone project. Stuffing so much new information in my tiny brain apparently necessitated a few year break with that said, i’m ready to start making dumb mistakes again.
I am trying to design my first PCB via KiCAD and was hoping to have some peer review before i spend the INSANE amount of money to get it made.
I’ve designed a small board to help me get the basics down. It’s going to hold two hardware interrupt circuits similar this THIS ONE i posted about some years back.
I prototyped the circuit on a breadboard with the below simple code and it works. Next i put it into KiCad to start designing a small PCB. Before i go to source it I was hoping to get more sets of eyes to make sure I’m not doing anything dumb.
Here is my circuit:
And my PCB layout, it passes the DRC
i decided to use all 0805 footprints because those should be easier to hand solder? I believe all my tracings clear the RF devices at the front of the photon.
With all that said, I think i should be good to potentially waste the four dollars on this board. Any feedback is greatly appreciated.
and here’s the code for what it’s worth
// This #include statement was automatically added by the Particle IDE.
#include <elapsedMillis.h>
#define floatPinTop D6
volatile int flowup =1;
volatile int flowdown=0;
volatile int h = -1;
int laststate=-1;
elapsedMillis timer0;
#define interval 100
void setup() {
Serial.begin(9600);
pinMode(floatPinTop, INPUT);
attachInterrupt(floatPinTop, WaterAbove, CHANGE);
}
void loop() {
//laststate=-1;
if(laststate!=h){
if(h==1){
Particle.publish("TopFloat","FlowingUP");
}
else if(h==0){
Particle.publish("TopFloat","FlowingDOWN");
}
laststate=h;
}
}
void WaterAbove() {
if (timer0 >interval){
if((h==-1) || (h==0)){
h=1;
Serial.println("flowing up");
timer0=0;
}
}
if (timer0 >interval){
if (h==1){
Serial.println("flowing down");
timer0=0;
h=0;
}
}
}