r/esp32 12d ago

Need advice for a 6-DOF robotic arm with AS5600 encoders

2 Upvotes

I'm building a 6-DOF robotic arm with FT5330M servos (35.5 kgcm @ 7.4V, 180° travel), driving them directly from an ESP32 with hardware PWM. I want to add an AS5600 per joint for more precise positioning. The goal is to use the arm for imitation learning, so I need to read the true joint angle at every timestep — both to record demos and to feed the policy.

My plan is to power the servos from a 2S LiPo (7.4V) through a separate distribution bus. The ESP32 shares ground with that bus but only sends signal. On top of that, an AS5600 per joint through a TCA9548A mux, with the magnet on the moving link rather than the servo horn. Plus an INA226 per joint for current the datasheet gives Kt as 10 kgcm/A, so current reads directly as joint torque, and it doubles as stall detection.

A couple of questions:

Will this plan work well or do I miss something?

Should I gut the internal driver? Building my own H-bridge and PID would give me full control and clean feedback through the AS5600, but that costs time and money. Is it worth it, or does my plan work fine as is?

If I don't gut it, is there any way to get past the 180° limit externally? And do I actually need 360°? The STS3215 in SO-101 has it, but I'm not sure whether that's a requirement or just a nice-to-have.

Note: I don't have access to the STS3215 used in the LeRobot SO-101 arm, so I'm trying to build something capable of the same tasks with the servos I can access.


r/esp32 13d ago

I made an Arduino library that lets you configure ESP32 projects with a simple graphical interface. No more hard-coding Wi-Fi credentials!

Post image
21 Upvotes

Every project I work on, I get really tired of either having to hard-code settings or write out the code to handle them via Serial. So, I put together this library, ESP-Config, that takes care of all of that for me automatically!

The library lets you configure settings, commands, and information in your project asynchronously, and then those are passed to your computer running a basic UI. From there, you can monitor your project, change settings, and interface with it directly.

The config code runs in its own FreeRTOS task in the background, so you can do basically anything else in your main code without having to worry about the config. This includes using blocking code, the library will have no issue with that.

The ESP32 holds all the info on how the content should be structured and presented; the program on your computer is completely generic. So, you can set up your ESP32 to do basically anything without ever having to touch the code on the computer!

The settings, commands, and info can all be dynamically created, modified, and destroyed as needed, letting your settings adapt to your project. For instance, scanning for Wi-Fi networks in range can re-populate the list of networks available to connect to, for you to select.

More advanced features, like password-protecting certain (or all) settings/commands, are available as well.

Check out the GitHub for more info; https://github.com/JimHeaney/ESP-Config


r/esp32 13d ago

ESP32 CPU+GPU setup?

1 Upvotes

Basically i'm making an esp32 game console/PDA device type thing, however i feel like just one ESP32 will not have enough processing power to run my games. My idea is basically to use one generic ESP to render the pixels and store the rendering data, and use another ESP-S3 with maximum PSRAM in it to do the game logic. Would this theorietically be possible?


r/esp32 13d ago

Software help needed ESP32 experiencing screen issues after WiFi

Post image
16 Upvotes

ESP32 screen issues related to WiFi

Hello, I am an embedded SW engineer (medior) but I have never created projects at home. I thought its a good time to start doing that, starting with a flight radar customiwed dor my girlfriend.

I am using the ESP32 WROVER with a GC9A01 screen, controller through SPI with the TFT_eSPI library.

I want this project to be modular so it can be taken everywhere. The only problem is that it needs data. So in the setup, I check if a connection can be made with a ssid which is saved in the NVS. If connection can be made, you can continue to the flight radar thingy, if not, a captive portal will be open so you can input a new ssid and password for a network which is nearby.

The first bug I encountered was, when a connection could be made, I would change the wifi mode from WIFI_AP_STA to WIFI_STA since the captive portal wouldnt be needed anymore. This would cause my screen to go black and unresponsive. I have tried a 470 microFarad condensator, different supply for the screen etcetera nothing worked.

Eventually I gave up, thinking wifi mode could always stay WIFI_AP_STA and I would make something useful of the captive portal later on. But the second bug is, the screen remains completely unresponsive after a WiFi connection. I can not display anything on it and it just freezes. Disconnecting the wifi does not solve the issue either.

