Skip to main content

FLL EV3 Robot

This blog post is about our current EV3 robot we're planning to use in the 2023/2024 FLL competition. Some features: 2 large motors for steering. 2 medium motors for attachments.  2 colour sensors for picking up the white and black lines, also used for line squaring. 1 gyro sensor. To enable attachments to be changed as quickly as possible we're using gravity to keep the gears connected, i.e. you don't need to fasten anything to the robot. Every attachment has 2x 12 tooth double bevel gear (part 32270) which comes in contact with the 2x 20 tooth double bevel gears (part 32269) on the robot. The medium motors are horizontally aligned on the robots, but we use 12 tooth double bevel gears to convert that to vertical alignments. These in turn are connected to 20 tooth double bevel gears, and the attachments in turn connect to these 20 tooth double bevel gears with their 12 tooth double bevel gears.  The complete robot is modelled in Bricklink Studio 2 . You can download the rob

Linksys WRT54GL wifi access point with Power over Ethernet (POE)

To add another wifi access point to my existing network I've used an old Linksys WRT54GL. I've installed OpenWRT 10.03.1 because later versions doesn't fit on the 4MB flash.

First this router should only act as an access point on the existing network, i.e. we don't need any NAT or a new network subnet with it's own DHCP server set up. We'll connect this router via an ethernet cable to the existing network. Because we don't need a WAN port we can first set up the switch that all ports all equal. Then secondly we can simply bridge our ethernet ports to the LAN interface. Your etc/config/network should have these sections:

config 'switch' 'eth0'
        option 'enable' '1'

config 'switch_vlan' 'eth0_0'
        option 'device' 'eth0'
        option 'vlan' '0'
        option 'ports' '0 1 2 3 4 5'

config 'interface' 'lan'
        option 'type' 'bridge'
        option 'ifname' 'eth0.0'

        option 'proto' 'dhcp'

After this restart the router and connect it to your network. The router should get an IP address on the local network (check your main router for the details). You can now SSH into the Linksys using this IP address.

Now set up the wifi interface and you should be good to go. All clients connected to this access point (either by wifi or ethernet port) will now simply be bridged to the main router, so the main router's DHCP server should give your clients an IP address.

The second issue was power. I'm placing this access point in the my roof with no power plugs nearby. The best solution for me was to use passive power over ethernet (POE). Passive means we'll simply take 4 of the 8 wires in the ethernet cable for power and the remaining 4 for data, implying data will be limited to 100Mbps but that's not a problem since my network is anyway only running on 100Mbps.

The best solution is to use POE injects and splitters. Search for "Power Over Ethernet Passive POE Injector And Splitter" on e-bay: you can get a pair for under 2 USD. The injector has a RJ45 plug which should go into the router and a DC jack where you can plug in the power supply. Both are combined to an RJ45 socket - this is where the network cable should go into. On the other end you use the splitter on the incoming network cable to give you an RJ45 plug for the data and a DC socket for the power.

In case of the Linksys WRT54GL you can simply use the power as-is on the other end if the length of the network cable is not too long. In my case a length of 10m works fine. But note that the ethernet cable has a resistance which will cause a voltage drop, meaning the 12V at the input might be 8V by the time it reaches the router (under load). A better solution is to use a higher voltage at the input (let's say 24V) and use a DC-DC converter at the other side to convert it to the voltage you need. With a higher voltage there will be a lower current, implying your losses will be less. I'm planning to use this approach for getting power to a Raspberry Pi using POE - but that's for another day. For now the Linksys is stable enough to work on a lower voltage as 12V.

Comments

Popular posts from this blog

Installing Lego Digital Designer (LDD) on Windows 10

If you're using Windows 10 18.09 or later and try to install Lego Digital Designer (LDD) 4.3.11 you'll probably get an installation error for Adobe Flash Player. However, there is an easy way around it: Download the installation file for LDD 4.3.11. Rename the .exe file to .zip. If you don't see the .exe extension in Explorer, go to "View - Options" on the Explorer menu, then under the "View" tab deselect the "Hide extensions for known file types". Open the zip file with Windows Explorer. Copy all files in the zip to another directory on your computer. In the new folder: Delete install_flash_player_active_x.exe. Copy OpenGLChecker.exe and rename it to install_flash_player_active_x.exe. Run LDDSetup.exe. In short the installer will execute install_flash_player_active_x.exe during the installation process, but all it does now is to execute the same logic as what OpenGLChecker does. In theory you can run any .exe that will not retu

OpenWRT 3G connection checker & logger

A 3G connection is normally not very stable - so we need something to periodically check it & reconnect when needed. I also wanted a summary email at the end of each day with the total traffic per client. I'm using the following settings/scripts: Edit /etc/crontabs/root (create if not existing): # send stats & disconnect 3G at 23:00 everyday. # check the connection every 5 minutes between 5:00 and 23:00 and reconnect if needed # reboot at 5:00 if /tmp/stats.msg doesn't exist - will be sent in checkconnect */5 5-22 * * * /usr/bin/checkconnection 0 5 * * * if [ ! -s /tmp/stats.msg ]; then reboot ; fi 0 23 * * * /usr/bin/sendstats && ifdown wan The first line will run /usr/bin/checkconnection every 5 minutes between 5:00 and 22:59. Then at 23:00 the  day's statistics will be emailed and the 3G connection disconnected. The next morning at 5:00 it first checks if the email was sucessfully sent at 23:00, if so it will reboot the router (seems to be m

Windows Hyper-V Server 2019

This post will explain how to use the free Hyper-V Windows 2019 Server version. This version doesn't come with any GUI interface as provided in the full Windows 2019 Server version. Instead it comes with a character interface, but with the help of some third party tools you can easily get a fully functional Hyper-V server for free. The following will be assumed: You have a dedicated server connected to a network and you want to install Hyper-V 2019 on this server to run Virtual Machines and/or act as a file server. You have physical access to this server to do the installation. You have another machine connected to the same network to do remote management, running a recent version of Microsoft Windows. You don't want to join a domain or use Active Directory. You can do this if you want to, but this is not included in this post. First you'll need to download the Hyper-V 2019 ISO from  https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2019 . You’ll