[Babak] created an in-depth tutorial on how he got his BeagleBone Black to control a servo from a web browser.
[Babak] configured a pin on his BeagleBone Black (BBB) as a PWM line and connected it to the control line on a micro hobby servo. The BBB is running a Node.js web server that displays a simple web page to control the servo. The browser sends a WebSocket request to a small WebSocket node server also running on the BBB that then writes the appropriate PWM value to the pin connected to the servo.
The code for node WebSocket server and web server can be found on his GitHub page. There is also a small node library to control PWM lines on the BBB. Though the end result is simple, controlling the servo can be done from any browser that can make a network connection to the BeagleBone Black. Check out the video after the jump for a description and demonstration.
Continue reading “Web Controlled Servo from a BeagleBone Black”
[Necromant] wrote a library to flash his microcontroller over an RF link using an NRF24L01 wireless communication module. The NRF24L01 is a cheap RF module that can be easily integrated into many microcontroller projects. Though there are Arduino libraries for driving the NRF24L01, [Necromat] decided to make a port of one with no Arduino dependencies.
The resulting bootloader fits into 4K of
RAM flash with packet loss and recovery along with user-configurable hardware or software SPI. Programming speeds are not the highest, but [ NecromatNecromant] believes this to be a property of the VUSB rather than the transfer rate from the NRF24L01 or the target microcontroller.
To program the target AVR chip, [
NecromatNecromant] used another NRF24L01 module connected to his uISP dongle over USB. Using a custom tool to interface with the uISP, the target board can be programmed in a similar fashion as avrdude. Check out the code for the ISP dongle and the AVR bootloader on his GitHub page.
[Adrian] and [Obelix] wanted to have an easy way to know when to expect the public transportation, so they hacked an LED dot matrix display to show arrival times for stops near their dorm.
They found the display on Ebay with a defective controller which they replaced with an ATmega328p. They connected the display to the internet by adding a small TP-Link MR3020 router and connecting it to the ATmega328p via a serial line. Their local transportation office’s web page is polled to gather wait times for the stops of interest. All rendering of the final image to display to the dot matrix display is done on their PC, which then gets pushed through to the MR3020, which in turn pushes it out to the ATmega328p for final display.
[Adrian] and [Obelix] warn about setting proper watchdog timers on the display driver to make sure bugs in the controller don’t fry the dot matrix elements. Their ATmega328p dot matrix driver code can be found on [Adrian]’s GitHub page.
Check out a video of the display in action after the jump.
Continue reading “Public Transportation Display”
[BeMasher] was dissatisfied with the cost of other solutions to read his smart meter, so he made a project to read it himself using an rtl-sdr dongle.
Using his hacking and reverse engineering skills along with a $20 RTL-SDR dongle, [BeMasher] wrote rtlamr to automatically detect and report the consumption information reported by smart meters within range. Though designed for his Itron C1SR, [BeMasher] claims that any electronic receiver transmitter (ERT) capable smart meter should work.
[BeMasher]’s Itron C1SR smart meter broadcasts both interval data and standard consumption in the 915MHz ISM band using a Manchester encoded, frequency hopping spread spectrum protocol. [BeMasher] used the RTL-SDR dongle to do the signal capture and analysed the resulting signal in software afterwards. [BeMasher] did a great job of going through the theory and implementation of analysing the resulting data capture, so be sure to check it for an in-depth analysis.
If the RTL-SDR dongles are too limited for you taste, you might want to check out some hacker friendly SDRs with a little more punch.
[Saulius] couldn’t find a cost-effective wireless scale that did what he wanted, so he reverse engineered the communication protocol for an off the shelf model to get weight data himself.
[Saulius] bought a cheap Maxim 29-66SH scale that uses infra-red to communicate to a detachable digital readout. Using the USB IR toy, [Saulius] intercepted the messages that were broadcast. After a little reverse engineering and with the help of some Python scripts, he soon discovered the protocol his scale was using to encode weight messages.
Since all the communication is through IR, there is no need to do any invasion of the scale as the receiver can be placed anywhere in line of sight from the transmitter on the scale itself.
Check out the demo video for the whole thing in action. If patching into the scale isn’t hard enough, you should just build one from scratch.
Continue reading “Listening to a Smart Scale”
[Linas] reverse engineered an AMOLED HTC 800×480 screen and interfaced it with an STM32 micro-controller, along with some other components, to make a gorgeously over engineered reflow oven.
Under the hood there is a PSoC5LP PID controller to control the 800W IR heating coil and two K-type thermocouples for sensing.
The real beauty is in the relatively small STM32 chip powering the HTC AMOLED screen. The AMOLED screen is high contrast and has a wide viewing angle, giving it a clear crisp view from all front facing viewpoints. Though pushing the limits of what the STM32F429i can do, [Linas] managed to make a very nice “home-grown” user interface, complete with user configurable settings and current temperature graphs.
The user interface looks very responsive and using some clever programming, [Linas] was able to make use of the potential of the screen to provide beautiful plots and interface widgets.
[Linas] goes into quite a bit of detail about the programming involved with rendering to the screen, so be sure to check out the video after the jump.
Continue reading “Smart Reflow Oven is Over-Engineered”
[Ralph] wasn’t satisfied with the required 5 control pins to drive his nrf24l01+ transceiver module, so he used this circuit needing just 3 pin using an ATtiny85.
One of the key components was to effectively drive the chip select (CSN) line from the clock (SCK) line. The nrf24l01+ needs the CSN line to transition from high to low on the beginning of a communication. [Ralph] put the SCK line behind a diode, put a capacitor in parallel with the CSN line and altered the arduino-nrf24l01 library to encode extra delays for the clock line. This allowed the CSN line to be driven by the SCK line. Subsequent line transitions during transmission happen too fast to charge the capacitor, leaving the CSN line in a low state.
After tying the chip enable line high and dropping the 5V power line to 1.9-3.6V across a red LED, [Ralph] had an ATtiny85 controlling a nrf24l01+ module.
Though deceptively simple, a very cool hack that opens up a couple more lines on the ATtiny85.