Posts | Comments

Planet Arduino

Archive for the ‘Programming’ Category

Embedded programming using the Arduino IDE has become an important part of STEM education, and while more accessible than ever before, getting started still requires some coding and basic electronics skills. To explore a different paradigm for starting out on this journey, researchers have developed Flowboard to facilitate visual flow-based programming.

This device consists of an iPad Pro and a set of breadboards on either side. Users can arrange electrical components on these breadboards, changing the flow-based program on the screen as needed to perform the desired actions. Custom ‘switchboard’ hardware, along with an Arduino Uno running a modified version of Firmata, communicate with the iPad editor via Bluetooth.

With maker-friendly environments like the Arduino IDE, embedded programming has become an important part of STEM education. But learning embedded programming is still hard, requiring both coding and basic electronics skills. To understand if a different programming paradigm can help, we developed Flowboard, which uses Flow-Based Programming (FBP) rather than the usual imperative programming paradigm. Instead of command sequences, learners assemble processing nodes into a graph through which signals and data flow. Flowboard consists of a visual flow-based editor on an iPad, a hardware frame integrating the iPad, an Arduino board and two breadboards next to the iPad, letting learners connect their visual graphs seamlessly to the input and output electronics. Graph edits take effect immediately, making Flowboard a live coding environment.

Want to learn more? Check out the team’s research paper here

Machine learning is starting to come online in all kinds of arenas lately, and the trend is likely to continue for the forseeable future. What was once only available for operators of supercomputers has found use among anyone with a reasonably powerful desktop computer. The downsizing isn’t stopping there, though, as Microsoft is pushing development of machine learning for embedded systems now.

The Embedded Learning Library (ELL) is a set of tools for allowing Arduinos, Raspberry Pis, and the like to take advantage of machine learning algorithms despite their small size and reduced capability. Microsoft intended this library to be useful for anyone, and has examples available for things like computer vision, audio keyword recognition, and a small handful of other implementations. The library should be expandable to any application where machine learning would be beneficial for a small embedded system, though, so it’s not limited to these example applications.

There is one small speed bump to running a machine learning algorithm on your Raspberry Pi, though. The high processor load tends to cause small SoCs to overheat. But adding a heatsink and fan is something we’ve certainly seen before. Don’t let your lack of a supercomputer keep you from exploring machine learning if you see a benefit to it, and if you need more power than just one Raspberry Pi you can always build a cluster to get your task done just a little bit faster, too.

Thanks to [Baldpower] for the tip!

petduino1The Tamagotchi is a thing of the past. Bring your virtual pet into the 21st century with LEDs and an Arduino-compatible processor.

Read more on MAKE

The post Petduino Is the DIY Tamagotchi You Can Hack appeared first on Make: DIY Projects, How-Tos, Electronics, Crafts and Ideas for Makers.

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
03

Arduinos (and other AVRs) Write To Own Flash

arduino, arduino hacks, AVR, bootloader, flash memory, optiboot, Programming Commenti disabilitati su Arduinos (and other AVRs) Write To Own Flash 

In this post on the Arduino.cc forums and this blog post, [Majek] announced that he had fooled the AVR microcontroller inside and Arduino into writing user data into its own flash memory during runtime. Wow!

[Majek] has pulled off a very neat hack here. Normally, an AVR microcontroller can’t write to its own flash memory except when it’s in bootloader mode, and you’re stuck using EEPROM when you want to save non-volatile data. But EEPROM is scarce, relative to flash.

Now, under normal circumstances, writing into the flash program memory can get you into trouble. Indeed, the AVR has protections to prevent code that’s not hosted in the bootloader memory block from writing to flash. But of course, the bootloader has to be able to program the chip, so there’s got to be a way in.

The trick is that [Majek] has carefully modified the Arduino’s Optiboot bootloader so that it exposes a flash-write (SPM) command at a known location, so that he can then use this function from outside the bootloader. The AVR doesn’t prevent the SPM from proceeding, because it’s being called from within the bootloader memory, and all is well.

The modified version of the Optiboot bootloader is available on [Majek]’s Github.  If you want to see how he did it, here are the diffs. A particularly nice touch is that this is all wrapped up in easy-to-write code with a working demo. So next time you’ve filled up the EEPROM, you can reach for this hack and log your data into flash program memory.

Thanks [Koepel] for the tip!


Filed under: Arduino Hacks
Mar
07

Embrio: A visual programming environment for Arduino

arduino, Embrio, Programming Commenti disabilitati su Embrio: A visual programming environment for Arduino 

embrio-screenshot-1-600x278Embrio

