Picooz rotor assembly mounted on acquisition board

What is the Picooz?

The Picooz is an inexpensive IR-controlled toy helicopter (~โ‚ฌ15). Inside it you find:

  • A small brushed DC motor driving a plastic rotor blade.
  • A lithium-polymer battery.
  • An IR receiver + a tiny MCU (which we replace with our development board).

The original remote uses an infrared link, not radio โ€” that is why Picooz helicopters cannot be flown in direct sunlight and are strictly indoor toys. For this tutorial the IR receiver is unused: we drive the motor directly from our own MCU over the PWM pin.

For this tutorial the rotor assembly is fixed to a bench clamp so the helicopter cannot actually fly. All we care about is the rotor speed as a function of motor command.


The signal chain

Acquisition block diagram โ€” input, motor, output
  • Input \(u(t)\): PWM duty cycle driving the motor MOSFET (0 … 1).
  • Output \(\omega(t)\): motor shaft angular velocity, measured sensor-less via back-EMF.

Why back-EMF?

A brushed DC motor with a permanent magnet generates a voltage proportional to its rotational speed โ€” the back-EMF (\(e = k_e \omega\)). By briefly switching the PWM OFF (the “dark window”) and sampling the motor terminals, you measure this voltage directly without any encoder or hall sensor.

This is the same sensor-less technique used in modern brushless industrial drives and fan controllers. Mastering it on a cheap toy is excellent transferable experience.


The electronics

Picooz electronics โ€” PWM driver + BEMF sensing
BlockPurpose
MCU PWM outputDrives the motor power MOSFET at a 20 kHz carrier.
Voltage divider on motor+Sends the back-EMF voltage to an MCU analog input during the PWM-OFF window.
Low-side shuntFor current sensing (optional โ€” BEMF alone is sufficient for this tutorial).
UART lineCommunication with the PC for External Mode / debug.

Supported target boards

The tutorial Simulink model ships configured for the dsPIC33AK Curiosity Platform Development Board (EV74H48A) with the dsPIC33AK128MC106 DIM โ€” but the exact same model rebuilds unchanged for any supported Microchip target. Switching targets is a single field in the Master block:

BoardSKUDSCNotes
dsPIC33AK Curiosity PlatformEV74H48AdsPIC33AK128MC106 DIMDefault โ€” tutorial models target this
Curiosity NanoEV17P63AdsPIC33AK512MPS506Integrated DSC + USB-UART bridge, no external programmer
Curiosity NanoEV88G73AdsPIC33CK64MC10516-bit DSC alternative target
Any dsPIC33C / PIC32 / SAM boardโ€”โ€”Change the target in the Master block

See Installation โ€” Target Board for the full list of supported boards.


Safety

This tutorial is deliberately chosen to be low-energy and safe:

  • Motor: a few millinewton-metres, a few thousand RPM. A plastic rotor.
  • Supply: from the board USB or a small LiPo cell, no mains voltage.
  • The rotor is clamped; it does not attempt to fly.

Nevertheless โ€” keep fingers clear of the rotor and wear safety glasses. If the rotor breaks it throws plastic shards.


What’s next

With the hardware set up, you can record how the rotor responds to a known PWM input โ€” the acquisition phase.

Next โ†’ 2. Acquisition with External Mode