Overwriting A Protected AVR Bootloader

Logo for the FIgnition 8 bit computer project

A bootloader is typically used to update application code on a microcontroller. It receives the new program from a host, writes it to flash, verifies the program is valid, and resets the microcontroller. Perhaps the most ubiquitous example is the Arduino bootloader which allows you to load code without an AVR programmer.

The bootloader resides in a special part of memory, which is protected. On the AVR, it isn’t possible to write to the bootloader memory from the application code. This is to prevent you from accidentally breaking the bootloader and bricking the device.

However, it can be useful to write to the bootloader memory. The best example would be when you need to update the bootloader itself. To accomplish this, [Julz] found a workaround that defeats the AVR bootloader protection.

The challenge was to find a way to execute the Store Program Memory (spm) instruction, which can only be executed by the bootloader. [Julz] managed to make use of the spm instruction in the existing bootloader by counting cycles and modifying registers at the right time.

Using this technique, which [Julz] calls BootJacker, the Fignition 8 bit computer could have its bootloader updated. However, this technique would likely allow you to modify most bootloaders on AVR devices.

MSP430 Scheduler

Multitasking On The MSP430F5529 LaunchPad

What exactly is multitasking, scheduling, and context switching? This is a great question for those interested in understanding how operating systems work, even small real-time operating systems (RTOS). [Jeffrey] had the same question, so he built a multitasking scheduler for the MSP430F5529 LaunchPad.

These topics are some of the most difficult to wrap your head around in the embedded world. Choosing a project that helps you understand tough topics is a great way to learn, plus it can be very rewarding. In his post, [Jeffrey] goes over the basics of how all of these things work, and how they can be implemented on the MSP430. Overall, it is a great read and very informative. For more information on RTOS, check out a few sections in the FreeRTOS book. Be sure to see his code in action after the break.

[Jeffery] was nice enough to release all of his code as open source, so be sure to check out his repository on GitHub. “Feel free to use it and learn more. I have made the code self explanatory. Enjoy!”

via [43oh.com]

Continue reading “Multitasking On The MSP430F5529 LaunchPad”

Meet The WIDGEDUINO

diagram of the widgets for the widgeduino

Arduino has made a name for itself by being easy to use and has become an excellent tool for rapid prototyping of an idea. If one wakes up in the middle of the night in a eureka moment and hammers out a contraption – using an Arduino as the brains is about as fast and easy as it gets.

With that said, the WIDGEDUINO aims at making this process even faster and easier. Bristling with an array of meters, graphs and data entry widgets, the WIDGEDUINO is sure to be a hit with hackers, makers and engineers alike.

It’s based on the .NET framework and was designed with Visual Studio Windows Presentation Foundation. The user simply writes a sketch using the WIDGEDUINO library, and connects to a PC via serial or Ethernet to gain access to the assortment of awesome widgets.

You can find a few examples here. We hope the creators will keep us updated on the progress of this impressive project. Be sure to stick around after the break for a video demonstrating what the WIDGEUINO can do.

Continue reading “Meet The WIDGEDUINO”

The Analog Swiss Army Knife

11300

While FPGAs get all the credit for being the hip new thing, they are inherently digital devices. Without a proper ADC and DAC, you won’t be delving into the analog domain with your programmable logic. Maxim has just put out a chip that does just that: an analog swiss army knife with 20 pins that are configurable as analog to digital converter, digital to analog converters, GPIO, or any mix of the above.

The MAX11300 includes twenty IO ports, each capable of becoming an ADC, DAC, or GPIO, with pairs of ports capable of being configured as a logic level translator or an analog switch. The ADCs and DACs are 12-bit, with input and output ranges from -10V to +10V.

As a nice little bonus, the chip is controlled over SPI, making this an interesting device for a small “do anything analog” tool we’re sure will hit Tindie or Seeed Studio before the year is out. Luckily for whoever would create such a device, Maxim has a nice GUI for configuring each of the 20 pins on their chip, Of course Maxim already offers an evaluation kit for the MAX11300. It’s $100 USD and is Windows only.

The MAX11300 is available in either 40-pin TQFN or 48-pin TQFP packages (with the larger, easier to solder TQFP shipping later) for about $5.80 USD in quantity 1000, or $11.37 in quantity one.Video below showing off the MAX11300 reading and writing analog values to a few pins, and a good look at the configuration software.

Continue reading “The Analog Swiss Army Knife”

This Useless Machine Now Plays With Fire

The Useless Machine, Candle Edition

Useless machines are a lot of fun, if not just a little overdone. Looking for a new twist, [bd594] decided to try making one that integrates a candle — it works quite well!

While not quite as impressive as some of [bd594’s] previous projects, like his rendition of Bohemian Rhapsody on old school computer equipment, we like how he used regular DC motors in this design, instead of servos (the easy way).

A PICAXE14M2 microcontroller controls the H-Bridge responsible for the geared DC motors (taken from a Mac floppy drive), and a light sensor checks for the flame. He’s also made use of some NPN transistors to invert some logic levels to show you if you’re running low on I/O pins, its always possible to incorporate some other discrete components like a transistor to achieve your design.

Among others, some great alternative spins on the “useless machine” include the moody useless machine, an even more useless machine (featuring 8 switches!), a pull-string version, and even a rather ridiculous elevator button pressing useless machine!

Stick around to see this one put out the candle (Caution: Very exciting).

Continue reading “This Useless Machine Now Plays With Fire”

The Rotary Cell Phone

It’s happened. It’s finally happened. In a move that has hipsters donning their good flannel and breaking out that case of Genesee they were saving for a special occasion, the rotary cell phone is now a reality.

[Jaromir] created this astonishingly retro future device as an entry for the NXP LPC810 challenge, a contest to do the most with an ARM Cortex M0+ microcontroller in an 8-pin package. Having only six I/O pins for controlling a GSM module, display a few buttons, and the fancy rotary dial meant [Jaromir] needed to expand his I/O some way. He chose a shift register to handle the buttons and display in a somewhat impressive demonstration of using a shift register as both an input and output expander at the same time.

From the videos [Jaromir] uploaded, the rotary cell phone isn’t ready for Think Geek to do a production run quite yet. He needs to enter the PIN for the SIM card, AT commands for the GSM module, and is, of course, a horrible method of user input for the younglings who have only seen rotary phones in old movies. That being said, it’s a rotary cell phone running on an 8-pin microcontroller. What more do you want?

Videos of this awesome this truly awesome phone in action below. If you’d like to build your own – and why wouldn’t you – all the files are available on [Jaromir]’s git

Continue reading “The Rotary Cell Phone”

The Worst E-Reader Ever

oled

Over on the Projects site, [Jaromir] has created a tiny device with an OLED display, three buttons, and a USB port for storing text files, be it for saving a shopping list, a cheat sheet, or the most unusable e-reader ever made.

The front of the device is simply a 96×32 pixel OLED and three buttons for ‘up’, ‘down’, and ‘open/close’. The reverse side is where the magic happens with a PIC24 microcontroller that sets up a file system on the chip, allowing [Jaromir] to write 64kB of data on what is actually a Flash drive with a pitiful capacity. Text files are viewable on the OLED, with the video below showing the front page of Wikipedia being displayed in a glorious 16×4 text mode.

It’s not a very useful device by any means, but for some reason it’s garnered a lot of skulls and followers over on Hackaday Projects. In response to that, [Jaromir] is working on version two with a new PCB and a design for a 3D printed case. Not bad for what [Jaromir] himself describes as worse than just about any phone or tablet.

Continue reading “The Worst E-Reader Ever”