A serial monitor is an easy way to debug your projects. As we step through code, it’s nice to see a “Hey! I’m working, moving to next thing!” across the monitor, and not so nice to see nothing – the result of a bug that needs debugging. This has always meant needing a PC loaded with your favorite serial terminal program close at hand.
Most of the time this is not an issue, because the PC is used to compile the code and program the project at hand. But what if you’re in the field, with a mission of fixing a headless system, and in need a serial monitor? Why lug around your PC when you can make your own External Serial Monitor!
[ARPix] built this fully functional serial monitor based on an Atmega328 and a 102 x 64 LCD display. While it doesn’t have a keyboard port like this microcontroller based serial terminal, tact switches allow access to the user interface to start and stop the reading and set the baud rate. The Atmega328 has 2K of SRAM, which is needed for the project. Apparently, 1K was not enough to handle all the data. All code, schematics and a very well done parts layout are available, making this sure to be your next weekend project!
Think you need a microcontroller or a proper motor driver to control a motor? Not really. Because RS-232 serial ports are a hack in and of themselves, you can control two motors with only a serial port and a bridge driver.
Instead of using the data pins on the serial port, this circuit works on with the DTR and RTS control signals of an RS-232 interface. Unlike the data lines of a serial port, these control signals are high when they’re enabled and can also provide a small amount of current – enough to control a pair of pins on a TA7291P bridge driver.
The rest of the circuit consists of a few resistors and a pair of motors, and the software simply turns the DTR and RTS lines on and off. It’s enough for a small robot to waddle across a table, and given the correct driver is simple enough to mash together out of parts from a junk drawer.
[Jesus] is helping his cousin learn about microcontrollers. Right now they’re on the subject of serial communications, which turned into a nice way to add a Hackaday Easter Egg.
Using and FTDI chip in conjunction with the PIC 18F4550 (it’s a little soon for them to tackle implementing USB directly) the serial data is shown in a terminal window. At the same time the binary value of each byte is flashed on the PORTD LEDs. When the chip receives the characters “hack” it immediately echos back the recommendation to check out the awesomeness that is Hackaday. He posted the code used in this example as a Gist.
This is an entry in the Fubarino Contest for a chance at one of the 20 Fubarino SD boards which Microchip has put up as prizes!
Continue reading “Fubarino Contest: Serial Data Transmission”
[ch00f] managed to capture some holiday spirit this year by translating all of A Christmas Carol to scrolling text. Dickens’s work has long since entered public domain, which led [ch00f] to wire up a GeekCatch programmable display from Amazon. It has a low refresh rate, which means videos look a bit goofy, but it’s perfectly acceptable for text. [ch00f] ditched the remote control and instead used the display’s serial connection to program in the novella. Unfortunately, he could not find any documentation for the serial protocol, but he was able to reverse engineer it with some freeware applications found online.
It takes over six hours for the sign to spit out the entirety of A Christmas Carol, which easily surpassed the display’s limited text buffer. [ch00f] instead had to send text to the display one paragraph at a time via a custom Python script. This solution takes advantage of the sign’s fixed-width font to estimate the time it takes for each character to scroll by, then immediately feeds the sign a new line.
Check out the blog post for a quick teardown of the display itself and for a detailed description of the protocol in case you decide to use this display for a project. Stick around for a video below!
Continue reading “Serializing Dickens to LEDs”
[Jan] works with both physically and mentally disabled individuals, some of whom cannot read, making many of their tasks more difficult. Although [Jan] is not in a position to teach reading or writing skills, he was able to build an add-on device for the scales used in repackaging sweets to provide simple feedback that the user can interpret.
The device has three LEDs—red, green, and yellow—to indicate the package does not weigh enough (red), weighs too much (yellow), or lies within an acceptable range (green). The industrial scales at [Jan’s] workplace each have a serial output to connect to a printer, which he used to send data to the device. An ATMega8 controls the lights and an attached LCD, with the usual trimpot to change the display’s contrast and a rotary encoder to adjust the device’s settings. Everything fits snugly into a custom-made frosted acrylic enclosure, laser-cut at a local hackerspace.
[Jan] provides a rigorous guide to approaching each step on his Instructables page, along with source code and several pictures. See a video overview below, then enjoy another scale hack: building one from scratch.
Continue reading “Hacking Digital Scales for the Disabled”
If you’re using an AVR microcontroller and you’d like to add USB to a project, there are a lot of options out there for you. Both LUFA and V-USB add some USB functionality to just about every AVR micro, but if you’d like a native serial port, your only options are to look towards the USB-compatible Atmel micros.
[Ray] looked at the options for adding a USB serial port and didn’t like what he saw; seemingly, this was an impossible task without a second, more capable microcontroller. Then he had an idea: if the goal is only to transfer data back and forth between a computer and a microcontroller, why not write an HID-class USB serial port?
[Ray] based his project on The V-USB library and created a new HID descriptor to transfer data between a micro and a computer. While it won’t work with a proper terminal such as Putty, [Ray] managed to whip up a serial monitor program in Processing that’s compatible with Windows, Linux and OS X.
In the video below, you can see [Ray] using an ATmega328p with a standard V-USB setup. He’s transferring analog values from a photoresistor as a proof of concept, but just about everything that would work with a normal serial port will work with [Ray]’s library.
Continue reading “Serial USB for Any AVR Microcontroller”
[Joe Grand] has come up with a tool which we think will be useful to anyone trying to hack a physical device: The JTAGulator. We touched on the JTAGulator briefly during our DEF CON coverage, but it really deserves a more in-depth feature. The JTAGulator is a way to discover On Chip Debug (OCD) interfaces on unfamiliar hardware.
Open any cell phone, router, or just about any moderately complex device today, and you’ll find test points. Quite often at least a few of these test points are the common JTAG / IEEE 1149.1 interface.
JTAG interfaces have 5 basic pins: TDI (Test Data In), TDO (Test Data Out), TCK (Test Clock), and TMS (Test Mode Select), /TRST (Test Reset) (optional).
If you’re looking at a PCB with many test points, which ones are the JTAG pins? Also which test points are which signals? Sometimes the PCB manufacturer will give clues on the silk screen. Other times you’re on your own. [Joe] designed the JTAGulator to help find these pins.
Continue reading “JTAGulator Finds Debug Interfaces”