Hackaday Prize Entry: Cheap Visible Light Communication

[Jovan] is very excited about the possibilities presented by Visible Light Communication, or VLC. It’s exciting and new. His opening paragraphs is filled with so many networking acronyms that VLC could be used for, our browser search history now looks like we’re trying to learn english without any vowels.

In lots of ways he has good reason to be excited. We all know that IR can communicate quite a bit, but when you’re clever about frequency and color and throw in some polarizers with a mix of clever algorithms for good measure you can get some very high bandwidth communication with anything in line of site. You can do it for low power, and best of all, there are no pesky regulations to stand in your way.

He wants to build a system that could be used for a PAN (Personal Area Network). To do this he’ll have to figure out a way to build the system inexpensively and using less than a watt of power. The project page is full of interesting experiments and quite a few thesis on the subject of LEDs.

For example, he’s done work on how LEDs respond to polarization. He’s tested how fast an LED can actually turn on and off while still being able to detect the change. He’s also done a lot of work characterizing the kind of light that an LED emits. We don’t know if he’ll succeed yet, but we like the interesting work he’s doing to get there.

Game Pie Advance Brings Retro Gaming To Your Fingertips

We love our Game Boy and RetroPie mods here at Hackaday because the Raspberry Pi Zero has made it easier than ever to carry a pocket full of classic games. [Ed Mandy] continues this great tradition by turning a matte black Game Boy Advance into a RetroPie handheld.

Details are scant on how [Mandy] built his Game Pi Advance, but we can glean a few details from the blog post and video. A Raspberry Pi Zero running RetroPie appears to be piggybacking on a custom PCB that slots neatly into the GBA case. This provides easy access to the Pi Zero’s USB and micro HDMI via the cartridge slot to connect to an external screen, as well as a second controller to get some co-op NES and SNES action on. It’s worth noting here that [Mandy] has foregone adding X and Y buttons in the current version.

Continue reading “Game Pie Advance Brings Retro Gaming To Your Fingertips”

Talking DIY Z-80 Retrocomputer Complete with Dev Tools

[Scott Baker] wanted to take on a new retrocomputing project. He decided to build an RC2104. Lucky for us, he documented everything along the way. In addition to the main board, [Scott] built bus monitoring and debugging tools, a front panel, a real time clock, an analog to digital converter, and a speech synthesizer.

You can follow along in the 8-part post that includes videos. He started with the basic kit:

  • CPU – The Z80
  • ROM – 27C512 64 KB ROM, selectable in 8KB banks
  • RAM – 62256 32 KB RAM
  • Clock – 7.3728 Mhz crystal that drives a 74HC04 hex inverter (for the CPU and the UART)
  • Serial I/O – MC68B50 UART

In addition, he picked up a digital I/O board.

Continue reading “Talking DIY Z-80 Retrocomputer Complete with Dev Tools”

Altitude Controlled LED Jacket Changes Color as You Climb

When your climbing gym throws a “glow in the dark” party, how can you stand out? For [Martijn], the answer was obvious. He made a jacket adorned with 32 WS2812 addressable LEDs whose color is addressable depending on the altitude to which he has climbed.
The build is centered on an Arduino Pro Mini with a barometric sensor and an NRF24L01 for radio comms. A pair of pockets contain AA batteries for power, and he’s all set to climb.
A base station Arduino with the same set-up transmits an up-to-the-minute reading for ground level temperature, which is compared to the local reading from the barometric sensor and used to calculate a new color for the LEDs. A Kalman filter deals with noise on the pressure reading to assure a stable result. Arduino sketches for both ends are provided on the Hackaday.io page linked above.
The LEDs are mounted on the jacket’s stretch fabric with an excess of  wire behind the scenes to cater for the stretch. You can see the resulting garment in the short YouTube video below the break.

Continue reading “Altitude Controlled LED Jacket Changes Color as You Climb”

Hacklet 123 – Watches

Time and tide wait for no man. Chaucer may be right, but a man (or woman) wearing a watch can get ahead of time before it sneaks up on them. People aren’t ever satisfied with just the time though. They want the date, the phase of the moon. [Woz] summed it up pretty well when he said “I want the entire smartphone, the entire Internet, on my wrist”.   Hackers love watches too, which means there are plenty of watch projects out there. Some of them even tell time. This week we’re looking at some of the best watch projects on Hackaday.io!

