<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Arduino Projects</title><link>https://community.element14.com/products/arduino/arduino-projects/</link><description>Post your Arduino Projects here.  Projects include official boards, Arduino Compatible Boards and shields, coding and sketches, Arduino Starter Kits, Videos, Project14 competitions, Design Challenges, and more. </description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-rl-pybullet?CommentId=54d21e5b-d83c-4f9d-adca-8f561ae463db</link><pubDate>Sat, 31 Oct 2026 22:05:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:54d21e5b-d83c-4f9d-adca-8f561ae463db</guid><dc:creator>mearm.ben</dc:creator><description>Great project, thanks for including the original product name with it. Keystudio have unapologetically exploited our open hardware, entirely ignoring the licence and my communications over several years. What is great is that you&amp;#39;ve put together some amazing tutorials and shared them in the original spirit of the MeArm project.</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-rl-pybullet?CommentId=2981dd94-fd6b-4bb3-b494-bacbc0f4eeb9</link><pubDate>Fri, 30 Oct 2026 18:34:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:2981dd94-fd6b-4bb3-b494-bacbc0f4eeb9</guid><dc:creator>cstanton</dc:creator><description>We have a Robotics design challenge coming up (keep your eyes on the homepage or design challenge group ;) ) you might want to consider applying for!</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-rl-pybullet?CommentId=04d2a3ec-0f68-4ad9-b5de-4f4f631dbb0c</link><pubDate>Fri, 30 Oct 2026 17:47:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:04d2a3ec-0f68-4ad9-b5de-4f4f631dbb0c</guid><dc:creator>lucaeffe03</dc:creator><description>Hi cstanton :) ,over the last few months I’ve been working on these projects to learn more about robotics and computer vision since we don’t do many practical projects at university, I decided to experiment a bit on my own. I recently discovered this community through Instagram and thought of sharing them. I hope they might be helpful to other users as well :)</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-rl-pybullet?CommentId=5f003611-42df-467f-8d2f-7c5da0b1457e</link><pubDate>Fri, 30 Oct 2026 17:06:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5f003611-42df-467f-8d2f-7c5da0b1457e</guid><dc:creator>cstanton</dc:creator><description>Hey lucaeffe03 , interesting set of projects with the &amp;#39;mearm&amp;#39; here, is this a project you did out of interest for it, or were sponsored, or did you do it for a school project? I&amp;#39;d be interested in your commentary and experiences alongside what you&amp;#39;re posting so it&amp;#39;s not only a posting of code?</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/4wd-slam-radar-2d-robot-car?CommentId=a448eb1f-5ad8-43d6-b321-034661333493</link><pubDate>Thu, 29 Oct 2026 20:11:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a448eb1f-5ad8-43d6-b321-034661333493</guid><dc:creator>DAB</dc:creator><description>Very nice project.</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-rl-pybullet?CommentId=3955a253-28f4-41e8-a5da-a7502290e966</link><pubDate>Thu, 29 Oct 2026 19:56:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3955a253-28f4-41e8-a5da-a7502290e966</guid><dc:creator>DAB</dc:creator><description>Looks like a good learning tool.</description></item><item><title>Blog Post: MeArm-RL-PyBullet</title><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-rl-pybullet</link><pubDate>Thu, 29 Oct 2026 12:36:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d2d4d00a-05ac-4f02-bcea-3843f6f4c478</guid><dc:creator>lucaeffe03</dc:creator><description>A 4DOF Keyestudio KS0198X robotic arm trained in simulation using reinforcement learning to reach a target, and transferred via serial to the physical arm. Task: reach — moving the tip of the arm (tool) towards a red dot generated within the arm&amp;#39;s real workspace, using PPO (Proximal Policy Optimization, Stable-Baselines3) on a PyBullet model built from the real URDF/meshes of the mechanism. Devices &amp;amp; Components 1 Arduino Uno Rev3 1 4DOF Robot Arm Kit Mearm_real_env.py Gymnasium environment for the MeArm/Keyestudio KS0198X robotic arm, simulated in PyBullet from the real URDF (URDF and mashes available on GitHub). Neural network (view code on GitHub): An input layer with 17 neurons (one for each observation value: 4 (positions) + 4 (velocities) + 3 (ee_pos) + 3 (target_pos) + 3 (delta_pos)) An output layer with 4 neurons (one for each motor). Serial_bridge.py Sim-to-real bridge: reads a trained policy and sends the corresponding servo angles to the physical Keyestudio arm via serial. Train.py PPO training (with linear reward) of the &amp;#39;reach&amp;#39; task on the real MeArm model.Run on an M1 for 1M steps across 4 parallel environments (you can use even more steps if necessary for your specific case). PPO takes the data from all 4, averages it, and updates the weights much more stably.To monitor training progress with TensorBoard, open the terminal:tensorboard --logdir ./tb_logs/&amp;quot; Evaluate.py Loads the trained model and shows it in action within the PyBullet GUI. CODE MeArm-RL-PyBullet</description></item><item><title>Blog Post: MeArm ComputerVision</title><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-computervision</link><pubDate>Thu, 29 Oct 2026 12:29:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:372259e9-c0cb-476f-9d23-8861d38f64d3</guid><dc:creator>lucaeffe03</dc:creator><description>A webcam watches your hands. Python (using mediapipe) tracks the landmarks of both hands in real-time, translates them into angles for the 4 servomotors of the arm, and sends them via serial port to an Arduino which applies them. Devices &amp;amp; Components 1 Arduino Uno Rev3 1 Keyestudio 4DOF Robot Arm Kit Instructions Control.py Left hand: Thumb-index pinch → BASE rotation (pin A1) Right hand: Hand height in the frame → arm extension: moves SHOULDER (pin A0) and ELBOW (pin 6) together in a coordinated way (hand high = arm extended forward, hand low = arm retracted) Thumb-index pinch → GRIPPER control (pin 9) Safety If a hand leaves the frame, its axis remains locked at the last commanded value (no sudden jumps) Spacebar → full pause of all servo motors &amp;#39;q&amp;#39; → exit CODE MeArm-computer-vision</description></item><item><title>Blog Post: MeArm PickPlace</title><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-pickplace</link><pubDate>Wed, 28 Oct 2026 11:10:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:82070a2f-f758-46be-abcc-3982aebd8e08</guid><dc:creator>lucaeffe03</dc:creator><description>The project involves the development of an autonomous robotic system based on a 4-degree-of-freedom (4DOF) arm. Devices &amp;amp; Components 1 Arduino Uno Rev3 1 Keyestudio 4DOF Robot Arm Kit Project description The project involves the development of an autonomous robotic system based on a 4-degree-of-freedom (4DOF) arm with a parallelogram structure (MeArm). The system is capable of identifying objects (colored balls) on a workspace using a webcam, calculating their real coordinates in millimeters, and commanding the robotic arm to grab and deposit them into a predefined &amp;#39;drop zone&amp;#39;. The software is written in Python and communicates with a microcontroller (Arduino R3) via Serial or Bluetooth Low Energy (BT-24 module). CALIBRATE_COLOR.PY Opens the webcam with trackbars to find the correct min/max HSV values for YOUR ball&amp;#39;s color, under YOUR lighting conditions. Move the trackbars until ONLY the ball appears white in the &amp;quot;Mask&amp;quot; window (everything else black), then copy the values printed in the console into config.COLOR_RANGES. The values will be printed in the console after pressing &amp;#39;q&amp;#39;. CALIBRATE.PY Camera -&amp;gt; table calibration via 4-point homography. INSTRUCTIONS: Fix the camera above the table, framing the arm&amp;#39;s entire workspace (top-down view; it is fine if it is not perfectly perpendicular, the software will adjust it automatically).Fix the camera above the table, framing the arm&amp;#39;s entire workspace (top-down view; it is fine if it is not perfectly perpendicular, the software will adjust it automatically).Place 4 markers at 4 points where you know the REAL coordinates in mm relative to the arm&amp;#39;s base (measure them with a ruler: x = left/right of the base, y = forward from the base).Place 4 markers at 4 points where you know the REAL coordinates in mm relative to the arm&amp;#39;s base (measure them with a ruler: x = left/right of the base, y = forward from the base).Run this script, click the 4 points on the image IN THE SAME ORDER you defined them below in REAL_POINTS_MM, then press &amp;#39;s&amp;#39; to save (for example, I defined them clockwise: top-left -&amp;gt; top-right -&amp;gt; bottom-right -&amp;gt; bottom-left).Run this script, click the 4 points on the image IN THE SAME ORDER you defined them below in REAL_POINTS_MM, then press &amp;#39;s&amp;#39; to save (for example, I defined them clockwise: top-left -&amp;gt; top-right -&amp;gt; bottom-right -&amp;gt; bottom-left). SCAN_BLE.PY Diagnostic script to understand how to communicate with the BT-24 module via BLE. INSTRUCTIONS: Run: python scan_ble.pyRun: python scan_ble.pyIt will show all BLE devices found nearby (name + address). Identify the one for the arm (it is probably named &amp;quot;DX-BT24&amp;quot; or &amp;quot;BT24&amp;quot;).It will show all BLE devices found nearby (name + address). Identify the one for the arm (it is probably named &amp;quot;DX-BT24&amp;quot; or &amp;quot;BT24&amp;quot;).Run the script again, passing the address as an argument: python scan_ble.py AA:BB:CC:DD:EE:FF (Windows/Linux)python scan_ble.py 44BAD4C8-18F8-FAE0-ED97-FFFC3A69A296 (macOS uses UUID instead of MAC) It will connect and print ALL services and characteristics, along with their respective properties (read/write/notify).Run the script again, passing the address as an argument: python scan_ble.py AA:BB:CC:DD:EE:FF (Windows/Linux)python scan_ble.py 44BAD4C8-18F8-FAE0-ED97-FFFC3A69A296 (macOS uses UUID instead of MAC) It will connect and print ALL services and characteristics, along with their respective properties (read/write/notify).What to look for in the result of step 3:A characteristic with &amp;quot;write&amp;quot; or &amp;quot;write-without-response&amp;quot; properties -&amp;gt; this is the one the PC writes to in order to SEND data to the arm (equivalent to PC TX / module RX).A characteristic with &amp;quot;write&amp;quot; or &amp;quot;write-without-response&amp;quot; properties -&amp;gt; this is the one the PC writes to in order to SEND data to the arm (equivalent to PC TX / module RX).A characteristic with the &amp;quot;notify&amp;quot; property -&amp;gt; this is the one the module uses to NOTIFY data to the PC (equivalent to module TX / PC RX), useful for reading &amp;quot;OK&amp;quot;/&amp;quot;ERR&amp;quot; ACKs.A characteristic with the &amp;quot;notify&amp;quot; property -&amp;gt; this is the one the module uses to NOTIFY data to the PC (equivalent to module TX / PC RX), useful for reading &amp;quot;OK&amp;quot;/&amp;quot;ERR&amp;quot; ACKs.Note down the UUIDs of these two characteristics: you will need them for config.py (BLE_WRITE_CHAR_UUID and BLE_NOTIFY_CHAR_UUID) and to create ble_link.py.Many inexpensive modules of this type use a SINGLE characteristic for both writing and notifying (e.g., a UUID ending in &amp;quot;FFE1&amp;quot;): if you see a single characteristic with BOTH write+notify properties, use it for both directions. MAIN Multithreading + Semicircular Trajectory. The main thread handles smooth 30fps video. The secondary thread moves the arm using predetermined safe angles (you need to upload arduino sketch on the board and decide if communicate via serial or bluetooth in Config.PY). CODE ON MY GITHUB Robot_Pick_Place</description></item><item><title>Blog Post: MeArm TicTacToe</title><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/mearm-tictactoe</link><pubDate>Wed, 28 Oct 2026 11:05:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:01bbf433-1617-48c7-860b-60cb5bcdd393</guid><dc:creator>lucaeffe03</dc:creator><description>An interactive robotic system (MeArm) capable of challenging a human to a game of Tic-Tac-Toe Devices &amp;amp; Components 1 Arduino Uno Rev3 1 Robot Arm Kit TrisVision MeArm Mixed Reality and Computer Vision Introduction The project consists of the development of an interactive robotic system based on a 4 degrees of freedom (4DOF) arm with a parallelogram structure (MeArm). The system is capable of challenging a human to a game of Tic-Tac-Toe, identifying moves (X) on a sheet of paper via a webcam and physically responding on the board (O).The software is written in Python and communicates with a microcontroller via a BT-24 Bluetooth Low Energy module. Software The architecture is modular, separating the vision logic, artificial intelligence, and hardware communication:Vision/Main (`trisvision.py`): Uses OpenCV to track the playing field, recognize symbols (X and O), and render graphics in Mixed Reality.Logic (`tris_logica.py`): Contains the algorithm (Minimax) to calculate the robot&amp;#39;s move.Communication (`ble_link.py`, `config.py`): Interface using the `bleak` library for asynchronous sending of commands (servo motor angles) to the Arduino via Bluetooth. Calibration To allow the robot to interact accurately with the real world, several calibration phases were necessary. Spatial Calibration Since the camera frames the table, the image has perspective distortions. The software dynamically searches for the 4 sides of the white paper and applies perspective correction (`warpPerspective`). By pressing the &amp;#39;B&amp;#39;*key (Memory Lock), the system freezes the transformation matrix, allowing the robot to enter the scene without disrupting the geometric recognition of the board. Color Calibration Target objects were isolated from the environment by adjusting the Min/Max thresholds for Hue (H), Saturation (S), and Value (V). In this case, the color of a yellow circle glued to the gripper was calibrated (`calibra_EE.py`), which is essential for visually tracking the position of the end-effector. Electromechanical Calibration The hardware (SG90 micro-servo motors) has significant mechanical tolerances. Instead of using complex kinematic calculations, the system uses a static mapping (`MAPPA_CASELLE`) where a safe combination of angles (Base, Shoulder, Elbow) has been saved for each of the 9 Tic-Tac-Toe squares. This decouples the mathematical model from the physical problem, offloading hardware imperfections onto a manually tunable configuration file (via `test_ble.py`). CODE ON MY GITHUB MeArm_Tic_Tac_Toe</description></item><item><title>File: car</title><link>https://community.element14.com/products/arduino/arduino-projects/m/managed-videos/151963</link><pubDate>Wed, 28 Oct 2026 10:58:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:84ddebb9-5295-454c-b722-d46c7e0b46ca</guid><dc:creator>lucaeffe03</dc:creator><description /></item><item><title>Blog Post: 4WD SLAM Radar 2D Robot Car</title><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/4wd-slam-radar-2d-robot-car</link><pubDate>Wed, 28 Oct 2026 10:55:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3efbcde8-eb76-431e-a11a-cf12fcbfe162</guid><dc:creator>lucaeffe03</dc:creator><description>An autonomous 4-wheel drive explorer robot based on Arduino UNO R4 WiFi, designed to navigate through paths and mazes while detecting surrounding obstacles. The robot performs 180&amp;#176; radar scans via an ultrasonic sensor mounted on a servo motor and transmits real-time telemetry via Wi-Fi (Simultaneous Localization and Mapping) to an interactive Web dashboard, which reconstructs the 2D vector map of the surrounding walls. 3D Model -&amp;gt; 3D_Viewer community.element14.com/.../car.mp4 Devices &amp;amp; Components 1 Arduino&amp;#174; UNO R4 WiFi 4 Geared Motor 3 IR-Sensors 1 4WD chassis 1 2 x 18650 Battery Holder With DC Jack 1 4 x AA Battery Holder with Jumper Header Wires 1 Driver L298N 1 Sensor Shield V5.0 1 4-channel infrared module 1 Servo SG90 1 HC SR04 Wiring and Hardware Microcontroller : Arduino UNO R4 WiFi + Sensor Shield V5.0 Chassis &amp;amp; Motors: 4WD Chassis with 4 DC TT gear motors (yellow) Motor Driver: H-Bridge module L298N (with jumpers inserted on `ENA` and `ENB` to deliver 100% power) Radar Turret: HC-SR04 ultrasonic sensor mounted on an SG90 micro-servo motor Waypoint Odometry: Module with 3 Infrared (IR) Sensors positioned under the chassis for detecting configurable checkpoints (black tape at fixed intervals on the floor) Separate Dual Power Supply: Logic (Arduino, Wi-Fi, Sensors, Servo): Battery pack with 2 Li-Ion 18650 cells (7.4V – 8.4V) connected to the Arduino R4 Barrel Jack. Power (4 DC Motors): 4x AA battery holder connected to the 12V/VMS and GND terminals of the L298N driver (with shared `GND` reference with the Sensor Shield and the `+5V` line disconnected to isolate the two circuits). Pin Map on Sensor Shield | Component | Module Pin | Arduino Pin (Sensor Shield) | Function | | L298N Driver | `IN1` | Pin 4 | Left Motor Direction 1 | | L298N Driver | `IN2` | Pin 12 | Left Motor Direction 2 | | L298N Driver | `IN3` | Pin 13 | Right Motor Direction 1 | | L298N Driver| `IN4` | Pin 6 | Right Motor Direction 2 | | L298N Driver | `ENA` / `ENB` | *Black Jumpers* | Permanent 100% power enable | | SG90 Servo | VCC/GND/Signal | Column 7 | Radar turret rotation (`5&amp;#176;` – `175&amp;#176;`) | | HC-SR04 | `TRIG` | Pin 8 | Ultrasonic trigger pulse | | HC-SR04 | `ECHO` | Pin 9 | Ultrasonic echo return reading | | IR Sensors | `IR_SX` (`IN1`) | Pin 2 | Left IR Sensor (black tape reading) | | IR Sensors | `IR_CENTRO` (`IN3`) | Pin 10 | Center IR Sensor (black tape reading) | | IR Sensors | `IR_DX` (`IN4`) | Pin 11 | Right IR Sensor (black tape reading) | Instructions for Use Uploading the Arduino Sketch 1 - Open the `4wd.ino` file in the Arduino IDE. 2 - Enter your Wi-Fi network name (`ssid`) and password (`password`) in the first lines of the code. 3 - Connect the Arduino R4 WiFi to your computer via USB-C cable and upload the sketch to the board. Obtaining the IP Address from the Serial Monitor 1 - Once the upload is complete, open the Arduino IDE **Serial Monitor** and set the baud rate to **`115200 baud`**. 2 - Wait a few seconds until the Arduino connects to the Wi-Fi router. 3 - Copy the **local IP address** printed on the screen in the monitor. 4 - Disconnect the USB cable and turn on the batteries (18650 pack on Arduino + 4xAA pack on motors). Opening the HTML Web Interface 1 - Open the `map.html` file directly in your PC/Mac browser. (Note for Safari users on Mac: from the top menu `Develop`, enable &amp;quot;Disable Local File Restrictions&amp;quot; to allow the local page to communicate via HTTP with the robot&amp;#39;s IP, or use Google Chrome). 2 - In the top-left bar of the web page, paste the robot&amp;#39;s **IP address** into the text box and click **&amp;quot;Connect Wi-Fi&amp;quot;**. Starting and Stopping Exploration * Click the light blue **` ▶ Start`** button in the top bar to command the robot to begin scanning and autonomous path exploration. * Click the red **` ⏹ STOP`** button to instantly interrupt motor movement and pause the robot. Operating Cycle Navigation and Mapping Logic The robot&amp;#39;s operating cycle consists of 4 synchronized phases: 1 - **7-Angle Radar Scan:** While stationary, the robot rotates the SG90 servo motor across 7 angles distributed along the entire front arc (`5&amp;#176;`, `35&amp;#176;`, `65&amp;#176;`, `90&amp;#176;`, `115&amp;#176;`, `145&amp;#176;`, `175&amp;#176;`). At each step, it measures the distance in centimeters using the ultrasonic sensor. 2 - **Free Navigation with Ultrasonic Emergency Brake** The robot moves using short timed bursts in free space. During travel, ultra-fast monitoring continuously queries the HC-SR04: if a wall drops below 13 cm, the robot brakes instantly to avoid collisions. 3 - **Anti-Double-Scan Disengagement Maneuver:** If a close front obstacle is detected, the robot reverses by `4.5 cm` (subtracting the displacement from odometry coordinates), inspects the two extremes (`5&amp;#176;` far right and `175&amp;#176;` far left), and rotates toward the freer side. To avoid redrawing the same wall twice by overlapping lines, the software inhibits sending new scans until the robot has completed a new effective forward step. 4 - **Final Target Detection** The IR sensors passively monitor the floor. As soon as they intercept the single end-of-course black tape, the robot stops the motors, notifies completion, and transmits the target signal to the dashboard. **Automatic Trajectory Cleaning (In-browser Ray Casting):** The web dashboard tracks the robot&amp;#39;s trail and automatically removes all impact points recorded within a 9 cm radius of the passage, ensuring a central space perfectly clear of phantom points or spurious artifacts, cleanly and continuously highlighting only the outer perimeter walls of the route. `MAP` Packet Format The web dashboard cyclically queries the HTTP endpoint `http:// /map` (equipped with CORS header `Access-Control-Allow-Origin: *`). The robot responds with a formatted string: counter#MAP:posX,posY,thetaAngle|ang1:dist1|ang2:dist2|ang3:dist3|ang4:dist4|ang5:dist5|ang6:dist6|ang7:dist7 Example: 1#MAP:0.0,15.0,90.0|5:14|35:20|65:44|90:57|115:37|145:17|175:160.0, 15.0, 90.0: The robot is located at X = 0.0 cm, Y = 15.0 cm and heading 90&amp;#176;.5:14... 90:57... 175:16: At various servo angles (from right to left), the sonar detected side walls at 14 cm and 16 cm and the free corridor ahead at 57 cm. The HTML interface converts each (servoAngle, distance) pair into global Cartesian coordinates using trigonometry (cos⁡cosand sin⁡sin), drawing green impact points and connecting them with cyan vector segments. CODE ON MY GITHUB 4WD-SLAM-Radar-2D-Robot-Car</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/50-a-esp-now-outside-bme280-node-with-lora-wake-on-radio-part-of-three-node-heating-system-monitor-iv?CommentId=cf90d9f4-889e-4f30-9c3c-b924317cb353</link><pubDate>Sat, 05 Sep 2026 15:51:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cf90d9f4-889e-4f30-9c3c-b924317cb353</guid><dc:creator>AB9NQ-William</dc:creator><description>Project has developed into &amp;quot;HVAC System Monitor&amp;quot;; instead of using radioLib library; now using Samtech&amp;#39;s SX1262 register level driver commands Changed to Samtech.&amp;#39;s SX1262, rxDutyCycle. &amp;quot;RxDutyCycle is a special RX mode that allows decreasing power consumption by putting periodically the radio in reception, while keeping the microcontroller in sleep mode. When a packet is received by the SX1261/2 it triggers an interrupt for the microcontroller in order to wake it up.&amp;quot; --from Samtech application note AN1200.36. Beginning results were not promising. Wake-on-radio was achieved; however average rxDutyCycle current was ~94 &amp;#181;A higher than the &amp;quot;Heating System Monitor IV&amp;quot; average dutycycle current. Trying different values of &amp;quot;ticks&amp;quot; for the sleep period; arrived at 5200 symbols from a starting point of 1200 symbols. Formula for &amp;quot;ticks&amp;quot; was in &amp;quot;AN1200.36&amp;quot; Application Note. Achieved a combined rx period and sleep period average current of ~38.32 &amp;#181;A and a sleep period average of ~21.98 &amp;#181;A. Nordic Power Profiler Kit 2 Observations --new &amp;quot;HVAC System Monitor&amp;quot; Project source code and documentation Logged data includes: NTP timestamp, outside temperature, inside temperature, inside humidity, thermostat setpoint, elapsed blower minutes (per cycle), daily total blower minutes, outside pressure, inside pressure, pressure difference (out − in), cycles today, coast minutes (hold time between cycles), and average cycle minutes. Each record is written to both a local LittleFS log file and a perpetual Google Sheet (month-to-month, year-to-year).</description></item><item><title>Blog Post: Casio caclulator bidirectional Arduino communication - data logging, remote control, and more</title><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/casio-caclulator-bidirectional-arduino-communication---data-logging-remote-control-and-more</link><pubDate>Fri, 28 Aug 2026 08:37:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:61ee2c5d-483a-44d0-80fc-12931df0dd1c</guid><dc:creator>MikeNZ</dc:creator><description>A discovery from 2007 fully exploited in 2026 - hacking the Casio calculator serial protocol The Arduino Uno is the board most schools already own for senior classes. Using these as cross-curricula sensor units requires adding a display, a keypad, SD module to save data (the R3 is limited to about 250 readings). But what if you could build something greater than the sum of the parts? And cheaper? Greatly extend the capabilities of a calculator many students already own. You can even upcycle old Casio FX-9750 G Plus calculators - and transform both the Arduino and Casio calculator into a general purpose tool for physical education, health, science, mathematics, Internet-of-things (IoT), and robotics / instrumentation. Reduce electronic waste at the same time! What is that port for again? The forgotten feature in the 2.5 mm port of a Casio FX-9750 and FX-9860 is now available on my GitHub, open-source and free. It takes the burden off the teacher, because the learners become the experts - constructing, coding and repairing their own smart data logger that also acts as a remote control and automation control interface. This is an extension of my 2008 research, which carried classroom validation and student feedback, now with a modern facelift and cross-platform compatibility. Full serial communication between the Casio and Arduino Full bidirectional communication using the Casio serial protocol works with Arduino, Picaxe, Microbit, ESP8266, and ESP32. Learners can record heart rate, temperature, sound level, and other readings using sensors they build themselves, for cents or a few dollars. There low-cost universal serial interface is simple and connects with 5V and 3V microcontroller and Casio models safely. Instructions, C++ code, teacher and student manual are here: https://mikefentonnz.github.io/projects/casio-calculator-data-logger-hack.html So, what do you want to build using a keypad and display most students already have access to at senior level? A historical heart rate monitor? A NASA Mars orbital surveyor simulator? A colorimeter to monitor a chemical change that logs every 2 seconds or every 2 minutes? A remote control for a robot? A PIN pad to open a secure system? All these ideas are demonstrated and work - and the calculator still does maths!</description><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/Casio%2bserial%2bprotocol">Casio serial protocol</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/sensors">sensors</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/FX_2D00_9750">FX-9750</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/robotics">robotics</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/Maker%2bScience">Maker Science</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/Health">Health</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/FX_2D00_9860">FX-9860</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/electronic%2bproject">electronic project</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/low%2bcost%2bscience">low cost science</category><category domain="https://community.element14.com/products/arduino/arduino-projects/tags/ultrasonic">ultrasonic</category></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/50-a-esp-now-outside-bme280-node-with-lora-wake-on-radio-part-of-three-node-heating-system-monitor-iv?CommentId=eeae22dc-28b9-4804-9847-09447cec3760</link><pubDate>Thu, 06 Aug 2026 16:42:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:eeae22dc-28b9-4804-9847-09447cec3760</guid><dc:creator>AB9NQ-William</dc:creator><description>I am far from step 10 of the Swiss Guy&amp;#39;s video; still just starting out on his ten steps. Good to rewatch his video again. Thank you!</description></item><item><title>File: Why AI Agents Replaced the Arduino IDE in My ESP32 Projects (Claude Code, Gemini CLI, Codex)</title><link>https://community.element14.com/products/arduino/arduino-projects/m/managed-videos/151558</link><pubDate>Thu, 06 Aug 2026 15:12:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fa4d1fbb-1bec-4fa8-8769-3b4235a0804e</guid><dc:creator>arvindsa</dc:creator><description>The transition from &amp;quot;coder&amp;quot; to &amp;quot;architect&amp;quot; is the biggest productivity jump I’ve experienced in 40 years of electronics. Do you want to join me on my journey? With my ten levels, it’s much easier than you think. And no, this is not about ChatGPT a...</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/50-a-esp-now-outside-bme280-node-with-lora-wake-on-radio-part-of-three-node-heating-system-monitor-iv?CommentId=026116db-4543-410d-ad22-5f948ce0f2a5</link><pubDate>Thu, 06 Aug 2026 15:11:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:026116db-4543-410d-ad22-5f948ce0f2a5</guid><dc:creator>arvindsa</dc:creator><description>ah okay. Thanks. I had seen this video https://www.youtube.com/watch?v=5DG0-_lseR4 which is sort of doing what you are doing,. Need to try it out.</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/50-a-esp-now-outside-bme280-node-with-lora-wake-on-radio-part-of-three-node-heating-system-monitor-iv?CommentId=5ada9d86-8b6e-42bf-adfd-2ae147289f64</link><pubDate>Thu, 06 Aug 2026 14:54:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5ada9d86-8b6e-42bf-adfd-2ae147289f64</guid><dc:creator>AB9NQ-William</dc:creator><description>Claude is on the Pro plan the rest are on the free tier.</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/50-a-esp-now-outside-bme280-node-with-lora-wake-on-radio-part-of-three-node-heating-system-monitor-iv?CommentId=383c999f-7f7d-405d-9fe4-5237fdafe81b</link><pubDate>Thu, 06 Aug 2026 03:16:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:383c999f-7f7d-405d-9fe4-5237fdafe81b</guid><dc:creator>arvindsa</dc:creator><description>are you on the free tier for all these AIs? It&amp;#39;s interesting that how you are mixing them as a team.</description></item><item><title /><link>https://community.element14.com/products/arduino/arduino-projects/b/blog/posts/50-a-esp-now-outside-bme280-node-with-lora-wake-on-radio-part-of-three-node-heating-system-monitor-iv?CommentId=0adf8f02-da7e-4a51-abed-cbad74ea8afc</link><pubDate>Thu, 06 Aug 2026 02:23:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0adf8f02-da7e-4a51-abed-cbad74ea8afc</guid><dc:creator>AB9NQ-William</dc:creator><description>~38.19 &amp;#181;A average current, ESP-NOW Outside BME280 Node Update 8/5/2026 Switched to Channel Activity Detection (CAD) Interrupt on EoRa-S3-900TB, ESP-NOW BME280 outside node; from sx1262 &amp;quot;radio.startReceiveDutyCycleAuto().&amp;quot; Nordic Power Profiler Kit 2 ~38.19 &amp;#181;A Average Current Project Files updated 8/5/2026 Methodology note — CAD supersedes autoDutyCycle: The Hackster write-up’s published figures (51.30 &amp;#181;A average, ~83.5 months) were measured under the earlier autoDutyCycle WOR detection method. The project has since moved to CAD (Channel Activity Detection) as the pre-check ahead of the WOR receive window, which measurably reduces average current — 38.19 &amp;#181;A vs. 51.30 &amp;#181;A (a 25.6% reduction), improving theoretical battery life by 34.3% (~107.7 months vs. ~80.2 months) on the same 3000 mAh LiPo. The 51.30 &amp;#181;A / ~83.5-month figures should be considered superseded, not a number to reconcile against. Acknowledgements This project was the result of a collaborative engineering effort involving both hands-on experimentation and AI-assisted development. Each AI assistant contributed in different ways throughout the project. Claude – Lead AI for all aspects of the project. Helped maintain technical focus, reviewed the evolving documentation for clarity and consistency, and provided extensive assistance in coding, organizing, and refining the final Markdown document. Google Gemini – Provided valuable guidance during the migration to ESP32 Arduino Core 3.3.10 , helping identify and avoid legacy code patterns from earlier ESP32 core releases. Gemini also contributed to development discussions involving SX1262 Channel Activity Detection (CAD) , Wake-on-Radio (WOR), and ESP32-S3 Deep Sleep integration. ChatGPT – Assisted throughout firmware development, debugging, architecture discussions, RadioLib integration, power optimization, Nordic PPK2 measurement interpretation, battery-life analysis, and technical review of the final documentation. GitHub Copilot – Assisted with firmware implementation, code completion, and day-to-day development within the programming environment. Jan Gromeš – Special thanks for the outstanding RadioLib library! The successful implementation of an ESP32-S3 Deep Sleeping Wake-on-Radio node using the SX1262 and RadioLib was made possible through this collaborative process. While the hardware design, firmware integration, measurements, testing, and final engineering decisions were performed by the author, the insights provided by each AI assistant significantly accelerated development and helped improve the quality and accuracy of the final project. &amp;quot;Project not possible without everyone&amp;#39;s help.&amp;quot; 73&amp;#39;s, William, AB9NQ</description></item></channel></rss>