Is it Cheating to use an Arduino? - Page 1
Forum section: electronics / general

author: kolbep
author_rank: Frequent Contributor
timestamp: September 07, 2015, 06:16:01 am
content: Hi Guys.I just wanted your opinion (just to ease my Conscience)I have been using PIC's for some time now. And even have my Generator Controllers built up around them.Now,For some time I have wanted to do Mains Voltage + Current Logging to an SD Card (mainly for my own curiosity).But the PIC SD Library looked cumbersome, and took too much memory. And I do not have much free time (except when I am sleeping) to figure it out.I then looked at logging with an Arduino, and with just the Uno Board, and an SD Card Shield, and a few lines of code,I can be up and running in an afternoon.And it looks like it will just work.So I bought myself the following (from a Local Online Supplier) last night1 x Arduino UNO Clone1 x Ethernet Shield with SD Card.Then today I noticed a special for a UNO R3 ATmega328P Board + 2.4 Inch TFT LCD Touch Screen Module for $12.20usd on Banggood.So I decided that If I get one Arduino, I might as well get 2. Even though the Banggood one might take a month or 2 to get here.Anyway, I feel dirty for wanting to go this apparently 'Easy' route instead of slogging on trying to get a PIC solution going.Is this normal?

author: Jeroen3
author_rank: Super Contributor
timestamp: September 07, 2015, 07:28:33 am
content: Using pre-build blocks to implement in your system design can be good engineering.But you have to make a proper decision based on the limitations imposed by pre-build blocks versus the time and effort saved by using it.Licensing, modification, speed, size, hardware dependency and availability, manufacturer dependency, bugs, exploits (for Internet of Things).Also, remember that Arduino is an:QuoteIf you're actually in the field of Generator Controllers you might have high reliability standards. Make sure that Arduino can meet those.

author: kolbep
author_rank: Frequent Contributor
timestamp: September 07, 2015, 07:44:50 am
content: My generator controllers I will keep my pic design as it is proven and worksBut I am looking at the arduino more for my own playing around and things that interest me. If I do go on to produce something worthwhile , then I will spin my own boards with the at mega micros and whatever else it will need.

author: firewalker
author_rank: Super Contributor
timestamp: September 07, 2015, 07:53:00 am
content: If you don't need a file system with the sd card, it should be fairly easy to use it with any mcu.Alexander.

author: bookaboo
author_rank: Frequent Contributor
timestamp: September 07, 2015, 08:27:24 am
content: I'm old school, frankly anything except winding your own coils and using relay logic should be considered cheating if you ask me.Just make your engineering decisions based purely on logic, not ego or how it looks to others. Use whatever get the job done correctly and quickly for you

author: tggzzz
author_rank: Super Contributor
timestamp: September 07, 2015, 08:35:09 am
content: Quote from: kolbep on September 07, 2015, 06:16:01 amThere are two attitudes...You should fully understand everything you build, which implies you should have built the processor out of discrete TTL/CMOS - no, wait, RTL/DTL, with home-grown transistors.You should "stand on the shoulders of giants" and choose whatever is best for achieving your goal.One is fun and valuable. The other is fun and valuable and shows good engineering judgement.

author: TJ232
author_rank: Frequent Contributor
timestamp: September 07, 2015, 12:01:54 pm
content: Quote from: bookaboo on September 07, 2015, 08:27:24 amyou are NOT winding your own coils? omg...now that's cheating(in the HAM World)

author: retrolefty
author_rank: Super Contributor
timestamp: September 07, 2015, 01:34:10 pm
content: QuoteUnlike some Grey Beards, I sure wish as a 11 year old I had access to an arduino and all the cheap Asian stuff available at the real prices involved. It's never been a better time to learn electronics and and build stuff that works.

author: zapta
author_rank: Super Contributor
timestamp: September 07, 2015, 01:46:16 pm
content: Quote from: retrolefty on September 07, 2015, 01:34:10 pm+1As well as all the free information on the internet, online catalogs, and people I can ask.This kind of 'cheating' is gold.

author: alsetalokin4017
author_rank: Super Contributor
timestamp: September 07, 2015, 02:04:13 pm
content: Hurrah for Arduino!

author: obiwanjacobi
author_rank: Super Contributor
timestamp: September 07, 2015, 02:18:56 pm
content: Arduino software (in general) is a pile of horse dung (IMHO).It is very good for quickly getting your prototype to work and perhaps working out the details of some devices you wish to interface with.Once that is done, make the same thing (use the same MCU to start with) in something like Atmel Studio and program to the native MCU. Expect your code to run a lot quicker (important for timing signals).If you're done you can probably find a at-tiny AVR MCU that will hold your program with enought IO to interface the electronics.

