Advanced Lab Build • Wire • Simulate
Circuit Schematic Click pin → click pin to wire
Right-click to cancel · Drag to rearrange
Add parts from library
to see them here

Parts Library

Arduino Uno
Microcontroller brain
L298N Driver
Dual H-Bridge
LiPo Battery
7.4V 2200mAh
HC-SR04
Ultrasonic sensor
DC Motor (L)
Left drive wheel
DC Motor (R)
Right drive wheel
4-Wheel Chassis
Robot base frame
How to use 1. Add Chassis first
2. Click any card → snaps to chassis
3. Drag chassis → all parts move
4. Click glowing pin → wire mode
5. Click 2nd pin → connect!
Position a part Double-click part → selects it
Right-click selected → position box
ESC (×2) or click empty → deselect

Connections Needed

Wrong Connections

Status

Add parts from the library.
✦ AI Trainer ▾
Hi! I'm your AI Robotics Trainer. I can see what is on your bench and which wires are missing — press the button below to send the sketch as well. Ask me anything — "why isn't my robot turning?", "what's wrong with my wiring?", or "explain motor drivers".

Arduino Code — Obstacle Avoider  Edit STOP_DIST & turn direction, then Apply

Change STOP_DIST · turnRight() / turnLeft()
Serial Monitor

    
0 obstacles

Design the Rocket

Type on the left, watch the right. Burn time, total impulse, motor class, dry mass and Δv are never typed in — they are what your choices come to.

The mission

Every gram of payload is carried by propellant, which is carried by structure, which is carried by more propellant. This is where a rocket's size comes from.
kg
kg

Airframe and the air

A wider body holds more propellant, and pays for it with frontal area — drag goes with the square of the diameter.
mm
°

Fins and nose — will it fly straight

A rocket turns about its centre of gravity. If the centre of pressure sits behind it, every wobble corrects itself; ahead of it, every wobble grows. The gap between them, in body diameters, is the static margin — build to 1–2.
mm
mm
mm
mm
mm

Send it somewhere — the mission

This works backwards: pick the destination, and it tells you what vehicle could do it. Set Isp and ε above to the figures a real launch vehicle achieves (443 s and 0.09 for a cryogenic stage) and the impossible becomes ordinary.
km
°N

Recovery

Canopy area sets how fast it hits the ground. Under about 6 m/s the airframe survives; over 12 it is scrap.
m²
m²
m

What this comes to

All of it derived. Change anything on the left and watch which of these move together.

Nano Drone Flight Manual

13.7 cm span · 27 g · 250 mAh · everything it can do, in the order you will need it

How to use this lab

build it, wire it, run it, then write the code

You build a robot out of real parts, wire it up, and write the code that runs it. Nothing here is pretend: a servo asked for more than it can give will not give it, a block wider than the jaws will not be picked up, and an arm told to reach past its own length will not stretch.

Four steps, in this order

  1. Build. Click parts in the library on the left. For the robot arm, add the Arm Base Plate first — everything else clips onto it. The list will not let you run until every part is on the bench.
  2. Wire. Click a glowing pin, then click the pin it should join. The list on the right ticks off each connection as you make it. If two pins should not be joined, the lab says so instead of quietly accepting it.
  3. Run. Press RUN SIMULATION. If something is missing or miswired, a box tells you exactly what — it is not a puzzle.
  4. Code. Press Edit Arduino Code, change one number, press Apply & Run, and watch what the robot does differently. That loop — change one thing, look — is the whole point of the lab.

What is on the screen

  • Four views of the same robot: top, isometric, front and side. Drag to orbit the isometric one, scroll to zoom, double-click any view to make it fill the screen. Press R to reset one view, H to reset them all.
  • The bar across the top is the robot's own controls — how many blocks, what size, where to put them. It only appears while the simulation is running.
  • The readout is the small panel of live numbers. Drag it by its title if it is covering something you want to see.
  • The two side rails — parts on the left, wiring on the right — slide away on their own once you press Run, because the building is over. Hover the tab at the screen edge to peek, click it to keep it out.

The robot arm, in particular

