Yeah, here comes ULTRA Zero color! It is almost Arduino Mini compatible size but it has full color OLED and micro SD on it!!
Small difficulty of color OLED driving is requiring 12V, but just adding voltage booster from 3.3 V to 12 V is enough, as show in the above picture. For programming, we should know
OLD: SPI connection CS: D8, RST: D9, D/C:D10 Micro SD slot CS:D12And these information are enough to manipulate ULTRA Zero Color!
Just connecting USB interface and launching Arduino IDE and board selection are enough to handle it!
It appears as "Arduino/Genuino Zero (Native USB Port)"
Actual operation can be found in the following movie... As same, I would sell this board at my tindie store. Stay tune!
I had the device working a while back, now I am having difficulty.
I am testing the Clock Example and set the CS to 8 and the CD to 10 as required.
I can verify the compile, seems ok. But the program does not run on the device. Here is the output from the upload:
Sketch uses 35,320 bytes (13%) of program storage space. Maximum is 262,144 bytes.
Forcing reset using 1200bps open/close on port COM5
PORTS {COM5, } / {} => {}
PORTS {} / {} => {}
PORTS {} / {} => {}
PORTS {} / {COM6, } => {COM6, }
Found upload port: COM6
C:\Users\Tony\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.7.0/bossac.exe -i -d --port=COM6 -U true -i -e -w -v C:\Users\Tony\AppData\Local\Temp\arduino_build_265624/Clock_example.ino.bin -R
Set binary mode
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010205
version()=v2.0 [Arduino:XYZ] May 9 2016 16:06:46
chipId=0x10010005
Connected at 921600 baud
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010205
Atmel SMART device 0x10010005 found
write(addr=0x20004000,size=0x34)
writeWord(addr=0x20004030,value=0x10)
writeWord(addr=0x20004020,value=0x20008000)
Device : ATSAMD21G18A
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010205
Chip ID : 10010005
version()=v2.0 [Arduino:XYZ] May 9 2016 16:06:46
Version : v2.0 [Arduino:XYZ] May 9 2016 16:06:46
Address : 8192
Pages : 3968
Page Size : 64 bytes
Total Size : 248KB
Planes : 1
Lock Regions : 16
Locked : readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
none
readWord(addr=0x41004018)=0
Security : false
Boot Flash : true
readWord(addr=0x40000834)=0x7000a
BOD : true
readWord(addr=0x40000834)=0x7000a
BOR : true
Arduino : FAST_CHIP_ERASE
Arduino : FAST_MULTI_PAGE_WRITE
Arduino : CAN_CHECKSUM_MEMORY_BUFFER
Erase flash
chipErase(addr=0x2000)
done in 0.828 seconds
Write 35600 bytes to flash (557 pages)
write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x2000, size=0x1000)
[=== ] 11% (64/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x3000, size=0x1000)
[====== ] 22% (128/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x4000, size=0x1000)
[========== ] 34% (192/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x5000, size=0x1000)
[============= ] 45% (256/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x6000, size=0x1000)
[================= ] 57% (320/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x7000, size=0x1000)
[==================== ] 68% (384/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x8000, size=0x1000)
[======================== ] 80% (448/557 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x9000, size=0x1000)
[=========================== ] 91% (512/557 pages)write(addr=0x20005000,size=0xb40)
writeBuffer(scr_addr=0x20005000, dst_addr=0xa000, size=0xb40)
[==============================] 100% (557/557 pages)
done in 0.252 seconds
Verify 35600 bytes of flash with checksum.
checksumBuffer(start_addr=0x2000, size=0x1000) = cc98
checksumBuffer(start_addr=0x3000, size=0x1000) = ea3a
checksumBuffer(start_addr=0x4000, size=0x1000) = 6efc
checksumBuffer(start_addr=0x5000, size=0x1000) = c219
checksumBuffer(start_addr=0x6000, size=0x1000) = 4fe2
checksumBuffer(start_addr=0x7000, size=0x1000) = 9bd9
checksumBuffer(start_addr=0x8000, size=0x1000) = f300
checksumBuffer(start_addr=0x9000, size=0x1000) = a6e7
checksumBuffer(start_addr=0xa000, size=0xb10) = de46
Verify successful
done in 0.030 seconds
CPU reset.
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010205
writeWord(addr=0xe000ed0c,value=0x5fa0004)