Git Product home page Git Product logo

otterpill's Introduction

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

HW v1.2/OtterPill.pdf

Pinout

Pinout by SarahhhhFoster :)

Examples and projects

Blink example firmware

Blink/

STM workshop based on OtterPill

https://github.com/Jana-Marie/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/Jana-Marie/USB-PD-Firmware

IBM dials retrofit

https://github.com/Jana-Marie/IBM-dials-retrofit

Shields and addons

Most Arduino shields should be compatible.

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.

Images

Rev 1.2

License

Copyright Jana Marie Hemsing 2023.

This source describes Open Hardware and is licensed under the CERN-OHL-S v2.

You may redistribute and modify this source and make products using it under the terms of the CERN-OHL-S v2 (https://ohwr.org/cern_ohl_s_v2.txt).

This source is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-S v2 for applicable conditions.

Source location: https://github.com/Jana-Marie/OtterPill

As per CERN-OHL-S v2 section 4, should You produce hardware based on this source, You must where practicable maintain the Source Location visible on the external case of the Gizmo or other products you make using this source.

otterpill's People

Contributors

jana-marie avatar kasbah avatar sarahhhhfoster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

otterpill's Issues

v1.2 questions/review

  1. U1
    • Seems pin5 should not be connected to 3.3v.
    • Also, you may wish to consider PESDALC10N5VU for better routability.
  2. If you care about ESD protecion, VBUS needs TVS. For example SJD12A22L01
  3. U4
    • it's not clear why R8,R9 may be needed
    • i don't know why not used on your schematic, but in datasheet FUSB302B has 11 & 14 pins used (for pull-down), those must be connected to CC0/CC1 in dead battery mode.
    • R1/R2 - not clear why, if you need dead battery mode only.
  4. U3
    • (not tested myself) TPS62177DQCR needs 3 components less. Disadvantage - wish 4.75V to start.
  5. R13 - not needed IMO.
  6. It would be nice to see this project on EasyEDA, to be able order PCB, SMT stencil & components at once in couple of clicks.
    • For SMT stencil positioning, i would add two 0.7mm holes to PCB & paste layer. Then use 22 AWG wire to pin both to silicon pad.

I'm closing this, since this is not a bug report. Only my notes, which can be safely ignored :)

LCSC part for R1,R2 on v1.2?

What is the LCSC part for this component? I checked the BOM, it was blank.

DNP | R1,R2 | Resistor_SMD:R_0402_1005Metric

Schematic PDFs

Hey! It would be awesome to have rendered PDFs of the schematics in the HW folders. I'm still pretty new to learning KiCad, so having pre-rendered schematics would be useful for mostly-software folks like myself :)

Thanks again for an awesome board! It's been totally painless to get going :)

Placement for x2 and x4

Hi, the placement file seems to be for one board only and as JLC won't do placement for the single board layout only half of the x2 and quarter of the x4 boards would be populated with SMT. I am wondering whether you already have the placement files that would populate all of them? If not I'll probably try to create them myself and submit a pull request.

Or if I did something wrong with JLC a hint would be helpful.

Thank you for your awesome work!

ESD protection?

Does your board have ESD protection or any kind of a polyfuse?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.