Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Slashdot Deals: Cyber Monday Sale Extended! Courses ranging from coding to project management - all eLearning deals 20% off with coupon code "CYBERMONDAY20". ×

Comment Re:Conversion Error (Score 1) 233

Programming is not about luck...

And a $3 arduino is as easy to program than a $25 one... that is much easier than for example PIC or AVR with "raw" C compiler.

Want to interface a small 2x16 LCD ? some servos ? some stepper ? some temperature captor ? there are libraries that make it a piece of cake... Much easier than programming PIC/AVR in ASM or C (without arduino libraries)... 8-9 years old kids can do it !!!

And if you use mBlock, even a 6 years old kid can program an Arduino (I use mBlock which is Scratch based to teach programming to my 6yrs old son)

so, yes, Arduino is much easier to program.

Comment Re:Conversion Error (Score 1) 233

And do you REALLY need a whole full fledged OS for a device that will be limited to ONE task and will do most of it's I/O through direct GPIO control ?

OS is about
- memory management
- task management
- device (peripherals) management

So, except if you plan to use this to generate a video signal, this is clearly a big overhead...

Some will say "I plan to use it as a media center"... except that for a media center, it's better to have some USB input (usbdisks) and network... back to regular Raspberries...

Remain the retro-gaming emulation... using HDMI as Composite don't have the Audio pins... hence more expensive screens (as the low-cost one are Composite only...). The extra cost for a full-fledged Raspberry becoming small...

Don't misinterpret what I say : I find that the Raspberry Pi 1/2 are great devices (and own several of these)... I'm just saying that this specific one is not a good one... looks like it was rushed out without enough planning...

- costs minimized... most connectors removed... but kept the micro-USB connector for the power in instead of having 2 pins (or solder pads) which would have led to same footprint but lower cost and allowing more options
- Composite VGA signal present... but not the sound signals (which would only have been two more solderpads)
- Several GPIO went unused when removing the network support... but they were not made available (as an header extension)

This was created for use-cases that are often better solved with other (cheaper) devices...

Comment Re:Not meant to be a good device but to undercut C (Score 1) 233

It looks like you don't know PICs and AVRs... 18F2550/18F4550 for example include USB hardware support... As do Mega 32U4 and other on AVR side.

SD support is nothing more than SPI and is supported by all these microcontroller

Remains the video output... but this strongly restrict the usecases where you'd need such a device... And most low-cost monitors (less than 20$, 4.5" go as low as 12$ on Aliexpress and other) DON'T support HDMI anyway..

Pi1 and Pi2 don't need USB Hub, have regular USB connectors (not micro-USB) and have onboard network so these extra costs don't apply...

Many people tend to forget that there are many devices beside Raspberries and Arduinos...

Comment Re:Conversion Error (Score 4, Informative) 233

Arduino has some advantages :

- cheaper (nano/pro clones are at less than 3$)
- lower power consumption
- both digital AND ANALOG pins
- exists in both 3v3 AND 5V (which is hobbyist friendlier)
- easier to begin computing (good libraries support, no need for that awful langage (IMHO) that is Python, we even have ardublock or mblock to make native visual (scratch-like) programming)

For connected projects, ESP8266 may be the way to go... lots of flash space, decent number of I/O and still cost lower than RaspZero.

Comment Not meant to be a good device but to undercut CHIP (Score 3, Insightful) 233

As is, this Raspberry is quite useless... You need to add
- a SD card
- some header
- an USB Hub
- Some adapters (micro-USB to USB host, HDMI)
- Some network dongle (Wifi or RJ45)
- You can use the video composite output... but you don't have any sound output so video composite is rather useless and you need to use more expensive HDMI monitors

When you add all these hidden costs, you get a price similar to Raspberry 1 or 2... in a much less practical form.

They stripped the card of everything possible to reach that 5$ price tag... which make me think that they wanted to undercut the C.H.I.P. which is going out in a couple of month and will be 9$...

Useless product... Microcontrollers (AVR/PIC/...) or conventionnal Raspberry/BBB/... are much more useful.

Comment Similar was done on the ZX Spectrum (Score 2) 55

