{"product_id":"servo-2040","title":"Servo 2040 - 18 Channel Servo Controller","description":"\u003cp\u003eBuild the hexapod\/robot arm\/other articulated contraption of your dreams with this all-in-one RP2040 powered servo controller with current measurement, sensor headers and RGB LEDs.\u003c\/p\u003e\n\u003cp\u003eServo 2040 is a \u003cstrong\u003estandalone servo controller\u003c\/strong\u003e for making things with lots of moving parts. It has pre-soldered pin headers for plugging in \u003cstrong\u003eup to 18 servos\u003c\/strong\u003e - enough for the leggiest of hexapod walkers or plenty of degrees of freedom for your robotic arms, legs or tentacles. Servos can be pretty power hungry, especially the chunky ones, so we've added some neat \u003cstrong\u003ecurrent monitoring\u003c\/strong\u003e functions so you can keep an eye on power consumption.\u003c\/p\u003e\n\u003cp\u003eThere's \u003cstrong\u003esix addressable RGB LEDs\u003c\/strong\u003e (AKA Neopixels) for visual feedback and status reports, plus pin headers to connect \u003cstrong\u003eup to six analog sensors - \u003c\/strong\u003euseful for sensing where the ground is, if you're about to crash into a wall, or how much pressure \u003cem\u003eThe Claw\u003c\/em\u003e is exerting on your hapless test subject. We've also popped a \u003cstrong\u003eQW\/ST connector\u003c\/strong\u003e on there, to make it super easy to add a \u003ca href=\"\/en-eu\/collections\/qwiic\" target=\"_blank\"\u003eQwiic\u003c\/a\u003e or \u003ca href=\"\/en-eu\/collections\/stemma-qt\" target=\"_blank\"\u003eSTEMMA QT\u003c\/a\u003e breakout or two.\u003c\/p\u003e\n\u003cp\u003eServo 2040 is supported by a well documented C++\/MicroPython servo library with lots of examples to show you how to use the individual features (and everything together).\u003c\/p\u003e\n\u003ch2\u003eRP2040 x servos\u003c\/h2\u003e\n\u003cp\u003eWe've used RP2040 as the core of this board because of the flexibility of its Programmable IOs (PIOs). Traditionally, each servo needs to be connected to its own PWM capable channel on the microcontroller. RP2040 only has 16 PWM channels, but it's possible to drive up to 30 servos using the magic of PIOs (if you're canny with wiring). RP2040's PIOs are also super fast, so they can drive servos with sub microsecond resolution.\u003c\/p\u003e\n\u003cp\u003eWe've built the RP2040 microcontroller right into Servo 2040, so you don't need separate microcontroller and servo driver boards. This makes for nice compact builds - perfect for small robots!\u003c\/p\u003e\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePowered by RP2040 (Dual Arm Cortex M0+ running at up to 133Mhz with 264kB of SRAM)\u003c\/li\u003e\n\u003cli\u003e2MB of QSPI flash supporting XiP\u003c\/li\u003e\n\u003cli\u003e18 sets of header pins for connecting 3 pin hobby servos\u003c\/li\u003e\n\u003cli\u003eSupports higher voltage servos (up to 11V) *\u003c\/li\u003e\n\u003cli\u003e6 addressable RGB LEDs\/Neopixels\u003c\/li\u003e\n\u003cli\u003e6 sets of header pins for connecting analog sensors\u003c\/li\u003e\n\u003cli\u003eOnboard voltage and current sensing\u003c\/li\u003e\n\u003cli\u003eReset and BOOT button (the BOOT button can also be used as a user button)\u003c\/li\u003e\n\u003cli\u003eUSB-C connector for programming and power (3A max)\u003c\/li\u003e\n\u003cli\u003eScrew terminals for supplying external power (with reverse polarity protection) (10A max continuous current)\u003c\/li\u003e\n\u003cli\u003eQw\/ST (Qwiic\/STEMMA QT) connector for breakouts\u003c\/li\u003e\n\u003cli\u003eFully-assembled (no soldering required)\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\" target=\"_blank\"\u003eC++\/MicroPython libraries\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/files\/servo2040_schematic.pdf?v=1648817752\" target=\"_blank\"\u003eSchematic\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/files\/servo-2040-drawing.png?v=1649088626\" target=\"_blank\"\u003eMechanical drawing\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eSoftware\u003c\/h2\u003e\n\u003cp\u003eBecause it's a RP2040 board, Servo 2040 is firmware agnostic! You can program it with C\/C++, MicroPython or CircuitPython.\u003c\/p\u003e\n\u003cp\u003eOur \u003cstrong\u003eC++\/MicroPython\u003c\/strong\u003e libraries will help you get the most out of Servo 2040, they're packed with powerful features for working with servos. You'll get best performance using C++, but if you're a beginner we'd recommend using our batteries included MicroPython build for ease of getting started.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\/releases\"\u003eDownload Pirate brand MicroPython\u003c\/a\u003e (you'll need the 'pico-vx.x.x' image)\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\/blob\/main\/setting-up-micropython.md\" target=\"_blank\"\u003eInstalling MicroPython\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\/tree\/main\/micropython\/modules\/servo\" target=\"_blank\"\u003e MicroPython API documentation\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\/tree\/main\/micropython\/examples\/servo2040\" target=\"_blank\"\u003eMicroPython examples\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\/tree\/main\/examples\/servo2040\" target=\"_blank\"\u003eC++ examples\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eYou can also use \u003cstrong\u003eCircuitPython\u003c\/strong\u003e on your Servo 2040, if you want access to all the nice conveniences of Adafruit's ecosystem (note that you will only be able to control up to 16 servos with CircuitPython).\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/circuitpython.org\/board\/pimoroni_servo2040\/\" target=\"_blank\"\u003eDownload CircuitPython for Servo 2040\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/learn.adafruit.com\/welcome-to-circuitpython\"\u003eGetting Started with CircuitPython\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/pimoroni\/pico-circuitpython-examples\/tree\/main\/servo2040\" target=\"_blank\"\u003eCircuitPython examples\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eIf you'd like to program Servo 2040 from an Android phone then you could try the \u003ca href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.smartphoneremote.androidscriptfree\" target=\"_blank\"\u003eDroidScript\u003c\/a\u003e app, available on Google Play.  You'll need a \u003ca href=\"\/en-eu\/products\/usb-c-to-usb-c-cable\" target=\"_blank\"\u003eUSB-C cable\u003c\/a\u003e and a recent version of MicroPython firmware installed on the board.\u003c\/p\u003e\n\u003ch2\u003eConnecting Breakouts\u003c\/h2\u003e\n\u003cp\u003eIf your breakout has a QW\/ST connector \u003ca href=\"\/en-eu\/products\/jst-sh-cable-qwiic-stemma-qt-compatible\" target=\"_blank\"\u003eJST-SH to JST-SH cable\u003c\/a\u003e, or you can easily connect any of our I2C Breakout Garden breakouts with a \u003ca href=\"\/en-eu\/products\/jst-sh-cable-qwiic-stemma-qt-compatible\" target=\"_blank\"\u003eJST-SH to JST-SH cable\u003c\/a\u003e; coupled with a \u003ca href=\"\/en-eu\/products\/stemma-qt-qwiic-to-breakout-garden-adapter\" target=\"_blank\"\u003eQw\/ST to Breakout Garden adaptor\u003c\/a\u003e.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https:\/\/github.com\/pimoroni\/pimoroni-pico\" target=\"_blank\"\u003eList of breakouts\u003c\/a\u003e currently compatible with our C++\/MicroPython build.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePrintables\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca rel=\"noopener noreferrer\" href=\"https:\/\/www.thingiverse.com\/thing:5929573\" target=\"_blank\"\u003eMounting bracket for Servo 2040\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eNotes\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMeasurements: 62mm x 42mm x 12mm (L x W x H, including connectors). The mounting holes are M2.5 and 2.7mm in from each edge.\u003c\/li\u003e\n\u003cli\u003e* If you want to supply external power at a higher voltage than 5V (so that you can use higher voltage servos) you'll need to cut the 'Separate USB and Ext. Power' trace on the back of the board. This will prevent the RP2040 and other board components from being damaged by the increased voltage.\u003c\/li\u003e\n\u003cli\u003eIf you cut this trace you'll need to provide separate power for the board logic (through USB or the 5V on the broken out header).\u003c\/li\u003e\n\u003cli\u003eWhen programming a battery powered robot through USB we'd recommend using something like a \u003ca href=\"\/en-eu\/products\/power-blough-r\" target=\"_blank\"\u003edata only USB adaptor\u003c\/a\u003e to avoid back-powering your computer, or the battery.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eAbout RP2040\u003c\/h2\u003e\n\u003cp\u003eRaspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.\u003c\/p\u003e\n\u003cp\u003eOne very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.\u003c\/p\u003e","brand":"Pimoroni","offers":[{"title":"Default Title","offer_id":39800591679571,"sku":"PIM613","price":23.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/products\/servo-2040-1.jpg?v=1648821753","url":"https:\/\/shop.pimoroni.com\/en-eu\/products\/servo-2040","provider":"Pimoroni Ltd","version":"1.0","type":"link"}