How to get started on the UPSide project

The current state of play is: We have a high-level system design and a map of the behavior states. We have a capacity target (300W for 15 mins) and a peak-continuous-load spec (400W) We know we’re going to build a double-conversion design and we’re considering a couple of alternative topologies. We pretty much know the external-interface specs (some details may change).

I’m expecting both my prototype copy of the forebrain Unix SBC (an Olimex LIME2) and the interface contract for the high-power subsystem to land on my desk tomorrow.

Interest in this project continues to be huge. Another company wants in as of this morning. The volume of feature requests is high enough that I’m buckling under the editing load.

The rest of this post is instructions to potential contributors about how to get on board.

1, Get an ID on GitLab. Tell me what it is so I can add you to the project group.

2. If you have a feature request, please Don’t post it on this blog. Add it to the “General feature request thread” on the tracker.

3. Read the wiki. Read the tracker issues. I try to keep both pruned so the volume is not overwhelming. Read the Rejected Ideas page on the wiki, too.

4. Read the design documents in the project wiki. The important one is the transaction design; the I2C message inventory will change, but the basic state diagram probably won’t.

5. Participate in the design discussion. This takes place in tracker threads.

6. When we’re ready to breadboard a prototype, throw some parts money in the tip jar we don’t have yet. If you must contribute before then the PayPal blogbutton works fine.

7. Prototype builds will probably go down at PA Makerspace in Phoenixville, PA. If you are within driving distance and a competent electrics tech, consider joining us for a build.

8. Once we have a full design with a PC board and enclosure: if you have a shop facilities for it, try to replicate the build. We’ll know we have the build recipe debugged when other people can do it.

9. If your favorite hardware feature request doesn’t appear in the version 1 prototype, relax, We may think it’s a good idea but be holding off till v2 out of a desire to keep v1 simple and launch fast.

10. If your favorite software feature request doesn’t appear in the version 1 prototype, pitch in and make it happen. A Unix SBC is not a difficult programming environment – the OS on this one is a Debian port.

After step 10 and a couple of design iterations the future becomes less clear. maybe try to get it into volume manufacturing through a partnership with an established vendor.