Back in the 80ies, the ZX Spectrum had a Z80 clocked at 3.25 MHz (about half TI's clock) and a direct control to the speaker (OUT(0xFE),x allowed to change border color, speaker output and tape output).

There were many games that were using that simple 1-bit control to play multi-channel music, some even simulating ADSR enveloppe (Release was missing).

You may find many old Spectrum games using these tricks like Gyroscope, Fox fights back, Dizzy série, ...

Basically, same processor, lower clock frequency, same kind of output... nothing impressive... but still a nice hack...

Comment Re:Dashboards (Score 1) 423

Nav system needs to know vehicle speed to interpolate when GPS signal is lost

Entertainment needs two of RPM, speed, gear shift to evaluate the road noise (both from wheels on road and from the engine)

Nav can make a nice addition if coupled with gas-tank level (to show reachable gas stations)... Except that accurate gas-tank level can only be measured when the vehicule is stopped... So fuel consumption (which can always be measured accurately) will allow proper extrapolation.

Gear shift can be used for rear-cam/rear-radar used as park-helpers

Comment Re:Why do they need ANY info? (Score 1) 423

Information not only about "in motion" but about speed is a huge improvement for Navigation

People are used to "tomtom" and other removable Navigation systems... but serious one used to require the vehicle speed for years. When you enter some tunnel, it allows the system to continue to track the movements of the car while the GPS signal is lost.

Using a compass and the car speed let the navigation system follow your track without GPS signal... directly on the map. Well, it's not utterly precise but it is usually precise enough to keep track for a few kilometers.

Being able to know the RPM of the engine and the speed of the car also allow to evaluate the environmental sound level and adjust the audio system's volume accordingly, lowering it when you stop at a traffic light or when you slow down and putting it back in "normal" volume when you're driving.

So, there are plenty of useful uses for that data...

I guess that, as VM group (VM, Audi, Porsche and other) already uses Android on other cars, they wanted an excuse to use Apple's system on porsche as usually, people who drive such cars like to show their wealth, including through an iPhone. It's not about data or system quality, it's only about flattering the ego of their customers.

Comment Re:old clunky junk (Score 1) 170

Arduino fill a niche that nothing else can fill...

My last design used some PIC16F and other... it took me several hours to get the program running on the prototype (breadboard and such)...

But last year's Halloween, I had a "last minute idea"... an Arduino, one servo, one movement detector module, some bamboo sticks, some nylon wire and a plastic spider... It took me about 1/4h to wrap it up (and 10 more minutes to install it in my entrance "black chapel")... that's the Arduino real strength... You can hack some stuff very easily and fast... If I wanted to do it with some PIC, I'd have had to begin with breadboard, pickit, doc and calculator to get my timer use correct, ... it wouldn't have been ready for the first child who came to ring at my door.

Comment Re:old clunky junk (Score 1) 170

I'd add that /* ... */ comments are cleaner and more powerfull than their // counterpart :

It allows things like :
void foo(int bar /* the bar parameter*/ , char *barbar /* the output buffer */) {...}

End of comment is explicit (unlike the // where the end is implicit) which makes more sense with C that uses explicit end markers anywhere ";", "}"; "]", ")"... and "*/"...

As for the variables declaration in the beginning of the function, it's also cleaner... Having a cleaner code requires more work but, in the end, helps for code maintenance.

so, the // comment and the variable déclaration anywhere in the block are not real improvements.

A real improvement was when we switched from
void foo (bar,barbar)
int bar;
char *barbar;
{ ... }

void foo(int bar, char*barbar) {...}

Comment Re:old clunky junk (Score 1) 170

Except that PCB design takes time, using a raw SMD AVR like the one you find on the mini pro/nano is not an easy task (unless you have some reflow oven) and the module already takes care of some of the burden...

That said, my latest design was PIC-based (using outdated 16F877 because I had it on stock and it's for a 1-unit production) and not arduino-based...

But should I use a design using some Arduino, I think I'll use the already made module instead of a DIP socket and a ATMega328 with some external components... for a footprint that is not much bigger, I'd get the regulator and the quartz for a lower price...

Comment Re:old clunky junk (Score 1) 170

So, the FPGA shield is not as stupid as it could feel.

The dumb part is that you can stick an AVR-compatible core in the FPGA itself and skip the Arduino.

Well, you also find Arduino FPGA shields like the "Gameduino" where the FPGA comes preprogrammed... Even if the user may reprogram it, if don't know anything about FPGA, ha can still use it...

Don't forget that Arduino is also a whole community sharing tips and code... the differences between AVR and Arduino are shields, easy to use libraries and community...

And, well, I don't see the point in using an AVR core in an FPGA... you could use smaller CPU cores which would leave you with more gates...

Arduino nano compatible bought from China end up very cheap with USB, voltage regulator, quartz... If you buy some quantity, you may drop below 1.75$/module. And the module is not much bigger than a DIP40... so yes, Arduino is a viable option at least for medium-sized production.

But... why? Why use a module when you can just stick the AVR right on your board and get a lot more flexibility? It makes a lot more sense to buy the USB-TTL converter as a module, since at least that is pretty much universal. Or just use a serial connector and have the USB-TTL converter as an external cable for testing/programming if your device doesn't rely on USB being around to actually function.

If you use arduino pro, you drop to 1.33$/module or less, still with voltage regulator and quartz... just no USB port...

If you look at Atmel web page, ATMega328 is at about 1.80-1.90$ for an order of 1000-6000 units... At banggood, you can get them at 1.25$/unit... add to this the quartz and regulator and you end up to something quite more expensive than the chinese module... So, I'm not sure that sticking the AVR right on the board is so interesting... They buy lots of reel of chips, number so big that for a small scale production (not an industrial one) we would never be able to reach these numbers... and the prices they get...

Comment Re:old clunky junk (Score 1) 170

Less than $200 for the 4 programmers... and you've got redundancy (TL866 allows to program both PIC and AVR, the mentionned PICKit 2 is for ICSP debugging (and direct interaction from MPLABX) and the AVR programmer would allow you to program "in situ" (TL866CS is only through the ZIP connector).

TL866CS => 38$-50$ (depends on the extra adapter that you want to get)
Byteblaster compatible JTAG => 12$
PICKit 2 => 12.5$
STK500 (AVR) => 20$ (there are cheaper alternatives)

If you buy through EBay and Chinese shops, that's less than 100$ (but you're not sure that these are genuine parts). Sourcing from some other place can cost up to twice the price (TL866CS at 70$ instead of 38$ for example)

And if you want to stay cheap, you may forget the last two.

Comment Re:old clunky junk (Score 1) 170

1) Arduino with FPGA shield
While it may sound stupid (as you said, the shield was more powerful than the arduino), don't forget that FPGA programming is much more complex than Arduino/C...
FPGA could be great to generate a video signal but will be very poor when you want to do string processing and maths... FPGA and Microcontroller don't share the same kind of uses...
So, the FPGA shield is not as stupid as it could feel..

2) Arduino is a commodity
Even if you can program a microcontroller in assembler, using direct port access, don't forget that not everyone can/want to do it. Arduino is often used by people who can barely program but need some way to sequence things (artists for example).