chronioWe start with [Max.K] and Chronio. You might think Chronio looks a bit like the Pebble Time, and you’d be right! [Max] based his design heavily on Pebble’s case design. Pebble even has their CAD files on GitHub, which helped [Max] with his modified, 3D printed version. Chronio is Arduino based, using an ATmega328p microcontroller with the Arduino bootloader. The display is Sharp’s 96×96 pixel Memory LCD. A DS3231 keeps the time accurate, and provides a free temperature sensor. The entire watch is powered by a CR2025 battery. Running a 20uA sleep current, [Max] estimates this watch will last about 6 months on a single battery.

neopixel-pocketNext we have [Joshua Snyder] and Neopixel pocket watch. Who said a watch has to go on your wrist? [Joshua] brings some steampunk style to the party. His watch uses an Adafruit 12 NeoPixel ring to tell time. Red, blue, and green LEDS represent the hour, minute and second hands. The watch is controlled by an ESP8266. The time is set via WiFi. Between the LEDs and the power-hungry ESP8266, this isn’t exactly a low-power design. A 150mAh LiPo battery should keep things running for a few hours though. That’s more than enough time to make a splash at the next hackerspace event.

pi-watchNext up is [ipaq3115] and The Pi Watch. Round smartwatches have created a market for round LCD screens. These screens have started to trickle down into the hacker/maker market. [ipaq3115] got his hands on one, and had to design something cool with it. The Pi Watch isn’t powered by a Raspberry Pi, but a Teensy 3.1. [ipaq3115] included the Freescale/NXP Kinetis processor and MINI54 bootloader chip on his own custom board. He used the Teensy’s analog inputs to create his own 10 element capacitive touch ring. This watch even has a LSM303  magnetometer/accelerometer. All this power comes at a cost though. It takes a 480 mAh LiPo battery to keep The Pi Watch Ticking.

vikasFinally we have [Vikas V] and ScrolLED watch. Who says a watch has to have an LCD? [Vikas V] wanted a scrolling LED display on his wrist, so he built his own. An Atmel ATmega88V-10AU controls a 16×5 charlieplexed LED array. [Vikas] included a character font with many of the ASCII symbols in flash, so this watch can display messages. Power comes from a CR2032 watch battery in a custom PCB mounted holder. [Vikas] biggest issue so far has been light leaks from LED to LED. He’s considering mounting the array on the bottom of the watch. Shining the LEDs up through holes in the PCB would definitely help with the light leakage.

If you want to see more watch projects, check out our new watch projects list. Notice a project I might have missed? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Flying A Normally-Sized Drone With A Nano-Drone’s Brain

Drones come in all shapes and size, and [Kedar Nimbalkar] was wondering if the guts of a tiny Cheerson CX-10 nano-drone could take off with a larger body, leading to an interesting brain transplant experiment.

For his test, [Kedar] acquired a CX-10 and the body of a larger Syma X5SW drone. After gutting the CX-10 for its LiPo battery and circuit board, which features an STM32 ARM-core MCU, a 6-axis IMU and the wireless transmitter, [Kedar] studied the datasheet of the onboard SQ2310ES driver MOSFETs. He figured that with a maximum continuous current rating of 6A, they would probably be able to cope with the higher load of the slightly larger motors of the X5SW body. They also didn’t seem to overheat, so he just installed the board into the new body as-is and wired up the motors.

Continue reading “Flying A Normally-Sized Drone With A Nano-Drone’s Brain”

Software USB On the ESP8266

A while back, [cnlohr] needed a USB keyboard and mouse. His box ‘o junk didn’t hold this particular treasure, and instead of hopping on Amazon like a normal geek or venturing into the outside realm on a mid-level ‘store’ quest like a normal person, [cnlohr] decided to turn an ESP8266 into a USB keyboard and mouse. How hard could it be? The ESP doesn’t support USB, but bitbanging hasn’t stopped him before. The end result is a USB stack running on the ESP8266 WiFI module.

[cnlohr] has been working for about a month on this USB implementation for the ESP, beginning with a logic analyzer, Wireshark, Xtensa assembly, and a lot of iteration. The end result of this hardware hacking is a board based on the ESP8285 – an 8286 with integrated Flash – that fits snugly inside a USB socket.

This tiny board emulates low-speed USB (1.5 Mbps), and isn’t really fast enough for storage, serial, or any of the fancier things USB does, but it is good enough for a keyboard and mouse. Right now, [cnlohr]’s ESP USB device is hosting a webpage, and by loading this webpage on his phone, he has a virtual keyboard and mouse on a handheld touchscreen.

If you’re keeping track, [cnlohr] has now brought Ethernet and USB to a tiny microcontroller that can be bought for a few bucks through the usual online outlets. If you’d like to build your own ESP USB stick, all the files are over on the Gits.

Thanks [lageos] for the tip.

Continue reading “Software USB On the ESP8266”