Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Contemplating a documentation series for my Raspberry Pi work

by afoken (Chancellor)
on Jul 03, 2017 at 18:24 UTC ( [id://1194100]=note: print w/replies, xml ) Need Help??


in reply to Contemplating a documentation series for my Raspberry Pi work

I would avoid most of the electronics part. There are tons of tutorials, blog entries and so on out there; find a good one and link to it. Then explain how perl can do a better job than that snake stuff.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
  • Comment on Re: Contemplating a documentation series for my Raspberry Pi work

Replies are listed 'Best First'.
Re^2: Contemplating a documentation series for my Raspberry Pi work
by stevieb (Canon) on Jul 03, 2017 at 18:30 UTC

    Do you mean descriptions of the electronics?

    Take a shift reg for example... I think a very brief "this is what a shiftreg does" and then perhaps linking to a wikipedia article for more info perhaps? I'm hoping to make each element self-contained with a desc, the code, breadboard layouts so that a user can literally copy/paste code and make exact connections, interspersed with brief info-type statements where needed.

    That's kind of what I had in mind at least.

      This makes perfect sense, in my experience this is what people are actually looking for.

      Do you mean descriptions of the electronics?

      Yes. Don't explain LEDs, why LEDs need current limiting resistors, how poteniometers and sensors work, how DACs, ADCs, shift registers, RS232, I²C, SPI, ... work, what pull-up and pull-downs do. That has been explained often enough and could be done by simply linking to good resources. Wikipedia might be good a candidate. I hoped to find that basic stuff at https://www.raspberrypi.org/documentation/, but unfortunately, they seem to have omitted that part.

      I'm hoping to make each element self-contained

      Of course, that's quite the opposite of omitting old content. But a really self-contained element would perhaps have to start with basic electronics, explaining voltage, current, resistors, and so on. You need to set a lower limit at what you want to explain. You don't want to start at quantum physics to explain electrons interacting with each other and other matter.

      My idea was to raise that minumum level of knowledge from "minimal electronics" (lamp, switch, battery) to "familiar with microcontroller related hardware and protocols". That avoids a lot of work for you by not having to explain the basic stuff over and over again. And it would avoid a lot of work for the experienced reader by not having to skip over the basic stuff over and over again. Adding a few explaining links to each element for the basics would still allow readers at the "minimal electronics" level to understand what happens.

      self-contained with a desc, the code, breadboard layouts so that a user can literally copy/paste

      Obviously missing here is a circuit diagram. That's much more important than a breadboard layout. Yes, it could be reverse engineered from the breadboard layout. But a (good) circuit diagram is much clearer than a layout.

      And if you raise the knowledge level to "familiar with microcontroller related hardware", you can omit the breadboard layout. It's obvious from the circuit diagram how to connect the hardware. And it allows to see some magic happen, teaching some good lessons. Just copying breadboards does not help to understand electronics. It can be a first step, like training wheels. But at some point, you remove the training wheels.

      What's your intention? You want to explain how to use perl (your modules) on a Raspi. So that should be the primary content, not electronics. Using a nice breadboard example for connecting a LED and a potentiometer is ok. Adding one more example to the existing two million does not hurt. But shortly after that, stop detailing everything.

      There is a limit for the number of components on a breadboard. Yes, you can build an entire 8-bit combuter on breadboards, but that does not mean that you should do that. I would avoid putting more than about 50 pins on a breadboard. Breadboards tend to have loose connections, especially when you move them, and when the contact springs wear out. They add a lot of parasitic capacitance due to the way they are constructed. And of course, you can't use SMD parts without adapters. Perfboards don't have these problems, but of course, reusing them is harder. They tend to loose some pads when unsoldering parts.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

        Thanks a lot afoken, I really value your feedback.

        It'll be hard for me to gauge what is good/bad, needed/not-needed, desired/hated before I start writing, so I think that's where I'm going to start.

        Put together a first draft of one of the single technical 'page' (on Github), then perhaps post it here to see if I can get it reviewed. Considering it is Perl, everyone here will have some relevancy to it, and those who want to review (just like this request for feedback) can do so.

        Since I started the project, I have learned some monk names who are highly technical in several areas in electronics and communications etc, and some that are not. That's ok... I'm hoping to create a balance between everyone. I don't want it to be too advanced, but at the same time, not so basic that it means nothing. Essentially, I don't really know who my target audience is yet ;)

        I'm looking forward to getting the first piece together for review, as that will lead into the design of the overall project. I like the differing opinions here, and very thankful for all of the feedback so far even before starting.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1194100]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (3)
As of 2024-04-26 05:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found