3) Arduino as a learning tool
Arduino also has a great teaching potential. In 80's, we had computers like Commodore, Spectrum, Amstrad, CPC, ... which were used as both game station and computer programming learning tool. When you bought some, you had BASIC available and most of the manual was about programming BASIC. Today's computers don't fill that spot anymore... but Arduino can fill it. Someone who makes a led blink under arduino has learned the basics of loop and sequence of instructions... Shields and other will help to go further...

4) PIC16F84
It's amazing how Microchip managed to get their micro-controller similar. You can switch from a 16F877 to a 18F4550 (or other), only one pin will be incompatible (RC3 which becomes Vusb if I remond well)... And 18F PIC share the same SFR map (except for the model-specific registers, for example, the USB-related registers of 18F2550/18F4550).
But it's also true that the number of available chips is huge and selecting one may feel difficult (mostly when only basic functionalities are needed) So I can understand that people will end up stocking one or two "generic" models and stick to them.

5) design with Arduino
Arduino nano compatible bought from China end up very cheap with USB, voltage regulator, quartz... If you buy some quantity, you may drop below 1.75$/module. And the module is not much bigger than a DIP40... so yes, Arduino is a viable option at least for medium-sized production.

"Everybody is talking about the weather but nobody does anything about it." -- Mark Twain