Another quick hack...
Saturday afternoon - started to implement a chip driver for the ENC28J60 and basic IPv4 stuff. Sunday evening, ICMP (ping) and ARP worked fine, and even if the job used up most of the time yesterday and today (Tuesday), i had a working simple TCP socket this morning.
This evening, it took about 2 hours to hack together UDP support and some simple OSC message parsing.
So all in all - IP and OSC are really simple to implement, all this should also be no problem with an AVR MCU, and if i optimize memory usage, even a small ATmega168 or so might do the job. Everything is coded in C++ and with all the display stuff with graphics routines and lots more of garbage in the firmware, i currently get about 37KB code size on the ARM7TDMI used in this setup.
Imagine what's possible. Sure, OSC-MIDI is easy going. But how about controlling your home using the iPhone? Turning on and off the lights, studio gear, anything. I think, i will soon throw away the remote controlled power outlets and make a 19" 1U rackmount unit with some OSC features to control power of my gear.
Maybe the MonoMiK even gets more than MIDI. USB is quite sure, Ethernet would be also interesting now. A true analog synth with Ethernet? Why not? :)
Sorry for the blurred overall image, my camera can't re-focus during video and i set the focus for the details.
Nice job, what LCD and encoders are you using in your controller board?
666voltz 10 months ago
@666voltz A T6963 based 240x64 graphics LCD and Panasonic EVEQDBRL416B
MusicMiK 10 months ago
@MusicMiK Thanks for that info. I'm thinking of building something similar to your controller to aid prototyping of synths and other projects. I have a KS107 based LCD so Ill probably used that, for some reason I thought you were using a character LCD that is why I was interested... The encoders look nice, a pity they cost so much, €6.69 from digi-key (can't find anywhere else cheaper that will post to Ireland). How are you interfacing the encoders to the MCU directly or ?
666voltz 10 months ago
@666voltz You can get the encoders for 0.75€ from Pollin. I didn't get them for any special reason but the price :) You can't attach a real knob, looks like they are for the automotive area and get an extra large knob. But for this development board, they are nice as they are. The display is also from Pollin, but they no longer have it. Was about 10€.
The encoders are interfaced sort of memory mapped, using a 74138 and 74245, i built up an external bus via GPIO, 8D/32A, attached to the SPI.
MusicMiK 10 months ago
@MusicMiK Thats a huge difference in price for the encoders. Memory mapping is a good idea, although I can't figure how you managed route this through the SPI, never-mind though I have a couple of MCP23009 (I2C IO Expanders) so I will probably use these for interfacing... Thanks again for the info.
666voltz 10 months ago
@666voltz It's not mapped within the ARM memory region, just within my "virtual" memory area represented by this interface. Not pretty, as it was parallel before, but i needed the I/O, so added a 74HCT299 to the rest (74HCT573, 245, some gates to control everything). But you don't need this for encoders and a display, i just built it for general purpose :) But SPI DMA is fine for encoders if you don't want to multiplex them - just use a bunch of 74165s or other shifters. 8 encodes = 2/3 chips.
MusicMiK 10 months ago