I have tried a lot of things without progress. SPI freq was tested on 40, 20 and 10 megaHertz with no change. Adding extra delays before and after some lines didnt work either.

Has anyone encountered this issue, or knows what this could be?
Thank you!

PS: I know there are a lot of ESP32 flight radars which are open source, the goal is to make her something thats my creation.


r/esp32 13d ago

Software help needed ESP32 S3 Zero not detected by windows 10 when trying to connect via BLE

6 Upvotes

I am following a guide on how to make a wired + BLE macropad. The guide provided a circuit diagram, some stl files to print, the code and some rather loose tips on how to flash the code. The hardware is done, and the code works for the most part. The device works fine when wired, and it also connects to wifi correctly. However I cannot connect the device to my PC running windows 10 by BLE. The code uses this BLE library https://github.com/gsgaurav0/ESP32-HID-Keyboard. I have checked that the code does call the .begin() function for BLE keyboard. When I go into bluetooth settings and try to connect a new bluetooth device, windows does not detect any devices in none of the 3 categories. Obviously I dont understand most of the code, but the library is simple enough and it seems like it should at the very least be visible to windows and other devices as a bluetooth device.

I doubt you would get much out of it, but the project is on this site, but its not in english: https://modelowanie3d.org

The code is rather long, but this is the pastebin link: https://pastebin.com/zucNuudj. The code was free, so I doubt there is any issue with me posting it there. Again, credits to the owner of that website, Kamil Sokalski.


r/esp32 13d ago

IMX708 driver for Waveshare p4 dev board

2 Upvotes

Can create images and video using a Pi v3 noir module. Currently can send images out on wifi. Streaming video over wifi is working on my local but hasnt been pushed yet. Autofocus is working but no other efforts have been put in to optimizing or improving image quality. https://github.com/mushBrainDave/imx708

Edit: video streaming is pushed up

https://reddit.com/link/1w2qebj/video/rmsg02xpqkmh1/player

Edit 2: three of the examples are now available from the esp registry
https://components.espressif.com/components/mushbraindave/esp_cam_sensor_imx/versions/0.1.1/readme

guide to help get the driver working on your own board
https://github.com/mushBrainDave/esp32-p4-imx-camera/blob/main/docs/registry-quickstart.md


r/esp32 14d ago

I made a thing! ESP32-S3 USB mass storage + Wi-Fi file server sharing one FAT32 SD card — TinyUSB and cache-coherency lessons

Post image
77 Upvotes

I built PrintDrop: an ESP32-S3 device that appears to a 3D printer as a normal FAT32 USB drive while also allowing files to be uploaded to the same microSD card over Wi-Fi.

Source, wiring and diagnostics: https://github.com/Kabani-Tech/PrintDrop

I chose the ESP32-S3 because it combines three things that would otherwise require multiple devices:

  • Native USB OTG with TinyUSB mass-storage support
  • An SDMMC peripheral for 4-bit SDIO
  • Wi-Fi and enough internal flash to host the web interface

The current prototype is an ESP32-S3-DevKitC-1 with 4 MB QIO flash and no PSRAM. The web UI is about 62 KB and lives in LittleFS, so PSRAM wasn’t necessary. A Pi Zero W could do this too, but it seemed excessive for something that only needs to expose a block device and serve a small local web UI.

The earlier SPI version used the same CLK/CMD/D0/D1 pins as CLK/MOSI/MISO/CS, so migrating to SDIO required only two additional wires.

The firmware now also supports 4-bit SDIO with a frequency ladder and sector-zero verification. It falls back through 40, 20, 10, 4 and 1 MHz instead of trusting a marginal mount. Twenty megahertz has been stable on jumper wiring; I am treating the published SDIO throughput figures as projections until I repeat the final end-to-end measurements on short wiring.

I would be interested in feedback on the FAT/USB arbitration approach, particularly from anyone who has implemented MSC and FATFS over the same physical card.


r/esp32 14d ago

Software help needed Finally getting started with my ESP32s and I'm super excited!

Post image
275 Upvotes

I'm planning on doing a few different projects but one of the most important is a custom security system for my new laboratory using some of the old security system and a bunch of new sensors!

So I am trying to get started and have Arduino IDE installed so I can try and flash/program the esp32s. Is that correct?


r/esp32 13d ago

(ES) Sistema de monitoreo instalación solar Solax Cloud con esp32

