Tag Archives: Python

Modulo is a modular dev system for Makers

Modulo is a simple, modular solution for Makers looking to build powerful electronic devices.

When it comes to developing DIY projects, we as Makers love modularity. This was true back in the ‘50s when interlocking LEGO bricks, and even earlier, in the sticks-and-spool days of Tinkertoys. With that in mind, it’s no wonder why one Northern California startup has gone ahead and devised a set of swappable modules that will enable users to easily design electronic systems without ever having to assemble a circuit board from scratch.


Each Modulo is equipped with its own little processor (ATtiny841) — aside from the mini color display that is driven by an Atmel | SMART SAM D21 — tasked with handling its operation and communicating with an ATmega32U4 driven Controller board. Using a connector on its back, Makers can easily slide their modules right into the so-called Modulo Base which securely holds them in place — no breadboard, wiring and soldering mess! What’s more, those wishing to use a Spark Core, Photo or Electron instead of the Controller can do so by selecting a Spark Base.

“This vastly simplifies the process of building and programming devices, since you only need to deal with high-level concepts (e.g. get temperature or set motor speed) not I/O pin mappings, wiring, data sheets, and registers,” the Modulo Labs team writes.


The Arduino-compatible Controller boasts six I/O ports that can be used as digital or analog inputs and digital outputs. Four of the six ports can even be used to control servos or output a PWM signal. Additionally, each port has its own power and ground pins to help keep things nice and neat, while circuitry on the board will protect it from any potential wiring mishaps.

As with a number of other DIY dev kits, Modulo is offering a wide range of components for its initial Kickstarter run. Among the initial modules are a color OLED display, a push-button illuminated knob, a motor driver, a thumb joystick, a temperature probe, as well as I/O and extension cables. In other words, all of the necessary resources a Maker would need to get started with their gizmo or gadget. Four modules can be connected to the Base at anytime, however for larger projects, these can easily be daisy chained together.


When used with a Mac, Windows or Linux computer, a Maker will have the ability to manage all of their modules using Python over USB. The ATmega32U4 embedded board can also act as a bridge, enabling users to control their modules from Python running Raspberry Pi. Beyond that, they can choose to use the Arduino IDE to reprogram the controller or connect to the Internet with Spark. Communication between devices is accomplished through the standard I2C bus.

So, what can you make with this development kit? For starters, though its creators highlight a variety of projects ranging from an intelligent water system to keep your grass nice and green to an automated fish feeder for Nemo to a tea-brewing robot for your crumpets, the possibilities are endless.

“Modulo couldn’t exist without the amazing work of the open-source community, and it won’t exist without your generous support. We want to give back, so we plan to make the hardware, software, and firmware all open and available for you to use and modify. We’ll also provide eagle CAD files and firmware that you can use to create Modulos of your own design,” Modulo Labs founder Erin Tomson notes.


Looking for a simple yet powerful modular solution to construct a DIY project? Look no further. Head over to Modulo’s official Kickstarter page, where its team has already well exceeded its $10,000 goal. Shipment is expected to begin in November 2015.

VIPER is a cross-platform Python IoT design suite

VIPER is a smart object development suite that brings cloud and IoT connectivity to your projects with just a click of the mouse.

New York City-based startup ThingsOnInternet has launched a Kickstarter campaign for their new easy-to-use development suite for interactive Internet of Things (IoT) designs. As its name implies, VIPER — or “Viper Is Python Embedded in Real-time” — makes it possible for Makers and embedded designers to create their next connected project in Python for Arduino, UDOO and Spark, all in in real-time. And, unlike other solutions that already exist today, this collection of products is platform-agnostic and compatible with all sensors and kits.


The idea was first conceived after conducting some detailed market analysis, where the company discovered that designers, Makers and programmers all faced a similar set of challenges. In hopes of simplifying how “things” are brought onto the Internet, VIPER converged a series of components to better streamline the process. This included an IDE to manage and program the boards, a Virtual Machine to serve as its operating system, a plug-and-play TOI Shield, an extensive library of ready-to-use functions, and a mobile app to act as the interface for smart objects. On top of that, it’s also cloud-ready. With just a little coding, users can develop a wide-range of IoT applications, ranging from interactive storefronts, to home and industrial automation systems, to art and museum installations, to smart farming.


