Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Dec 8, 2025. It is now read-only.
Discussion options

I have a few questions about adding new boards.
I have two ESP32-C3 boards (ESP32-C3-DevKit-02 & ESP32-C3FH4-RGB) that I would like to try with DeviceScript and I have a few questions about adding board support for these.

  1. What is productId and where do I get this number?
  2. Can I reuse firmware from another board, or do I need to build new firmware for each?
  3. The ESP32-C3-DevKit-02 is like the original devkit, but it replaces the status LED with a neopixel type RGB LED, like the QT py. Is anything special required to support this?
  4. The ESP32-C3FH4-RGB has an array of 25 of these LEDs, plus an additional blue status LED. I'm assuming the status LED function is only intended to drive a single LED and it would be better to use the blue LED for status and leave the neopixel array for user application.
  5. How do you specify if a board uses an external USB uart or the embedded USB uart in the C3?

https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/hw-reference/esp32c3/user-guide-devkitc-02.html
https://github.com/01Space/ESP32-C3FH4-RGB

You must be logged in to vote

Replies: 4 comments · 8 replies

Comment options

Great! Let me try to answer a few of these. I've also updated the docs at https://microsoft.github.io/devicescript/devices/add-board with these answers.

(1) If you've used "devs add board", we generate a new product identifier for you automatically. Currently, DeviceScript leverages the Jacdac simulator and the product identifier identifies a product in the Jacdac device catalog https://microsoft.github.io/jacdac-docs/devices/

(2) You can reuse the firmware for esp32-c3. You only have to create new firmware for a new system-on-chip (SoC).
(3) You can see the Qt Py configuration at https://microsoft.github.io/devicescript/devices/esp32/adafruit-qt-py-c3 . If the status LED is a ws2812, you will need to set type: 1 in the led configuration. The JSON schema should give a good intellisense to determine other valid values of type.
(4) Right, the LED array should be supported by a "dot matrix" server (I don't think we have a driver yet).
(5) @mmoskal ?

You must be logged in to vote
7 replies
@pelikhan
Comment options

We might be filtering out the boards that are not in the catalog.

In VScode, open the user settings and find "DeviceScript: Developer Mode". It should disable filters on unknown product ids.

@gsteiert
Comment options

OK, I'm making progress.
Here are the steps I took:

  1. Set DeviceScript: Developer Mode (Thanks for the tip!)
  2. Run DeviceScript: Clear Flash (to remove the QT Py image)
  3. Run DeviceScript: Flash Firmware (choose the new board that is now visible in developer mode)

Now I can see the LED blinking, and load my code.

I set the status LED to the first LED in the array, for now. Long term it is probably better to use the blue LED for status, but until there is a general purpose WS2812 API, this is the only way to use the array.

Next I can try the Qwiic connector.

Thanks for the help.

@pelikhan
Comment options

The developer mode needs to be fixed since there is really no way for you to discover that one!!!

We're working on the screen simulation; then we'll be able to get to ws2812 drivers.

Thank you for reporting!

@gsteiert
Comment options

The Qwiic connector works with the I2C API.
I was trying the SSD1306 driver, but it won't accept the address.
The address it wants isn't the same that is on the main branch.

@pelikhan
Comment options

You are using the 'devAddr: ...' constructor argument to set the address?

Comment options

Ooops, it's an array of WS2812. In that case, we should use the Led service to mount them.

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@pelikhan
Comment options

Ha! Very interesting!

You can run the command "DeviceScript: Create New Project".

I guess you were pressing on the wand button?

Comment options

2.14.3 should not have the "developermode" issue anymore.

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
🙏
Q&A
Labels
None yet
3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.