hippy
Posts: 10230
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

"Day Clock" as a Display Peripheral for a Pi

Sun Sep 20, 2020 6:19 pm

There are a lot of digital clocks these days marketed towards those suffering from dementia or visible visual impairment. Though they all offer a variety of functionality many seem to be based on a common "Digital Calendar Day Clock" design; a 4:3 8" colour LCD, an AllWinner F1C100S processor with an exposed USB-A socket for 'firmware upgrade'.

I am sure there's a factory in China churning out boards and frames by the bazillion for various OEM's who silk-screen brand them, do their own programming from USB memory stick, then flog them on -

https://www.google.com/search?q="digita ... day+clock"

The F1C100s is a SoC, described as an ARM926EJ-S (ARMv5TE), 533MHz with on-board 32MB DRAM. It's what the Lichee Pi Nano uses, is capable of running Linux, and can be found in all manner of e-readers, digital picture frames and the like. It's dated but reasonably capable but what caught my eye was it supports USB OTG.

I'm not going to suggest running Raspberry Pi OS on it - though that or any Linux would be cool - but was speculating that it could be used as a Pi display peripheral via USB, or by hacking the board to expose UART or any of the other interfaces the chip supports.

Key to that though is figuring out how to program it and get a program boot-loaded into it. I haven't found much on that front while searching but there must be an SDK or tools for OEM's to reprogram or configure them somewhere.

If anyone has any useful info I'm all ears.

BTW, the only identifying marks I can find on the PCB's of the ones I have is "DAY CLOCK V1.93" with varying version numbers, nothing identifying an actual manufacturer or developer. It's a pretty generic PCB with connectors for touch screen, IR input, on-board aerial for RF, WiFi or Bluetooth. There's a 3 x 0.1" header which I'm hoping is UART.

If anyone acquires one and wants to open it up; the trick to prying the case apart without snapping the clips, at least on mine, was raising the front bezel surround to release the eight clips. so finger nail or more appropriate tool facing towards the front.
Last edited by hippy on Mon Sep 21, 2020 9:37 am, edited 1 time in total.

msl
Posts: 190
Joined: Tue Jul 07, 2020 9:12 pm
Location: Munich
Contact: Website Twitter

Re: "Day Clock" as a Display Peripheral for a Pi

Sun Sep 20, 2020 6:53 pm

You can try to find manufacturer by posting request on Alibaba, but no one guarantees that you get IDE before you pay or reply would be from manufacturer, rather than another 3rd party brand-printing-garage

As to use it as display... it has roughly the same price as 7” HDMI displays but significantly cheaper than Nextion HMIs, so it’s not pointless here

hippy
Posts: 10230
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: "Day Clock" as a Display Peripheral for a Pi

Mon Sep 21, 2020 9:33 am

msl wrote:
Sun Sep 20, 2020 6:53 pm
As to use it as display... it has roughly the same price as 7” HDMI displays but significantly cheaper than Nextion HMIs, so it’s not pointless here
These are extremely expensive in the UK if bought new through pharmacists or health care businesses; £60 for the basic version but the price is falling as Argos and others now stock them.

They tend to enter the second-hand market when their owner passes on and new recipients can find no use for them.

I have been picking them up for under £5/$6 second-hand and that's definitely a bargain for a Linux capable board with an LCD and begging to have some useful Pi-related use.

Seeking Sooth
Posts: 85
Joined: Sun Aug 23, 2020 7:03 pm

Re: "Day Clock" as a Display Peripheral for a Pi

Tue Sep 22, 2020 7:26 pm

If there was an implementation plan, these might make a frugal source for a 'magic mirror' or office reminder.

It would seem a worthwhile project.

It might be overshadowed by projects like hacking the Amazon Echo and other smart devices...

hippy
Posts: 10230
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: "Day Clock" as a Display Peripheral for a Pi

Tue Dec 29, 2020 4:43 pm

Finally got around to connecting to one of the clocks - DayClox, CTK-F3311 Ver 3

The solder pad connections do seem to be for a UART module as previously speculated ...

Code: Select all

  O  - Ov
  O  - RX to PCB ?
  O  - TX from PCB (3V9)
 [O] - VCC (3V9) ?
