PCBA Design and Coding

Job ID: 32543546

Budget: $1,500 – $3,000 USD

Goal: design a new PCB including part selection, BOM, board design, coding, debugging. Design to use UL listed components and design layout.
Designed PCB: Using a microcontroller to control the output state of a solenoid, opening, and closing it when certain inputs are met. The solenoid will open (inject) and close on a schedule of 2 minutes on and 2 minutes off a selected number of times & schedule of days. Ex, on and off cycle repeats 10 times, every other day. There will also be a pressure switch which will need to be closed in order for the solenoid to open, if it opens the scheduled solenoid would stop.
Components:
- Microcontroller (Preferably AT Mega 324A or AT Mega 168)
- LCD Display (NHD-C12864LZ FSW-FBW-3V3) to show the current setting as well as the state of:
o Pressure switch
o Solenoid
o Adjustment of settings
- Momentary pushbutton switches to control the schedule
o One for scheduling
 Mode A Standard
 Mode A Eco
 Mode B Standard
 Mode B Eco
 Off
o One for up (hold for scroll)
o One for down (hold for scroll)
- Multiple LED’s for visual indication of states of certain components:
o Microcontroller is receiving power
o Pressure switch is closed
o Solenoid is open/injecting
- 1 momentary pushbutton switches that will increase the duration/frequency of injection. We’re open on different ways to do this programming wise: Shift to 2 & ½ min on and 1 & ½ min off, adding extra cycles, etc. The button will rotate through 2 options: a small 10% increase, a 20% increase & back to no increase.
The solenoid will require a 24vdc circuit in order to open & we would like a built in power supply over an exterior mounted power supply. The final product will be in a weatherproof enclosure & likely hardwired to 110 or 220.
How the solenoid will operate:
- Solenoid will not open if the pressure switch does not detect pressure
- Start of injection cycle to be determined by one of the following:
o If power is on, and the pressure switch is open, when the pressure switch closes the cycle would start. If pressure switch opens in the middle of running causing injection to stop:
 If the pressure switch closes before 24 hrs since start, remaining number of cycles would continue but would not “re-run” the cycles that already happened in that 24 hour window.
 If the pressure switch closes after 24 hrs since start, the number of cycles would re-run and an error would display on the LCD screen that the “pump run time not long enough to fully dose”.
o If power is turned on while the pressure switch is already closed/detecting pressure, the cycle would start immediately. If the pressure switch opens, the solenoid close and stay closed until pressure switch is activated again following the same logic as above for re-starting.
- Boost buttons will increase the amount of solenoid open time by either adding extra cycles or remaining open for longer periods of time.
- System will “reset” the timer? Due to being hardwired or remaining “on” for weeks or months at a time, it should restart or some such method to prevent any issues from occurring. As I understand it this should occur every few days?
Buttons and LED’s will not be directly attached to the PCB, but rather panel mounted with wires that would have connectors such as Molex type. This allows easy assembly and prevents any clearance issues with the finished prototype as well as production/shipping of PCBA.
Components used on other BOM’s we’d prefer usage of:
LCD: NHD-C12864LZ-FSW-FBW-3V3 Product Page & Datasheet
IC/Micro: AT Mega 324A or AT Mega 168