author: kolbep
author_rank: Frequent Contributor
timestamp: September 07, 2015, 03:00:50 pm
content: Thanks for the comments and suggestions.Now I don't feel so bad abandoning the pic uC (at least for the moment).But if something of mine will go public, I will either use the Bare uC, or a Pic uC.Now I just have to finish all my (normal) work, so that I can get tinkering....

author: commie
author_rank: Frequent Contributor
timestamp: September 07, 2015, 04:38:22 pm
content: Quote from: obiwanjacobi on September 07, 2015, 02:18:56 pmTell me something, is the Arduino software platform a compiler or interpreter . I use Bascom AVR which is a compiler and a very good one at that so I have never had the need to migrate to any other platforms.

author: retrolefty
author_rank: Super Contributor
timestamp: September 07, 2015, 05:02:31 pm
content: Quote from: commie on September 07, 2015, 04:38:22 pmArduino uses gcc compiler/linker and other tools so their users also have no need to migrate.

author: tggzzz
author_rank: Super Contributor
timestamp: September 07, 2015, 05:06:56 pm
content: Quote from: kolbep on September 07, 2015, 03:00:50 pmIt is easy to use a bare atmega328 with Atmel Studio and the Dragon ICE/programmer, providing you are used to programming "bare silicon". The major issue is configuring the atmega328, which is pretty straightforward case of reading the data sheet. I haven't tried the same with ARM-based arduinos, so I won't comment on that.Programming bare silicon has the usual advantages and disadvantages: you have to create i/o libraries, and you don't have to understand other people's i/o libraries.

author: tggzzz
author_rank: Super Contributor
timestamp: September 07, 2015, 05:11:01 pm
content: Quote from: commie on September 07, 2015, 04:38:22 pmIt is an ecosystem consisting of different processors on different form-factor boards, plus a wide range of i/o "daughter boards" and associated i/o libraries - all programmed in C/C++ inside two functions: setup() and loop(). There is a very simple IDE which compiles code and downloads it over a USB link.Yes, that is a crude description, but it is good enough to answer your question.

author: commie
author_rank: Frequent Contributor
timestamp: September 07, 2015, 06:49:18 pm
content: Quote from: tggzzz on September 07, 2015, 05:11:01 pmYep, thanks for that.

author: Kjelt
author_rank: Super Contributor
timestamp: September 07, 2015, 07:16:35 pm
content: There will be one day for (almost) everyone in this hobby where a buy "ready set go" solution will be preferred to the "lets design it from scratch" solution.For me it was when I needed to control my gear through IP and I was already spending more then a month trying to get a STM32 IP library working, then I just bought a raspberry pi, learned Python in 1 day and the next day the project was done. BUT... there will also always be compromises from a "ready set go" solution. In my case I have to wait till the pi has booted and have to shut it down, instead of just flipping the power switch. Anyway, cheating is taking credit for something you did not do, so for instance getting a good grade while you looked up all the answers from your neighbour. Cheating with a Arduino is buying a ready made pcb, copying >80% of the software from the net and then claiming you are this great wizzard that did it all. That's cheating. Buying and using a prototyping environment for your own hobby is not cheating in my book.

author: Jeroen3
author_rank: Super Contributor
timestamp: September 07, 2015, 07:19:27 pm
content: Cheating is not mentioning the GPL code and libraries used.

author: Chris C
author_rank: Frequent Contributor
timestamp: September 08, 2015, 12:05:03 am
content: I haven't used the PIC SD library, but in general I don't like their libraries.Should I ever need SD function on a PIC, FatFs seems to be well-liked and easily ported:http://elm-chan.org/fsw/ff/00index_e.html

author: Muxr
author_rank: Super Contributor
timestamp: September 08, 2015, 12:27:29 am
content: For one offs (non mass produced stuff) or open hardware, I use Arduino too. It's quick and easy, and it works. Don't see a problem with it.Time is a precious commodity and if it can save you time I don't really see anything bad about it.

author: GNU_Ninja
author_rank: Regular Contributor
timestamp: September 08, 2015, 08:57:46 am
content: If it works, use it.

author: @rt
author_rank: Super Contributor
timestamp: September 08, 2015, 04:14:14 pm
content: What customer cared how it worked before it was broken?

author: westfw
author_rank: Super Contributor
timestamp: September 09, 2015, 06:41:59 am
content: Eventually you have to decide whether you're more interested in logging your current/voltage data, or fiddling with fixing an SD card library to work the way you want...

author: tggzzz
author_rank: Super Contributor
timestamp: September 09, 2015, 08:15:39 am
content: Quote from: westfw on September 09, 2015, 06:41:59 amPrecisely. Either is a valid objective, of course.

author: daybyter
author_rank: Frequent Contributor
timestamp: September 09, 2015, 03:50:51 pm
content: I think reusing libs is smart, because the more people a lib use, the more likely it is to find any bugs in this lib. So with arduino libs, your chances are quite good to get a bug-free lib.