Embrio, create Arduino programs without writing code:

Easy To Use -Make programs by adding and connecting nodes. No coding necessary!

Real Time Connection -Work with a live connection to your Arduino, see how your program works as you build it!

Powerful -While easy to use, Embrio is a powerful development tool that you won’t outgrow as your skills develop.

Embrio: A visual programming environment for Arduino - [Link]

Gen
29

Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets

arduino, Bluetooth LE, Programming, Software Commenti disabilitati su Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets 

win_bean_loader_1

SAN FRANCISCO and MINNEAPOLIS, January 26, 2015 — Punch Through Design, a hardware and software development firm that brings Bluetooth Low Energy hacking to the masses, has released the Windows Bean Loader, the first-ever wireless Arduino programming app for Windows users. Using the loader app, Windows-based developers and hobbyists can easily upload code to their LightBlue Bean and experience the power of Bluetooth Low Energy, without cables or a physical connection to the LightBlue Bean.

“The LightBlue Bean represents a new method of wirelessly interacting with prototypes and projects; says Colin Karpfinger, founder and CEO, Punch Through Design. Previously, only Mac OS X and iOS users could program their Beans, and now we are extending that functionality to Windows users.

The full-featured app, available from the Windows Store, fills a void for Windows-based developers and DIYers looking to create smartphone-controlled devices.

Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets - [Link]

Apr
17

Arduino AVR Progamming Shield

arduino, AVR, Programming, shield Commenti disabilitati su Arduino AVR Progamming Shield 

FLKLUX6HTK2J358.MEDIUM

Do you need a quick and easy way to program AVR chips. Did you know you can use your Arduino and the Arduino IDE? This Arduino shield makes the process much easier.

Arduino AVR Progamming Shield - [Link]

Apr
16

How to make your own Primo prototype using digital fabrication and Arduino boards

arduino, ArduinoAtHeart, Kids, Programming Commenti disabilitati su How to make your own Primo prototype using digital fabrication and Arduino boards 

primo doc

Primo‘s team sent us exciting news from their HQ about their contribution to the open source community. After the successful Kickstarter campaign to launch the wooden play-set that uses shapes, colours and spacial awareness to teach programming logic through a tactile, warm and magical learning experience, they took a step further. They released all the documentation and the instructions to produce a Primo prototype,  different from the product that they make and sell.

We just finished the first edition of the Primo play-set open documentation, that includes the design files that we used to make our first prototype and a step-by-step guide to make your own version of the Primo play set. This “maker” version of our product can be assembled using rapid prototyping techniques and common tools like Arduino boards.

We recently published a preview of this documentation just for our Kickstarter backers, who already started to build their projects and to translate the document in their language. The FabLab in São Paulo for example already translated it in Brasilian Portuguese, while other languages like Dutch, Italian and Japanese are now in progress.

The whole documentation is completely transparent: it’s written in Markdown using Jekyll and GitHub pages. In this way it is very easy for creators to modify, translate and use it as a starting point for their projects.

In parallel we are developing an industrial version of our product, using manufacture-quality materials and custom Arduino-compatible electronic boards.

 

Primo

And if you want to read about the experience of a dad making a DIY version in 1 month and a half of work, follow this link.

Primo is an Arduino At Heart partner. If you have a great project based on Arduino and want to join the program, read the details and then get in touch with us.

Dic
18

Primo and playful programming: last 3 days on Kickstarter!

arduino, ArduinoAtHeart, education, game, Kids, Programming Commenti disabilitati su Primo and playful programming: last 3 days on Kickstarter! 

Primo_Workshop

Here’s the latest updates from Primo’s team on their successful Kickstarter campaign. You have only 3 days left to pre-order your copy!

————–

27 days on from our Kickstarter campaign for Primo, in collaboration with the Arduino at Heart program, we are pleased to announce that we have reached both our first funding goal at £ 35,000 and our first stretch goal at £ 40,000. This means that our little robot will evolve to allow makers to add sensors and actuators, amplifying greatly the Primo experience.

During this period we also successfully held our first workshop with children, which saw the Primo Play Set being operated in what in the future we hope will be a classroom in every school.

We are looking at a final stretch to reach our final stretch goal, which is to craft a 3 month school program in multiple languages, that can facilitate the adoption of Primo in schools all over the world. We are now offering Maker Workshops as a reward, where the Primo team will travel to your neighbourhood, workshop or school and teach you how to build more Primo’s, use them and hack them, so as to get you started with your own R&D with the Primo Play Set.

Primo.io Team



  • 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.

  • Like Us on Facebook