SEEED Wednesday – Scargill’s Tech Blog

0
SEEED Wednesday – Scargill’s Tech Blog

I didn’t get any delivery notices yesterday yet we arrived back from the market to find a package from China with SEEED written all over it.

Inside, a SEED “Mono Enclosed Speaker 4R 5W” – not sure what any of that means – 5W in a tiny speaker with the active part no more than 32mm diameter? Back in the dark ages when I actually cared about loudspeaker specifications (WiFi fanatic in the 80s and 90s), for something that size to output 5W – the 5W would be PEAK “music power PMPO” and the true “RMS” value would be CONSIDERABLY lower… BUT I DIGRESS ALREADY. This is a small, neat speaker to work with SEEED’s “ReSpeaker” kit – which also arrived today. Oh, the speaker, in case, it isn’t obvious from the photo, has a NICE neoprene rim and looks like it will give out some bass. The plastic case seems solid as well.

Wondering about my hi-tech studio backdrop? table outside the pergola – who in their right mind would be in a studio in this nice autumn southern-Spanish weather…

Before I get into the ReSpeaker, they ALSO sent a 3-pack of SEEED XIAO-ESP32-C6 boards with external antenna connectors – AND a ceramic built-in antenna – whereas the ReSpeaker board comes with one of these XIAO-ESP32-C6 boards built in, with an external antenna and NO in-built antenna – I wonder why.

SEEED XIAO-ESP32-C6 boards 3-pack

Oh well, in at the deep end… as I have 3 boards and no instructions, I’ll just dig in and try to install WLED on one of them – straight from a USB-C connection on my Windows PC. I had some AliExpress ESP32-C3 boards weeks ago and all they did was get very warm and would NOT install WLED (though I later found that if I installed TASMOTA first I could THEN overwrite them with WLED. I decided to give the tiny C3 boards a miss from now on (there is also supposedly some GPIO issue with them) – so I’m interested to check out these REALLY tiny C6 boards (15mm * 18mm excluding 2mm USB-C connector overhang).

Thinking about it, I didn’t get ANY instructions – but then it’ll all be on the SEEED Studios website somewhere… more of that later. So, one C6 board, plugged into USB-C on my PC, no antenna, hopefully no button pushing (tiny reset and programming buttons ARE provided as usual for such boards – but see later note). It started with the comforting noise from my PC speaker showing me a device was connected serially, then a flashing yellow light and a constantly-on RED light.

As I was writing this, the RED light turned off and stayed off – the yellow continued to flash – which IMMEDIATELY made me want to check to see if the board as pre-programmed with at least it’s own local access point, before blowing that all away with an attempt at OTA WLED flashing. Off to my phone looking for new access points…

No, definitely no new access points… yellow light still flashing, red light still off. Next, off to the WLED installer website.. https://install.wled.me/ – PC showed the serial port was connected (without pressing any buttons on the C6). “INSTALL WLED” says my PC screen. “Your ESP32-C6 board is not supported”. Oh well.

ESP32-C6

Console says there is something there already – see image left. Still flashing yellow and only marginally warm. I’m sure I’m missing the point here, but hey, I have three of these modules – worse case I can end up losing one…. onwards and upwards… the C6 board has WiFi 6 apparently – though why we’d need that on a tiny IOT board I’m not sure… 512k RAM, 4MB FLASH… I could rant about the various power modes but I’m assuming that’s all down to the ESP32-C6 – same as the C6 boards you get from AliExpress – or is it?

If you want to program these boards from the Arduino IDE then you may find the C6 is not supported by default so you’ll have to add in more options from a json file on the espressif website into the Arduino IDE board manager – supposed to be a simple matter – though I’m not seeing any reference to the C6 on that link right now.

Ok, half an hour later, yellow light still flashing – lI tried the Tasmota web flasher… looking at the online Tasmota flasher – no mention of the ESP32-C6 there either though there are options for the ESP32-S2, C3 and unofficial binaries for the S3. No mention AT ALL about the C6.

I did say I have 3 of these boards so I went for the standard Tasmota binary install – I seem to recall it worked on the C3. AND – “ERASE?” Sure. “Erasing”…. “Installing”…

Off I went to the Tasmota online flasher console – and put in my nearest 2.4Ghz Wifi and password. At first I thought the thing was going to fail as I spotted a couple of reboots – but I kept watching and soon – a stable Tasmota appeared on my network with one of those awful automatic hostnames and an IP address I could punch straight into the browser.

Tasmota on the ESP32-C6

Yup, looks like a good start at least for Tasmota.. See image left… remember – no button pushing on the ESP board unlike the C3 (or maybe the S3) where I had to do some careful timing with the programming button in order to flash anything…

So, with Tasmota started up – I was expecting to get no-where even now with WLED and suer enough, WLED would not install, so next I tried ESPHOME.. I have ESPHOME on a RASPBERRY Pi 5 and I talk to that via my PC. I also have Home Assistant on the Raspberry Pi and again only ever talk to it via the PC (web browser). So – same board, same port on the PC, I went to my Home Assistant Home page (port 8123).. and from that menu to my ESPHOME page.

New Device – open up ESPHOME WEB in the menu… this for me is the scary part.. CONNECT… it asks for a serial port – same as before (I neither rebooted nor disconnected the ESP32-C6)…

“Failed to open the serial port” (and that yellow light stopped flashing I guess when Tasmota started up) – ok, I disconnected the leadpower lead to the C6 and reconnected it.. RED light on – no yellow light…

“Prepare for first use” appeared on the ESPHOME screen… (red light had gone out). “Prepare your device for first use” – I responded by hitting INSTALL.”Error: unsupported platform ESP32C6. Only ESP8266, ESP32, ESP32S2, ESP323, ESP32C3 are supported”. Another dead end.

Oh, well, at least I’ve three tiny boards for Tasmota now… AND on my test board, theTasmota webUI no longer worked – back to the Tasmota online installer…

This time I chose NOT to ask for an erase, curious to know if my WIFI details were still intact… yes they WERE. In the serial console on my PC I entered “ipaddress1” – got it and so from now on could work from the Tasmota webUI.

In the midst of this apparent lack of anything new – I should point out that the Tasmota screens came up VERY quickly…..

Tasmota on ESP32-C6

I went onto the main Tasmota page – configuration – module – that looks fine – though not all those pins on the right are available on this C6 module.

Under WiFi settings – I set the “Hostname” to simply “esp32c6”. I also put in my MQTT details and under configure – other – setting “Device Name” and “Friendly Name 1” again to esp32c6.

At this point I was fairly sure the board would DO something if I connected stuff to it so I mounting connectors to have a quick play. I hate to increase the height of this really nice small board so I put connectors UPWARDS to minimise the increase.

Firsly to clarify – I used the ESP32 because because it was there – right now I’ve no idea whether the C6 (which as we’ve seen only works on some platforms), will be any better than any other ESP32 board) – 4GB storage I hear someone say – 160Mhz I hear someone else say- butThats pertty standard on boards I’ve already used.