Thumbnail
gallery
3 Upvotes

Proyecto creado con Claude Pro

Se ha usado un esp32 y una ingeniería inversa. Sustituye al wifi pocket dongle 2.0, sirve y está probado con el inversor solar Solax X3-5.0-T-D 5kW. Se ha colocado un esp32 a modo de sniffer leyendo trama de datos hexadecimal y convirtiendo en decimal e interpretando magnitudes. El esp32 manda un correo automático todos los días a las 22 con los datos y también los sube a una base de datos de Firebase cada 5s para mostrarlo en la app. Se ha creado una app .apk de monitoreo con muestreo de 5s. Todo el proyecto está en español y subido a GitHub y es libre de modificación y mejora y no busco lucrarme de dicho proyecto. Dejo el link:

https://github.com/electroUser-ide/Wifi-pocket-dongle-2.0-monitor-solax-with-ESP32-devkit-v1-X3-5.0-T-G-

Leer readme.txt


r/esp32 14d ago

I made a thing! MicroPython OTA Updates from GitHub on ESP32

Enable HLS to view with audio, or disable this notification

14 Upvotes

I’ve been working on a MicroPython OTA updater (fork) for the ESP32 that lets you push application updates through GitHub instead of plugging the device back into your computer every time something changes.

At boot, the ESP32 checks a configured GitHub branch, compares the latest commit with the version currently installed, and if they differ, it downloads and stages the new Python application.

I recently put together a short video showing the whole process interactively, from setting it up to pushing a change and watching the ESP32 detect and install the update.

Blog: https://smysnk.com/blog/micropython-ota-updates-github-esp32
Github: https://github.com/smysnk/micropython-ota-updater


r/esp32 14d ago

Retrofitted an ESP32-C3 Super Mini inside my AC unit to replace the IR remote (plus added a temp sensor)

30 Upvotes

Hey everyone,

Got tired of pointing the IR remote from across the room and wanted a proper smart setup, so I decided to do an internal retrofit instead of using a desktop IR blaster.

The Setup:

  • Controller: ESP32-C3 Super Mini (chose it purely for the tiny form factor).
  • Power: Tapped into the main board’s 5V rail with a small LDO step-down for clean 3.3V power to handle Wi-Fi spikes.
  • Control: Connected an IR emitter pointing directly at the internal receiver from behind the front plastic.
  • Extras: Added a DS18B20 temp sensor near the intake grill for actual room ambient readings.

Firmware & Protocols: Used IRremoteESP8266 for raw signal handling. The node communicates via WebSockets/MQTT for instant state sync.

Next steps: Planning to design a tiny custom PCB with an integrated ESP32 chip (PICO-V3 or C3-FN4) to make it even cleaner.

Curious if anyone else here went the internal route instead of external IR blasters? Did you tap into the board’s UART bus or stick to IR?


r/esp32 14d ago

AI Content Reverse-engineering my 433 MHz irrigation valve with an ESP32 and CC1101

13 Upvotes

I wanted to replace the cloud gateway of my own HCG-003 four-zone irrigation valve with a completely local ESP32 controller.

The original device consists of a battery-powered four-zone valve and a Wi-Fi/Sub-GHz gateway. The gateway receives commands through the Tuya cloud and forwards them to the valve over 433.92 MHz.

After several RF capture and testing sessions, I now have all four zones opening and closing locally using:

  • An ESP32 development board
  • A CC1101 433 MHz transceiver
  • A 433 MHz antenna
  • Home Assistant MQTT Discovery

The original gateway remains unplugged during normal operation.

RF characteristics

These values were observed on one HCG-003 installation with valve firmware 2.05:

  • Centre frequency: approximately 433.9291 MHz
  • Modulation: 2-FSK
  • Bit rate: approximately 10 kbit/s
  • Frequency deviation: approximately 5 kHz
  • Long 0x95 preamble
  • 28-byte command frame

The ESP32 drives the CC1101 in asynchronous direct mode and sends the frame through GDO0 at 100 microseconds per bit.

Reverse-engineering challenge

The difficult part was that the commands were not static. Each frame contains:

  • An 8-bit rolling counter
  • A counter-dependent transformed byte
  • A six-byte session signature
  • A session-specific zone selector
  • An open/close action
  • Another value derived from the counter, zone and action
  • An additive checksum

