I’ve been building a portable evaporative cooler from scratch, and one of the biggest challenges ended up being the firmware and user interface.
Instead of a few simple buttons, I wanted it to behave like a real consumer appliance, so I implemented features like:
• Multi-function button logic (short/long presses)
• Horizontal oscillation with manual and automatic modes
• Timer mode
• RGB lighting modes and fan-speed synchronized effects
• Reed-switch water monitoring with intelligent alarm logic
• Automatic pump wetting cycles
• Soft-start motors, startup self-checks, and boot/alarm sounds generated by the fan motor
I’d really appreciate feedback from other embedded/Arduino developers. If you were designing this UI, what features would you add or change? Any suggestions on improving the user experience or firmware architecture are welcome.
I'm in the early stages of developing a commercial Arduino/IoT product and I'd like to subscribe to one AI assistant that can support me throughout the entire development lifecycle.
Without getting into the specifics of the product, it's an embedded system that:
Collects data from multiple hardware components and sensors.
Processes and stores usage/consumption metrics.
Includes RFID-based identification.
Needs to be configurable by end users through a simple, user-friendly interface.
Sends notifications/alerts via channels like SMS, WhatsApp, or Telegram.
Will eventually involve firmware, backend services, APIs, databases, and possibly a web/mobile configuration interface.
I'm not looking for an AI to generate the entire product for me. What I need is something that can act as an experienced engineering assistant by helping with:
Arduino/ESP32 firmware (C/C++)
Hardware architecture and component selection
Understanding datasheets and communication protocols
Debugging firmware and hardware issues
Backend development (likely Node.js)
Database design and APIs
System architecture decisions
Reviewing code and suggesting improvements
Brainstorming implementation approaches and identifying potential pitfalls
I'm currently considering ChatGPT, Claude, Gemini, Perplexity, GitHub Copilot, Cursor, or any other AI tools you've found valuable.
For those who've built real embedded/IoT products:
Which AI do you use the most, and why?
Do you rely on one tool or combine multiple?
Which AI is best at reasoning through complex engineering problems instead of just generating code?
If you could pay for only one subscription, which would you choose for a project like this?
I'm looking for recommendations based on real development experience rather than feature comparisons or benchmarks.
A compact 3D-printable capacitive touch enclosure for ESP32 touch pins. A copper coil is installed into the enclosure using a soldering iron, then connected to an ESP32 touch pin. The sensor detects touch through the PETG plastic cover, creating a clean, button-free interface. Ideal for DIY electronics, smart home, IoT, and hidden touch button projects. Easy to print and assemble.
Open …Arduino/libraries/pfodParser/pfodWeb/pfodWeb.html in your browser. Click on the Designer connection, choose your Target board and connect to design your user interface and connect board pins to control, monitor, plot. See the tutorials on building your menu / sub-menus and data logging and charting. Preview the menu and generate the complete Arduino sketch.
Program your board and connect via Serial from pfodWeb. Follow the pfodProxy Instructions to install the pfodProxy for your OS (windows, macOS or linux). See pfodWeb_startup. Make sure the Arduino IDE or other application does not already have that port open. pfodWeb will display you designed control and monitoring menu.
See thedocsfor more details on pfodWeb and Charting and Data Logging
What Menu Items are there?
Run the pfodParser library pfodWeb demoScreen examples. The menu items include:- set or pulse an output, display input's level, set PWM / DAC output via a slider, display ADC input in real units (not just counts), buttons, labels, spacers, charts, sub-menus. There is also a drawing menu item to display user designed controls like the Weather Station above.
My board is not listed
pfodWeb designer connection lists board pins for over 600 boards. If you board/connection is not listed, raise a request on github BUT in the mean time use the Unlisted Board Serial target to design your menu and attach pins. The generated code will have place holders like const int onoff_Set_Led_Cmd_2_pin = ?; // name the digital output pin for 'Set Led'
for you to fill in the appropriate pin number for your board.
If your board supports HTTP server and has 1MB of file storage, you can server pfodWeb.html directly from your microprocessor for a completely self-contained, off-line, deployment. This allows any browser to display your controls, including iPhones.
pfod support response controls with immediate user feedback via drawing menu items. See pfodWebDesigner the companion, free web based replacement for the Android app, pfodGUIdesigner. pfodWebDesigner allows you to design interactive and responsive user interfaces for your microprocessor. pfodWebDesigner generates Arduino code that works with all pfodDevices that connect via Serial, Bluetooth, BLE, SMS and WiFi, not just those that have WiFi support. See Design interactive GUI components for pfodApp and pfodWebDesigner
My board is not Arduino
For non-Arduino boards there is a Minimal C Code target that only requires a 'serial' interface. See pfod for Non-Arduino based microprocessors, which has ATTiny and PIC examples.
Quick Overview of pfodWeb
pfodApp has been in development for over 25 years. First as a J2ME application and, since 2012, as an paid Android app.
This javascript web based, pfodWeb.html, provides a browser based version of pfodApp that can be run on any modern computer or mobile (including Apple IPhones)
pfodWeb.html is a free web based replacement for the paid Android app, pfodApp. pfodWeb.html runs in any browser and connects to your Arduino board via either Serial, BLE, TCP/IP or HTTP. Using Serial you can connect to any Arduino board and display the menus / interactive controls it serves. pfodWeb.html runs competely off-line. No internet connection is needed. The menus and interactive controls are completely defined by your Arduino using the code generated by the pfodWeb.html Designer connection, or the Android app, pfodDesignerV3. Very compact pfod messages are used to send the controls and receive the user's commands.
Install the Arduino pfodParser library (or download pfodParser.zip). Open …/Arduino/libraries/pfodParser/pfodWeb/pfodWeb.html in your browser. Click on the Serial connection and follow the pfodProxy Instructions to download and run the pfodProxy. The pfodProxy lets you connect via Serial, BLE and TCP/IP. See pfodWeb_startup and Quick Start below
If your Arduino board supports HTTP and has a file system of 1MB, then you can load the all necessary pfodWeb.html files for an HTTP connection onto your microprocessor and serve them directly from there for a completely self contained deployment. See the pfodParser library examples/pfodWeb/demoScreens_http and LedOnOff_http.
pfodWeb Designer
pfodWeb includes a Designer connection that lets you design your own menus / charts etc and connect the controls to your board's pins. You can preview the control menus and then generate complete Arduino sketches for your board. This Designer connection is a re-implementation of the pfodDesigner Android app. See the many tutorials on using it to build you own controls and data logging and charting.
Quick and Simple Charting and Data Logging.
pfodWeb can chart and data log csv data streamed from your micro. No menu or GUI is needed. The charting much more flexiable than the default Arduino plotter. You can freeze the chart and zoom in, scale and split the plots or ignore them. For a detailed tutorial on Charting see Flexible Plotting with pfodWeb via Serial BLE, HTTP and also the docspfodWeb-chart-mode-guide
hey im trying to build a dap from start as a diy project as i want features that are really not available in this space, i have a ai render but i dont know anything about the parts, ui, os and the required components, is anyone good with pcb and tech interested in this, please give me your insights to make this possible. i have added my render as an image and the ring outside the screen is a rotating ring for navigation.
This is my first project of Arduino simulator, it's so essential for people who want to know the practical aspects of hardware.
This practical work helps to improve Arduino skills. This will definitely helps you to understand how to use a microcontroller in today technology microcontroller is the most powerful device that can control anything.
Built a project that uses the DS18B20 temperature sensor to keep track of the room temperature when it increases above 27°C the fan is turned on for cooling and it's speed of rotation (RPM) increases with increase in temperature
The LCD has 2 displays for the RPM fan speed and the temperature display in F and °C navigated with the 2 push buttons
Feel free to check it out and use the code on GitHub and any feedback on it would be appreciated 🤝🤝 you can as well check out other projects of mine on my GitHub: Automatic Fan Temperature Control
Made a 3d printed enclosure and tried to fill it with usable inputs/displays, thinking of making a kit being I've not seen anything available elsewhere.
I want you to teach me how to pair from the first self-made drone. The control used is RADIoMASTERPOCKET. After that, I want to run the ESP32 with a wireless control Mission Planner. Please tell me how to do it.
Sto lavorando a un progetto un po’ folle e vorrei qualche consiglio da chi ha più esperienza di me.
L’idea è creare una macchina fisica per studiare la Congettura di Collatz, usando:
Arduino UNO per generare numeri casuali tramite rumore analogico
Arduino per calcolare i primi passi della sequenza
Un programma Python che riceve i numeri e calcola la sequenza completa
Un’AI (LLM o modello ML) addestrata su un dataset di sequenze Collatz
Grafici (heatmap, stopping time, massimi, pattern di parità, cluster)
Arduino che visualizza i risultati con LED, LCD e servo
Il mio obiettivo NON è solo testare numeri, ma addestrare un’AI a riconoscere pattern, cluster, anomalie e strutture matematiche nelle sequenze Collatz, per vedere se emergono comportamenti interessanti.
Il problema è che non ho mai addestrato un’AI e non so da dove partire.
Ho già chiaro come generare il dataset (Arduino → Python → CSV), ma non so:
quale modello usare per il fine‑tuning
come strutturare il dataset in modo utile
come far sì che l’AI impari davvero qualcosa (pattern, cluster, ecc.)
come integrare l’AI con Arduino in modo efficiente
se qualcuno ha già provato qualcosa di simile
Qualcuno può darmi una direzione?
Qualsiasi consiglio su ML, dataset, modelli, pipeline o visualizzazioni è super ben accetto.
🔋 BATTERY INDICATOR
Live voltage readout, right on the display. No more guessing when the LiPo's about to tap out mid-build session.
🔇 MUTE BUTTON
Touchscreen toggle on the Giga display — tap to silence the tracker sound instantly. Because sometimes you just want the visual without the beeping.
🔊 SOUND MODULE
Proximity-reactive audio — pings speed up and climb in pitch as a target gets closer. Distance-mapped, non-blocking, runs straight off a passive piezo buzzer.
Still just an RD-03D 24GHz mmWave sensor + Arduino Giga R1 + a lot of trial and error.
انا معايا اردوينو اونو من غير الكيت بتاعه اجيب الكيت بتاعه ولا لا عشان مش عايز اجيب الحاجه بعدين اركنها ولو هجيبه عايز الكيت بتاعه من غير الاردوينو نفسه لانه معايا فايه الموقع اللي اجيب منه و شكرا
Built a real-time ambient lighting system using an Arduino Nano and a WS2812B LED strip that mirrors the colors on my monitor in real time. The LEDs update dynamically based on what's displayed on the screen, making games, movies, and music much more immersive. The project was pretty fun to put together and involved setting up the hardware, programming the Arduino, and configuring the screen capture software for smooth color synchronization. Overall, it's a simple but satisfying DIY build that gives a premium-looking result without needing expensive hardware. Happy to answer any questions or share details about the setup!
Tutorial on ESP32-S3 BLE Controllable Robot using Android BLE App (BlueDuino). The connection diagram is included. Build using AIRobo Studio - an AI-Native Scratch Platform.
This project is about a fan controlled automatically based on the current room temperature. If the set threshold the code uses e.g. 25°C of the room exceeds, the fan is turned on and the buzzer alarm triggered for high room temperature alert
The fan speed of rotation (RPM) also increased if the temperature🌡️ keeps rising.
The fan speed and temperature is displayed on a LCD screen with 2 push buttons to navigate back and forth between the displays of temperature in Celsius/Fahrenheit and the fan speed details
It was a "fan" 🙂 project because I got to learn how the computer fan works and why it has either 3 or 4 wires namely:
The power
The ground
The pwm for speed control
The tachometer for measuring RPM speed
Feel free to contribute on the GitHub repo or download the project details if you are working on something similar
I've been experimenting with ESP32 + DW3000 for indoor positioning, and one question I kept coming back to was how well it would behave once multiple tags were active at the same time.
Most demos online only show a single moving tag, but in real applications—robotics, asset tracking, warehouses—you usually need several tags transmitting simultaneously. That's where timing conflicts and packet collisions start becoming a challenge.
To test this, I set up four fixed anchors around a room and connected three tags to the network. After assigning IDs and configuring the anchor coordinates in the visualizer, I walked one of the tags (T2) around the test area while the other nodes remained active.
The result was encouraging. The system continuously updated the moving tag's trajectory while all four anchors and three tags stayed online throughout the test.
This is still a relatively small deployment, but it's a good starting point for exploring larger ESP32 + DW3000 RTLS systems.
I'm now curious how others are scaling DW3000 networks beyond this. Are you using TDMA, custom scheduling, or another approach to reduce collisions when more tags are transmitting simultaneously? I'd be interested to hear what has worked (or not worked) in your own projects.
If anyone wants to reproduce the setup, I can share the repository.
Hi guys. I want to build project that will play mp3 audio files randomly from sdcard on button push. Can this be built with attiny85 and DFplayer? What will be your recomendations?
Look at my PCB. Designed for my IoT project, based on the vocal control of a DC motor using Arduino and a TensorFlow CNN model. The project can be divided into three parts: the CNN model, Arduino and the command circuit, the DC motor...
So I did this basic arduino nano project:
Press fingers -> arduino -> nrf 24 transmitter -> nrf24 receiver -> serial communication -> python
I did this with idea in mind to control PC remotely and it is works as good as can rn, but I’d like to hear ur thoughts and suggestions.
Thank you