Splashboard V 2.0 IoT


Last Page. Page 12. The User interface. Some Notes: The LCD LED is MCU controlled, just to prevent it being on all the time; The buzzer circuit is designed to be LOUD, and is powered by a PWM pin, so different sounds can be generated.

Comments, better components and techniques are very welcome! :slight_smile:


Hello aerobot, some good work here! what software have you used in the design?


Okay Guys, let us look at aerobots design step by step to learn/grasp concept of design, and see if it can be improved


For every design, we have the block diagram as the very first step to capture the idea. then we later think deeper and specialize on each block to design the elements that drive its operation

Let us look at aerobots block diagram. What questions do you guys have on this design?

Mean while; here is an excellent brief introduction to some of the micro-controller communication protocols involved in this design. >> https://www.swarthmore.edu/NatSci/echeeve1/Class/e91/Lectures/E91(10)Serial.pdf
The big advantage behind the use of these protocols in design is simplicity of hardware. Very few micro-controller pins are utilized.


Thanks Michael, and thanks for the link - it’s a great resource.


If it helps, I’ve put all the components into a single schematic. Find this helps as I begin to think of the next steps.


Great.! quick question on design concept - why do we have both SPI and UART ports for programming?
What if we select only SPI - could we be able to cut cost and reduce sofware complexity by eliminating Multiplexer 1, not compromising on quality and functionality but still get things running (its a suggestion - what do you think?)


Hi, the only reason I wanted an additional UART for programming was to support USB port programming. The benefits of programming over USB are primarily doing away with the need for an external ISP programming module, and perhaps protecting a custom bootloader from inadvertent tampering. But this is just a suggestion. Like an Arduino, we could have both USB programming and and expose the ICSP header.

Anyway if we dedicated one UART port to the ESP8266 module for data transmission, it means we only have one port for sensor input. Because it’s likely that external sensors connected to module only transmit sporadically, it would be a pity to physically bind a single sensor to the one remaining UART port permanently.

So, to have at least two sensors available I thought we could multiplex the second UART. And it follows that we could easily do the same for UART 0 because the code would still have to written for UART , and as a bonus gain the ability to add yet another sensor.

It really just depends on how many serial sensors we might expect to connect at one time. If desired, I can happily remove the USB port and one or both MUX chips.


Based on your argument, I think its a good idea. We go by your block diagram


Looking at your power supply, your analysis of power requirements is very neat! ( https://discourse-cdn-sjc2.com/standard14/uploads/gearbox1/original/1X/6bf29fe4288731ac384d3002ec70c835ea218de1.png )

I have searched and found these datasheets for each component you chose. I suppose the current estimations for each component you derived them here:-

  1. Atmega644 - http://www.atmel.com/images/doc2593.pdf
  2. Esp8266 - https://cdn-shop.adafruit.com/datasheets/ESP8266_Specifications_English.pdf
  3. LCD 2004 - https://cdn-shop.adafruit.com/datasheets/TC2004A-01.pdf
  4. RTC (Real time clock) - http://datasheets.maximintegrated.com/en/ds/DS1307.pdf
  5. 4 Relays - https://www.ghielectronics.com/downloads/man/20084141716341001RelayX1.pdf
  6. SMD LEDS (3 Units) - https://www.led-tech.de/en/SMD-LEDs_DB-2.pdf
  7. Transistor Array - http://www.ti.com/lit/ds/symlink/uln2003a.pdf
  8. EEPROM 24LC206 - https://www.sparkfun.com/datasheets/IC/24LC256.pdf
  9. Shift register 74HC595 - https://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf


So we have the maximum expected current as 3Amps. Switch Mode Power Supply(SMPS) is a Perfect choice when we look at its power conversion efficiency & circuit compactness. http://www.radio-electronics.com/info/power-management/switching-mode-power-supply/basics-tutorial.php compared with common linear power regulators http://www.futureelectronics.com/en/regulators-references/linear-regulators.aspx Heat wasted is less. We may not even need to include a heatsink

Here is the datasheet for the buck(step down) converter IC Sims has chosen. Anyone with a different opinion? http://www.ti.com/lit/ds/symlink/lm2576.pdf


Here is also the 3v3 voltage regulator aerobot has suggested for powering the wifi module. http://www.ti.com/lit/ds/symlink/lm1117.pdf


Design suggestion, looking at the datasheet specifications of the 3v3 regulator ( http://www.ti.com/lit/ds/symlink/lm1117.pdf), it seems the regulator can handle upto 15V maximum unregulated input. What if we have the 3v3 regulator directly feeding from 12V rails. i suppose it may free up some loading on the 5V Switch mode Regulator allowing us more capacity to handle many input sensors powered from the board, what do you think?

               _power supply design extracted from above designs for reference_


Correct! The exact sheets I used.


The LM2576 was chosen because of it’s high efficiency in reducing the input voltage of 12v to 5v. If I remember correctly, it’s about 96% efficient.

The LM117 (3.3 version) can also reduce the 12 volts to 3.3 but we would need a big heatsink and it’s wasteful of power: (3.3/12 = 27.5%) The other 72.5% of power is dissipated as heat.

But, connecting to the 5v output of the switching regulator (which is OK according to the datasheet), gives us: (3.3/5 = 66%). This is not so bad - about 34% loss to heat.

Of course, we could also just use another LM2576 for 3.3, but because we are budgeting for 800mA -1A, it could be overkill in components, especially as we might need another ripple filter.


It is an overkill to have another LM2576 for 3v3 supply. Good decision. we can avoid bigger heat sink and excessive power loss this way, I have also noted we will be having more than 200mA extra for powering any extra sensor to be added in the future, taking to account what we already have now.


Are there any thoughts on board size? I’m guessing it’ll be rectangular, but are we letting the component count size it, or is there a target shape/size that we are working towards? Also, what kind of connectors do we think would work for the ports (please provide part numbers)? Are the LCD and Speaker mounted on the PCB, or are they connected by flexible cables?


I suppose the best way would be to let the board size be determined by the component count, but in pcb design we optimize on compactness by ensuring good component choice and placement. Of course we also dont want it to be bigger than 15*10cm. We can say this is the absolute limit. lets target something smaller. Board shape can be rectangular


Connectors and ports we can commit to individual research. Then we can post suggestions and links of what we found here, of course with justification. Then we jointly decide on the best to go with


Have you ever tested this concept of LCD connection on a bread board?

I see you are controlling the 2004 LCD with a serial in parallel out shift register, 74HC595 using I2C protocol.

working principle of serial in parallel out shift registers
74HC595 datasheet
I2C Communication Protocol