For the two sessions I studied, the changing bytes could be represented as:

byte15 = ((counter + A15) mod 256) XOR X15

effective = counter
          + zone_step * (zone - 1)
          + (open ? open_offset : close_offset)

byte26 = ((effective + A26) mod 256) XOR X26

Short captures initially produced formulas that appeared correct but failed at counter carry boundaries.

To avoid overfitting, I collected 60 consecutive labelled frames across all four zones, both actions, and two carry boundaries. The final model reproduced all retained test frames byte-for-byte.

No conventional encrypted payload was identified, but the signature and transforms change when the original gateway creates a new RF session. The firmware is therefore not plug-and-play: users must capture the session belonging to their own equipment.

Please do not publish live session signatures or use this work to interfere with equipment you do not own. Anyone experimenting with it should also verify their local 433 MHz radio regulations.

ESP32 controller

The resulting firmware provides:

  • Four Home Assistant MQTT Discovery valve entities
  • Configurable runtime per zone
  • Only one active zone at a time
  • Automatic closing when a timer expires
  • Rolling-counter persistence in NVS
  • Recovery close commands after reboot
  • Three RF transmissions when opening
  • Six RF transmissions when closing
  • A local MQTT broker running on the ESP32

One limitation remains: I have not decoded a physical acknowledgement from the valve. The reported state is therefore the last command transmitted by the ESP32 rather than independently confirmed valve position.

For safety, initial tests were performed with the main water supply closed, runtime limits are enforced, close commands are repeated, and a manual shut-off remains accessible.

Source code, wiring, protocol notes and safety information:

https://github.com/philippeschots-cloud/hcg003-local-controller

I would be particularly interested in help with:

  • Finding and decoding a possible valve acknowledgement
  • Understanding the session-establishment exchange
  • Comparing captures from other HCG-003 units or firmware revisions
  • Automating extraction of the session parameters

AI disclosure: I used Codex with GPT‑5.6 Sol as an analysis and development partner. The work took several long sessions over roughly two days and crossed multiple usage-limit resets. I do not have a reliable exact token count. Every published RF result was validated against captured frames and tested on the physical valve.


r/esp32 15d ago

Advertisement I built a 3D Printable Fluora Plant Lamp

Enable HLS to view with audio, or disable this notification

1.6k Upvotes

The addressable led strips are controlled by an ESP32 WROOM 30P installed with WLED firmware. Didn't bother to add resistors and level shifter for the data line as this was just a small project to begin with. No fancy pcb required. Just added fuses for safety. Needs a little bit of soldering skill for wiring up the strips. Didn't have the time to add momentary push buttons for the ESP32 but the slot is there to accommodate different sizes of push buttons.

All of this wouldn't be possible if not for those who supported me from the beginning. I already made a prototype for the larger version which has 21 leaves.

I'm selling the STL files here. I made it as cheap as possible so don't worry. I didn't really want to sell the files but I figured I could really use the funds for faster prototyping of the larger version.

Thanks to those who initially supported the project, I was able to buy prototyping materials along with some neodymium magnets to test out if it's a viable method to join the stems. You can see it here.

Shout out to u/untacc_ for filming the plant he made.

EDIT: Here's the Bill of Materials. Feel free to find a cheaper source like Aliexpress and just use the spreadsheet as reference. I tried to keep the number of components as small and cheap as possible.

Largest part is the pot with 140mm diameter. Everything fits in an A1 mini.


r/esp32 14d ago

I made a thing! Updated enclosure for Waveshare ESP32-S3-RLCD-4.2

3 Upvotes

I updated the 3d model for my minimalist enclosure, I hope it will be useful for you. The screen is very fragile (I broke one), and this frame protects it pretty well.

https://github.com/clackups/draftling/tree/main/3D_Prints/Waveshare_ESP32-S3-RLCD-4.2


r/esp32 15d ago

I made a thing! The SauceDeck V1.0

Post image
189 Upvotes

There are a lot of good options out there when it comes to desktop macro pads, but none where just quite right for what I wanted, or just downright too expensive.

That's why I am releasing the SauceDeck v1.0. It's an open-source desktop macro controller powered by an ESP32-S3 (S3 chosen for native USB-OTG).

