New to the Onion Omega



  • I am a new user to the Onion Omega and it seems to be a pretty decent device once you get past the setup hiccups and problems.

    Biggest issue I had was not being able to upgrade the device. I had to login via SSH then run the following command

    opkg remove dnsmasq
    

    rebooted the device and logged back in via ssh and ran the following command

    vim /etc/resolv.conf
    

    added 2 lines

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    

    and then oupgrade would run properly. I am not sure how to make those changes persistent as they seem to have reverted back to what is was even tho no upgrade was done because it said I was running the latest version. I am not sure why the DNS servers provided by DHCP are not used but they aren't.

    On another note. I have been using ESP8266/ESP32 modules for several years now using MicroPython. I have written a large number of modules to control or collect data from an assortment of different ICs . some examples include PCA9685 16 channel PWM interface, MPU9250 (9 DOF) (with fusion algorithms), SK6812 RGBW addressable LEDs, Sparkfun OLED HUD, PCF8574AN 8bit IO expander, MCP2515 CAN interface, Vector CANdb++ CAN decoder/encoder, CAN interface timing register generator for 20 different CAN IC's running at different clock speeds.

    Everything thus far is written in Python. I have to write a c extension module to handle SK6812 LEDs and I will probably use Cython to do that. I might do that with the CAN interface stuff as well due to the speed in which the network can run.

    Is there a central place where modules like the ones listed above can be placed making it easier for people to find them?? If there isn't it would be a great idea to set up something like that. I am aware of the github repository bit it doesn't appear to be used very much. Maybe adding it to the github repository should be considered. pip is able to install directly from github and someone wanting to contribute doesn't have to go through the process of adding a library to the python package index at all.

    Another nice feature would to create stub files (.pyi) files for the c extensions that are already made. makes using an IDE a whole lot easier.

    I do have a question. is it normal for the Omega2+ to be at 105°F just sitting idle and not doing anything?? that seems to be pretty hot considering it's maximum is 131°F.



  • @kgschlosser Welcome to the community.

    /etc/resolv.conf is rewritten by the dhcp client when your network dhcp server provides the lease. If you set a static ip you can also set the DNS in /etc/config/network

    Perhaps you can see something in the logs that may help, try logread | grep dhcp

    For controlling LEDs take a look at "ledchain" by @luz it makes controlling LEDs so easy.
    https://github.com/plan44/plan44-feed/tree/master/p44-ledchain

    The temperature of the device will vary depending on its load, so if you're running a lot of stuff it will get warmer but typically my devices at rest will be around 35-39° C which is about 95-102°F, so your experience is not unusual.

    If you want to add stuff to the Onion Omega packages post the details in the Projects section here and members will be able to see it.



  • I did not realize that the maximum operating temperature was so low on these devices. Unfortunately they are not going to operate in the environment I need them to. I do not believe I will be able to get the temperatures low enough even if using a fan and a heat sink on it. The other issue is the possible timing problems with running addressable LEDs. I need a device that is going to have to handle some complex floating point math for roll and pitch, interfacing with a CAN network sending and receiving, moving servos, reading pins for input state to turn on and off different relays.



  • @kgschlosser I can't do anything about the operating temperature requirements, but ledchain deals with the timing variations of the different variants of addressable LEDs.

    if it helps, I have some Omega2S+ in waterproof enclosures out in the hot Aussie sun, no heat sinks used. I've not had any of them fail due to heat, it's usually the enclosure leaks and they don't enjoy being submersed in water.



  • guess the enclosures aren't waterproof after all LOL. Made in China?

    I have a 2008 Pontiac Solstice that I have been doing a lot of work to. I have been adding technology to the car that is seen in new vehicles. The project I am working on now is upgrading the exterior lighting on the car. The car originally had a single bulb reflector halogen headlamps. They didn't do a fantastic job at lighting up the roadway and where I live there isn't much in the way of light pollution so when there is no moon you can't see 2" away. It's dark. I live at 8500 foot elevation in Colorado. 25 minute drive to get to the closest gas station. Lots of animals around.

    So what I did is convert the headlamps to HIDs with projectors. I put 2 projectors in each headlamp. one is for low and high beam while the second is high beam only. The projectors move left and right depending on the steering angle and they also keep a horizon lock so any sharp change in pitch of the vehicle will cause the lamps to move up or down. the lamps also move up the faster the vehicle is going.

    We have >100°F days here sometimes and the inside of the headlamp housings when sitting in direct sunlight would eclipse 150°F. The LEDs are the turn signals and daytime running lights so the processor would need to be running any time the car is running. I originally designed everything around using an ESP32 WROVER processor running MicroPython but my concern is enough muscle to handle the workload. The fusion math is pretty intensive stuff to calculate the roll and pitch of the vehicle. It is also all floating point math that take up a large amount of memory. The WROVER has 8mb of RAM but MicroPython is only able to access 4mb of it. I was hoping the Onion Omega2+ would fit the bill but the max operating temp of 55°C is not going to cut it. I also wasn't sure how much of an overhead there was going to be for running Linux on it. It takes quite a while to boot up. I am sure I could get it to boot a whole lot faster by trimming some of the fat from the boot process but the temperature thing is an issue. The way the wording is for the specs using the word "Ambient" to describe the maximum operating temperature is misleading. It makes me think that would be the maximum temperature the environment could be for the processor to run not the max temperature of the processor it's self. I can get the inside of the housing cooled down by using a fan but I will not be able to get it lower then 120 or so on a 100° day. With the processor having a 30° delta-t rise when sitting idle there is in no way I would be able to get the temperature down low enough to run it.

    I really did like the idea of running a full blown version of Python but because of the tight timing specs needed to run the LEDs I am pretty sure with the workload I would be putting on it would cause problems with lighting them properly as I need to have a high frame rate. I am able to work around the timing constraints using MicroPython because I am able to run the python code for the LEDs as native machine code which is an enormous speed boost.

    Downside of MicroPython is the lack of threading support. There is no event handler so stalling a thread and not have it spin its wheels requires using a complex setup of thread locks and the process of acquiring and releasing the locks is expensive.

    If the maximum operating temperature was 125°C the applications it could be used for in the automotive sector alone would be endless. It's got enough processing power and memory and has most of the communications hardware needed. internal CAN support would be really nice to have. The price point is great too. The boot time would have to be improved upon but that wouldn't be that hard to do. The ESP32 made it half way with CAN support as it has a CAN interface built into it. It doesn't have the transceiver built in so an additional IC is required but it is simple enough and cheap enough to add that IC.

    This is what the prototype looks like. I am having circuit boards manufactured and I should have delivery of them in a few weeks. I already have all of the components that go on the boards. This is a hard wired setup for testing so you have to excuse the appearance of it as the final version will be much much cleaner.

    IMG_20210804_185228.jpg

    IMG_20210804_185421.jpg

    by using a 4 layer PCB I am able to fit everything onto a 3" x 3.75" PCB and the majority of the wiring will no longer be needed.



  • @kgschlosser Not sure where they are made to be honest, they tend to warp just a tad which breaks the seal. Te hot Aussie sun can be punishing.

    That looks like a fun project, I couldn't see where the rocket launcher is going to be located 🙂


Log in to reply
 

Looks like your connection to Community was lost, please wait while we try to reconnect.