Book- Proto.

Proto.
Inventing to learn

I am currently in the process of writing a book on prototyping using the arduino as the microcontroller of choice. I will be going through the science and methods behind prototyping and then arduino usage. Along with other electronic now how. I'm curious what you think about the idea, It will basically be an intro to using the arduino to create your own prototypes. What do you think should be included, what shouldn't? any general input is welcome.

Thank you.

What should be included…

  1. One list (in the back) of all the parts you used in the book examples.
  2. Up load all the code examples to code bender.
  3. A page with links to other resources… Arduino Forum, tutorials, etc.
  4. Xbee. Cover how to use Arduino xbee communications. (don't forget the logic level converter)
  5. Motor control using H-brdige.
  6. Using a rc receiver/transmitter to control your Arduino.
  7. Comparison of official Arduino boards.

What should not be included…

  1. A chapter on soldering/ using tools.

The book sounds interesting. Please keep us up to date.

ashtonmehrle:
Proto.
Inventing to learn

I am currently in the process of writing a book on prototyping using the arduino as the microcontroller of choice. I will be going through the science and methods behind prototyping and then arduino usage. Along with other electronic now how. I’m curious what you think about the idea, It will basically be an intro to using the arduino to create your own prototypes. What do you think should be included, what shouldn’t? any general input is welcome.

Thank you.

There are already quite some Arduino books, be sure to get some original view on the matter. e.g. Making Business The Arduino Way.

  • requirements elicitation (why am i doing this project)

  • hypothesis formulation (what am i trying to proof)

  • the idea-invention e.g. I want to make a new mousetrap

  • proof of A need (id.

  • proof of Business (is there a market)

  • proof of Concept (can it be done) <<<<<< prototyping is often here

  • proof of Design (can it be done in a good maintainable … way)

  • proof of Engineering (can it be done robust, cheap, …)

  • proof of Factory (can it be scaled up)

just some ideas.

What is the purpose of the book? I know, to make money for you... ;')

What I mean is, is this meant to be an informative book about the state of prototyping? Or is it meant to teach the reader at least the beginnings of how to make prototypes using any electronics, but that happens to use Arduinos as an example developer board? Or is this dedicated to teaching Arduino, and use the process of prototyping devices in order to accomplish this goal?

There are loads of beginner books out there for Arduino. IMHO, 99% of them suck. Typically, the first half is taken up with "here is what a resistor looks like, here is what a soldering iron looks like", the equivalent of those horrible "Dick and Jane" beginning reader books, which I hated. Then the rest of the book does a quarter-arsed job of showing you the example sketches that come with the Arduino programming software, never going into anything really good.

I have about 8 Arduino books, and as an example of how crude they are, only -one- mentions "millis()". All of them spend a chapter using delay() to blink an LED in various ways, and delay() features heavily. Anything extra you want added to your program? Oh, you'll have to recalculate the delay() numbers and insert the new stuff in there somehow. 1976 wants its programming style back.

So I see a lot of people pumping out Arduino books to make a quick buck, but few of them are worth anything, in my opinion. I'd love to see a really good book on the subject. I'd get behind such a book.

It might be helpful to present prototyping in the context of a wider development process so that your readers can understand when and how to use prototyping effectively. Particularly in software, this is something that often seems to be misunderstood. For Arduino I expect it would also be helpful to explain how to move forward on the hardware side i.e. evolving Arduino-based prototypes to make them suitable for permanent installation and the manufacturing options available at different production volumes.

What I mean is, is this meant to be an informative book about the state of prototyping? Or is it meant to teach the reader at least the beginnings of how to make prototypes using any electronics, but that happens to use Arduinos as an example developer board? Or is this dedicated to teaching Arduino, and use the process of prototyping devices in order to accomplish this goal?

I want to create a book that teaches people how to develop prototypes using any electronics, but Arduino happens to be the developer board due to its wide database of information, and its massive support group.

As for my reason for creating this book It has nothing to do with money. In fact I don't plan on selling it for profit! at least not online. There will be some paper copies (talking to a editor) but the whole book will be free on ibooks, amazon, and Epub/PDF download on my blog.

Though it may not make sense to you that I don't charge for the book allow me to explain myself, In my personal opinion you shouldn't have to pay for information that is already out there. Yes I will be putting an original and lighthearted twist on it, but why pay for something that is already on the internet. I want to create a book that explains the thought process and design behind creating a successful prototype. You already bought the Arduino and electronics components, why pay for information that is not physical and already available in other places. I want to create a gathered document that allows people to quickly begin developing prototypes.

Please let me know what you now think based on that information. Lots of good information thus far. Please continue discussing this. If you would like to get updates on the book and be a guest editor, please leave your email below letting me know in a comment. Thank you.

Here is my current outline. Please comment on what you think of it and what could be added or taken away. This is not designed to be a book for people who are completely new to hobby electronics. I will not be explaining how to solder or why an LED blows up when plugged right into a 9v. It is designed to introduce Hobbyists first to prototyping and then to microcontroller prototyping (physical computing). Again this is based on Arduinos sample codes. It prepares you to begin making your own Prototypes. It doesn't tell you what to do. Just how to do it and where to look for more information on it. 90% of the code will already be on your IDE.

Proto.
Invent to Learn
Ashton Mehrle
September, 2013

Outline
Ch. - Preface

  • How I Discovered Prototyping
    Ch. - Introduction
  • Written by someone from Make: Arduino: or Hackaday:
    Ch. - Prototyping
  • What is Prototyping
  • Development Process
  • Mouse Trap Example
    Ch. - Creating Prototypes with basic electronics
  • Assuming you know basic electronic theory.
  • 1: Bristlebots
  • 2: Solar Charge Bots
  • 3: LED Altoids Light
  • 4: LED Altoids Light Sensor
  • 5: LED Altoids Tilt Sensor
  • 6: Custom Speaker
  • 7: LED Tester
    Ch. - Developer Boards
  • Physical computing
  • How does it work?
  • Comparison of popular Microcontrollers
    Ch. - The Platform
  • Downloading the IDE
  • WIndows
  • Mac
  • Linux
  • Attaching a Board to the IDE
  • Basic code
    Ch. - Basic Sketches
  • 1: Bare minimum
  • 2: Blink
  • 3: Digital Read Serial
  • 4: Analog Read Serial
  • 5: Button
  • 6: Button State Change
  • 7: Servo Sweep
    Ch. - Advanced Sketches
  • 1: Dimmer
  • 2: Graph
  • 3: If Statement
  • 4: Array
  • 5: While Loop
  • 6: Ping
  • 7: Keyboard Message
  • 8: Button Mouse Control
    Ch. - Modifying Existing Code
  • 1: Light Sensing LED
  • 2: Tilt Sensing LED
  • 3: Control a Motor with a Button
  • 4: Blink a Motor
  • 5: Servo Sweep Mod
    Ch. - Creating Your Own Sketches
  • How to recycle code
  • Tips and Tricks
    Ch. - How Use Prototyping Effectively
  • Originality is key
  • Getting it out there
  • Getting funding via Kickstarter or Indygogo
  • Creating a brand
  • Get a Blog
    Ch. - Where To Get Components?
  • Thrift shops
  • Radio Shack
  • Online Stores
    Ch. - Now what?
  • Go make some prototypes
  • Visit my Blog at ...

Resources
-Link to code on GitHub
-Popular board comparisons
-List of components used
-Resistor calculating chart
-Ohm converting chart
-Arduino code terms / definitions
-LInks to useful sites

It looks good. Any chance you could post your web sight!

-Link to code on GitHub
-Popular board comparisons
-List of components used
-Resistor calculating chart
-Ohm converting chart
-Arduino code terms / definitions
-LInks to useful sites

That is an awesome feature that many many many books on Arduino are missing!

The website is also in the works as it will become my blog as the book is released. I plan on creating a drop box and will post a new topic within 2 months from now when the first draft is finished. I will then trust the Arduino comunity to assist me in any final edits before the oficial iBooks and PDF release.


Here is the introduction/preface

This is not designed to be a book for people who are completely new to hobby electronics.

Good! There are already entire fat textbooks written on learning electronics.

Although I’m still unsure the focus of this book. I see only a little on prototyping, and a lot on Arduino programming.

If this is about prototyping, then you really need to talk about more than just the Arduino. Focus should be on the use of development boards, and the use of Arduinos in that context. For that, any chip with proprietary software that you are not allowed to duplicate is useless. Some chips have an interpreter permanently installed on the chip, and you -must- buy preprogrammed chips for a premium price from that company to use anything you write for them. For instance, the Parallax Propeller. Versus the Arduino, where it is free and open source, and you can upload a compiled Sketch to a <$2 Atmel chip. You also have the ability to recompile an Arduino Sketch to a wide variety of other Atmel microcontrollers, from an 8 pin 8 bit chip, to a 32 bit 84MHz ARM processor.

You can talk about Assembler versus higher level languages like C/C++. Cypress Semiconductors has some 48MHz 32 Bit ARM PSoC (Programmable System on a Chip) that use a programming interface that is a combination of C++ and a visual programming interface. Microchip has a C/C++ IDE for their 24 and 32 bit chips.

If a client orders a proof-of-concept prototype, I’m not interested in packing up a $50 developer board and a bunch of $25 shields with loads of loose wires in plug-in connections into an oversized case. I want a custom PCB with a $4 Atmel Mega 2560 or a $1 8 pin chip and similarly priced parts. There are a variety of companies I can send out my designs to have PCBs made, or I can make my own PCBs, again with a variety of methods. There are also a fair variety of affordable or free schematic capture/PCB creation programs available.

PCB and case design go hand-in-hand. Screens must line up, buttons, connectors, etc. must fit the case. For a proof-of-concept prototype, found objects (handheld games, etc.), glued-together plastic, and purpose-built cases (Hammond boxes, etc.) are great. But for a production prototype, you need to keep in mind how the final case will be produced. Injection molded plastic has some specific requirements. For small quantities, you may have cases CNC or LASER cut, which have their own limits. So even if you can make a custom 3D printed case with all kinds of undercuts and internal features, you may end up with an unproduceable case.

There are a few affordable and free programs you can use to do 3D design.

“Feature creep” warrants a mention. It can turn a good idea into an Edsel.

I appreciate the input. The book is designed with the mindset that you are using developer boards (arduino) to create prototypes. It is aimed more at hobby electronics then it is professional engineers. I will however be including an instructional chapter on how to remove the IC from the arduino and using it as a permanent installment in the model. You will then be able to use the 25$ developer board to program ICs and then place the ICs into the project. The focus of this book is an introduction into using arduino for prototyping. Yes a beginner would be able to pick the book up and use it as a beginners guide, but I skip a lot of basics. I do run through a majority of the sample sketches. In the end the book will prepare you to take what you've learned and use it to develope your own prototypes. It is not for the complete beginner, nor for the expert. It lies somewhere between.

I haven't bought any Arduino books. I've been dabbling with hobby programming for years and I can find all the info I want online.

A few years ago I got interested in painting - particularly with pastels. I have bought a few books about that, and when I visit a bookshop I look for others that might extend my knowledge or have inspiring examples. I haven't found any for about 2 years. Without exception they all devote 25% or more of the book to the same stuff about the "tools" you need. That was all in the first book I got - I don't need a refresher with every other book.

In another area of programming I bought a download book about 18 months ago thinking it had a lot of information that would extend my knowledge. It didn't. It's approach to the stuff I was really interested in was c**p - grossly over complicated and the underlying principles weren't explained. I have since developed a far simpler approach myself.

I'm afraid I see too much of the repetitive beginner's stuff in your outline. If this is a serious book skip all that stuff with an introductory paragraph that says "This book assumes you already know X,Y,Z and if you don't you can read about it at these links".

A book that does some hard stuff would be really interesting and inspiring - especially because most of the Open Source hard stuff is poorly documented and difficult to understand.

...R

Photographs of old prototypes are needed in your book. I read the discussion in this forum, but there is no mention of the sloppy prototypes that went through three stages to perfection. Show an example of the first attempt using spaghetti wiring in a photograph. Show how the next version was neater looking and the final version was a printed circuit board with two errors. Show in pictures how an experimenters protoboard was a temporary experiment and then wire wrapped, soldered and etched version. And a final miniaturization that sold for $44 at a profit. Pictures, images, close-up macro lens, microscopic views of prototype solder globs bridging two nodes.

I really like the Idea of creating a sort of time lapse showing the rougher prototypes up to the finished product. As for creating a book with a high level of difficulty then I don't believe even I am up for that challenge.

I will however be including an instructional chapter on how to remove the IC from the arduino and using it as a permanent installment in the model. You will then be able to use the 25$ developer board to program ICs and then place the ICs into the project.

That's not how the Arduino works. You can't just drop a new unprogrammed Atmel into it and program it, it requires a bootloader to be installed first. Better, in any case to leave the chip on the Arduino and buy a brand new chip for the final board. You'll have to program a new chip for the Arduino then, if you did remove it. And I'm not paying $5 for a $2 chip just to have the bootloader on it already. And are you really going to unsolder a surface mount chip every time you do this?

Here is an example of information important to a book like this: An Arduino can be programmed to do ICSP (In Circuit Serial Programming) of another empty Atmel chip. You can program the bootloader into a new, blank chip, or the entire program. Then with a small USB adapter, you can reprogram that prototype without pulling chips off.

That is exactly what I plan on explaining. But when prototyping I have found that is IS very helpful to be able to remove the chip from my Arduino, drop it in to my project to save space and buy a new 5$ boot-loaded IC. The two dollar difference is worth the price of not having to install a boot-loader myself.

I question then whether this book is about prototyping, or just about building finished projects. I'm absolutely all in favor of a better project book, as the current crop all seem to assume you'll use a wired together thing with shields stacked on shields. But don't call it prototyping, then.

If I am going to build 100 of something, it absolutely is worth it to me to save $3 per board. You'll need to install a ZIF on your Arduino board and you'll be limited to the chips that come in DIP versions. And if you need to reprogram the chip in the project, will you pull it out and plug it into an Arduino? Or design in an ICSP connection, in which case why not save the hassle, time, and money?

ashtonmehrle:
Here is the introduction/preface

Please make sure you get that proof-read!

I can understand a prospective author seeking advice about the content and structure of his proposed book.

But I expect him to be very expert on all the technical stuff, and not just learning it himself. I can get amateur advice from myself.

...R