VoIP32 Progress
by Ben on Jul.16, 2010, under Projects, VoIP Server
Over the last couple of weeks, I’ve spent some time working on the TCP/IP stack used by VoIP32 to handle all its network connections. It only recently gained the ability to properly manage a relatively large number of concurrent connections, limited by available RAM. The firmware is currently set to allow 10 simultaneous connections. The PIC32MX340F512H has 32kB of RAM, which should be enough to support some 25 simultaneous clients. The ~380kBps of available bandwidth is shared among all connections.
The total available bandwidth is a bit lower than expected, but is still nearly 60% higher than the available bandwidth on VoIP8. As I write this, I am downloading a file from VoIP32 at a sustained rate of 375kB/s. When compared with large commercial Web servers, this isn’t impressive at all; however, we must keep in mind that this server is running on an 80MHz processor with limited RAM instead of a quad-core Intel chip with gigabytes of memory.
Other tweaks added recently (but not yet fully debugged) are case corrections in filenames to support non-standard Microsoft extensions (this mostly works) and automatic TCP packet retransmission (this still needs some work).
The next steps planned are to start working on a Telnet UI for administrative purposes, a pushbutton-and-LCD-based local UI, and possibly integration with services like Pandora and Twitter.
Other things that I would eventually like to add include a bootloader for remote programming, a Unix-like Telnet or SSH interface, and the ability to execute small programs from the SD card.
End of the school year, and some news
by Ben on May.15, 2010, under Misc, Projects, Site News, VoIP Server
First, let’s congratulate George. He has graduated from Purdue University as of this morning, so he is now qualified to go forth to solve the world’s engineering problems. Congrats, George!
With the end of the school year comes moving to new places, and as such, the 8-bit Web server has come out of storage. What’s different than last time is that it now has the LED array hooked up and playing the messages that Internet users send to it. To give it a try (and send stuff to the LED array), simply visit http://benlaskowski.is-a-geek.net:8000/.
As I will have a little more free time this summer, I intend to get the 32-bit VoIP board up and running. I have so far made it send dummy ARP packets over the network correctly. Complete implementations of TCP/IP and the like are a long way off, but hopefully everything will come together this summer.
Edit: VoIP32 now supports ARP and ICMP. Yes, these are small steps, but it shows that different buffers work properly and that I actually can correctly compute checksums in software. In preliminary testing, the board can echo 1kB of ping data in one millisecond. Not too shabby…
NBitWonder Tutorial: PWM Operating Theory
by George on Mar.19, 2010, under Site News, Tutorials
Tuorial Number 2 was posted today, covering Pulse Width Modulation (PWM) operating theory and the differences between hardware and software implementations. Check it out here!
Website Updates
by George on Mar.15, 2010, under Misc, Site News
We’ve been hard at work here at NBitWonder the last few days implementing some updates to the site, and work will undoubtedly continue throughout the course of the week. While this work goes on, you may consider checking out the new ‘Resources’ tab, which links to all sorts of interesting sites to help quench your thirst for electronics and making things in general.
Browse Science Over the Ages
by George on Mar.04, 2010, under Misc
via adafruit
Here at NBitWonder we try to keep the blog focused on electronics projects, but this was just too good to pass up. Popsci writes:
VoIP32 Plays Audio
by Ben on Feb.18, 2010, under Projects, VoIP Server
The 32-bit VoIP board can, as of tonight, play media from a microSD card inserted into the onboard socket. This has the added bonus of demonstrating that the code segments for fragmented file handling, file name caching, SD card file searches, and cooperative multitasking all work as they should.
Right now, the handler for audio playback is the SD card filesystem reading layer. It’s specific to audio tasks, but a bit of rewriting should make it much more general so that every task needing SD card access will be able to use it.
This means it’s time to start working on the Ethernet capabilities of the server. This comes at a time when the semester is starting to pick up, so we’ll see how quickly this is accomplished.
CardPOV Progress
by George on Feb.16, 2010, under CardPOV, Projects, Uncategorized
It’s been a little while since I posted the state of the CardPOV project, but after some trials and tribulations version 1 of the CardPOV device is finished. I went ahead and laid out a board in Eagle for the device, creating a much improved POV.
32-bit VoIP Update
by Ben on Feb.16, 2010, under Projects, VoIP Server
I’ve spent a few hours (okay, okay, more like 20 hours) over the last two weeks working on implementing SD card support in MIPS assembler. As of approximately 15 minutes ago, the code successfully implements some subset of the SD SPI protocol as well as FAT32.
RGB Lightsaber Reliability Testing
by George on Jan.19, 2010, under Projects, RGB Lightsaber
The RGB Lightsaber prototype is nearing preparations for production. The board faithfully performs correctly under 4.5-5.5V, the voltage range one generally expects from 4 rechargeable NIMH batteries. Still, in order to verify that that claim is indeed the case, I performed a round of power tests today. The tests consisted of testing each of the single colors (red, green, and blue), followed by testing all of the 2 color combinations (red green, red blue, and blue green), and then a 3 color test (red green blue). A “test” consisted of turning up the selected color (or colors) all the way, and then leaving em on full bore for 10 minutes. In summary, the tests were very successful, the saber having passed all of them. Photos from the (continue reading…)

