For example, it looks like Serial extends HardwareSerial, which extends Stream, which extends Print. But I don't think you can figure this out by reading the reference documentation on https://www.arduino.cc/ and it doesn't appear that you can easily navigate the class hierarchy in the Arduino IDE. They seem to go out of their way to hide the class hierarchy?

I guess I'm spoiled by modern languages that have automatically generated documentation, but it seems like there should be a more complete reference somewhere?

  • 2
    I use Eclipse with Sloeber plugin. It gives me super powers in Arduino world
    – Juraj
    Commented Nov 7, 2019 at 8:46
  • The point of Arduino is that it's targeted at people that don't need (or care) about such level of detail in the documentation.
    – Majenko
    Commented Nov 7, 2019 at 10:22
  • 1
    There's an addon to MS VisualStudio (VisualMicro.com) to provide you with a real IDE allowing to drill down the provided core libraries. Commented Nov 7, 2019 at 12:00

1 Answer 1


What I did/do when loading a new core is generating a doxygen visualisation help class hierachy in HTML. Although most of the core libs have no detailed doxygen documenation the dot/graphviz solves the problem without installation of other IDEs (which also have their specific problems, or need a lot of learning).
As an added bonus I can document my source code in a clean and transparent way available in most IDEs and OS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.