Imagine you’re stuck on a desert island, hundreds of miles away from the nearest person, and you finally have time to finish that project you’re working on. You have a single microcontroller, but you’re lacking a computer and you need to program an ATtiny13. How do you do it? [androidruberoid] figured out how to manually flash a microcontroller (Russian, surprisingly good translation) using just three switches and a lot of patience.
[androidruberoid]’s ATtiny13 – like nearly all Atmel microcontrollers – are programmed using an SPI interface. This interface requires four signals: SCK, a data clock, MOSI, the data line from master to slave, MISO, data from slave to master, and RESET. By connecting these data lines to buttons, [androidruberoid] is able to manually key in new firmware one byte at a time.
This technique of manually programming bits relies on the fact that there is no minimum speed for an SPI interface. In the video after the break, you can see [androidruberoid] manually programming an ATtiny13 with a simple program. It only lights up an LED, but with enough patience he could key in a simple ‘blink a LED’ program.
Continue reading “Programming a microcontroller one bit at a time”
It’s no secret that learning how to program is very hard, and teaching it doubly so, requiring the student to wrap their head around very unorthodox concepts. [Ubi de Feo] over at the Amsterdam tech collective Hello, Savants! has a unique solution for taking someone who knows nothing of programming and turning them into a computer aficionado capable of deftly wielding semicolons and parens. It’s called From 0 to C, and aims to teach students programming in an environment without computers.
For his class, [Ubi] made up a lot of wooden boxes with eight subdivisions representing the bits in a byte. By putting ping-pong balls in each slot, [Ubi]’s students can grasp the concept of counting by powers of two and quickly move on to hexidecimal and more advanced concepts like bit shifting.
Although we’re sure most of our readers are far past the ‘learning programming from a blank slate’ portion of their hacker and maker career, anything that gets more people solving their own problems is okay in our book. [Ubi] has a pretty neat take on the pedagogy of teaching programming, and we’d really like to see his work expand outside his Amsterdam collective.
The Raspberry Pi was originally conceived as an educational platform. Much like the BBC Micros and Apple ][s of yore, the Raspi is designed to get kids into programming by giving them a very tiny but still useful computer. Truth be told, we haven’t seen any educational hacks involving the Raspberry Pi, most likely because makers and tinkerers like us have been buying up all the available boards. The Raspi team is trying to correct this problem by holding a summer programming contest aimed at kids under 18 years of age.
The rules are simple: there are two age brackets, under 13, and ages 14-18. The kid who writes the best piece of software for the Raspberry Pi gets $1000, with five $200 runners-up in each category.The contest will run for eight weeks, timed perfectly to coincide with summer vacation.
There will be a few more weekly contests the Raspi team will be holding in the future, but with eight weeks to complete a project we can’t wait to see all the neat stuff kids are going to make.
Most people we know had at least one phase where they dreamt of working for NASA. That dream may have faded for many of us, but it could suddenly be a real possibility again with a tournament NASA is holding. The goal is to sift through all of the data that they have collected; roughly 100 terabytes of pictures, telemetry data,
top secret pictures of martian yeti, and models. All of this information was gathered over different missions, on different instruments, in different formats. It is a mess. Take this data and make it easily accessible to both scientists, and non-scientists. They want their information to be useful and compelling to the world.
The grand prize for your fantastic final result is $10,000 and the title of “Space Coder of the Galaxy 2012″. I know I’d settle for a week at space camp.
Note: I just noticed the following bit:
And one talented high school winner will receive a special VIP invitation from NASA
I’m not sure if that means this is for high schoolers only, but I’m pretty sure it means a lot of them won’t identify with that space camp link above.
[Quinn Dunki] keeps rolling with her 6502 based computer build. This time around she’s added some memory to store the programs, but needed a way to get that code into the device. Above is her solution, a bank of hex switches used to program the 8-bit command and 16-bit address for each line of machine code.
This is a continuation of her Veronica project. The last time we saw it she had hardwired the logic levels for the data bus, but that’s no fun since nothing can actually be computed. [Quinn] picked up an SRAM chip which will store the program. It’s compatible with the 6502’s memory bus, but needs a bit of extra circuitry for her to be able to hand program it with this switch bank. She used some tri-state buffers to switch between connections to the processor, and to the hex switches. This way, she disconnects the RAM from the processor using the buffers, uses the switches and push button to clock in the program, then patches the RAM back into the computer.
Seeing this process in the video after the break certainly gives you an appreciation for what an improvement the punch-card system was over this technique. Still, seeing this is a delight that we’d like to try! Continue reading “Programming the 6502 one nibble at a time”
The International Obfuscated C Code Contest is back. The stated goals of the IOCCC are to, “Write the most obscure C program, show the importance of programming style (by doing the opposite), stress the preprocessor to the breaking point, and illustrate some subtleties of the C language.” If you think you’re up to the task of abusing your compiler, check out the rules and guidelines for the contest.
There’s nothing quite like having the code for a flight simulator look like a plane, or calculating pi by measuring the area of C code. The submissions to the IOCCC are classic hacks; very clever things that shouldn’t work, but do despite themselves.
There hasn’t been an IOCCC competition since 2006, and no one knows if it will be around next year. We’ve already seen a few potential entries for this year, like piping chars into /dev/audio to generate a song and hyperlinks all the way down. If you’ve got something you’re working on, feel free to send it in.
“I can’t hear myself in the mix,” “yeah, man, I’ll be there at 8,” and “dude, we need like four more mics.” Each and every one of these words is documented in actuarial tables and doesn’t bode well for your sound tech’s risk of a stroke. Luckily, there’s an even better way to kill your sound guy and this time, it’s actually pretty clever.
[@dop3j0e] at the Stuttgart hackerspace Shackspace came up with the Noiseplug. It’s a very small build that could almost fit into a quarter-inch jack. It’s all SMD with a tiny
(unknown) ATtiny9 microcontroller powered by a watch battery.
The music coming out of the Noiseplug is really interesting. All the code on the microcontroller is a one-liner written in C. Similar ‘algorithmic chiptune’ programs can be run on any PC: check out these three examples.
These potential entries to the International Obfuscated C Code Contest throw chars into an 8-bit PCM stream. Piping the output of these programs to /dev/audio would generate an actual song – written entirely in one line of C.
Of course, [@dop3j0e] could have made his Noiseplug a little less annoying, but sound techs are underappreciated for a reason, right?
Check out the Noiseplug in action after the break along with a few one-liner C songs.
Continue reading “Annoy your sound guy even more”