UART to I2C Library with Amazon SC16IS750 breakout board

Hello Folks,

I am working on some new firmware which requires use of the UART - I2C library written by Particle. Link

This a super cool library, and it has a “Self-Test” for confirming everything is working.

But! One hard part is that testing compatibility with the NXP SC16IS750 is difficult because it is hard to get the components all together. One solution is to use a breakout board from Amazon.

You need to make a change to the library to match the choice of crystal used by the Amazon Breakout Board, it runs at 14.7456 MHz.

Here is the wiring diagram I used when hooking it up. The Amazon breakout board does not include the various pull-ups and pull-downs which are set up in the Library PCB example by RK.

And here is a photo of it in real life.

With all this hooked up and running example “2-selftest-SC16IS740RK.cpp” you get the following output on the Serial Monitor. Which is quite a lot, but shows that the data sent over Serial by the Electron’s UART connection is the same data it is reading over the Electron’s I2C connection.

Hope that helps! Good Luck!

0000005094 [app] INFO: runSelfTest
0000006108 [app] INFO: testSimpleReadWrite passed
0000006240 [app] INFO: testFifo1 passed line=356
0000023315 [app] INFO: testLarge passed line=281
0000024363 [app] INFO: testFifo passed for baud=1200 options 8N1
0000025365 [app] INFO: testFifoBlock1 passed for baud=1200 options 8N1
0000026516 [app] INFO: testFifo passed for baud=1200 options 8E1
0000027618 [app] INFO: testFifoBlock1 passed for baud=1200 options 8E1
0000028769 [app] INFO: testFifo passed for baud=1200 options 8O1
0000029871 [app] INFO: testFifoBlock1 passed for baud=1200 options 8O1
0000031020 [app] INFO: testFifo passed for baud=1200 options 8N2
0000032120 [app] INFO: testFifoBlock1 passed for baud=1200 options 8N2
0000033373 [app] INFO: testFifo passed for baud=1200 options 8E2
0000034574 [app] INFO: testFifoBlock1 passed for baud=1200 options 8E2
0000035826 [app] INFO: testFifo passed for baud=1200 options 8O2
0000037027 [app] INFO: testFifoBlock1 passed for baud=1200 options 8O2
0000038075 [app] INFO: testFifo passed for baud=1200 options 7E1
0000039077 [app] INFO: testFifoBlock1 passed for baud=1200 options 7E1
0000040125 [app] INFO: testFifo passed for baud=1200 options 7O1
0000041127 [app] INFO: testFifoBlock1 passed for baud=1200 options 7O1
0000042277 [app] INFO: testFifo passed for baud=1200 options 7E2
0000043377 [app] INFO: testFifoBlock1 passed for baud=1200 options 7E2
0000044526 [app] INFO: testFifo passed for baud=1200 options 7O2
0000045628 [app] INFO: testFifoBlock1 passed for baud=1200 options 7O2
0000046159 [app] INFO: testFifo passed for baud=2400 options 8N1
0000046660 [app] INFO: testFifoBlock1 passed for baud=2400 options 8N1
0000047243 [app] INFO: testFifo passed for baud=2400 options 8E1
0000047794 [app] INFO: testFifoBlock1 passed for baud=2400 options 8E1
0000048377 [app] INFO: testFifo passed for baud=2400 options 8O1
0000048928 [app] INFO: testFifoBlock1 passed for baud=2400 options 8O1
0000049510 [app] INFO: testFifo passed for baud=2400 options 8N2
0000050061 [app] INFO: testFifoBlock1 passed for baud=2400 options 8N2
0000050694 [app] INFO: testFifo passed for baud=2400 options 8E2
0000051295 [app] INFO: testFifoBlock1 passed for baud=2400 options 8E2
0000051929 [app] INFO: testFifo passed for baud=2400 options 8O2
0000052531 [app] INFO: testFifoBlock1 passed for baud=2400 options 8O2
0000053061 [app] INFO: testFifo passed for baud=2400 options 7E1
0000053564 [app] INFO: testFifoBlock1 passed for baud=2400 options 7E1
0000054094 [app] INFO: testFifo passed for baud=2400 options 7O1
0000054595 [app] INFO: testFifoBlock1 passed for baud=2400 options 7O1
0000055176 [app] INFO: testFifo passed for baud=2400 options 7E2
0000055727 [app] INFO: testFifoBlock1 passed for baud=2400 options 7E2
0000056309 [app] INFO: testFifo passed for baud=2400 options 7O2
0000056860 [app] INFO: testFifoBlock1 passed for baud=2400 options 7O2
0000057131 [app] INFO: testFifo passed for baud=4800 options 8N1
0000057383 [app] INFO: testFifoBlock1 passed for baud=4800 options 8N1
0000057680 [app] INFO: testFifo passed for baud=4800 options 8E1
0000057957 [app] INFO: testFifoBlock1 passed for baud=4800 options 8E1
0000058254 [app] INFO: testFifo passed for baud=4800 options 8O1
0000058531 [app] INFO: testFifoBlock1 passed for baud=4800 options 8O1
0000058828 [app] INFO: testFifo passed for baud=4800 options 8N2
0000059104 [app] INFO: testFifoBlock1 passed for baud=4800 options 8N2
0000059426 [app] INFO: testFifo passed for baud=4800 options 8E2
0000059728 [app] INFO: testFifoBlock1 passed for baud=4800 options 8E2
0000060051 [app] INFO: testFifo passed for baud=4800 options 8O2
0000060353 [app] INFO: testFifoBlock1 passed for baud=4800 options 8O2
0000060625 [app] INFO: testFifo passed for baud=4800 options 7E1
0000060877 [app] INFO: testFifoBlock1 passed for baud=4800 options 7E1
0000061149 [app] INFO: testFifo passed for baud=4800 options 7O1
0000061400 [app] INFO: testFifoBlock1 passed for baud=4800 options 7O1
0000061698 [app] INFO: testFifo passed for baud=4800 options 7E2
0000061975 [app] INFO: testFifoBlock1 passed for baud=4800 options 7E2
0000062274 [app] INFO: testFifo passed for baud=4800 options 7O2
0000062550 [app] INFO: testFifoBlock1 passed for baud=4800 options 7O2
0000062693 [app] INFO: testFifo passed for baud=9600 options 8N1
0000062820 [app] INFO: testFifoBlock1 passed for baud=9600 options 8N1
0000079896 [app] INFO: testBlockRead passed for baud=9600 options 8N1
0000080051 [app] INFO: testFifo passed for baud=9600 options 8E1
0000080190 [app] INFO: testFifoBlock1 passed for baud=9600 options 8E1
0000098972 [app] INFO: testBlockRead passed for baud=9600 options 8E1
0000099127 [app] INFO: testFifo passed for baud=9600 options 8O1
0000099266 [app] INFO: testFifoBlock1 passed for baud=9600 options 8O1
0000118048 [app] INFO: testBlockRead passed for baud=9600 options 8O1
0000118204 [app] INFO: testFifo passed for baud=9600 options 8N2
0000118343 [app] INFO: testFifoBlock1 passed for baud=9600 options 8N2
0000137125 [app] INFO: testBlockRead passed for baud=9600 options 8N2
0000137294 [app] INFO: testFifo passed for baud=9600 options 8E2
0000137445 [app] INFO: testFifoBlock1 passed for baud=9600 options 8E2
0000157934 [app] INFO: testBlockRead passed for baud=9600 options 8E2
0000158103 [app] INFO: testFifo passed for baud=9600 options 8O2
0000158254 [app] INFO: testFifoBlock1 passed for baud=9600 options 8O2
0000178743 [app] INFO: testBlockRead passed for baud=9600 options 8O2
0000178886 [app] INFO: testFifo passed for baud=9600 options 7E1
0000179013 [app] INFO: testFifoBlock1 passed for baud=9600 options 7E1
0000196088 [app] INFO: testBlockRead passed for baud=9600 options 7E1
0000196232 [app] INFO: testFifo passed for baud=9600 options 7O1
0000196359 [app] INFO: testFifoBlock1 passed for baud=9600 options 7O1
0000213434 [app] INFO: testBlockRead passed for baud=9600 options 7O1
0000213589 [app] INFO: testFifo passed for baud=9600 options 7E2
0000213728 [app] INFO: testFifoBlock1 passed for baud=9600 options 7E2
0000232510 [app] INFO: testBlockRead passed for baud=9600 options 7E2
0000232665 [app] INFO: testFifo passed for baud=9600 options 7O2
0000232804 [app] INFO: testFifoBlock1 passed for baud=9600 options 7O2
0000251586 [app] INFO: testBlockRead passed for baud=9600 options 7O2
0000251667 [app] INFO: testFifo passed for baud=19200 options 8N1
0000251732 [app] INFO: testFifoBlock1 passed for baud=19200 options 8N1
0000260274 [app] INFO: testBlockRead passed for baud=19200 options 8N1
0000260358 [app] INFO: testFifo passed for baud=19200 options 8E1
0000260429 [app] INFO: testFifoBlock1 passed for baud=19200 options 8E1
0000269824 [app] INFO: testBlockRead passed for baud=19200 options 8E1
0000269908 [app] INFO: testFifo passed for baud=19200 options 8O1
0000269979 [app] INFO: testFifoBlock1 passed for baud=19200 options 8O1
0000279374 [app] INFO: testBlockRead passed for baud=19200 options 8O1
0000279458 [app] INFO: testFifo passed for baud=19200 options 8N2
0000279529 [app] INFO: testFifoBlock1 passed for baud=19200 options 8N2
0000288924 [app] INFO: testBlockRead passed for baud=19200 options 8N2
0000289015 [app] INFO: testFifo passed for baud=19200 options 8E2
0000289091 [app] INFO: testFifoBlock1 passed for baud=19200 options 8E2
0000299340 [app] INFO: testBlockRead passed for baud=19200 options 8E2
0000299430 [app] INFO: testFifo passed for baud=19200 options 8O2
0000299507 [app] INFO: testFifoBlock1 passed for baud=19200 options 8O2
0000309756 [app] INFO: testBlockRead passed for baud=19200 options 8O2
0000309837 [app] INFO: testFifo passed for baud=19200 options 7E1
0000309901 [app] INFO: testFifoBlock1 passed for baud=19200 options 7E1
0000318443 [app] INFO: testBlockRead passed for baud=19200 options 7E1
0000318524 [app] INFO: testFifo passed for baud=19200 options 7O1
0000318589 [app] INFO: testFifoBlock1 passed for baud=19200 options 7O1
0000327131 [app] INFO: testBlockRead passed for baud=19200 options 7O1
0000327215 [app] INFO: testFifo passed for baud=19200 options 7E2
0000327285 [app] INFO: testFifoBlock1 passed for baud=19200 options 7E2
0000336680 [app] INFO: testBlockRead passed for baud=19200 options 7E2
0000336765 [app] INFO: testFifo passed for baud=19200 options 7O2
0000336835 [app] INFO: testFifoBlock1 passed for baud=19200 options 7O2
0000346230 [app] INFO: testBlockRead passed for baud=19200 options 7O2
0000346293 [app] INFO: testFifo passed for baud=57600 options 8N1
0000346316 [app] INFO: testFifoBlock1 passed for baud=57600 options 8N1
0000349421 [app] INFO: testBlockRead passed for baud=57600 options 8N1
0000349484 [app] INFO: testFifo passed for baud=57600 options 8E1
0000349509 [app] INFO: testFifoBlock1 passed for baud=57600 options 8E1
0000352869 [app] INFO: testBlockRead passed for baud=57600 options 8E1
0000352932 [app] INFO: testFifo passed for baud=57600 options 8O1
0000352956 [app] INFO: testFifoBlock1 passed for baud=57600 options 8O1
0000356316 [app] INFO: testBlockRead passed for baud=57600 options 8O1
0000356379 [app] INFO: testFifo passed for baud=57600 options 8N2
0000356404 [app] INFO: testFifoBlock1 passed for baud=57600 options 8N2
0000359755 [app] INFO: testBlockRead passed for baud=57600 options 8N2
0000359818 [app] INFO: testFifo passed for baud=57600 options 8E2
0000359845 [app] INFO: testFifoBlock1 passed for baud=57600 options 8E2
0000363493 [app] INFO: testBlockRead passed for baud=57600 options 8E2
0000363556 [app] INFO: testFifo passed for baud=57600 options 8O2
0000363583 [app] INFO: testFifoBlock1 passed for baud=57600 options 8O2
0000367232 [app] INFO: testBlockRead passed for baud=57600 options 8O2
0000367295 [app] INFO: testFifo passed for baud=57600 options 7E1
0000367317 [app] INFO: testFifoBlock1 passed for baud=57600 options 7E1
0000370430 [app] INFO: testBlockRead passed for baud=57600 options 7E1
0000370493 [app] INFO: testFifo passed for baud=57600 options 7O1
0000370515 [app] INFO: testFifoBlock1 passed for baud=57600 options 7O1
0000373620 [app] INFO: testBlockRead passed for baud=57600 options 7O1
0000373683 [app] INFO: testFifo passed for baud=57600 options 7E2
0000373707 [app] INFO: testFifoBlock1 passed for baud=57600 options 7E2
0000377059 [app] INFO: testBlockRead passed for baud=57600 options 7E2
0000377122 [app] INFO: testFifo passed for baud=57600 options 7O2
0000377146 [app] INFO: testFifoBlock1 passed for baud=57600 options 7O2
0000380498 [app] INFO: testBlockRead passed for baud=57600 options 7O2
0000380561 [app] INFO: testFifo passed for baud=115200 options 8N1
0000380573 [app] INFO: testFifoBlock1 passed for baud=115200 options 8N1
0000382277 [app] INFO: testBlockRead passed for baud=115200 options 8N1
0000382340 [app] INFO: testFifo passed for baud=115200 options 8E1
0000382353 [app] INFO: testFifoBlock1 passed for baud=115200 options 8E1
0000384175 [app] INFO: testBlockRead passed for baud=115200 options 8E1
0000384238 [app] INFO: testFifo passed for baud=115200 options 8O1
0000384251 [app] INFO: testFifoBlock1 passed for baud=115200 options 8O1
0000386073 [app] INFO: testBlockRead passed for baud=115200 options 8O1
0000386136 [app] INFO: testFifo passed for baud=115200 options 8N2
0000386149 [app] INFO: testFifoBlock1 passed for baud=115200 options 8N2
0000387970 [app] INFO: testBlockRead passed for baud=115200 options 8N2
0000388033 [app] INFO: testFifo passed for baud=115200 options 8E2
0000388048 [app] INFO: testFifoBlock1 passed for baud=115200 options 8E2
0000389987 [app] INFO: testBlockRead passed for baud=115200 options 8E2
0000390050 [app] INFO: testFifo passed for baud=115200 options 8O2
0000390064 [app] INFO: testFifoBlock1 passed for baud=115200 options 8O2
0000392003 [app] INFO: testBlockRead passed for baud=115200 options 8O2
0000392066 [app] INFO: testFifo passed for baud=115200 options 7E1
0000392078 [app] INFO: testFifoBlock1 passed for baud=115200 options 7E1
0000393782 [app] INFO: testBlockRead passed for baud=115200 options 7E1
0000393845 [app] INFO: testFifo passed for baud=115200 options 7O1
0000393857 [app] INFO: testFifoBlock1 passed for baud=115200 options 7O1
0000395561 [app] INFO: testBlockRead passed for baud=115200 options 7O1
0000395624 [app] INFO: testFifo passed for baud=115200 options 7E2
0000395637 [app] INFO: testFifoBlock1 passed for baud=115200 options 7E2
0000397458 [app] INFO: testBlockRead passed for baud=115200 options 7E2
0000397520 [app] INFO: testFifo passed for baud=115200 options 7O2
0000397533 [app] INFO: testFifoBlock1 passed for baud=115200 options 7O2
0000399355 [app] INFO: testBlockRead passed for baud=115200 options 7O2
0000399356 [app] INFO: runSelfTest completed

3 Likes

:+1:

1 Like