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.

Building a hard drive scratch controller

hard-disk-scratch-controller

If you’re reading this blog then chances are you have a dead hard drive hanging out somewhere in your house. Here’s a weekend project that will put it back into use. [Andreas] took on the popular project which combines a hard drive and optical mouse to build a scratch controller.

The gist of the build is that you use an optical mouse sensor to track the movement of the platter. But [Andreas] made things harder on himself by not using the USB capability of the mouse and mapping it in software for his needs. Instead he plucked the sensor from the mouse, reading it using an Arduino. After much trial and error with the best way to coat the underside of the platter to play nicely with the sensor he managed to get it up and running. The controller issues commands using the MIDI protocol, forming a strong foundation for future upgrades which could lead to a full-blown DJ console hack.

Continue reading “Building a hard drive scratch controller”

Reading Sensors with Scratch

Scratch, a graphical programming language developed by MIT’s Media Lab, is an excellent tool for teaching programming. [Daniel] created an Arduino Sensor Shield to interface with Scratch, allowing for real-world input to the language.

This board is a derivative of the Picoboard, which is designed for use with Scratch. Fortunately, the communication protocol was well documented, and [Daniel] used the same protocol to talk to the graphical programming environment. The shield includes resistance sensing, a light sensor, a sound sensor, and a sliding potentiometer.

The main goal was to create a board that could easily be built by DIY etching. This meant a one sided board with as few jumpers as possible. The final design, which can be downloaded and etched at home, is single sided and uses only one jumper. Detailed steps on testing the board are provided, which is very helpful for anyone trying to build their own.

This board is perfect for educational purposes, and thanks to [Daniel]’s optimizations, it can be built and tested at at home.