The arm has three joints and a gripper. The base turns left and right, the shoulder lifts, the elbow bends, and the jaws open and close. Every servo takes 0–180°, and nothing you write can make one go further.

  • Blocks are what the arm picks up. Press Place → Block on the top bar, then click anywhere on the table. There is no snapping: the block lands exactly where you clicked, even somewhere the arm cannot reach — and then the lab tells you it cannot reach it.
  • Place → Stand drops a small platform to put a block on top of, and Clear takes the stands away.
  • Size picks which block the next click drops. They are not just bigger: a cube twice as wide is eight times as heavy, so the large one needs a much harder squeeze.
  • Shuffle moves every block to a new angle, so a mission that only worked because you remembered the numbers stops working.
  • Click a block to open its card — where it is, how far out, at what angle, how big, how heavy, and whether the arm can reach it. The card follows the block while the arm carries it. Drag it by its title bar.

The code panel has four tabs

EquationsThe three formulas the arm actually obeys — travel time, grip force, torque. Edit one, press Apply, and the arm changes behaviour. A wrong formula is not an error message; it is an arm that drops the block.
DrawingA dimensioned engineering drawing of the machine. Every length, angle and limit you need to plan a mission is on it.
MissionPlan before you code. Say where the block is and where it must end up, then decide each step: which joints move, what angle, how fast, how wide the jaws. The planner checks every row against the real arm and then writes it into the sketch for you.
SketchThe Arduino code itself. SpyralArm.h does the plumbing — attaching servos, waiting for a joint to arrive, reading sensors. It contains no physics on purpose: the equations are yours to write.

A first mission, start to finish

  1. Run the simulation, then open the code panel and go to Mission.
  2. Pick a block size. Set where it starts (a distance and an angle) and where it has to go.
  3. Press Plan it. Each step appears as a row you can edit. Rows the arm cannot do are marked, with the reason.
  4. Press Write it into the sketch. Your plan becomes real Arduino code.
  5. Put a block on the table where your plan said it would be, then press Apply & Run.

Numbers worth knowing

0–14.4 cmhow far the jaws reach on the bench. It is not one number: reaching down to the table spends arm length, so the higher you work the further out you can get
0–180°every servo, including the base. Half the table is simply behind the arm
0.54–2.40 cmhow far the jaws open, shut to wide
11 kg·cmwhat the shoulder servo can hold. Reach further out with the same block and the number climbs
13.4 / 50 / 107.4 gthe three blocks

When something does not work

  • "jaws closed on nothing" — the arm shut its gripper where no block was. Check the angle you sent it to against the block's card.
  • "slipped" — the squeeze was too weak for the weight. Your gripForce() was asked for a mass; check you gave it the right one.
  • "stalled at 2.16 cm" — not a fault. The jaws were told to close and met a solid block, so they stopped on its faces. That is what holding something looks like.
  • "out of reach" — no combination of angles will get there. Move the block, or accept it and plan around it.
  • The arm keeps repeating — that is loop() doing what loop means. If the job is finished, the code has to say so.
Nothing in this lab hides a mistake from you. If a number looks wrong, it is telling you something true about the machine you built.

⚠️ Fix These Before Running

⚙️ Pre-flight Calibration

A drone will not fly straight out of the box. These four checks are the ones that catch a real build — three of them read what you actually wired and fitted, so fix the hardware and run them again.

⚡ Flash to Real Arduino

Your sim code → compiled → flashed to your board via USB browser connection.

1Compile Code on Server

Ready to compile…

2Connect board via USB

Plug the board into your computer's USB port, then click Connect.

3Flash Firmware

Waiting…

🛒 Bill of Materials

ComponentQtyPrice (INR)Buy

Prices approximate. Check robu.in / Amazon India for latest.

TOP
ISOMETRIC
FRONT
SIDE
Part
🗺️ Scene Editor
ISO: left-drag orbit · right-drag pan · scroll zoom  |  TOP/FRONT/SIDE: right/middle-drag pan · scroll zoom · R reset view · H reset all · Dbl-click maximize
🔌 Wiring mode — click another pin to connect · ESC to cancel
Blocks
Keep this
This is your blocks, as code
Robotics Lab

Pick a robot. Build it, wire it, and make it move.

Left stick
Right stick

🤖 Simulation Running

StatusMoving
Distance— cm
Stop at25 cm
TurnRight
Avoided0