Because the voltages were 3V9 I set my serial module to 5V rather than 3V3 and did not connect the module's TX to the PCB's RX - Wasn't sure how safe that would be. Will have to check to see if my module can use external Vcc.

Turn-on, boot-up, output is idle-high, UART polarity, 115200,N,8,1 ...

Code: Select all

Brec_MainV080 2009-8-21
SYS SPIDIV:2
BEGIN WELCOME
«0D»
GET EASY.BIN OVER
«0D»
value:00
OS_Loader
 mmu_num_mods: 0x6900000
 mmu_min_virt_addr: 0x100000
 mmu_region_phy_addr: 0x3f000
 mmu_region_size: 0xc0000
 vma_flash_drv_start: 0x80015a40
 vma_flash_drv_end: 0x3d60
 sys_heap_start: 0x800197a0
 sys_heap_size: 0x25860
 mmm_heap_start: 0x8003f000
 mmm_heap_size: 0x00
  FileName:  %s
  Attr: 00
  Version: 00
  Offset: 171
  Size: 77824
  Checksum: 0x1e79210c
  FileName:  %s
  Attr: 00
  Version: 00
  Offset: 324
  Size: 4608
  Checksum: 0xe8cb1ba9
  FileName:  %s
  Attr: 00
  Version: 00
  Offset: 384
  Size: 15872
  Checksum: 0xda98d8cf
serial is ok!
sys_heap(8001b7a0,00023860)
mmm_heap(8003f000,00000000)
Start installing FLASH DRV at 0x80015a40
set SPI_CLKDIV:2 value
TEMP_BUF=a0019670
Read Identification: c22016
CMU_COREPLL: 86a90dd
CMU_BUSCLK :     390
SDR_CTL:   f0130
SDR_CLKDLY :c0000014
SDR_TIMING : c92814a
SDR_AUTORFC      4fc
SDR_EN:       1
SDR_MODE :      32
SDR_PD:       0
SDR_INITD:    ffff
Maker MX
type:0,Cap:1024
snor080 enter usr_mode,last status:0
the ret value after flash_init : 0
VMA_SYS_MMU_TABLE@0x80103d10
mmu_min_virt_addr: 0x00100000
mmu_num_mods: 0x06900000 -> 105
sys_heap: 0x23860@0x8001b7a0
mmm_heap: 0x00000@0x8003f000
Easy table entry:0xa021c000
mmu_region: (0x0003f000:0x0021c000)
Size of MMU management buffers: 2396
OS start
easy.bin len=0xc00,EASY_TABLE_ADDR=a021c000

Easy config
chip detect error 6
fbaddr a0f159e0 guiaddr a0e2b3a0

cant find ez_global.bin
taskconfig GetAppInfo is called !
low power check bat=0x0
version:0000.0000.CLOload driver
GetDrvInfo is called !
vram ok
iTFTPowerGpio =[255]
iBackLightSwitchGpio =[255]
iBackLightPWMrGpio =[255]
********************eLCD_PadType=[7]
width:[800],height:[600],eLcdType:[1]
LCD_DisplayClk=[65]
VideoDCLK=[40]
iPixelWidth=[1]
iPixelHeight=[1]
PanelDataPadDriver=[0]
@@@@@@@@@@@eLCD_VGFmt=3
@@@@@@@@@@@tmp=[0xff]
eBLSwitch_Fmt=0,eBLAdjust_Fmt=0
CMU_DEVCLKEN = [0x7f0c567]
CMU_LCDPLL = [0x10d52159]
CMU_DISPLAYCLK = [0x5081]
@@@@@@@@@@@@@E_LCDOUTPUTFMT_18P
No LCD Panel Power Control 255
fb_drv.c 2865 BL_CTL=[0x2a32]
fb_drv.c 2866 CMU_FMCLK=[0x528]
fb_drv.c 2867 GPIO_MFCTL1=[0x5022422]
---------------fb_drv.c 3211-----------
 ---------------fb_drv.c 3214-----------
 ---------------fb_drv.c 3304 LCM Success
 lcm ok
paletteOffset  57   paletteInfo100004
 osd 4bit mode
