Posts | Comments

Planet Arduino

Speak with those who consider themselves hardcore engineers and you might hear “Arduinos are for noobs” or some other similar nonsense. These naysayers see the platform as a simplified, overpriced, and over-hyped tool that lets you blink a few LEDs or maybe even read a sensor or two. They might say that Arduino is great for high school projects and EE wannabes tinkering in their garage, but REAL engineering is done with ARM, x86 or PICs. Guess what? There are Arduino compatible boards built around all three of those architectures. Below you can see but three examples in the DUE, Galileo, and Fubarino SD boards.

Arduino DUE uses Atmel ARM Arduino Galileo uses Intel x86 Fubarino SD uses PIC32

This attitude towards Arduino exists mainly out of ignorance. So let’s break down a few myths and preconceived biases that might still be lurking amongst some EEs and then talk about Arduino’s ability to move past the makers.

Arduino is NOT the Uno

When some hear “Arduino”, they think of that little blue board that you can plug a 9v battery into and start making stuff. While this is technically true, there’s a lot more to it than that.

  1. An Arduino Uno is justanAVR development board.AVRs are similar to PICs. When someones says “I used a PIC as the main processor”, does that mean they stuck the entire PIC development board into their project? Of course not. It’s the same with Arduino (in most cases), and design is done the same way as with any other microcontroller –
    • Use the development board to make, create and debug.
    • When ready, move the processor to your dedicated board.
  2. What makes an Arduino an “Arduino” and not justan AVR but the bootloader. Thus:
    • An Atmega328P is an AVR processor.
    • An Atmega328P with the Arduino bootloader is an Arduino.
  3. The bootloader allows you to program the AVR with the Arduino IDE. If you remove the bootloader from the AVR, you now have an AVR development board that can be programmed with AVR Studio using your preferred language.

There Is No Special Arduino Language

Arduino "blink" sketch should run on any Arduino compatible board.
Arduino “blink” sketch should run on any Arduino compatible board.

Yes, I know they call them sketches, which is silly. But the fact is it’s just c++. The same c++ you’d use to program your PIC. The bootloader allows the IDE to call functions, making it easy to code and giving Arduino its reputation of being easy to work with. But don’t let the “easy” fool you. They’re real c/c++ functions that get passed to a real c/c++ compiler. In fact, any c/c++ construct will work in the Arduino IDE. With that said – if there is any negative attribute to Arduino, it is the IDE. It’s simple and there is no debugger.

The strength comes in the standardization of the platform. You can adapt the Arduino standard to a board you have made and that adaptation should allow the myriad of libraries for Arduino to work with your new piece of hardware. This is a powerful benefit of the ecosystem. At the same time, this easy of getting things up and running has resulted in a lot of the negative associations discussed previously.

So there you have it. Arduino is no different from any other microcontroller, and is fully capable of being used in consumer products along side PICs, ARMs etc. To say otherwise is foolish.

What is the Virtue of Arduino in Consumer Products?

This is Ask Hackaday so you know there’s a question in the works. What is the virtue of Arduino in consumer products? Most electronics these days have a Device Firmware Upgrade (DFU) mode that allows the end user to upgrade the code, so Arduino doesn’t have a leg up there. One might argue that using Arduino means the code is Open Source and therefore ripe for community improvements but closed-source binaries can still be distributed for the platform. Yet there are many products out there that have managed to unlock the “community multiplier” that comes from releasing the code and inviting improvements.

What do you think the benefits of building consumer goods around Arduino are, what will the future look like, and how will we get there? Leave your thoughts below!


Filed under: Arduino Hacks, Ask Hackaday, Hackaday Columns, rants
lug
15

New Project: Convert a Pinball Score Reel into a Clock

arduino, Electronics, pinball, Real-time clock, solenoid Commenti disabilitati su New Project: Convert a Pinball Score Reel into a Clock

pinball clock featured imageSolenoids (a type of electromagnet) are at the heart of pinball machines, and at one time, many other machines. They work by inducing a magnetic field using a coil of copper wire. This makes them ideal for pushing or pulling mechanical things fast and with force. They have become unnecessary […]

Read more on MAKE

The post Convert a Pinball Score Reel into a Clock appeared first on Make: DIY Projects, How-Tos, Electronics, Crafts and Ideas for Makers.

lug
15

Super Simple Arduino Load Driver V2.0

arduino, mosfet Commenti disabilitati su Super Simple Arduino Load Driver V2.0

mosfet

Turn loads on and off with your Arduino! Use 5V to control up to 100V. Add a motor, solenoid, or get creative! P channel or N Channel.

This is version 2.0 of the previously successful kickstarter project I launched last year. I have a ton of these PCB boards left over and it got me thinking. Why not find a P channel MOSFET with the same pinout and use it to control the direction of the motor also. I looked around and found the IRF5210. I ordered up a batch and tested them out. All thats left to do now is order a large quantity for the price break and assemble the rest of the boards.

