[Pawel] has a weather station, and its nerve-center is a Raspberry Pi. He wanted to include a light sensor but the problem is, the Pi doesn’t have a built-in ADC to read the voltage off the light-dependent resistor that he (presumably) had in his junk box. You can, of course, buy I2C ADC chips and modules, but when you’ve already got a microcontroller that has ADC peripherals on board, why bother?
[Pawel] wired up a tremendously simple circuit, downloaded some I2C slave-mode code, and added an LED for good measure. It’s all up on GitHub if you’re interested.
We’re covering this because we rarely see people coding for I2C slave devices. Everyone and their mom uses I2C to connect to sensors, for which the Arduino “Wire” library or “i2c-tools” on the Pi do just fine. But what do you do when you want to make the I2C device? [Pawel]’s project makes use of TinyWireS, a slave-mode SPI and I2C library for AVR ATtiny Arduino projects.
Here, [Pawel] just wanted a light sensor. But if you’re building your own devices, the sky is the limit. What’s the most esoteric I2C sensor that you can imagine? (And is it really the case that we haven’t seen an I2C slave device hack since 2010?)
[jamesone111] bought a Transcend WifiSD card, presumably for photography, but it may just have been because he heard that they’re actually tiny Linux servers.
He read a post about these cards on the OpenWRT forums. They’re all a similar configuration of a relatively large amount of memory (compared to the usual embedded computer), a WiFi chip, and an ARM processor running a tiny Linux install. The card acts as a WiFi access point with a little server running on it, and waits for the user to connect to it via a website. It also has a mode where it will connect to up to three access points specified by the user, but it doesn’t actually have a way to tell the user what its IP address is; which is kind of funny.
[jamesone111] hacked around with the Transcend card for a bit. He found it pretty insecure, which as long as you’re not a naked celebrity, shouldn’t be a huge issue. For the hacker this is great as it opens up the chance of hacking the firmware for other uses.
Some have already pulled off some cool hacks with these cards. For example, [peterburk] hacked a similar card by PQI to turn his iPod into a portable file server.
Hackaday.io contributor extraordinaire [al1] has been playing around with small LEDs a lot lately, which inevitably leads to playing around with large groups of small LEDs. Matrixes of tiny RGB LEDs, to be precise.
First, he took 128 0404 SMD RGB LEDs (yes, 40 thousandths of an inch on each side) and crammed them onto a board that’s just under 37 mm x 24 mm. He calls the project 384:LED (after all, each of those 128 packages has three diodes inside). A microcontroller and the driver chips are located on a separate driver board, which piggy-backs via pin headers to the LED board. Of course, he had to use 0.05 inch headers, because this thing is really small.
Of course, no project is without its hitches. [al1] bought LEDs with the wrong footprint by mistake, so he had a bunch of (subtly different) 0404 LEDs left over. Time for an 8×8 matrix! 192:LED isn’t just the first project cut in half, though. It’s a complete re-design with a four-layer board and the microcontroller on the back-side. And as befits a scrounge project with lots of extreme soldering, he even pulled the microcontroller off of a cheap digital FM radio. Kudos!
We’re in awe of [al1]’s tiny, tiny hacking skills. Now it’s time to get some equally cool graphics up on those little displays.
[wattnotions] has been playing with matches, well the box they come in anyway. One day he was letting synapses fire unsupervised, and wondered if he could build a robot inside of a matchbox. His first prototype was a coin lithium battery and scrounged motors from those 3 US Dollar servos you can buy by the dozen. It scooted around just fine, but it drained the battery instantly and was a little boring.
Next, he etched a board. It had a little PIC micro, a connector for a mini LiPo, and an H bridge. It fired up just fine, and even though it drained the battery way too fast, at least it wasn’t brainless anymore. In our experience, robots tend to discard all the useful data they collect anyway, so being blind wasn’t too much of a problem.
Inspired and encouraged, with synapses gloriously undeterred, [wattnotions] set out to make a version 2. This time he ordered a board from OSHPark, made a 3D model in SketchUp, and proceeded to lock himself out from his own chip. Without a high voltage programmerhe was out of luck. The development was unfortunately put on hold.
It was fun to read along with [wattnotions] as he went on a small robot adventure. We hope he’ll complete a version 3 and have a swarm of the little fellows scooting around.
If your next project needs the ability to play MP3s but you don’t have a lot of room to spare in your enclosure, [Boris] has just the thing you need. His tiny embedded MP3 module supports playback of up to 65,536 songs or as many as you can fit on a 16GB microSD card, which isn’t bad in the least.
The module relies on a PIC24F for input and control, while a VS1011 handles all of the MP3 decoding responsibilities. He says that the module would be great for voice-enabled vending machines, telephone systems, cars, and more.
With such a wide range of possible applications, he decided that the module should be able to support several different input methods. The board can be controlled via a set of digital input buttons, which is perfect for direct human interaction, while it also supports serial control for scenarios where it is part of a larger embedded system.
Of course, we’ve seen tiny MP3 players like this before, but we like the fact that this module was designed to operate in standalone mode or as a component in a larger device. Of course all of the device’s schematics, code, and a BoM are available, allowing you to build your own if you are comfortable with SMD soldering.
[Fabio Varesano’s] new Arduino compatible board packs a full power punch in a ultra compact layout, measuring at 20.7×15.2 mm, the Femtoduino is probably the smallest 328 based Arduino compatible board around. Most of the staples are present, an QFN atmega328, an MIC5205 low dropout regulator good for a couple hundred milli amps, 16MHz ceramic resonator, reset, power indicator and pin 13 LEDs, but you will need to provide your own serial connection (FTDI, MAX232 etc) and another AVR programmer to get the Arduino boot loader onto the chip.
Since the board is small (smaller than a pro mini) it is not directly breadboard friendly. Even though the hole spacing is 0.05 inch, the size is large enough for “normal” wire to fit into fine, if you wish to use 0.1 inch spacing there is a handy break out board you can make where the Femtoduino just snaps in.
Everything needed to make one of your own is provided on the website, schematics, kicad files, bill of materials, Gerbers for both the board and the breakout board, though we would like to see this as a pre-made board soon, join us after the break for a video and see why.