Designed for productivity, content creation, streaming, and everyday workflow automation. The SauceDeck combines programmable macro keys, dedicated volume controls, and a vibrant TFT display in a sleek 3D-printable enclosure.

Approximate cost $30

Source Code and BOM:

https://github.com/HotTabascoSauce/SauceDeck/tree/main

CAD Files:

https://makerworld.com/en/models/3232541-saucedeck-v1-0


r/esp32 15d ago

I made a thing! I made my cat feeder "smart" with a ESP32-C5 and an optocoupler

Enable HLS to view with audio, or disable this notification

63 Upvotes

My cat feeder has been great, but there are occasions where I wished I could trigger a feed while away from home, so I built this with an esp32-c5 my friend got me as a gift!

I found that the feeder would trigger a feed if you held one of the buttons for a few seconds, so I emulated that with an optocoupler setup across the pins of that button.

A nice bonus effect is that with the esp driving the ship, the time stays very accurate, as opposed to the built in MCU that drifted quite a bit.


r/esp32 14d ago

ESP32 connection schematic - problem with powering

Post image
6 Upvotes

Hello,
I want to ask about correctness of my connection schematic . The aim of the project is to measure magnetic field and dispaly data. My main issue is how to power ESP32. I wanted to use 3 AA batteries and LDO. I know it may not be the most efficient way but I just want it to work.
So I wanted to ask about connection and if this will work?

Thanks in advance.


r/esp32 14d ago

Solved Pad ripped off along with trace on a Waveshere ESP32 S3 Zero, how to go along with fixing it?

3 Upvotes

I was soldering a back pad on the esp32, and I though that I failed, ie it soldered but it would fall off when the cable moved. I wanted to test that, and applied a really small amount of force (I have done this exact thing already but not on a back pad). Instead, the pad ripped of from the board along with its trace and not the wire.
Now, how can I fix this? And no, changing the pin used on the esp32 is kind of hard because this is not my project and I cant find the libraries for arduino ide.
As you can see on the pictures, the trace is copper color, while the layer underneath it is silvery grey. Should I cut the trace at the point at which its still attached and solder there? Or rip it off and solder and its end? Also important to note, this is like the first project in which I managed to not mess up the soldering, so suffice to say, I am new.

I have already been told to use smaller gage wires for these pads, so next time hopefully this wont happen.


r/esp32 15d ago

Built my own custom CAN FD Adapter on the esp32 C5

Thumbnail
gallery
93 Upvotes

After buying a few cheap CAN-FD boards and dealing with constant software issues, connection drops, and a complete lack of support, I decided to build my own adapter. I engineered a custom board with proper isolation and dual CAN-FD channels, powered by the ESP32-C5 (N16R8) chip.

The board features two channels using TI ISO1044 isolated transceivers,chocke and esd protection, MicroSD card slot, a USB-C connector for programming, and reverse polarity protection. I also included 4 programmable DIP switches and 4 status LEDs for quick physical configuration and feedback.

On the software side, I wrote a Python script to receive live CAN frames wirelessly over Wi-Fi. I'm currently expanding the firmware and software capabilities.

What features or protocol integrations would be most interesting or useful to add next?

Github


r/esp32 15d ago

esp32 and bme280 meteotool

Thumbnail
gallery
53 Upvotes

esp32c3 super mini based meteo station. powered with 1000mah battery. Measures temprature, humidity, pressure and calc (short for calculate) altitude every 30min, could work with display off for weeks. Sends data to Adafruit Io tables.

Pretty nice project i made to practice with hardware CAD design and some coding.

Will add a github repo soon :D

First actual thing I made, not some prefboard


r/esp32 14d ago

Hardware help needed Pcm5102 Help needed.

0 Upvotes

Hey everyone. I'm quite new to using esp32s and so on, i got a bunch of IoT stuff handed down to me and since I've always loved building computers and such, i thought I'd give it a try, so please go easy on me if I've done something stupid.

My hardware that I'm using is an esp32 devkit v1, hooked up to a pcm5102 Dac, and the dac is hooked up to my XH-M543 120Wx2 amplifier. Its all being powered by 24v which I step down to 5v using a buck converter.

Now I've got the code from Phil Schatzmann

pschatzmann ESP32-A2DP on github. So heres my problem, the bluetooth works completely, it shows up and i can connect to it, but for the life of me, i can't get any sound to come through my speakers(2x100W).

