Friday Hack Chat: Graphical Programming Languages with Boian Mitov

There is a long history of Visual or Graphical Programming Languages, and most of them make more sense than the name of Microsoft’s Visual Basic, C#, and Visual Studio IDE. Some people don’t like to code, and for them, graphical programming languages replace semicolons and brackets with easy-to-understand boxes and wires.

This Friday, we’re going to be talking about graphical programming languages with [Boian Mitov]. He’s a software developer, founder of Mitov Software, and the creator of Visuino, a graphical programming language for the embedded domain. Everything from the Arduino to Teensy, ESP8266, ESP32, the chipKIT, and Maple Mini are supported with this IDE. It’s a simple drag-and-drop way of programming microcontrollers that Scratches an itch (see what I did there?) for an easy way to introduce non-programmers to the embedded world and also provides a faster way to build custom applications.

When it comes to graphical programming languages, we can’t find a better Hack Chat guest than [Boian]. He’s the author of the OpenWire dataflow processing technology — another graphical programming language –, the IGDI+ library, VideoLab, SignalLab, AudioLab, PlotLab, InstrumentLab, and author of VCL for Visual C++. He’s a regular contributor to Blaise Pascal Magazine, too.

During this Hack Chat, we’ll be discussing what makes Visual Programming worth it, how and why it works, when it doesn’t and how to develop a graphical programming language. Visuino will be of special interest, And I’m sure someone will work in a, ‘what’s happening with Max/MSP under Ableton’ question. If you have a question for [Boian], here’s a question sheet to guide the discussion.

Here’s How To Take Part:

join-hack-chatOur Hack Chats are live community events on the Hack Chat group messaging. This Hack Chat will take place at noon Pacific time on Friday, August 11th. Here’s a time and date converter!

Log into, visit that page, and look for the ‘Join this Project’ Button. Once you’re part of the project, the button will change to ‘Team Messaging’, which takes you directly to the Hack Chat.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talk

Rita’s Dolls Probably Live Better Than You Do

If it wasn’t for the weird Dutch-Norwegian techno you’d presumably have to listen to forever, [Gianni B.]’s doll house for his daughter, [Rita] makes living in a Barbie World seem like a worthwhile endeavor. True to modern form, it’s got LED lighting. It’s got IoT. It’s got an app and an elevator. It even has a tiny, working, miniature television.

It all started with a Christmas wish. [Rita] could no longer stand to bear the thought of her Barbie dolls living a homeless lifestyle on her floor, begging passing toys for enough monopoly money to buy a sock to sleep under. However, when [Gianni] visited the usual suspects to purchase a dollhouse he found them disappointing and expensive.

So, going with the traditional collaborating-with-Santa ruse, he and his family had the pleasure of collaborating on a dollhouse development project. Each room is lit by four ultra bright LEDs. There is an elevator that’s controlled by an H-bridge module, modified to have electronic braking. [Rita] doesn’t own a Dr. Barbie yet, so safety is paramount.

The brain of the home automation is a PIC micro with a Bluetooth module. He wrote some code for it, available here. He also went an extra step and used MIT’s scratch to make an app interface for the dollhouse. You can see it work in the video after the break. The last little hack was the TV. An old arduino, an SD Card shield, and a tiny 2.4 inch TFT combine to make what’s essentially a tiny digital picture frame.

His daughter’s are overjoyed with the elevation of their doll’s economic class and a proud father even got to show it off at a Maker Faire. Very nice!

Continue reading “Rita’s Dolls Probably Live Better Than You Do”

Scratching Vinyl Straddles Physical and Digital Realms

The life of a modern DJ is hard. [Gergely] loves his apps, but the MIDI controller that works with the app feels wrong when he’s scratching, and the best physical interfaces for scratching only work with their dedicated machines. [Gergely]’s blog documents his adventures in building an interface to drive his iPad apps from a physical turntable. But be warned, there’s a lot here and your best bet is to start at the beginning of the blog (scroll down) and work your way up. Or just let us guide you through it.

In one of his earliest posts he lays out his ideal solution: a black box that interprets time-code vinyl records and emulates the MIDI output of the sub-par MIDI controller. Sounds easy, right? [Gergely] gets the MIDI side working fairly early on, because it’s comparatively simple to sniff USB traffic and emulate it. So now he’s got control over the MIDI-driven app, and the hard part of interfacing with the real world began.