“Designers aim to create behaviors that can co-exist at the same time and they are often frustrated by ‘anomalous’ and unexpected results on their projects. Makers, who have higher competences, invest a lot of time in understanding how to code multithreaded behaviors, how to manage interrupts in C++, etc. and sometimes their code become really hard to be maintained. Programmers are frustrated by executing ‘boring’ tasks for their customers, one of them is related (again) to multithread, interrupts, callbacks, timers and exceptions,” ThingsOnInternet writes.

Since millions of developers already know Python, VIPER decided to make the programming language readily accessible for commercial interactive products as well, therefore amplifying the potential for smart objects to be as pervasive as mobile devices in their ease of design interactivity. To do this, VIPER provides a browser-based, minimal-installation development environment where users can write code with extensive library support and have it executed on any Arduino-like board. What’s great for designers is that, with VIPER, it leaves them able to focus on the features and functionality, not the tediousness, along with a mobile app to control their creation for free.


“Devices like Arduino, UDOO, ST Nucleo, Spark Core, Photon and the last released Spark Electron are microcontroller boards that revolutionized the world of amateur and semiprofessional electronics. They allowed hundreds of thousands of people around the world to give objects a new life by making them interactive, able to communicate and interact with humans,” the team explains. “Unfortunately, programming them is quite easy for engineers and computer scientists, while most of the users are able to exploit only part of the huge potential of such incredible boards. Here comes the idea of TOI to extend the world of smart and interactive object design to everyone. VIPER allows in a few clicks to convert a common lamp in a smart assistant that reminds us to take the umbrella, turn on the air conditioning while monitoring the house for intrusions.”

In order to use the suite, Makers and developers simply download a one-time package from the company’s website onto either their PC or USB stick. Beyond that, VIPER includes an embedded, portable Python 3.0 engine to help make everything as easy as can be. Users can then launch the VIPER IDE and begin making. All that’s left from there is connecting its accompanying mobile app to serve as the UI for the project.


VIPER runs on an Arduino Due (SAM3X8E), and can even be ported onto the recently-revealed Atmel | SMART Cortex-M7 family. As its creators reveal, code developed on an Arduino Due can also be implemented onto these new MCUs in a matter of two clicks. Furthermore, the suite features an Arduino and Spark Proton-compatible, plug-and-play TOI shield. Simply attach either a Due or Photon to the shield and start playing with any of the VIPER examples found in its library. (This collection of modules includes CC3000 Wi-Fi for Spark Core and Adafruit Shield, Adafruit/Sparkfun Thermal Printer, Adafruit NeoPixel LED, RTTTL smart melody player, Streams library, as well as TCP and UDP network protocols.) Aux ports are even included, enabling the use of other sensors like Grove, ThinkerKit, Phidgets, and Adafruit NeoPixel LED strips.

Through its IDE, users can ‘viperize’ theirs boards by installing them using the VIPER Virtual Machine. Once completed, a board is no longer a simple Arduino Due, Spark Photon or UDOO; instead, it has a multi-threaded, real-time operating system running on it, and a virtual machine ready to execute compiled Python 3 scripts. Ready to design your next smart project? You can head over to its official website, or check out the team’s recent successfully-funded Kickstarter campaign here.

AllPixel is like a video card for LED strips

AllPixel is an open-source board measuring just 2.7″ x 0.9” that provides easy USB control of all major programmable LED strips.

Designed by the team at Maniacal Labs, AllPixel — which recently made its Kickstarter debut — is a USB interface capable of controlling up to 680 pixels on any popular LED strip equipped with a USB port.


The AllPixel is a small, open-source board measuring just 2.7″ x 0.9” that provides easy USB control of all major programmable LED strips. It is compatible with Linux, Mac and Windows platforms, and can run on any device that supports Python, including Raspberry Pi, BeagleBone Black, or pretty much any desktop/laptop.

“Working with addressable LED strips, we’ve found that the extra components required to communicate with and power them complicate designs and limit the options for how they can be used. Each chipset requires its own special protocol and supporting hardware components. This is where the AllPixel comes in. Think of it as a video card for your LED strips,” its team writes.

At its core, the AllPixel isn’t much different from other boards like the Arduino Leonardo, Arduino Pro Micro, or even Teensy 2. That’s because at the heart of the open-source device is an ATmega32U4, which as its creators note, “allowed them to provide such amazing frame rates, since it is capable of full 12Mbps throughput on the USB Serial connection.

“It [the ATmega32U4] also provides 2.5KB of SRAM, 2K of which is used to buffer the pixel data. Not needing to waste SRAM on the serial buffer was also a huge advantage of using this chip over the venerable FTDI and something without built-in USB support.”


