> Hello all,
>
> I'm new to this group; I hope this is a good place to ask this question. I
> work at a company who is rolling a custom AVR-based board for an
> educational product (one that is supposed to be programmable by children),
> and one of the things we've talked about is how to make the programming as
> easy as possible - e.g. develop a graphical block-based system, our own
> easy-to-use language, etc. Hardware consists of a few really simple
> sensors
> (micro switches, IR gates) and simple outputs (LEDs, buzzers, solenoids).
>
I would say that you would be best served by not bothering to create a
block-based system. You should look at adapting one of the existing
open-source block systems such as makecode or scratch. Since these
already support AVR systems, the effort needed should be minimal.
In the worst case, for C/C++ programming, you would most likely need a
board definition and a way do download, such as a set of parameters to
avrdude, or one of the many other downloaders.b
> The only stuff that will really be user-programmable, at least for
> less-advanced users, will be simple if-else statements and delays. Things
> like "if this microswitch is pressed, delay 1 second and then fire the
> solenoid and turn this LED on". What we believe will be the best way of
> accomplishing this will be to start with the base Arduino IDE, and add a
> custom library/abstraction layer so that sensors and outputs can be easily
> referred to. Then we can distribute packages of this custom setup.
>
no loops? no function calls? I once watched an 8-year-old master
subroutines in about ten minutes of explanations and two attempts; the
third attempt succeded.
If you use the standard bootloader and provide for automatic reset (a
small capacitor on an FTDI pin, for example, but there are lots of other
ways to manage this) then there is no work in the environment other than
the boards definition. Do not try to build your own block-programming
environment. It’s a waste of time and resources. Your proposed library
environment might be a worthwhile investment of time, but you can you make
an if-then-else simpler than the C statement.
A more popular approach that is emerging is the use of micropython. If
you want to grow beyond block programming, micropython is a
not-unreasonable direction,
joe
> Since Arduino is released under the GNU Lesser and GNU General Public
> License, as long as we publicly release the source for such a project, are
> there any other legal hurdles we would potentially be looking at?
>
> Thanks for any help.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
developers+...@arduino.cc.
>