gui.drv v1.0.0.2
initCharInfoBackPara entry--16
wait for osd init
osd init ok
gui ok
com_ui ok
act213xfb_display_log
act213xfb_display_log
lcm_for_gui.c 1408 sContrast = [0],sBrightness = [0],sSaturation=[0],sHue = [0]
fb_drv.c 1233 BL_CTL=[0x2a03]
fb_drv.c 1234 GPIO_MFCTL1=[0x5022022]
 TmpCard.dwData:0,
CardType.SD_ON_En:0
carddet GetDrvInfo is called !
===carddet.drv  2010-02-25A,AL1207 AM12070001 ===
SD Det is:255,PWR:255,WP:255
XD Det is:255,PWR:255
CF Det is:255,PWR:255,OE:255
CF_ON:0,SD_ON:0
MS_Bus:0,CFBus:0,INT_RWFlag:0
carddet ok
FSinf[FS_Dev_Register]:FS_Dev_Register dev:0091698c

FSinf[FS_Os_ParseBpb]:FS dev:0x10010000

FSinf[FS_Os_ParseBpb]:FS Clustsize:512 BytePerSec:512 SecPerClust:1 perSec:1

FSinf[FS_Os_ParseBpb]:FS FAT12 
FSinf[FS_Os_ParseBpb]:TotalClust:335

fs ok
mlang ok
iic drv ok
mnavi ok

key init, ra=80002d44
multi function 1 === 0x5032022
request irq ok
custome code : H=0x0,L=0xff
OpenCfgFile is called!
FSerr[FS_Fat_act_OpenFile]:n:
key_cfg.cfg
6b 65 79 5f 63 66 67 2e 63 66 67 00 
open key_cfg.cfg file failed!
IRQ_KEY 13
key int mask 0
KEY_CTL 36fc0000
CMU_DEVCLKEN 7f0c567
fail to init drver key.drv !
key ok
ada gpio 255 1
ada ok
is vbus detect:1
otg_idpin = 255
vbus_check/drv_vbus = 255
usb_init:181
usb_init:220(idpin=255,vbus_detect=1, vbus_check=255)
usb_init_vbus_gpio:1
set_gpio_vbus:126 0
set_gpio_vbus:135-255failed
drv_vbus(gpio38)=0
charge ok
all drivers have been loaded

----------vram ok:12351a90,vol=5:7
taskconfig GetAppInfo is called !
FSinf[FS_Dev_Register]:FS_Dev_Register dev:0091698c

FSinf[FS_Os_ParseBpb]:FS dev:0x10010000

FSinf[FS_Os_ParseBpb]:FS Clustsize:512 BytePerSec:512 SecPerClust:1 perSec:1

FSinf[FS_Os_ParseBpb]:FS FAT12 
FSinf[FS_Os_ParseBpb]:TotalClust:335

FSinf[FS_Dev_Register]:FS_Dev_Register dev:00916a9c

FSerr[FS_Os_ParseDev]:dev[0x10040000]cap is 0

FSerr[FS_Dev_Register]:err dev:0x10040000
FSinf[FS_Os_ParseBpb]:FS dev:0x10050000

FSinf[FS_Os_ParseBpb]:FS Clustsize:512 BytePerSec:512 SecPerClust:1 perSec:1

FSinf[FS_Os_ParseBpb]:FS FAT12 
FSinf[FS_Os_ParseBpb]:TotalClust:4080

user private disk register ok
private symbol is D
 card type :0
mainswf is D:\main.swf
2D IRQ = 1, b0048000:80000
init_meap(8022e840,032000)
Call APi Reigsiter
Call APi Reigsiter
[CheckUI disk:]=D:\
swf check over
FileName:8001de30,buffer:8001dd20,80029374
main lan =1[4]
 start detect 318[4]
swf name1111111111=calendar_en.swf[4]
CurrentMC/load_mc0[4]
load clip D:\calendar_en.swf
The font has layout information
 Color_Mode = 0[4]
SystemInfo.getDateMode()===0[4]
languageArr len =8[4]
=== setlangFun===[4]
Day_Date====4[4]
 bl===5