author: kolbep
author_rank: Frequent Contributor
timestamp: September 09, 2015, 06:43:30 pm
content: Well, the 1st Arduino arrived today.I have already popped some of the Sketches (Blinking, Serial, Ethernet Server, Etc)and love how the libraries make it so simple.I have also ordered myself an Arduino Mega and Nano just to have a range (and some spare parts) all part of Banggoods 9/9 Special.I am a bit busy doing my Electrical work during the day, and Editing a Wedding DVD in the evenings, so the arduino will just have to sit blinking on the desk until next week :-(

author: daybyter
author_rank: Frequent Contributor
timestamp: September 09, 2015, 11:19:12 pm
content: Also check stm32duino.com and those cheap stm32f103 boards at ebay.

author: zapta
author_rank: Super Contributor
timestamp: September 10, 2015, 12:44:20 am
content: Quote from: kolbep on September 09, 2015, 06:43:30 pmWhere did you get the nano?I am looking for a nano with a real ftdi chip.

author: westfw
author_rank: Super Contributor
timestamp: September 10, 2015, 05:49:02 am
content: QuoteYou might have to build one.It's not clear that even the original Gravitech Nanos had "real" FTDIs. :-(

author: Xenon Photon
author_rank: Unknown
timestamp: September 10, 2015, 11:49:10 am
content: PIC micros are great for learning, just make sure you select the one that can do the required task. And don't stick with the PIC16F877A that everyone use to either flash some LEDs or to build a computer gadget! PIC's have small ones to flash some LEDs (e.g PIC12F675) and there is also PICs to connect to your computer via USB and it have enough ROM for your code like PIC18F4550.And as said before, If it is convenient to use a PIC then go for it, if not then use whatever is convenient.Also the world is changing. Try to keep up with it. Those days you can find 32 bit ARM processors with a lot of amazing features. for exampleZapta's ARM PRO MINI

author: zapta
author_rank: Super Contributor
timestamp: September 10, 2015, 12:54:58 pm
content: Quote from: westfw on September 10, 2015, 05:49:02 amI am looking at the Arduino Nano manual below. It says that U2 is an FT232RL. I am not familiar with the Nano (used Pro Mini so far, with FTDI Basic). Isn't it an official Arduino board?https://www.arduino.cc/en/uploads/Main/ArduinoNanoManual23.pdf

author: Rick Law
author_rank: Super Contributor
timestamp: September 11, 2015, 02:42:21 am
content: Quote from: westfw on September 10, 2015, 05:49:02 amI suppose you can look at it as "at least it is an FTDIcompatablechip" as oppose to a CH340.The CH340 works okay too but you do have to load another driver. For WinXP, the CH340 cannot distinguish one from another whereas, each of my FT232RL device has an unique ID on the FTDI bus. (I have four FT232RL device only, they each have a different ID so I am assuming it is by design rather than luck of the draw for my four FT232RL.)So, with my FT232RL based stuff, I can RegEDIT the registry for that ID so my "Arduino" (ATMEGA+FT232RL made to look like an UNO) for temperature log will always use com3, my INA219 volt/amp "Arduino" always use com5, my FTDI RS232 to USB gets com2, so on. Regardless of order of plug in, my assigned com port for that FT232RL is always the same matching my corresponding PC data collection program specific to that application. The edit is cumbersome since RegEDITing those entry cannot occur while Windows is running. But once done, WinXP knows which of the four FT232RL I plug in and assign the "right" com correspondingly.With my four CH340 based Nano, there is no unique ID associated with it. I have 4 so they are com9, 10, 11, 12. The first one plug in is always com9, regardless or which one of the four Nano I am plugging in. So I have to juggle the com port either on my PC program or juggle the port assignment in the device manager.Apart from that, the CH340g Nano works rather well.

author: westfw
author_rank: Super Contributor
timestamp: September 11, 2015, 03:28:18 am
content: Arduino Nano is (was?) an official arduino board, but AFAIK, it was always manufactured by Gravitech rather than by Smart Projects. (I could be wrong. I notice that both Arduino.cc and Arduino.org have the Nano in their current "product lists." Who can tell for sure.The official Nanos were always rather expensive, and a lot of people bought clones. For some time, counterfeit FT232rl chips were on the market, and you had to be "careful" to get genuine chips. I don't know if Gravitech was "careful."In any case, when FTDI did their "disable counterfeit ft232 chips" driver hack, it was mostly people with Nanos that complained about bricked boards, and some of them claimed to have purchased their Nanos through official channels (Newark, Digikey, etc.)Nano clones have appeared with other non-FTDI chips for their USB/Serial interface. I'm sure I've seen "prolific" chips (also subject to counterfeiting) (http://www.ebay.com/itm/DK-NANO-V4-0-MINI-USB-ATMEGA328-5-V-16Mhz-MICRO-BRAND-NEW-ASSEMBLED-/251376044179?hash=item3a872e0893), and "cp2102" would be "likely." Most of the modern crop of clones have a CH340g chip (which AFAIK has been relatively complaint-free, aside from "you have to install drivers from a source you really don't trust that much", and "it's not the chip I expected.")

author: retrolefty
author_rank: Super Contributor
timestamp: September 11, 2015, 05:43:43 am
content: Quote from: zapta on September 10, 2015, 12:54:58 pmThat's a somewhat dated manual as it shows the Nano using a ATmega168 rather then the present ATmega328P. The original Nano was made under licence from Arduino by Gravitech for like $50 each.The present version V3 Nano is an unlicensed Asian clone of the original Nano. I just received my first "CH340 based Nano'" yesterday. It seems to work fine on my windows 10 laptop with no effort on my part to find or load a CH340 USB driver, windows found it by itself as I had been told it would.At $2.69 each with free shipping I may have to order a dozen.http://www.ebay.com/itm/141694439617?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

author: westfw
author_rank: Super Contributor
timestamp: September 11, 2015, 07:12:58 am
content: QuoteThere was an official V3.0 Nano as well; an upgrade to a m328:https://www.arduino.cc/en/Main/ArduinoBoardNanoAnd a version 3.2 from other other Arduino:http://www.arduino.org/products/arduino-nanoplus, there are several different versions of the CH340G "Chinese" Nano floating around (most obvious difference: presence, type, and layout of the bypass caps for the regulator.)

author: Stonent
author_rank: Super Contributor
timestamp: September 20, 2015, 11:32:56 pm
content: Arduino boards are good to get a proof of concept up and running quickly. Once you have the logic tested and functional, you can migrate to a stand-alone AVR fairly easily as long as you're not using some exotic device that requires some protocol stack. If you think you might be targeting the MSP430, there's an Arduino front end for it as well called Energia.

author: MT
author_rank: Super Contributor
timestamp: September 22, 2015, 12:38:29 am
content: Quote from: tggzzz on September 07, 2015, 08:35:09 amPerhaps in the 90 it was, but to day it's.......abstract everything.........for heaven sake!

author: bitseeker
author_rank: Super Contributor
timestamp: September 24, 2015, 04:25:23 am
content: Quote from: Stonent on September 20, 2015, 11:32:56 pmExactly. Environments like the various Arduinos are great for getting your latest idea into the physical world quickly and work out functional and usability issues. If it's something for your own use, it may live on in that form just fine. If you want to mass-produce the idea, then reproduce it onto just the hardware needed in order to make it work correctly and minimize BOM. If it really takes off, then redesign again to increase integration/customization to further reduce cost and/or expedite production. That's a pretty standard lifecycle.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: September 24, 2015, 04:31:45 am
content: Quote from: bitseeker on September 24, 2015, 04:25:23 amUntil / unless you have conflicting 'hard-coded' pin assignments, drive your device in a different way (you're going to run out of pins sooner or later) or can't get the timing you need - forcing you to change something (a timer) and have part of the Arduino API fall over...For testing simple single components / devices - yes. For a complete solution... depends.

author: bitseeker
author_rank: Super Contributor
timestamp: September 24, 2015, 04:59:08 am
content: Quote from: obiwanjacobi on September 24, 2015, 04:31:45 amYep, all part of the fun of engineering.

author: kolbep
author_rank: Frequent Contributor
timestamp: September 24, 2015, 08:57:58 pm
content: Just popped in quickly.During a moment of procrastination in my other things that need to be finished ASAP,I decided to have a quick play around.Made up a Veroboard Shield with an RTC, and Battery (for the RTC), and a 1 Wire Temperature Sensor (and a header for external sensor).Stuck the needed libraries in, and within 20 minutes!!!, I had it logging the Indoor and Outdoor Temperature every couple of seconds to a CSV file on an SD Card.There was a bit of a dip in the logs during a power cut the other day (was about 45 minutes), but otherwise it has been logging consistently.The sensor is so sensitive (Dallas DS Sensor, 2 Digits after the comma), I could actually see at 7:15 am on Sunday Morning, where somebody opened the door for a minute to let the dog out (and the sensor is on the arduino, which is 10m from the door, and not in direct line of sight.Maybe in the next couple of weeks, I will get the Voltage logging done...

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: September 25, 2015, 01:30:07 pm
content: RS have an "Arduino Design Centre"http://www.rs-online.com/designspark/electronics/eng/nodes/view/type:design-centre/slug:arduinoso at least someone is courting the professional market.They also carry an Arduino based PLChttp://uk.rs-online.com/web/p/plc-cpus/8850929/I wonder for what industrial applications people would choose an Arduino based system?