To achieve the speeds they desired, Maniacal Labs turned to Teensy Arduino cores and modded their own variant core. These newly-devised core libraries enabled them to run full USB speed on anything with an ATmega32U4, including their original Arduino Pro Micro mockup.

The AllPixel comes with an assortment of optional user-installed parts to allow for a variety of hook-up configurations, ranging from a 2.1mm DC barrel jack and a 4-pin 0.1” male header to a 1000uF capacitor and 1N5817 Schottky diode. With the 2.1mm barrel jack, an external power supply can be connected to provide up to 5 Amps to the attached LEDs. According to the team, AllPixel can even be configured to power LEDs directly from USB power for short runs.

In order to join and power multiple connected strips, the crew at Maniacal Labs developed the PowerTap, a small board with input and output terminal blocks and a 2.1mm DC barrel jack. They are offering this small board un-assembled, thereby allowing Makers to configure it as they see fit.


“We’ve been working for over a year on a Python animation library called BiblioPixel. Where the AllPixel takes the pain out of the hardware interface to your LED strips, BiblioPixel takes the pain out of controlling your LEDs and programming your animations,” a company rep shares.

Additionally, its companion FastLED library serves as the “universal translator” of the entire operation, which as the team points out, not only knows how to talk to all the different LED strips but is super fast doing it.

Looking for a USB interface for all of your holiday LED needs? You may want to check out its official Kickstarter page here. Originally seeking $5,000, the team well exceeded its goal in a matter of just 48 hours.

An AVR-based public transport display

When it is reliable, public transportation is almost certainly the way to go, especially for those who are environmentally conscious. 

Take Adrian and Obelix, for example. These two university students recently hacked an LED dot matrix display to show arrival times for stops near their dorm.

The duo found the display for the project, albeit with a defective controller, on eBay. However, Adrian and Obelix quickly swapped out the controller for a trusty AVR-based ATmega328P microcontroller (MCU) and TP-Link MR3020.

“The ATmega328P does all the hard work pushing every line into the registers of the display and multiplexing, [while] the MR3020 takes care of network communication where it’s wireless interface comes in handy, because you only need to provide power to the display,” the two explained in a detailed blog post.

“For now, a PC takes care of collecting all information and rendering an image, but this will eventually be done by the MR3020 in the future. For now, it’s more practical to do the rendering on a PC with Python, where later on a C-program would do all the work on the MR3020.”

It should probably be noted that the above-mentioned display actually comprises two separate displays – each with a resolution of 128*16 pixels. Indeed, each line is connected to a binary decoder.

“Both displays have a common line select, clock pin, enable and latch, but separate data pins and data output pins, so we connected the first dataout to the second and get a virtual 256*16 pixel display,” the two added.

Interested in learning more? You can check out HackADay’s write up here and the project’s official page here.

Is Leap Sheep the new Flappy Bird?

There have been quite a number of hardware crossovers in the gaming world as of late, with the physical incarnation of Fawn Qiu’s Flappy Bird taking the Maker world by storm.

As CNET’s Amanda Kooser reports, the Arduino-powered Flappy Bird in a box uses a scrolling background with two controls to move the bird up and down to avoid obstacles. One wrong move and the box lid closes, playing a “game over” sound.

“I think creating a physical game makes the playing experience more approachable. It’s no longer just one player and the phone, but people around you are also aware of the game, which invites collaboration and curiosity,” Fawn told CNET. “Each win and loss is more dramatic, surprising and exciting.”

Recently, a Maker by the name of Tom Randle created a small robot to play Leap Sheep for him on the iPad. While not a full hardware crossover, the Leap Sheep ‘bot has nevertheless garnered considerable attention, with a write up of the project authored by Kevin C. Tofel prominently featured on Gigagom.

According to Tofel, Randle uses an Atmel-based Arduino Uno board (ATmega328) to power the brains of his game-playing robot, which has solenoids and capacitive styli in place of finders.

“A light sensor checks screen brightness and since the sheep are white, they’re relatively easy for the robot to spot,” writes Tofel. “The robot runs on JavaScript, with earlier versions [coded] in Python.”

Randle says his creation isn’t perfect yet, as the original aim was to build a robot that was better at playing the game than a human.

“At the moment, it’s not quite there. The longest I’ve had it running continuously so far is about 5 minutes: 110 sheep,” he explains. “Occasionally it just misses a very fast or slow sheep, and because the solenoids are fixed there’s no way for it to recover. I’m sure with a bit more tweaking I can get it to do much better, but I may have to add a second row of LDRs to more accurately measure the speed of each sheep.”