Meanwhile I was wondering if you can increase the clock speed on an ESP32? Well, it seems you can… read this link for more.. it seems 240Mhz is valid – I’ve not tested that.

Ok, connectors on – would the board do anything… meanwhile – diversion – I like that battery connection on the bottom but initially had no idea what it would be useful for.

SEEED ESP32-C6

Good job I didn’t need to press any buttons on the board – I’ve worked with COUNTLESS ESP8266 and ESP32 boards before, never seen buttons anywhere near THAT small (almost out of sight on either side of the USB connector above) – my thumbs would just not do it. Before I risked blowing up the board, I figured I’d power it with the standard USB connection, to light up a LED on a port pin. But firstly – I wondered how to turn off that RED LED (yellow one remains off) – it’s not a dumb power LED as it went off during my aborted attempt to install ESPHOME.

Looking at the pins on that list above, none were initially set up so no idea what the RED LED is attached to.

Soon I’ll try using a CR2032 battery for power and – the last thing I’ll want is a LED sitting doing nothing useful but consuming power. Anyway, the RED LED went off after a minute or so. WHY? No idea, disconnect, reconnect, LED comes on… wait a minute and it goes OFF. That’s too long for MQTT connect or WiFi connect… during that minute I touched nothing.

So, I added a handy green LED (built-in resistor) to ground and D4. In Tasmota configuration, module, telling it that GPIO4 is a relay… I toggled it in Tasmota webUI – nothing – it turns out that here we still have that pesky Arduino numbering.. I went off to the SEEED site to look at pin numbers, not a good start – the pin section wasn’t showing images.. Tasmota here on my board is only showing GPIO numbers – not the D equivalents… I found this resource for Tasmota and the SEEED ESP32C6 but that still didn’t tell me what GPIO D4 is…. and strangely the “PINOUT” image on THAT page is also image unavailable….

AH, found it at lastmapping of D numbers for GPIOs on this board – possibly the same for all ESP32s but I wanted to be sure. . D4 is GPIO22. Ok, that’s a start, now I had a LED I could switch on and off from the Tasmota webUI. Next, a tad more ambitious – same data pin, gnd and 3v3 to a handy strip of 10 WS2812b LEDS I had handy, changing the Tasmota module setting for GPIO22 to ws2812 accordingly.

ws2812b LEDS on Tasmota and SEEED ESP32C6

At the Tasmota console:

power off
pixels 10
power on
color1 100,0,0
ws2812b LEDS on Tasmota and SEEED ESP32C6