Super Simple Arduino Load Driver V2.0 – [Link]

lug
15

A self-driving vehicle using image recognition on Android

Android, arduino, arduino mega, Cars, Featured, mega, self-driving Commenti disabilitati su A self-driving vehicle using image recognition on Android

platis01

Dimitri Platis is a software engineer who’s been working with his team on an Android-based self-driving vehicle which uses machine vision algorithms and techniques as well as data from the on-board sensors, in order to follow street lanes, perform parking manoeuvres and overtake obstacles blocking its path:

The innovational aspect of this project, is first and foremost the use of an Android phone as the unit which realizes the image processing and decision making. It is responsible for wirelessly transmitting instructions to an Arduino Mega, that controls the physical aspects of the vehicle. Secondly, the various hardware components (i.e. sensors, motors etc) are programmatically handled in an object oriented way, using a custom made Arduino library, which enables developers without background in embedded systems to trivially accomplish their tasks, not caring about lower level implementation details.

[...]

On the software dimension of the physical layer, an Arduino library was created (based on a previous work of mine [1], [2]) which encapsulated the usage of the various sensors and permits us to handle them in an object oriented manner. The API, sports a high abstraction level, targeting primarily novice users who “just want to get the job done”. The components exposed, should however also be enough for more intricate user goals. The library is not yet 100% ready to be deployed out of the box in different hardware platforms, as it was built for an in house system after all, however with minor modifications that should not be a difficult task. This library was developed to be used with the following components in mind: an ESC, a servo motor for steering, HC-SR04 ultrasonic distance sensors, SHARP GP2D120 infrared distance sensors, an L3G4200D gyroscope, a speed encoder, a Razor IMU. Finally, you can find the sketch running on the actual vehicle here. Keep in mind that all decision making is done in the mobile device, therefore the microcontroller’s responsibility is just to fetch commands, encoded as Netstrings and execute them, while fetching sensor data and transmitting them.

 

Check the Arduino library on Github, explore the circuit below and enjoy the car in the video:

Here’s the essential bill of materials:

  • Electronic Speed Controller (ESC)
  • Servo motor (Steering wheel)
  • Speed encoder
  • Ultrasonic sensors (HC-SR04, SRF05)
  • Infrared distance sensors (SHARP GP2D120)
  • Gyroscope (L3G4200D)
  • 9DOF IMU (Razor IMU)
platis02 platis03
lug
15

Billy Club Texts Your Mother if you Hit Someone

Arduino GSM, arduino hacks, Art, billy club, gsm shield, weapons hacks Commenti disabilitati su Billy Club Texts Your Mother if you Hit Someone

Mama, just killed hit a man, Put a gun against his head, Pulled my trigger, now he’s dead.
Mama, life had just begun, But now I’ve gone and thrown it all away…

This latest piece of half-art / half-prototype from one of our favorite hacker-artists [vtol] is a billy club equipped with a GSM-module. It automatically sends an SMS to your mother with the text: “Mom, I hit a man.” He calls it the Antenna:

The idea of the project is to create a device which strictly controls the cruelty of police. As all the standard methods of control are ineffective, this project suggests the maternity as the last stronghold of human kindness and responsibility.

An Arduino is equipped with a piezo sensor to detect impact, and a GSM shield takes care of the texting. It’s an interesting concept, similar to requiring police officers to wear body cameras. You can debate the practicality, but we’re always interested in hearing about weapons monitoring tech concepts. One of our favorites has always been the DNA gun from (Judge) Dredd. Did you know there was an Internet Movie Firearms Database? But we digress, check out [vtol’s] demo video:

Speaking of those body cameras — [vtol] also made an 8-bit photo gun not so long ago…

And since Bohemian Rhapsody is now stuck in your head (you’re welcome) here’s that little ditty:


Filed under: Arduino Hacks, weapons hacks
lug
15

Using A TeensyLC To Emulate The XBOX 360 Controller

32-bit, 360, arduino, arduino hacks, ARM, fight stick, Programming, Teensy, teensyduino, teensylc, USB, xbox Commenti disabilitati su Using A TeensyLC To Emulate The XBOX 360 Controller

After the release of Mortal Kombat X, [Zachery’s] gaming group wanted to branch out into the fighter genre. They quickly learned that in order to maximize their experience, they would need a better controller than a standard gamepad. A keyboard wasn’t going to cut it either. They wanted a fight stick. These are large controllers that look very much like arcade fighting controls and include a joystick and large buttons. [Zachery’s] group decided to build their own fight stick for use with a PC.

