Python PIC Useful When Attached To A Computer

[Richard] sent in a link to the Python controlled microcontroller he’s been working on. Unlike the previous portable Python boards we’ve seen, [Richard] thinks his pyMCU isn’t best used autonomously. This board is meant to be used only when connected to a computer and to serve as a bridge between the digital world of computers and our analog world.

We’ve seen boards running lightweight Python interpreters, but we’re fairly intrigued by the idea of this board only being useful when plugged into a computer. The on-board PIC 16F chip has enough digital, analog and PWM pins to just about any task imaginable, and there’s also a 16-pin LCD display header if you’d like some output with your microcontrollers.

[Richard] says he’s been working with PICs for longer than the Arduino is around, but depending on the level of interest he’ll consider developing an Arduino version of the pyMCU. All we know is that the pyMCU would be awesome to teach electronics and programming to the younglings, and we could certainly find a few more uses for the board when they’re done with it.

Finally, LaTeX In HTML Files

Writing a paper in LaTeX will always result in beautiful output, but if you’d like to put that document up on the web you’re limited to two reasonable options: serve the document as a .PDF (with the horrors involves, although Chrome makes things much more palatable), or relying on third-party browser plugins like TeX The World. Now that [Todd Lehman] has finally cooked up a perl script to embed LaTeX in HTML documents, there’s no reason to type e^i*pi + 1 = 0 anymore.

For those not in the know, LaTeX is a document typesetting language that produces beautiful output, usually in PDF form. Unfortunately, when [Tim Berners-Lee] was inventing HTML, he decided to roll his own markup language instead of simply stealing it from [Don Knuth]. Since then, LaTeX aficionados have had to make do with putting TeX snippets into web pages as images or relying on the [; \LaTeX ;] generated from the TeX The World browser extension.

[Todd Lehman]’s perl script generates the PDF of his LaTeX file and pulls out all the weird font and math symbols into PNG files. These PNG files are carefully embedded into the HTML file generated from the normal text pulled from the LaTeX file. It’s a ton of work to get these document systems working correctly, but at least there’s a reasonable way to put good-looking LaTeX on the web now.

Monitoring Software Builds With A Traffic Light

[JD] at isotope11 was looking for a way to get instant feedback whenever a developer broke a piece of software they were working on. After finding a 48 inch tall traffic light, he knew what he had to do. Now, the entire development team knows the status of their code from a traffic light hanging in the corner.

isotope11 runs a continuous integration server to do the quality assurance on their software projects. It’s a lot more flexible than the ‘compile and pray’ setup we’re used to, but then again C isn’t very well suited to test-driven development. When one of [JD]’s developers breaks a piece of code, the CI server will send a warning to an Arduino where all the electronic magic happens.

To light the traffic light, [JD] used a few relays to drive the 120 volt bulbs in the traffic light. The traffic light is very easy to read – red means something is broken, green means everything is alright, and yellow means a test suite is being run.

Check out the video of [JD]’s TDD visualization after the break.

Continue reading “Monitoring Software Builds With A Traffic Light”

Build Your Own Self-driving Car

If you’ve ever wanted your own self-driving car, this is your chance. [Sebastian Thrun], co-lecturer (along with the great [Peter Norvig]) of the Stanford AI class is opening up a new class that will teach everyone who enrolls how to program a self-driving car in seven weeks.

The robotic car class is being taught alongside a CS 101 “intro to programming” course. If you don’t know the difference between an interpreter and a compiler, this is the class for you. You’ll learn how to make a search engine from scratch in seven weeks. The “Building a Search Engine” class is taught by [Thrun] and [David Evans], a professor from the University of Virginia. The driverless car course is taught solely by [Thrun], who helped win the 2005 DARPA Grand Challenge with his robot car.

In case you’re wondering if this is going to be another one-time deal like the online AI class, don’t worry. [Thrun] resigned as a tenured professor at Stanford to concentrate on teaching over the Internet. He’s still staying at Stanford as an associate professor but now he’s spending his time on his online university, Udacity. It looks like he might have his hands full with his new project; so far, classes on the theory of computation, operating systems, distributed systems, and computer security are all planned for 2012.

Program A Microcontroller Over The Internet

If you’ve ever wanted to program a microcontroller “in the cloud,” you might want to head over to Inventor Town, an online IDE that allows you to write and compile firmware for the MSP430 series of microcontrollers.

After logging in with your Google account, you’re presented with a ‘My Projects’ page. From there, you can make as many projects as you like for the MSP430x2231 or ~x2211 microcontrollers. The online editor has the vital keyword highlighting feature, but sadly not many of the more advanced text editor features, like a red underlined syntax errors. After you’ve written your code, press the compile button, download your .HEX file and upload to your board.

We’re surprised we haven’t seen something like this before. To us, this seems like the ideal basis for a github-style microcontroller code-sharing website. Any enterprising ATtiny fans want to take a crack at this one?

Thanks [Rob] for sending this one in.

Controlling An LED Matrix With An Android Phone

Even though everyone with a smart phone has a small, powerful computer in their pocket, we haven’t seen many applications of this portable processing power that use the built-in camera. [Michael] decided to change this and built an LED matrix that displays the data coming from the phone’s camera.

For the build, [Michael] used two 32×32 LED panels from Adafruit along with an IOIO and an Arduino. To build the Android app, [Michael] used the Android OpenCV computer vision library that grabs an image from the Android camera and downsamples it to 64×32 pixels. This data is transferred over a serial connection from the phone to the IOIO and again from the IOIO to the Arduino. Even though each frame is 1024 bytes, [Michael] still gets around four frames per second on his LED matrix display.

After the break you can check out the results of [Michael]’s build. The video is a little choppy because of the frame rate issue, but it’s still an interesting build in the Android software development category.

Continue reading “Controlling An LED Matrix With An Android Phone”

Neural Networks Control A Toy Car

After taking the Stanford Machine Learning class offered over the Internet last year, [David Singleton] thought he could build something really cool. We have to admit that he nailed it with his neural network controlled car. There’s not much to the build; it’s just an Android phone, an Arduino and a toy car. The machine learning part of this build really makes it special.

A neural network takes a whole bunch of inputs and represents them as a node in a network. Each node in [Davids]’s input layer corresponds to a pixel retrieved from his phone’s camera. All the inputs of the input layer are connected to 64 nodes in the ‘hidden layer’. The nodes in the hidden layer are connected to the four output nodes, namely left, right, forward and reverse.

After training the network and weighting all the connections, [David] got a toy car to drive around a track. Weird, but it works. All the code is up on github, so feel free to take a look behind the inner machinations of a neural net. Of course, you could check out the video of [David]’s car in action after the break.

EDIT: We originally credited [icebrain] as the author. Our bad, and we hope [David] doesn’t hate us now.

Continue reading “Neural Networks Control A Toy Car”