43 thoughts on “How to get started on the UPSide project

  1. 3b. Read the closed issues for the detailed discussion of why certain decisions were made.

    Can you add me to the project? Or should that wait until the need for an SNMP daemon is closer?

    • >Can you add me to the project? Or should that wait until the need for an SNMP daemon is closer?

      You’re in. There are lots of good reasons for you to be in the design discussion. Including your training, apprentice. ;-)

  2. In case you’re not familiar with them, MacroFab is a great service that’ll fab and assemble PCBs for you at a reasonable price and with quick turnaround (10 days if you meet the basic-enough specs, which does include SMT-only assembly). Once you get to step past breadboarding (pretty easy when you’re dealing with power electronics), they’re worth a look.

  3. Could you add pgvoorhees? I’ve got expertise in electronics design, schematic capture and PCB layout.

  4. 300W for 15 mins? Is that a joke? That’ll keep your grandma’s 1950’s vibrator going, but not my server-class workstation…

    Any plans for a more ‘formidable’ UPS ? 750W? I know it’s quite an ask ;)

    • Is that 750 watts a “nameplate” rating, or an actually measured load?

      No snark intended, but modern devices aren’t as power-hungry as older ones, and there’s a serious knee upward in battery costs near 80WHr.

      There could be a possibility of a “v. 2.0” variant with more stored energy, at the appropriate price point.

      Edited to add: We would welcome you to join the project (per Eric’s instructions above) and add to the current open issue General feature request thread.

      • Other than the CPUs, it’s a ‘nameplate’ rating. The CPUs can run very hot, but can also dial back to much more conservative consumption levels.

        I really should get serious and measure the load over time/usage to fully understand what my ‘beast’ consumes.

        PS. you’ve already got enough indians…no need for me to clutter up the project ;)

    • >300W for 15 mins? Is that a joke? That’ll keep your grandma’s 1950’s vibrator going, but not my server-class workstation…

      Your hardware must be old. The Beast’s sustained draw is about 270W, and peak doesn’t crack 300W.

      • Note that the Beast isn’t running fullbore on GPUs, either.

        A high-powered [1080Ti, e.g.] GPU can run in the 200-300W range all by itself if you’re really using it – and people doing serious GPU computation might use several.

        Equally, Xeon Platinums can run 200 watts TDP per unit.

        (I have no idea if his “server-class workstation” is doing that sort of thing – more pointing out that while the Beast is a burly machine, it’s not the only kind of heavy computing people do.

        Whether it’s worthwhile to offer a SKU-equivalent for “serious computing user” is another matter, of course.

        I view UPS as more “prevent blownout or flicker failures, and allow for orderly shutdown if it’s out for more than 10 minutes” stuff, which for a normal PC, your reference design fits fine.)

        • >Whether it’s worthwhile to offer a SKU-equivalent for “serious computing user” is another matter, of course.

          It gets more complicated. And reason we chose the capacity target we did is that’s just south of a knee on the cost curve; doing a little by better would be substantially more expensive.

          • Indeed, I’m sure you reasons for the initial are utterly justifiable.

            Just, equally, there is a use case, maybe later, for a more powerful unit, especially if it’s mostly a matter of “moar batteries and a bigger inverter” …

        • Whether it is worthwhile to branch out into any alternate physical product is entirely a product of:
          1. How many people hit the sweet spot for the alt product
          2. How much of a premium they would be willing to pay for it.

          In the extreme, a single, highly motivated user could justify a product if they’re willing to pay the cost. The project wins if it can capture upstream patches from alt(s) increasing the pace of development and fixing bugs in the main project regardless of how sane or mad any particular alt branch might be. The price is to consciously preserve flexibility so that it’s easy to fork the project and develop alternate configurations.

          So how expensive is it to preserve flexibility?

      • Not that old (~5 years). It combines dual multicores (12) with some fairly hungry GPUs.

        Plus 3 heads.

        Gets kinda warm around here…which is why I minimize my use of it.

  5. Please add jloughlin to the project. I’m mostly a software guy, but I have some firmware experience and I’m good with a soldering iron. I’m also local, so I might be able to help with the hardware build.

  6. You may want to have a look at the schematics published for the AC motor controller by MPaulHolmes over on the Ecomodder forums. Granted the loads involved are about 1000 times greater, but there’s some great (and free) info and designs for driving and controlling heavy AC loads. Scaling down from an existing design might give a good starting point. He has a video of his YT channel running an LC filter for a pure sine wave output using his AC controller design off a DC current in from a large solar array – definitely worth a look if you have the time.

    If you want to reach out directly via email and engage him for your project, you could try his gmail account – pandspowerelectronics

  7. Please add “robo45h” to the project. I haven’t coded much since our Rabbit days, but would like to follow the project and I’ll keep an eye out for areas I can contribute. At very least I can stop by the makerspace when that happens, as it’s walking distance from my house in Phoenixville.

  8. I couldn’t figure the right place to put this on the wiki, so I made it my profile image on GitLab. A draft proposal for the obligatory UPSide logo.

    It has a capital Greek letter Upsilon (If I have to explain why, you aren’t a True Geek.) with a C13 socket on top, flanked by a sine wave representing AC mains to the left, and something recognizable as a battery to the right. I’ve surrounded the lot with a standard rounded-corner “smartphone app” border, because that’s what all the cool kids are doing now, but could easily see a “shield” shape as being a good fit as well.

    • >A draft proposal for the obligatory UPSide logo.

      I like the concept. I’m in some doubt that the C13 socket should stay – not that it’s semantically wrong, but it’s small and fussy and makes the top of he image look cluttery.

      I wonder if we could simplify this and change the visual weight of the individual parts – bolden them. Counterchrage the sine wave on top of the upsilon? Use a more conventional script icon with the sinewave and/or socket beside it? I think there’s a winner somewhere near this image, but we’re not there yet.

      • I put it in there because it sort of looks like a face and the Upsilon is sort of the arms and body of someone in a gymnastic-dismount pose.

        By “countercharge the sine wave on top of the upsilon” do you mean to superimpose the former on the latter?

        I’ll fiddle with some tweaks.

        • >By “countercharge the sine wave on top of the upsilon” do you mean to superimpose the former on the latter?

          In the context of of a B&W image it means you reverse the fore- and background value where the figures intersect.

      • This has the sine wave at almost the weight of the Upsilon (but not the same, so that when rendered in monochrome as in this example it will be easier to tell that the sine wave and Upsilon are two different things combined, rather than a single character), with a different sort of “battery” displayed “in back” (because “battery backup” of course) behind it. I agree that this is more recognizable at lower resolutions, which makes up for losing the pun value of having the sine wave and battery on the sides of the Upsilon.

            • >I’ve updated my avi (same link as the original, actually) to be the color one

              I rather like the color one. Keep poking at it – I think you’re moving in a good direction.

              • Are you thinking things need to be bolder still?

                Another element I thought of adding was a circle representing a clock face, with a minute hand pointing right, representing 15 minutes for the SUMMERTIDE dwell target, but that might be too limiting, as I expect that over time, we’ll have multiple UPSide “levels”. It might be OK for UPSide-1 per se, though.

                • >It might be OK for UPSide-1 per se, though.

                  I like it better without the clock.

                  When designing a logo it’s really not possible to be too simple and too bold. Think Japanese mon, not European heraldry.

              • Here is “bolder yet” with the UPSide-1 15-minute “badge” where the sine wave crosses the Upsilon. After checking images for LiFePO batteries, light blue seems to be the most common color (I used green before because I was looking at some NiMHs I had handy) and I added the hour hand because with just the minute hand it looked like a sideways power button. Remove the clock for generic UPSide use.

Leave a Reply

Your email address will not be published. Required fields are marked *