[Zachery] based his build around the TeensyLC, which is a 32 bit development board with an ARM processor. It’s also compatible with Arduino. The original version of his project setup the controller as a HID, essentially emulating a keyboard. This worked for a while until they ran into compatibility issues with some games. [Zachery] learned that his controller was compatible with DirectInput, which has been deprecated. The new thing is Xinput, and it was going to require more work.

Using Xinput meant that [Zachery] could no longer use the generic Microsoft HID driver. Rather than write his own drivers, he decided to emulate the XBOX 360 controller. When the fight stick is plugged into the computer, it shows up as an XBOX 360 controller and Windows easily installs the pre-built driver. To perform the emulation, [Zachery] first had to set the VID and PID of the device to be identical to the XBOX controller. This is what allows the Microsoft driver to recognize the device.

Next, the device descriptor and configuration descriptor had to be added to the Teensy’s firmware. The device descriptor includes information such as USB version, device class, protocol, etc. The configuration descriptor includes additional information about the device configuration. [Zachery] used Microsoft Message Analyzer to pull the configuration descriptor from a real XBOX 360 controller, then used the same data in his own custom controller.

[Zachery] programmed the TeensyLC using the Arduino IDE. He ran into some trouble here because the IDE did not include the correct device type for an Xinput device. [Zachery] had to edit the boards.txt file and add three lines of code in order to add a new hardware device to the IDE’s menu. Several other files also had to be modified to make sure the compiler knew what an Xinput device type was.  With all of that out of the way, [Zachery] was finally able to write the code for his controller.


Filed under: Arduino Hacks, ARM
lug
14

Digistump Announces Partnership with Particle’s IoT Cloud

arduino, cloud, Digispark, digiStump, Electronics, Eric Kettenburg, ESP8266, kickstarter, oak, Particle, Photon, Rootcloud, Spark Commenti disabilitati su Digistump Announces Partnership with Particle’s IoT Cloud

digistump featured image sizeDigistump has recently announced a partnership with Particle over cloud infrastructure that may well be a signal that the diasporan expansion in microcontroller market may be coming to an end.

Read more on MAKE

The post Digistump Announces Partnership with Particle’s IoT Cloud appeared first on Make: DIY Projects, How-Tos, Electronics, Crafts and Ideas for Makers.

lug
14

Arduino CNC Shield – 100% GRBL Compatable

arduino, CNC, grbl, RaspberryPi, shield Commenti disabilitati su Arduino CNC Shield – 100% GRBL Compatable

arduino-cnc-shield

by protoneer.co.nz:

We have designed the Arduino CNC Shield to use all the pins that GRBL implemented. We have also added a few extra pins to make things a little easier. GRBL is opensource software that runs on an Arduino Uno that takes G-Code commands via Serial and turns the commands into motor signals. Now compatible with Raspberry PI.

Arduino CNC Shield – 100% GRBL Compatable – [Link]

lug
14

HamShield for Arduino (VHF/UHF transceiver)

arduino, ham, radio, shield Commenti disabilitati su HamShield for Arduino (VHF/UHF transceiver)

hamshield

HamShield lets your Arduino talk to far away people and things using amateur radio bands (Coverage: 136-170MHz, 200-260MHz, 400-520MHz)

HamShield lets your Arduino talk to far away people and things using powerful amateur radio bands! Best of all, the hardware and software is open source!

With the power of Arduino, you can use the HamShield to build and invent amazing things in minutes!

HamShield for Arduino (VHF/UHF transceiver) – [Link]

lug
14

Anybody can grab a USB TV tuner card and start monitoring the airwaves, but to get into the real meat of radio you’ll need your amateur radio license. Once you have that, the bandwidth really opens up… if you can afford the equipment. However, [spaceneedle] and friends have dramatically lowered the costs while increasing the possibilities of owning a radio by creating this ham radio shield for the Arduino.

The HamShield, is a versatile shield for any standard Arduino that allows it to function like an off-the-shelf radio would, but with a virtually unlimited number of functions. Anything that could be imagined can be programmed into the Arduino for use over the air, including voice and packet applications. The project’s sandbox already includes things like setting up mesh networks, communicating over APRS, setting up repeaters or beacons, monitoring weather stations, and a whole host of other ham radio applications.

HamShield operates on a wide range of frequencies and only uses a 250 mW amplifier. The power draw is small enough that the HamShield team operated it from a small solar panel, making it ideal for people in remote areas. The project is currently gathering funding and has surpassed their goal on Kickstarter, branding itself appropriately as the swiss army of amateur radio. The transceiver seems to be very robust, meaning that the only thing standing in the way of using this tool is simply writing the Arduino code for whatever project you want to do, whether that’s as a police scanner or even just a frequency counter. And if you want to follow along on hackaday.io, the project can be found here.


Filed under: Arduino Hacks, radio hacks


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.