SenseCAP Indicator: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
Line 46: Line 46:


The system diagram shows the controller as a "RGB565" though. I think that's a description of the pixel color depth? R=5 bits, G=6 bits, B=5 bits. 16 bits. I feel like I am back at the Magicsoft / Unison World days! Or perhaps the AT&T Truevision ICB board that I paid a fortune for.
The system diagram shows the controller as a "RGB565" though. I think that's a description of the pixel color depth? R=5 bits, G=6 bits, B=5 bits. 16 bits. I feel like I am back at the Magicsoft / Unison World days! Or perhaps the AT&T Truevision ICB board that I paid a fortune for.
The [https://wiki.seeedstudio.com/SenseCAP_Indicator_How_to_Create_your_own_UI/ example that Seeed provides] use
[https://docs.squareline.io/docs/squareline Squareline Studio] to design the UI. Squareline supports C/C++ and Micropython.
Squareline appears to be built on [https://libsdl.org/ SDL], "Simple Directmedia Library". In github, https://github.com/libsdl-org


Espressif uses FreeRTOS.  
Espressif uses FreeRTOS.  

Revision as of 16:57, 31 July 2023

SenseCAP D1 Indicator

https://www.seeedstudio.com/SenseCAP-Indicator-D1-p-5643.html

This is a 4" LCD (480x480) with a RPi Pico and an ESP3-2S3.

I want to use it in my car as a Scangauge "work-alike". OBD-II CAN bus, I had a Garmin EcoRoute for a few years but it no longer works. I miss the gauge displays, especially for engine temperature. I want to try to calculate real-time MPG.

I would normally expect a product like the D1 to be Android/Debian/Ubuntu but this is lower level, that intrigues me. I want to know the architecture and how to program it.

Getting started: https://wiki.seeedstudio.com/SenseCAP_Indicator_Get_Started/

PDF user manual https://files.seeedstudio.com/products/SenseCAP/SenseCAP_Indicator/SenseCAP%20Indicator%20User%20Manual_2023.4.21.pdf

ESP32 manages wireless (WiFi, BT 5 and LoRa) and the LCD/touch panel. My basic D1 does not include LoRa chip, which I actually don't need anyway!

RP2040 has 2 Grove interfaces, one for I2C and one for analog. It supports up to a 32GB SD card. It has the speaker too.

USB: there are two USB-C ports and an internal USB hub. Both processors are attached to the USB hub, the ESP32 has a USB->UART interface.

Review with internal photos https://www.cnx-software.com/2023/05/27/sensecap-indicator-d1pro-review-an-esp32-s3-rp2040-iot-devkit-with-a-4-inch-display-lora-connectivity-sensors/

Programming

Espressif is used to program the ESP32.

They suggest Arduino for the RP2040 but I plan to try CircuitPython.

System diagram

Interprocessor communications

Is "interprocessor" even a word? The ESP32 and RP2040 talk over a serial port using COBS = [http://www.stuartcheshire.org/papers/COBSforToN.pdf "Consistent Overhead Byte Stuffing"], which I am hoping just works. I don't want to read about it.

I found this project for Python, https://pypi.org/project/cobs/ Might work with Circuit Python?

Programming the RP2040

Refer to this page: Raspberry Pi RP2040

What can I do with the RP2040?

Well, right off the bat, not much. But I want to try, so I note the buzzer is on port GPIO19. What do I need to get that working? I think I program it as a PWM output and see what happens. Ha ha ha supposedly I can play MP3 files on there? Seriously? Such a world. https://learn.adafruit.com/mp3-playback-rp2040/pico-mp3

I tried the sample and it kind of works. Sound came out. It's not like a Nakamichi Dragon Cassette Deck. When I tried a piano sample it locked up and I had to wipe and restore it. Go look at the RP2040 mentioned above.

Programming the ESP32-S3

Looks like SEEED modeled the ESP portion of the D1 on this Espressif reference design. ESP32-S3 LCD EV Board It uses a 480x480 display but does not have the audio portion implemented. The ESP board has a screen connector, the 480x480 board uses a GC9503CV display driver and a FT5x06 touch interface.

The system diagram shows the controller as a "RGB565" though. I think that's a description of the pixel color depth? R=5 bits, G=6 bits, B=5 bits. 16 bits. I feel like I am back at the Magicsoft / Unison World days! Or perhaps the AT&T Truevision ICB board that I paid a fortune for.

The example that Seeed provides use Squareline Studio to design the UI. Squareline supports C/C++ and Micropython. Squareline appears to be built on SDL, "Simple Directmedia Library". In github, https://github.com/libsdl-org

Espressif uses FreeRTOS.