Project to build informer using Arduino with character LCD 16x4 and CC2530/CC2652 for communication over Zigbee network.
- send text to a specific line (also can specify column)
- activate LCD backlight by motion (with delay select)
- control LCD brightness level and power mode
- support of Cyrillic and special symbols
- clean entire LCD with one command
- select interval for alarm mode (auto backlight blink)
- change cursor, blink and autoscroll modes
- all LCD setting stored in Arduino's EEPROM
- support lots of environment sensors by PTVO firmware
- Any LCD (compatible with HD44780) with I2C module (PCF8574T) - I used LC1641 (16x4)
- Any Arduino or clones - I used WAVGAT NANO 3.0
- Any Zigbee module, which is supported by PTVO firmware - I used E18-MS1-PCB
- Optional Any PIR sensor with digital out - I used HC-SR505
- Optional Any I2C sensors, which are supported by PTVO firmware- I used BH1750, BE280, CCS881
- If you Arduino board has TTL-USB converter you need to cutoff RX and TX pins from it.
You can simply bend the CH340 legs up
- According to the specification, to connect CC2530 with Arduino, it is necessary to use level shifters (3.3v vs 5v) but CC2530 is tolerant to 5v, so everything works as it should.
- You must add fuses and varistor to AC side of HLK-PM01 for the protection You can use DC-DC convertor or USB cable to power up instead of HLK-PM01
- Arduino firmware:
- to build from sources use PlatformIO
- to upload HEX file use xLoader
- Zigbee firmware
- to build with your options/sensors use PTVO firmware builder
- to flash hex file use CCDebuger with SmartRF Flash Programmer or visit this page to lookup for alternative methods
STL files can be found on Thingiverse
Box | Lid | Legs |
---|---|---|
Command | Direction | Description |
---|---|---|
rX | rx | set line (1-4) |
cXX | rx | set column (1-16) |
Command | Direction | Description |
bXXX | both | set brightness (0-255) |
aXXX | both | set alarm_mode_interval (0-300) |
pXXX | both | set move turn on time (0-300) |
dX | both | turn on/off display (0/1) |
lX | both | turn on/off backlight (0/1) |
qX | both | turn on/off blink (0/1) |
wX | both | turn on/off cursor (0/1) |
sX | both | turn on/off autoscroll (0/1) |
Command | Direction | Description |
kX | tx | PIR move/idle (0/1) |
mX | tx | msg ok/empty (0/1) |
e0 | tx | lcd connect error |
e1 | tx | arg id err |
e2 | tx | cmd format error |