Interested in learning more? You can check out the Leap Sheep cheating machine on the project’s official page here.

Video: Confectionery cannon fires…

A team of engineers at Olin College in Needham (Massachusetts) have created an Arduino-powered “confectionery canon” designed to track targets before launching a… marshmallow!

“To control our mechanical and pneumatic system we developed a robust electrical system,” the engineering team explained on the project’s official page.

“We use a custom protoshield on our [Atmel-based] Arduino to connect and control our four servos – and we trigger our pneumatic launcher by controlling a solenoid on a sprinkler valve.”

Face tracking technology for target acquisition? OpenCV for Python and motor actuation via serial communication between Python and Arduino.

The total cost? $250, with the entire platform designed using SolidWorks and tools offered at the school, including laser-cutting technology to construct specific pieces of the platform.

“Most of the parts are acrylic, which we chose primarily for its cost and ease of laser-cutting,” the team added. “Acrylic isn’t very strong and is quite brittle, but it’s less than a third the cost of acetyl (Delrin). The three aluminium parts were made from shop scrap.”

The confectionery cannon was designed by Forrest Bourke (’16, ECE), Saarth Mehrotra (’16, ECE), Michael Searing (’16, MechE) and Elliot Wyse (’15, MechE).

Interested in learning more about the confectionery cannon? You can check out the project’s official page here and additional coverage on Boston Magazine here.

3D printing in combat zones

As we’ve previously discussed on Bits & Pieces, the DIY Maker Movement has used Atmel-powered 3D printers like MakerBot and RepRap for some time now, but it is quite clear that 3D printing recently entered a new and important stage in a number of spaces including the medical sphere, architectural arena, science lab and even on the battlefield.


Photo Credit: US Army

Yes, the US Army Research Laboratory (ARL) and Purdue University are currently examining the possibility of deploying 3D printers in combat zones which would be tasked with instantly fixing or replacing damaged equipment (including aircraft and ground vehicles), all while significantly cutting down on logistical costs.

According to Ed Habtour, a research engineer with ARL’s Vehicle Technology Directorate at Aberdeen Proving Ground, scientists have found that combining the general purpose, finite-element analysis software ABAQUS with Python helps improves energy absorption and dissipation, productivity and lower maintenance costs.

“The combination of ABAQUS and Python provides an automated process for auto-generation of the geometries, models, materials assignments and code execution,” Habtour explained. “The soldier can print [3D] structures in the field using additive manufacturing by simply downloading the model generated by the designer/vendor.”

Habtour also noted that new structures created from this process are designed to be adaptive and configurable to the harsh conditions like random and harmonic vibrations, thermal loads, repetitive shocks due to road bumps, crash and acoustic attenuation. Plus, the structures can be configured to prevent crack propagation.

“Sometime in the near future, soldiers would be able to fabricate and repair these segmented structures very easily in the front lines or Forward Operating Bases (FOBs), so instead of moving damaged ground or air vehicles to a main base camp for repair, an in-field repair approach would essentially mean vehicles would be fixed and accessible to warfighters much faster at lower costs,” he addedr. “We want to change the conventional thinking by taking advantage of exciting materials and manipulating the structure based on the principle of segmentation and assembly.”

Tron cosplay with an Arduino

Swap_File has created a slick Tron suit costume that wouldn’t be out of place at Flynn’s, The Grid or the End of Line Club.

According to Swap_File, the motorcycle helmet is equipped with a 20×4 RGB backlight negative screen, along with a serial backpack from a 16×2 and a microphone. And the disc? Made of black and frosted laser-cut acrylic.

“Neodymium magnets hold it to the holster on my back, which is bolted through my leather jacket and through a backpack. I left the bottom two magnets out of the holster to aid in removal,” Swap_File explained in an Adafruit forum post. “The disc contains an [Atmel-powered] Arduino Nano, Wixel, ADXL345 accelerometer, TCS230 color sensor, 1450mAh 3S Turnigy LiPo, 16 outward facing LPD8806 RGB LEDs and a 5v switching regulator.”

Meanwhile, the Tron jacket boasts 80 LPD8806 LEDs mounted onto checkout store pricing strip – all sticking to the leather with 3M 969 adhesive transfer tape. Audio from the helmet runs through two op amps and a msgeq7, with the analog sections operating on their own 3.3v regulator to reduce noise.

User input? Via the Disc, another Wixel and Wireless Wii Nunchuk. As an added bonus, the jacket can be neatly paired with a smarphone via a JY-MCU-HC-06 Bluetooth Radio.

