If you get here from an old link go here for the frames version with a pull down menu

You can get these Omnima boards for the same price as a complete Edimax BR-6104K or Sweex LB000021
So no need to hack the board to get two working USB ports and gpio(1) and gpio(3) are wired to two orange LEDs - so 14 gpio ports can be used without cutting any CPU pins.
I cut pins to get a second RS232 port (ttyS1) but this is not essential since ttyS0 (connected to the 8 pin header) can be set so that no kernel process sends data to it after boot.

This router introduced me to embedded Linux
My Sweex is still running (Oct 2012)
- but many more powerful options are now available
See the home page!


The Bifferboard
only 1 Watt power consumption and really tiny
Intel 486SX compatible and it will
run Linux on a USB memory stick.
It now allows the connection of a webcam, audio,
and i2c for external device control
home site here - - - chat here
my own project notes are here


I have now managed to get a Bifferboard to host a website serving High Definition pictures from a Logitech QuickCam Pro 9000 Webcam

Some of my project notes and a picture here

The latest "distros" (14th Oct 07- see item 2 above) seem fairly stable and does everything listed below - ignore my others!
Over 100 people a day come to this site and load about 200 pages.
All the downloads have been tested by visitors!

10 June 2011
NB my Sweex on my kitchen wall runs many small scripts and has run for years
I force it to reboot every night using cron at 10.30pm - otherwise cron seems to die at random times

The Feb 2006 Elektor Magazine introduced me to the Sweex LB000021 Broadband Router .
They can be purchased cheaply from several sites
It is identical to the Edimax
BR-6104K router for £15.

Sweex/Edimax routers that require the USB modification


Edimax BR-6104KP Router - includes the working USB ports
NEW UK low cost source of the board used in the
BR-6104KP - go here

The board has 5 Ethernet ports, 2 USB ports (if you can solder), 2 serial ports (both can be wired but only one easily), 11/13 LEDS, Flash RAM etc. It runs Linux - so clever people have learned to reprogram the firmware.

I guess there must be other Elektor readers (like me) who enjoy building hardware projects and are also keen to
1) use the firmwares the experts have built to drive external circuits and
2) learn embedded Linux, scripting and c coding within the router

The Central Processor is an ADM5120 "system on a chip" details here- the manual says
"ADM5120 is a high performance, highly integrated, and highly flexible SOC (System-On-Chip) that facilitates the functionalities of SOHO/SME Gateway, NAT Router, Print Server, WLAN Access Point and VPN Gateway. ADM5120 enables the sharing of IP-based broadband services throughout the home/office using wired/wireless computers, entertainment equipment, printers, and other intelligent devices. Internally, the ADM5120 ASIC consists of a high performance (227 MIPS) embedded MIPS CPU, an embedded switch engine, 10/100M PHY, an embedded PCI bridge, an embedded USB host, and interfaces for UART, SDRAM and Flash."

The board used is sold in many products under many brand names details are here
The Elektor article is based on a project of J Domburg.
The current software uses Kamikaze by Midge to whom very many thanks - (and you can also use that link to donate to Midge)
The idea is to -
1) add a USB storage device to the Sweex router
2) load firmware into the Sweex to make it boot from the USB device
3) then use the huge space available to run extra programs and control external hardware from anywhere in the world.

The specification - The Internet Connected Hardware Controller

Features now available

1) The Sweex/Edimax router can boot from files on a USB memory stick (following the model of the J Domburg project of Feb 2006).

2) Web pages hosted on the USB memory stick on the Sweex server are visible to a remote user with a browser.

3) When the remote user clicks on a link on one of the web pages the Sweex sends out a string of characters stored in the web page or an associated file to one of two serial ports. Or 19 gpio lines can be switched high or low.

4) The web pages, text files or other scripts on the USB memory stick can be easily changed by the user with the aid of a PC without the need to modify the firmware on the Sweex itself.

5) A microprocessor attached to the serial port can use a data string to control a real world device such as a model servo motor, relay etc.

6) The web page can display data received from the either of the two serial ports or any of the 19 gpio LED lines.

7) 19 lines can be used as data outputs or inputs- 12 of these are easy to connect to. 7 more can be connected by cutting CPU pins (not too difficult!).

8) You can drive a standard LCD display from the LED lines.

9) As well as the standard Telnet remote control you can transfer files between the Sweex and a PC using Samba or FTP and wget. Use a powerful colour coded text editor on a PC to edit files on a remote live router.

10) As well as C programs (you can compile short ones on the router directly) and Linux bash scripts you can run the powerful Basic language "Blassic" on the Sweex - no need then to compile externally - modify live router files on your remote PC.

11) Drive an i2c data bus - or several at once.

12) Run PHP scripting applications.

13) Play 8bit WAVE sound files using one LED line (pulse width modulation) or make it play tones - see menu 17


- Can you help with these?

