SenseCAP Indicator: Difference between revisions
Brian Wilson (talk | contribs) |
Brian Wilson (talk | contribs) mNo edit summary |
||
Line 47: | Line 47: | ||
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] | The [https://wiki.seeedstudio.com/SenseCAP_Indicator_How_to_Create_your_own_UI/ example that Seeed provides] uses [https://docs.lvgl.io/master/intro/index.html LVGL] graphics library and (optionally) [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 | ||
[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 17:08, 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.
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 uses LVGL graphics library and (optionally) 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.