“A Python script on my phone allows incoming text messages to change the helmet display and my colors. It also replies with a status message with basic statistics,” said Swap_File. “Stats are saved to EEPROM once a minute, snapshotted to RAM and written to EEPROM.”

And last, but certainly not least, the suit itself boasts 6 motion based effect modes, two EQ based effect modes and a fully on mode, with 8 output modes and 7 levels of max brightness supported by the open source cosplay.

Pretty cool, eh? You can read more about Swap_File’s open source Tron cosplay here with code, schematic and DXF files available here.

Atmel’s ATmega32u4 drives this mOwayduino robot

The mini mOwayDuino robot – powered by an Arduino Leonardo (ATmega32u4) board – is equipped with a wide range of sensors, including anti-collision, directional light intensity and opto-reflective infrared.

The little robot is also fitted with an RGB LED indicator, frontal LED, red rear LEDs, three-axis accelerometer, microphone, radio frequency module, a two-hour LiPo rechargeable battery and an SPI expansion kit.

In addition, the mOwayduino crew has designed a number of hardware add-ons, including a WiFi module that allows users to control the ‘bot via a mobile device or link with social network sites and email servers. Meanwhile, an optional camera streams real-time images to a PC, helping the mOwayduino learn how to recognize shapes or colors and respond to visual codes.


On the software side, the mOwayDuino robot can be programmed via Arduino’s IDE (Integrated Development Environment), as well as Java, Python and Scratch.

According to TechCrunch, the Indiegogo campaign to fund production of the ‘bot will kick off in less than two weeks.

“If we succeed, in three months, it will be on market. For people supporting the Indiegogo project, mOwayduino will be available at a special price,” a company rep told the publication. “If we exceed the money we need for the production, we will develop a graphical programming app for tablets.”

This modular Linkbot has an Atmel MCU under the hood

The Linkbot – designed by the Barobo crew – is a modular robot platform powered by Atmel’s ATmega128RFA1 (running at 16MHz) that boasts 100oz-in (7.2 Kg-cm) of torque and a free-run speed of 300 deg/sec.

“[The ‘bot] integrates an 8-bit AVR microcontroller (MCU) with an 802.15.4-compliant and ZigBee-capable radio transceiver operating in the 2.4GHz band,” the Linkbot crew explained in a recent Kickstarter post. “Out of the box, it communicates at 250kbps over the air, but with custom firmware you can enable speeds of up to 2Mbps for an 8X increase in throughput.”

So what sets the Linkbot apart from other robotic platforms? Well, for one, it is a fully functional individual ‘bot that can be switched on and used right out of the box. Perhaps most importantly, the Linkbot offers an almost unlimited capability to expand, as it is equipped with three mounting surfaces to attach additional modules or accessories which can be designed and manufactured on a 3D printer.

Indeed, SnapConnectors can be used to easily snap-on accessories such as wheels, a gripper, a camera mount and more. And yes, there is also a #6-32 bolt pattern on each mounting surface, allowing Makers and modders to attach virtually anything to the Linkbot.

Additional key hardware specs? A multi-color (RGB) LED, three -axis accelerometer, buzzer, RJ11 (6P4C) expansion connector, 3x buttons, micro-USB connector, rechargeable lithium-ion battery, high torque weight ratio motors and a polycarbonate shell.

On the software side, the Linkbot offers absolute encoding for precise control of the ‘bot, along with a graphical interface (BaroboLink) that allows Makers and modders to run programs, actuate motors and read sensors on a PC. Essentially, BaroboLink converts PoseTeaching into Python and C/C++ code.

“The Linkbot communications protocol has been implemented as a cross-platform C library which includes functions to connect, move, and get data from robots. The library is able to communicate with any module over USB,” the Linkbot crew noted.

“Linkbot can also be used as a dongle to wirelessly communicate with other modules. The C library is compatible with SWIG, which may be used to generate wrapper libraries in a variety of different languages, including Java, C#, and Python.”

There are also a number of “built in” modes for the ‘bot, such as BumpConnect which allows Linkbots to connect to each other wirelessly without having to connect to a PC, along with TiltDrive which converts one Linkbot into a remote control.

CopyCat allows users to control a single Linkbot by rotating the hubs of another, while PoseTeach makes it possible for Makers to program complex robot motions with their hands instead of using a keyboard.

Linkbot has thus far raised $13,532 of a $40,000 goal with 20 days to go. Additional information can be found here on the official Kickstarter page.