So, now I had a set of 10 ws2812b lights all on, running in dim red. Next, set LEDs individually.. this time in hexadecimal…

led2 #006600
ws2812b LEDS on Tasmota and SEEED ESP32C6

Now I had the LEDs in that original red except for LED2 which I set to green. Better yet, individual control with blanks allowing successive LED control – starting at LED 2 in the example below…

led2 #004400 #004400 #004400 #000044 #000044 #000044

NOW, before this looks like I went off on a tangent, I’m didn’t… I’m testing the board – this mix works perfectly, starting at LED2 a series of colours, leaving the last 2 LEDS red as they were originally – BUT it’s working perfectly on the 5V pin, NOT the 3v3 pin. I had initial success up to all dim red on 3v3 but thereafter no luck. I tried this endlessly on the 3v3 pin and could I get the greens and blues to work properly? – no way!

So whatever the 3v3 regulator is on this board, I guessed it is TINY. I’m running off a decent USB supply of the kind that runs many dozens of LEDs on a typical ESP32 board or ESP8266.

I have to say, as I was doing those first red tests, I did note that the lights were flickering a little but put it down to the supply. When I switched to the 5v pin (remember I’m running the lot from the board USB-C connector) the flickering vanished.

THEN I realised the reason the 3v3 supply on this SEEED board is different to what I’m used to. Low power use. Soon I’ll test battery power and expect even without messing with sleep modes to see much less power-use than a more normal linear 3v regulator of the kind you might see on a Wemos D1 board for example. It’s worth getting hold of one or more of these SEEED boards if only to check out battery possibilities.

I then decided to use Tasmota console command – running a continuous rainbow.

In the Tasmota docs – commands – lights section – scheme 11 is a continuous rainbow – for me that produced red and green sequencing lights – Tasmota scheme 12 is supposed to be a fire pattern but in my case it was scheme 12 that produced a rainbow 🙂 Not a patch on WLED – but then I can do all sorts of other things on the same board while this is running (in theory at least – and I did that a long time ago on an ESP8266 with mixed stability results – hopefully this latest ESP32 board will be more stable).

scheme 12

As an aside – why Tasmota scheme 12 instead of the documented (in Tasmota – commands – lights – on their web page)? Confused I went off to the Tasmota forums and asked the question. As usual when I go asking Tasmota-related questions, a chap called SFROMIS (who has helped me several times in the past) came back with a quick answer – I’ll include his response below:

No bug, just a quirk, as you did not get the numbers right. When reading the docs for the Scheme command, you need to pay attention to this part:

Note: If using ESP32, or any build with the DDP feature (USE_NETWORK_LIGHT_SCHEMES), enabling DDP is Scheme 5 for plain RGB and Scheme 16 for addressable leds. Then the normal neopixel scheme numbers become 6-15 instead of 5-14

Hence, your scheme 11 for rainbow instead becomes scheme 10 for kwanzaa.

I didn’t TOTALLY follow that because as usual, I did not BUILD Tasmota but used a standard BIN file available on the Tasmota web installer and hence simply use the scheme commands as needed without thinking too deeply about them. However, problem solved and I’ll know better next time.

As for the ceramic built-in antenna on these SEEED XIAO-ESP32-C6 boards, seems just like most other ESP32 boards I’ve used for range. Rather handy having the click-on external antenna option.

That took a LOT longer than I was expecting – I learned a lot thanks to the above – about low power mode, about Tasmota and lots of other things – I see these SEEED boards in my future next time I need low power battery use.

And now a very quick look at the SEEED ReSpeaker board… here is the link to the relevant SEEED WiKi.

With the board in front of me and the supplied speaker plugged in – I applied power with no idea what to expect. I mentioned abve that ESPHOME said “incompatible” – but in fact in the WiKi they specifically say that the ReSpeaker board works with ESPHOME and uses the same C6 ESP32 board I talk about above. Hmm…. from the WiKi – “This kit provides firmware integration with Home Assistant via ESPHome”. From power up I saw no built-in access point – but spotted a TINY built-in microphone on the back of the board.

So, armed with speaker, built-in microphone, USB on my PC, I just needed to figure out how to get the ReSpeaker board to DO something. Again the WiKi comes to the rescue – you have to FLASH firmware onto the board and the WiKi provides a handy link. I guess I should not have started this in the early hours of the morning – the WiKi above also leads you off here. Lots of things to learn.

I successfully installed the firmware from the WIKI – and according to same WiKi, a new “speaker Lite” device should have appeared on my PC sound control panel – it didn’t – so I have to stop at this point until SEEED come back with answers – a good test of their tech support – as I simply emailed support@seeed.cc

Wish me luck.

Leave a Reply

Your email address will not be published. Required fields are marked *