Buy Parts
... 10 more lines |
View All |
OtterPill
OtterPill is a 3$ STM32F072 devboard featuring USB 2.0 full-speed, a DFU Bootloader, a USB-PD Phy and Arduino nano alike pinout and size.
Changelog V1.2: BOM cost reduction by ~40%, PCB can be fully populated by JLCSMT, more efficient buck converter (PCB gets less warm at 20V), GND-hook for probing, Reset-Pin exposed as pad, power pads for 20V/5A
How do I get an OtterPill?
Via tindie (if sold out DM via Twitter, I might have a few left ;))
Building, Flashing and Frameworks
Via Makefile and DFU (C, C++)
Or you can generate a basic firmware, with HAL init and Makefile, with CubeMX. The binary can then be build with make and flashed with dfu-utils. To enter DFU mode, press and hold the Button while plugging in power.
$ make
$ dfu-util -a 0 -s 0x08000000:leave -D build/firmware.bin
Via Arduino
You can build and flash the firmware via Arduino as described here.
Via PlatformIO
https://gist.github.com/ansemjo/ab1c12f7c78abb140f7272501aff2a55 Thank you ansemjo :3
Via Nodate (野点) (C++, Ada)
https://github.com/MayaPosch/Nodate
Rust
Thank you @jamesmunns! :3
https://github.com/jamesmunns/OtterPill-rs
Schematic
Pinout
Pinout by SarahhhhFoster :)
Examples and projects
Blink example firmware
STM workshop based on OtterPill
https://github.com/Jan--Henrik/hackerhotel-stm-workshop
USB-PD example firmware
This is a working USB-PD example using ChibiOS, a new voltage can be requested by pressing the Button.
https://github.com/Jan--Henrik/USB-PD-Firmware
IBM dials retrofit
https://github.com/Jan--Henrik/IBM-dials-retrofit

Shields and addons
Most Arduino shields should be compatible.
USB-to-CAN-adapter
Todo for HW v1.3
- Replace U1 with ESDU5V0H4
-
Add a TVS Diode to VBUS (e.g. SJD12A22L01)-> Added series resistor to reduce ringing - Remove R8, R9
-
Redraw the FUSB302B Symbol-> forgot why, works great -
Consider switching to STUSB4500 (Easier PD requesting, same price)-> FUSB works great, no need to change - Add VBUS ADC
Special thanks
@jamesmunns for creating the Rust examples.
@MayaPosch for creating the Nodate framework and adding the OtterPill.
@ansemjo for creating a PlatformIO configuration.
@SarahhhhFoster for creating the awesome pinout diagram.