IpSonComPact UserManual version 1.2 (13-04-2007)
| Building the IpSonCompact | [ explanation how to build the Printed Circuit Board] |
| Testing the IpSonComPact | [ connecting the power and checking if it works] |
| Connecting the IpSonCompact to the net | [ what to configure?] |
| Configuring the IpSonCompact (web browser) | [ how to configure with a web browser] |
| Configuring the IpSonCompact (telnet) | [ how to configure with telnet] |
| IpSonCompact connections | [ how to connect the in's and out's] |
| Max/Msp patch examples | [ osc data format within Max/Msp; patches explained] |
| IpSonCompact Photo page | [ slide show show of the building proces] |
| Download this manual in PDF format |
Building the IpSonComPact (back to the top)
The IpSonComPact is a very easy to build device. The package consists of the PCB (Printed Circuit Board), the components and the processor itself. Just follow the right order and place the components on the right place on the PCB. Be aware of the polarity of some components. If you are NOT sure the component is in the right place, do NOT solder, but first check (ask) again. It's a very nasty job to remove
soldered components! |
![]() |
| Resistors: | |
| R1 | 0 Ohm |
| R2 | 220 Ohm |
| R5 | 27 kOhm |
| R6 | 27 kOhm |
| RN1 | Resistor array; sil9; 100k (BE AWARE of PIN 1! .. black dot) |
| RN2 | Resistor array; sil6; 100k (BE AWARE of PIN 1! .. black dot) |
| RN3 | Resistor array; sil5; 100k (BE AWARE of PIN 1! .. black dot) |
| Semiconductors: | |
| IC1 | IC socket 40 pins PIC18F4420 |
| IC2 | 7805 (mounted on the ALU heatsink underneath the board) (check the photo's) |
| IC3 | LF33 (mounted on the ALU heatsink underneath the board) (check the photo's) |
| D1 | 1N4001 |
| Capacitors: | ||
| C1, C2 | 33pF | |
| C3 | 470uF / 16V** | Polarity! |
| C4, C7, C8, C9, C14 | 100nF | |
| C5, C6, C10, C11 | 2u2F | Polarity! |
| C13 | 10uF | Polarity! |
| Miscellaneous: | ||
| Q1 | Crystal 7,3728 MHz | |
| DC1 | Dc adapter pcb mount | |
| SV1-SV11 | female headers | |
| JP1 | jumper (0E) | |
| sw | Reset switch mcdtsa6 | |
| LED | red/yellow/green | connect with the long leg facing the dc adapter |
![]() |
Check the photo page for some visual feedback on how to build the IpSonCompact. |
Testing the IpSonCompact (back to the top)
| When all components are on the right spot (check the directions, the polarity), you can connect the power for the first time. I'll advise you to do this check without the processor in place. Connect the power with an adapter set to 9V-12V, with the plus in the middle. Take a look at the figure below. |
![]() |
| On the left side of the board, the 12-9V DC is connected to the PCB (+ in the middle!). You can measure the values +3.3V and +5V with a multimeter on the upperside of the board. When the values are not as written below, turn off the power and check the connections. If the values are ok, turn off the power and insert the processor (IC1). Be aware of pin 1. Turn on the power again. Your IpSonCompact is ready to go! |
Connecting the IpSonCompact to the net (back to the top)
| When connecting the IpSonCompact to the net for the first time, there are some configurations to be made before your computer and the IpSonCompact can exchange highspeed data. The onboard server (xport) can be configured with a normal web browser or with telnet (terminal software). What is there to be configured? The IpSonCompact needs to know which IP-address the remote computer (=the IP-address of your computer) has and which port on that IP-address will be available. As soon as this has been configured, the IpSonCompact can exchange data with the remote computer (is your computer). At the Electronical Workshop of the Royal Conservatory, we already initialized the IpSonCompact, so it has a default IP-address and a default local port. The ip-address of the IpSonLab is written on the PCB (Printed Circuit Board). The local port will be 10001. |
| Configuring the IpSonCompact (xport) with a Web browser (back to the top) |
There
are two ways to connect the IpSonLab to your computer: Screendumps:
|
|
|
![]() |
![]() |
Configuring the IpSonCompact with telnet (back to the top)
| Telnet example (screenshot): | Explanation: |
![]() |
Configure
the IpSonCompact with telnet: (port 9999 only!) Select an option on the
menu by entering the number of the option in the Your |
|
IpSonCompact connections (back to the top)
![]() |
In the figure left you can checkout the location of the inputs and outputs. As shown in the figure, the IpSonCompact has 13 analog- (0-12) and 4 digital inputs and 14 outputs. The ICPS input is used to program the processor while it is 'in-circuit' This is not a feature for the user; only for the developer. All inputs and outputs do have the same configuration: 3 connections consisting of +5V, sensor in (or out) and ground (0V). In case of connecting active sensors, the polarity should be checked carefully. |
| . |
![]() |
To drive external processes (e.a. 64 relays, 16 12 bit da convertors, 8 x dc engines, steppermotors, servo's) these connections can be used. Unlike the IpSonLab, the IpSonCompact doesn't have a second processor onboard, but makes it possible to connect as much processors you want, all connected to the same Xport. |
Max/Msp patch explained (back to the top)
Now
your IpSonCompact is connected to your computer and able to exchange data, you can
start with Max/Msp (or any other software that can exchange Open Sound Control
packages, ea SuperCollider). Within Max/Msp you can read the data from, and send data to
the IpSonlab with the ‘udp-read’ and udp-write objects for PC and ‘otudp read’ and ‘otudp write’
objects for Macintosh. For further
information about these objects I refer to this website: http://www.cnmat.berkeley.edu/OpenSoundControl/Max
Max/Msp
is receiving: |
| An example of the "unstuff" patch (written by Johan van Kreij): | ||
![]() |
In this case the unstuffing is actually bit-shifting (place the bits in the right position). Incoming data (osc integer) is been triggered four times (t i i i i). The outputs are bitshifted. The outlets generate four independent 8 bit numbers. | |
![]() |
For sending 10bits data, the 32 bit OSC string is devided into two times 16 bit. Incoming data is been triggerd twice (t i i). The MSB is shifted 16 positions to the right. Anding (&) with 1023 generates a nice 10 bits number. |
| Max/Msp is sending: |
![]() |
When
data is send from Max/Msp to the IpsonCompact, the
same process takes place, only inverted. An example of the stuff_4_1 patch:For sending OSC data to the IpSonCompact (the configuration string for example) the data also has to be 'stuffed or packed. For sending 8 bits information, this has to be done like the sample patch on the left. Icoming values are first shifted into the right position and then put togehter (bondo) into the expression that's logical AND's the for numbers into on 32 bit integer. |