Splashboard V 2.0 IoT


The communication logic involved in i2c seems to be abit complex and may demand more hardware than a shift register to process the communication frame and relay data appropriately. According to the link above



You are right. Any alternatives we could use while keeping pin count low? I’ll do additional research on this too. Is it worth thinking of using an MCU with more pins and ports? It’d get rid of the more complex software needed to manage a shortage of IO pins and would also reduce part count. However, the ATmega’s larger than the 644 are not available in DIP packages, so breadboarding will be much more difficult.



Here’s the breadboard pic. A great URL for explanations is: https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!i2c-connection. The URL provides arduino code. The shift register used is SN74HC595N.

. The Arduino code used here is:

(Preprocessor directives removed to allow posting)

include LCD.h
include LiquidCrystal_SR.h

// constructor prototype parameter:
// LiquidCrystal_SR lcd(DataPin, ClockPin);
LiquidCrystal_SR lcd(2, 3, 4);

void setup ( )
lcd.begin ( 16, 2 );

lcd.print(“hello, world!”);

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 1000);

P.S. There is a floating wire in the pic. Ignore it :). There is also a spare pin left on the Shift Register for Backlight control.



Hey Guys, sorry I have been away, I have gone through aerobot designs and the comments you have had together although not much in detail, I will go through them in detail today for me to catch up and be able to contribute later today.

1 Like


For the connectors i would prefer JST connectors, they interlock well and are small. Find the link below



Thanks Cyrus. Welcome aboard!



Good to have you on board!



JST connectors are brilliant cyrus!



(Off topic ) (deleted)



Thanks guys, will be contributing later today



Michael i would suggest we go with option 2, using PC8575, what do others think?



As we await consensus on components, I tried out a component fit on a PCB of 100mm x 150m and it seems all the components will fit with room to spare, particularly if the coin battery for the DS1307 and its circuits are placed on the bottom layer under the ESP8266 module. The casing could look something like this with that arrangement. It’s a very rough sketch, though - the Red Status LED needs to be in line with the Power LED.

1 Like


Hello Oscar, could also add leds on the relay ports to indicate when the relays are latched?



It’s a good idea.
Adding latching indicators will mean moving up to at least a 64-lead ATmega 1281/2561 with 54 IO lines, or a 100-lead ATmega640/1280/2560 with 86 IO lines.

First, the obvious benefits are that we do away with the LCD shift register (we still have 2 or 4 UART ports, and so may still need to MUX if we go with the 1281/2561) . However, adding the relay latch leds becomes easy, and writing the software is also easier without the multiplexing code.

The costs will be more components, much more difficult PCB routing, and possibly a higher power consumption if we make most of the addition pins available for IO. We might need to re-spec the power supply.

If we decide to stay with the ATmega644, we could show the latch state as a special character in the rightmost space of each line, but this comes at the cost of software complexity.

Which path shall we pick? If we go for a larger MCU, I’d suggest the 2560 - More Flash for bigger programs and 4 UART ports?



I would rather remain with the 644, it poses a challenge n the programming and routing, but on the brighter side i will come out of this more skilled, haven’t worked much with mux so it would be an advantage for me(personal bias:slight_smile:), what do others think?



JST connectors are great idea Cyrus!



Good morning! JST Connectors: http://www.jst.com/home2.html
We need connectors internally to the speaker and the LCD. And externally to the sensor ports - these should be quite rugged, possibly automotive in quality. What specific connectors do you have in mind? I think that the relay connections should remain screw terminals. Thoughts?



Good afternoon, as for the sensor connectors i would suggest BNC connectors, http://uk.rs-online.com/web/p/bnc-connectors/5464853/
Thou they have a large PCB footprint compared to other connectors but they don’t easily disconnect.



As for the relays, the screw terminals can remain



Good afternoon. Thanks for your suggestions. I have a question though - BNC is only 2 terminals, while some of the protocols to external sensors we need/have are carried on three wires. We might also need to power the external sensors with 3v3 or 5v. I’d guess that a port needs to carry at least two signal wires, and power and ground. Furthermore, while digital lines are standardized, we probably need two ports for positive - 3v3 and 5v. So pins per port should be =>5, what do you think?