After experimenting a lot with timecode vinyl, [Gergely] gives up on that and looks for an easier alternative. He also considers using an optical mouse, but that turns out to be a dead-end as well. Finally, [Gergely] settled on using a Tascam TT-M1, which is basically an optical encoder that sits on top of the record, and that makes the microcontroller’s job a lot easier. You can see the result in the video below the break.

And then in a surprise ending worthy of M. Night (“I see dead people”) Shyamalan  he pulls timecode vinyl out of the grave, builds up a small hardware translator, and gets his original plan working. But we have the feeling that he’s not done yet: he also made a 3D printed optical-mouse holder.

Continue reading “Scratching Vinyl Straddles Physical and Digital Realms”

Scratch Your Itch for 3D Modeling with BeetleBlocks

If you want to create a 3D model, you’ll probably either use a graphical CAD tool or a programming-based tool (like OpenSCAD). Although BeetleBlocks is graphical, it is more akin to OpenSCAD than a graphical CAD program. That’s because BeetleBlocks is–more or less–Scratch for 3D modeling.

Scratch is the graphical block-structured language developed by MIT for teaching kids to program. You may have seen Lego robots programmed with similar blocks as well as Android App Inventor. In this incarnation, the blocks control a virtual robot (the beetle) that can extrude a tube behind it as it moves. The beetle is reminiscent of the Logo turtle except the beetle moves in three dimensions. The system is actually closer to Snap, which is a reimplementation of Scratch that allows custom blocks.

Continue reading “Scratch Your Itch for 3D Modeling with BeetleBlocks”

Latest Raspberry Pi Images have Improved Scratch

Not everyone likes Scratch — the block-oriented programming language that MIT developed to help kids program. While dyed-in-the-wool programmers probably find it limiting, it can be an effective way to teach basic programming to newcomers and there are some people who enjoy the graphical style of programming.

The latest Raspbian release (the operating system image for Raspberry Pi) has a new and improved version of Scratch for those who want to use it on the Pi. According to the Raspberry Pi blog, the new version is up to ten times faster than previous versions and also includes an improved method for Scratch programs to access the board’s general purpose I/O and other I/O devices.

Continue reading “Latest Raspberry Pi Images have Improved Scratch”

BlocksCAD is Browser-Based 3D Modeling that Teaches You CAD

Considering all of the projects the Raspberry Pi is used for now, the fact that it was originally envisioned to be an educational tool is sometimes forgotten. One of the tools commonly available with it is Scratch, a programming language that is easy to learn and can be seen as a gateway into other computer science realms. Building on this principle, MIT has come up with a new block-based educational tool called BlocksCAD.

BlocksCAD is essentially Scratch combined with OpenSCAD and allows the user to use blocks (similar to Scratch) to build a 3D model. The interface is fairly intuitive, and with some practice even complex shapes can be created using the tools available. Also, everything runs in a browser like the 3D modeling tool we featured a few days ago, so there isn’t anything to download or install.

The key to this project (like the key to Scratch) is that the user isn’t bogged down by syntax, which is often one of the largest hurdles for anyone who is just starting to learn to program. Since it’s possible to avoid syntax but still develop 3D models, this new tool should help anyone interested in the field of 3D modeling or CAD get a start without getting scared away too easily. Of course, if you do end up deep in the field of computer science and want to learn more about this project, the developers have opened up the source code as well.

Thanks for the tip, [Matt]!

Introducing Mirobot, a DIY WiFi Robot for Children

We’re quite sure that fathers parents people reading Hackaday wonder how to introduce their children acquaintances to the wonderful world of electronics. The Mirobot (Kickstarter link) might just be a good way to do so. As you may see in the picture above the Mirobot is a small WiFirobotics kit that children can build themselves to learn about technology, engineering and programming.

The laser cut chassis is assembled by snapping it together. All the electronics are left exposed to the outside so children may try to figure out which component does what. The robot is configured over your home WiFi via a Scratch-like visual programming tool. Everything (PCB, Arduino code, user interface) is open source.

The platform is based around the Arduino compatible ATMega328, two stepper motors, a Wifi module that can behave as a client or access point and 5 AA batteries. The campaign stretch goals include a collision detection sensor, line following functionality and finally a sound add-on.

Thanks [nickjohnson] for the tip.