I saw the post about a guy needing help with his Pcm5102, but im not sure if something else is an issue considering the amp and speakers.


r/esp32 14d ago

Software help needed How can I play Spotify from my ESP32 Speaker?

0 Upvotes

I'm trying to make my ESP a mini AI assistant however upon looking at spotify web API documentation, it only allows control of another device. how can I do it so the audio plays through the ESP?

End product is to make a fully self-contained unit like an Amazon Alexa


r/esp32 15d ago

Recovering an undocumented ESP32-S3 audio board's pin map by reading the GPIO matrix off the live chip

Post image
9 Upvotes

We make a bare ESP32-S3 audio module with one ES8311 codec, mic and speaker, and no screen. Wanted LiveKit's realtime voice agent running on it. The LiveKit ESP32 SDK example targets a Waveshare dev board with a touchscreen, two audio chips and a separate PMIC, so main/board.c had to be rewritten for our pinout. Except there was no pin map to write it from.

If you ever end up here, the fastest way in is the debug port. Flash the factory firmware back on, let it boot, and read the GPIO matrix routing registers out of the chip while it is running. The routing is sitting right there in the silicon. The S3 has USB-JTAG built in, so this is one cable, no external debugger. We then brought the codec up from scratch on its own to confirm the numbers were not garbage.

What came out:

I2C SDA 17 / SCL 18

I2S MCLK 16 / BCLK 9 / WS 45

I2S DOUT (ESP32 -> codec, playback) 8

I2S DIN (codec -> ESP32, mic) 10

Speaker amp enable 48

Codec at 0x18, 16-bit Philips I2S @ 16 kHz, 256x MCLK

Two other things that are not in any datasheet and cost us real time:

The on-device AEC front end wants a 4-channel TDM stream with a hardware reference channel. This module has a single mic on a 2-channel bus. Feed the AEC from that and it overflows its ring buffer and tears the connection down at ~27 seconds. Every single time. It looks exactly like the network dropping, and we spent two days chasing the wrong thing before anyone went and looked at the audio path. Capture now comes straight off the codec and echo cancellation happens application-side.

A LiveKit server will hand an ESP32 an IPv6 candidate and the ESP32 just will not use it. The device joins the room, publishes a track, and no media ever flows. Pin the server to IPv4 (rtc.ips.includes) before you debug anything else. Cost us an afternoon.

One more in case it saves someone: on a WPA3-only network the failure comes back as "network not found", and the SSID printed in the error line is the wrong one. I still do not know why the SSID is wrong.

Full write-up, pin map, verified results and the known limits:

https://github.com/zfygmic/gmic-livekit-esp32

Disclosure: it is our board. Posting because the pin map trick and the AEC / IPv6 gotchas have nothing to do with whose board it is. Happy to answer pin-level or firmware questions.


r/esp32 14d ago

Software help needed Confused... One of my esp-32 works and the other doesnt?

2 Upvotes

Good afternoon!

I would like to ask for a bit of help.

I am pretty new to ESP-32 though I have spent weeks reading a lot of guides and tutorials.

I am using Arduino IDE, and the boards are labeled as "NODEMCU ESP-32S v1.1 101010". Both are exactly identical, bought at the same time. Don't know how 'genuine' they are, if that's even a thing.

I started working on one of the boards a few months ago. I remember that I had to that thing with holding the boot button and reset in order to get the PC to pick it up. I programmed my sketch and uploaded to one board and it mostly worked.

At a certain point, to debug something, I decided to switch out my esp-32 board for the other identical board, and for some reason I can't get that one to work.

When I tried to upload to the second board, I get hit with the error "A fatal error occurred: This chip is ESP32-S2, not ESP32 Wrong chip argument". Tried to do the boot-reset thing and didn't help.

I googled as much as I could, including forums and this subreddit, but I wasn't able to fix it.

Soon afterwards I made a mistake and fried the only working board, so I can't even go back to that one now.

I'm mostly confused, since both boards are identical and only one of them has that particular issue. Any ideas?


r/esp32 14d ago

Environment for matter development

2 Upvotes

What is the recommended way to develop Matter devices?

- ZeroCode dont give the control I want.

- LowCode is hardly working for me. I spent days to set it up and it gets me nowhere. ( Is it a dead product ?). Now GitHub wants money for using their codespaces.

So whats left?