Have an ESP8266 development board such as the NodeMCU or Wemos D1? You’re currently reading Hackaday, so probably. Got an Android device kicking around? Also seems fairly likely. In that case, you should check out ESP8266 Loader by [Bluino Electronics]. This recently released application lets you not only flash new binaries to any ESP8266 board using the FTDI, PL2303, CH34X and CP210X USB chipsets, but also offers a serial monitor for debugging on the go.
You’ll need a USB OTG cable to get your ESP board jacked in to your Android device, but you don’t need root or even to fiddle with the development settings. Here at the Hackaday R&D Dungeon we had somewhat mixed success getting a random selection of Android devices to work fully; all of the ones tried could at least open the serial monitor and read what a pre-programmed ESP was saying, but not all of them could successfully program a board.
Even on the devices where programming worked, it was slow. Just a basic LED blinking Sketch took long enough to write to our test Wemos D1 Mini that we contemplated getting a snack. But still, it shows a lot of promise for managing devices in the field, especially if you don’t have over the air update enabled in your code.
We especially liked that ESP8266 Loader helpfully downloaded a bunch of example binaries, many of which could be of practical use. There are programs for toggling the different GPIO pins on the board, creating Wi-Fi access points, and even a basic web server. With these in hand, you could actually do some testing and diagnostic work right from your mobile device.
This isn’t the first time we’ve seen an ESP8266 team up with a mobile device, but generally speaking, the magic is done over WiFi or Bluetooth.
[Jason Gin] recently wrote in to tell us about his adventures replacing the eMMC storage chip on a cheap Windows tablet, and we have to say, it’s an impressive amount of work for a device which apparently only cost him $15. Surely much better pieces of hardware have been tossed in the trash for less serious failures than what ailed his DigiLand DL801W tablet. We’d love to see the lengths this guy would go to restore something a bit higher up the food chain.
As any good hacker knows, you can’t fix the problem until you understand it. So the first step [Jason] took was to conduct some troubleshooting. The tablet would only boot to the EFI shell, which didn’t do him much good since there was no on-screen keyboard to interact with it. But he had the idea of trying to connect a USB keyboard via an OTG adapter, and sure enough that got him in. Once he was able to enter commands into the EFI shell, he attempted to read from a few different sectors of the eMMC drive, only to get the same nonsense repeating data. So far, not looking good.
But before he fully committed to replacing the eMMC drive, he wanted a second opinion. Using the same USB OTG adapter, he was able to boot the tablet into a Windows 10 environment, and from there got access to some drive diagnostic tools. The software reported that not only was the drive reporting to be half the appropriate size, but that writing to the chip was impossible.
With the fate of the tablet’s Foresee NCEMBS99-16G eMMC chip now confirmed, [Jason] decided it was time to operate. After pulling the tablet apart and masking off the PCB with Kapton tape to protect it from the heat, he slowly went in with his hot air rework station to remove the failed chip. But rather than put another low-end chip in its place, he used this opportunity to replace it with a Samsung KLMBG4GEND-B031. Not only does this chip have twice the capacity of the original, it should be noticeably faster.
With the new Samsung eMMC chip installed, [Jason] put the tablet back together and was able to successfully install Windows 10 onto it. Another piece of tech saved from the big landfill in the sky.
If the casual confidence of this particular repair wasn’t enough of a clue, this isn’t the first time he’s showed some unruly eMMC chips who’s boss.
Every hacker has a USB thumb drive on their keyring, filled with backup files and a way to boot up a broken computer. One feature that most are missing though is USB On The Go (OTG) support, which allows a USB device to act as a USB host, connecting to devices like cell phones and tablets.
That can be added with the addition of a USB OTG adapter, though, and [usbdevice] has produced a nice how-to on soldering one of these permanently into a USB thumb drive to create a more flexible device. It’s a simple solder-something-on-something-else hack, but it could be handy.
There are a few caveats, though: it needs a USB thumb drive with solderable headers, which most of the smallest drives that have connectors right on the PCB won’t have. Most of the larger drives will have these, though, and they are cheap, so finding a suitable victim isn’t hard.
USB On-The-Go (OTG) is one of the fun aspects of the USB standard. There are feelings about the other aspects, but that one is alright. Regardless, [Francesco] realized one day that the £3 digital picture frames he purchased at a charity sale really didn’t care if the files on the thumb drive mysteriously changed all the time. It would just keep pulling and displaying the latest file at a blistering 0.2 frames per second. That’s right, the concept [Francesco] went after is to show changing data, even animations, with an update of one frame every five seconds!
His initial tests showed good for the concept — the Pi can easily emulate a mass storage device, feeding in data whenever the picture frame looks for it. In addition to the Pi Zero board he added an Ethernet shield, a voltage regulator, a camera, and even some infrared LEDS. We suppose there are dreams for the future.
He has been developing scripts for this rig by logging in through a VNC. A cron job runs his scripts at regular intervals, grabbing useful data and making it available as an image. For example, one script opens up the weather in Epiphany (a web browser), takes a screenshot, and saves that screenshot to the mass storage being emulated using USB OTG. The digital picture frame blissfully updates, unaware of its strange appendages. Now the real limiting factor is how much you can accomplish with your mad Bash skills.
The Raspberry Pi Zero – and the not-perpetually-out-of-stock Raspberry Pi A+ – only have one USB port, but behind that port is a lot of functionality. This is an OTG USB port, and just like the USB port on your smartphone, this little plug can become any kind of USB device. Transforming the Pi into a USB gadget allows it to be a serial connection, MIDI device, audio source or sink, or a USB mass storage device.
[Francesco] was especially interested in the USB mass storage capability of the Raspberry Pi Zero and built a small project to show off its capabilities. He turned a Pi Zero into the controller for a digital picture frame, constantly displaying all the image files on a small screen.
The build started with [Andrew Mulholland]’s guide for Pi Zero OTG modes, with just a few modifications. When the Pi is plugged into a PC, it automatically becomes a 100 Megabyte USB storage device. You don’t need that much space on a digital picture frame, anyway.
While setting up a digital picture frame is easy enough, there’s still a tremendous amount of untapped potential in using the Pi Zero as a USB gadget. With enough buttons, switches, and sensors, the Pi can become a wearable MIDI device, or with the Pi camera module, an IP webcam. Neat stuff, and we can’t wait to see what the community comes up with next.
You need to get an SPI bus on something right now, but you left your laptop at home. No problems, because you’ve got your Bus Pirate and cellphone in your pocket. And a USB OTG cable, because you’re going to need one of those. And some probes. And maybe a soldering iron for tacking magnet wire onto those really small traces. And maybe a good magnifying glass. And…
OK, our fantasy of stepping away from the party for a quick JTAG debugging session is absurd, but what’s not at all absurd is the idea of driving your Bus Pirate from a nice GUI app on your Android phone. [James Newton] wrote DroidScriptBusPirate so that he wouldn’t have to hassle with the Bus Pirate’s nested single-character menu system, and could easily save complete scripts to do common jobs from pleasant menus on his phone.
In fact, now that we think of it, we’re missing a Bus Pirate GUI for our desktop as well. Whenever we have complex tasks, we end up scripting something in Python, but there ought to be something more user-friendly. Anyone know of a good GUI solution?
[gbaman] has figured out a simpler way to program the new Raspberry Pi Zero over USB without modifying the board. Why is this useful? One example which appealed to us was setting the Zero’s USB port up as a mass storage device. Imagine plugging in your Pi powered robot, dragging and dropping a Python script into the mass storage device that shows up, and pressing a button on the robot to run the new script. Pretty fancy for $5.00.
You can get the PI to emulate a whole range of devices from a USB MIDI controller to a simple USB serial interface. We’re excited to see what uses people come up with. Unfortunately the Pi Zero is still out of stock most everywhere as we wait for the next production run to finish. Though if you’ve got one, why not check out a few of our thoughts and experiences with the device!
[gbaman] based his work off the work done by [Dave-0] and others over at the Raspberry Pi forums. [LadyAda] also has a version of this hack, which we covered, that involves soldering a header to the pi and using a UART adapter.
[via Hacker News]