fb_drv.c 1233 BL_CTL=[0x2a03]
fb_drv.c 1234 GPIO_MFCTL1=[0x5032022]
set standby_enable
Unfortunately no "Welcome to Linux" or any login prompt. And from references to "D:\", "mainswf is D:\main.swf", "load clip D:\calendar_en.swf", I guess it might not be Linux, may be running Shockwave Flash or equivalent.

Unfortunately, with RX not connected I couldn't send any key press to see if that presented any sort of shell.

Plugging a random USB memory stick in presented ...

Code: Select all

enter a_fsm
a_plug_process:902
act_setUsbStat:stat=0
plug:4197

[Kernel]task[22],stack=[198ffc:198000]
act_setUsbStat:stat=0
<nand pad> MU_REG1:0x0
<nand pad>!!now MU_REG1:0x0
<UOC_IRQ> int 01,id 0

[Kernel]task[1],stack=[1a2ffc:1a2000]
<UOC_IRQ> int 04,id 0
AH:02-03
ManagerVars cardtype=0x0
debounce:total 120ms stable 120ms status 0x101
usb_alloc_dev:sem a
__hotplug_event:msg=11

[Kernel]task[10],stack=[1b2ffc:1b2000]
FSinf[FS_Dev_Register]:FS_Dev_Register dev:00916ae0

ep->maxp:512,ep->mask:11
ep->maxp:512,ep->mask:1
test-disk: Write Protect is off
test-disk: Mode Sense: 45 00 00 08
__hotplug_event:msg=88
FSinf[FS_Os_ParseDev]:FS Has MBR.

FSinf[FS_Os_ParseBpb]:FS dev:0x10100000

FSinf[FS_Os_ParseBpb]:FS Clustsize:4096 BytePerSec:512 SecPerClust:8 perSec:1

FSinf[FS_Os_ParseBpb]:FS FAT32 
FSinf[FS_Os_ParseBpb]:TotalClust:252686

ManagerVars cardtype=0x0
sys_cfg.cardtype :0
card install error
==================update media status 85 
whichKey==67[4]
ManagerVars cardtype=0x0
Unplugging that ...

Code: Select all

<UOC_IRQ> int 04,id 0
AH:03-02
<UOC_IRQ> int 11,id 1
last=02 now=09,id=1
__hotplug_event:msg=22
__hotplug_event:msg=33
__usb_free_dev:sem f
usb_sem_alloc_cnt=0
manager send __MSG_OTG_UDISK_Out_OK message
sys_cfg.cardtype :0
==================update media status 86 
whichKey==67[4]
ManagerVars cardtype=0x0
debounce:total 120ms stable 120ms status 0x100
--aotg hcd uninstall
r3usb_init:181
usb_init_vbus_gpio:1
set_gpio_vbus:126 0
set_gpio_vbus:135-255failed
drv_vbus(gpio38)=0
act_setUsbStat:stat=1
ManagerVars cardtype=0x0
If anyone recognises anything from the above, can say "Oh; that's whatever" please do chip in. So far Google-trawling hasn't given me any insight.

I'll see what the others produce.

kyzitemelos93
Posts: 1
Joined: Fri Apr 30, 2021 12:50 pm

Re: "Day Clock" as a Display Peripheral for a Pi

Fri Apr 30, 2021 12:52 pm

Hey bud have you had any luck getting this thing going?

hippy
Posts: 10230
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: "Day Clock" as a Display Peripheral for a Pi

Sat May 01, 2021 2:40 pm

No, no joy in discovering anything more or getting further.

saveitforparts
Posts: 1
Joined: Tue May 11, 2021 6:14 pm

Re: "Day Clock" as a Display Peripheral for a Pi

Tue May 11, 2021 6:26 pm

I also have one of these clocks and am curious about hacking or modifying it. Mine seems to be an unbranded "YFY-S801" with an Actions V100 CPU and a Hynix memory module. The layout of the board looks a lot like those video ad mailers that sometimes show up for tech companies. Mine has a USB port and the pinouts for an SD card reader (with no card slot installed).

I suspect this is a common board / chipset also used for other products. The option for an SD reader makes me think it could function as a digital picture frame with the right firmware.

I'm not an expert in reverse engineering this stuff, but I am getting more into Raspberry Pi experiments. I'd definitely be interested if anyone discovers more about it!

Return to “Assistive technology and accessibility”