14) Control devices connected to the second USB port or USB hub. (See the new Squidge distro - then tell me how to run it!)

15) Offer video (Webcam) and sound services on the second USB port.

16) Fix the getty problem - change baud rate after compile

The board offers a low cost system requiring just a few watts that can hold an internet connected web site that interacts with real world electronic hardware projects.

My own interest is to use the device as a web enabled remote control and monitor box.
I use a PC at present to control devices round the home while I am away. The remote web page causes a DOS batch file to run in the cgi-bin of an Xitami server on a Pentium PC.The batch file calls a Visual Basic program that then controls devices via the parallel port. The trouble is - the PC takes lots of power and crashes now and then and I reckon I should be able to run the functions in Linux on the Sweex and with very little power

You can run a tool chain on VMWare and format USB sticks into ext2 from within the VMWare environment (See menu item 16) - no need for a Linux PC now.

The experts in Embedded Linux interested in this platform may be found here :-

Top site!

but also see -

PIC microprocessor and Sweex/Edimax router tutorials - http://picinternetprojects.247n.com/

For more links and a good photo of the Edimax board also see this Wiki

If you are interested in using the router to control external hardware and are perhaps not yet expert in Linux then please email me with your ideas and, with your permission, I will add your contribution (or a link to your website) here.

Also email me if you manage to build interesting router embedded web pages to control the connected devices. We can develop the functionality by adding C/basic/html/bash files to the memory stick WITHOUT recompiling the kernel each time.
And your upgrade survives a power reset.

If you have developed firmware that meets any of the requirements PLEASE be generous and send a copy to me (please do not assume that others can repeat the process of building and using a tool chain!).
This will make your work available to those who are USERS rather than DEVELOPERS

If you are Internet connected -(can you ping www.google.co.uk ?)
In a Telnet session type date
If the time is wrong change the number in /etc/TZ - (just experiment!)

Got a problem getting started? - read these first!

NB! - I suggest you skip the historic versions below if you are keen to test the working "Distro" and control your hardware project from any web browser. The latest and most tested version is at pull down menu item 2 above

A history of the development

The J Domburg firmware publicised by Elektor Magazine uses my 1Gig Attache USB stick. Software on the memory stick contains a web page and I can see it from my LAN.

The Elektor article explains how to wire up the second USB port. The article did not say that the first USB port also needs at least the 15K Ohm resistors between the USB CPU lines and earth for the J Domburg software to not go into a loop but to settle and offer a command prompt after booting up.

You can then use a terminal attached to the serial port (HyperTerminal on a PC is best) to load new firmware and monitor the system.

Also you can telnet to the Sweex running the J Domberg or Midge Kamikaze firmware.
Using the Domberg firmware I see the router's webpage at on my local LAN because my network's DHCP server gave the Sweex that local net address at boot time. In Explorer I can type telnet:// and it starts HyperTerminal in a telnet session. Use root to log in and no password (just hit return).
In my current version (see below) running Midge Kamikaze I use a fixed LAN web address for the router and the 5 ports of the router act as a standard ethernet hub.
Use root to log in and midge as password.

An anonymous email contact of mine (to whom many thanks) has created two sets of files for the USB stick that allow serial port control from a web page hosted on the Sweex
To send strings to the first RS232 port using the original Domburg firmware go here
(but you may find "terminal chatter" created by the router is a problem in this old version - go to menu item 2!)

To send strings to the second RS232 port using Midge firmware and new USB stick file structure go here
(no "terminal chatter" on ttyS1- much better!) but you must cut the CPU pins (NO PROBLEM!!)

To set up your own tool chain on your Linux PC and write C programs for the Sweex look here

To use the four General Purpose Input Output pins (2 are wired, 2 must be cut at the CPU) look here

To control all of the 15 Sweex Ethernet Status LEDs (10 wired - 5 need to be cut at the CPU) and control the 4 GPIO lines independently here

Some pictures of my hardware modifications
- by bifferos here
You CAN connect to the second serial port
by me (Sunspot) here
- by Fred Jan Kraan here

Control a panoramic receiver here

The MAX232 RS232 circuits
are as published in
the references above.

I now use a MAX 3232
(it runs on 3.3 volts)

New to Linux? Not yet bought a Sweex? Please try this "Sweex/Edimax Router as a Web Server and External Hardware Controller SIMULATOR"
to experiment with real Linux feeding COM1 on your Linux PC - click here

Please email me if this interests you - especially if you can offer firmware or hardware help.
I will write up anything I learn for the benefit of others trying to get started.
I will include your projects or links to them on these pages - all projects are open to others to use and extend

(I write up my notes here because I find that after a week or two I forget what I did and this server is more secure than my PC hard disk!
- I also benefit greatly from contacts who find this site via Google etc and who email me with ideas.)


Reset 29/08/06 - -

The content of this web site is provided in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.