Jump to content

Mr Hobbles

Eurobricks Knights
  • Posts

    899
  • Joined

  • Last visited

Everything posted by Mr Hobbles

  1. I've been working on the firmware and testing it extensively, and it's taken a while (also holidays!) but I've published the firmware + schematics/pcb + protocol docs here, if anyone wants to make their own or interface with it: https://github.com/openbrickproject/BrickInterface Maybe, honestly I haven't thought about that. :) If it's possible to modify DosBox or some such to intercept reads to those memory addresses, it may be possible. If it's TC Logo you're interested in, I have a modern Logo interpreter for Lego called BrickLogo here: https://github.com/openbrickproject/BrickLogo I've been playing with this, and _partially_ - it only has a IR transmitter, not an IR receiver, so things like reading sensors, uploading firmware (which requires acknowledgements) won't work. But things like motor control can. The issue I'm finding in my testing is that the IR LED's on BrickInterface are too powerful - it completely blinds the RCX at ranges of less than 2 meters, and even then it's unreliable. Honestly I need some time to do more testing with it. In any case, I'm happy enough with the firmware now. :) I'll keep playing with RCX and also Legacy IR (ie. Spybotics, IR trains). If anyone would like one of the BrickInterface's I had made, please DM me. I'm keeping 6 of the batch of 20 I had made for my purposes, so I have 14 spare. All I'd ask is you cover the cost of production (which was $6.83 per board) + shipping
  2. According to the designer, it works with either the L Motor or the Train Motor, and can run with either one or two of each. Just depends on how much pulling power and control you want
  3. Yep! Here's as they stand too. Set# Name Preorders Current Max % Funded ------------------------------------------------------------------------- 910064 Dustmark Keep 28,405 35,000 81.2% yes 910065 Coconut Cape 19,593 30,000 65.3% yes 910066 Brick Railroad Locomotive 18,749 30,000 62.5% yes 910068 University of Science 17,819 30,000 59.4% yes 910067 Hot Air Balloon 16,127 30,000 53.8% yes I will do! I'll be ordering the additional parts long before it arrives. Bricklink already posted a video showing an A-B pair and it looks awesome. In all honestly the locomotives are bigger than I anticipated (not just in width, which I expected, but height also), so it'll be a fairly long train even without any wagons or cars.
  4. Yes... I have a friend buying two more on my behalf. :D My aim is to build a A-B-B-A combo.
  5. Looking at one of the reviews on YouTube, one of the things I really like is the sticker sheet. Four sets of numbers are included, so you can have four uniquely numbered locomotives. Also four of the Lego Train logos are included in blue, even though the A unit only requires two. This means if you're building a B unit, then you have enough stickers for 2 on each end. This was thoughtful on Lego's (and the designers) part.
  6. 3,000 was always the MINIMUM required for a set to go into production, but the MAXIMUM number for the early sets was 10,000, which they upped to 30,000. From Series 3 or 4 onwards (I can't remember which), they start off with a max of 30,000, and up the number if it gets popular. For example some Series 6 sets were upped to 50,000. But 3,000 remains the minimum preorders for sets to go into production - if they don't hit that, then they're never made.
  7. Yes, they started hiding that info 2 or 3 series ago. Fortunately, they didn't hide it very well - they stopped showing it on the page, but didn't actually remove the data from the page's source code. Set# Name Preorders Current Max % Funded ------------------------------------------------------------------------- 910064 Dustmark Keep 10,966 30,000 36.6% yes 910065 Coconut Cape 7,481 30,000 24.9% yes 910068 University of Science 7,014 30,000 23.4% yes 910066 Brick Railroad Locomotive 6,822 30,000 22.7% yes 910067 Hot Air Balloon 5,984 30,000 19.9% yes
  8. Got my order in for two Brick Railroad Locomotives and a Hot Air Balloon. I've got a friend ordering two more Brick Railroad Locomotives for me too, so I can build two B units. Really looking forward to this set.
  9. I see what they're going for here. Basically, these are an evolution of the Lego Super Mario line, with the same style of figures. Basically they've removed the tech from the figures and made it plug-in-able. It's smart - a bunch of the Mario sets were useless unless you already had the starter with the electronic Mario or Luigi. This way, you still have playable Pokemon, and can make them "smart" if you want to. I'm going to pick up a few - I think the Gen 1 starters (Pikachu, Squirtle, Bulbasaur, and Charmander), and probably also Jigglypuff, because I think he looks great, and small sets FTW. Bonus for being Smart Play compatible.
  10. LEGO and Raspberry Pi already did that by collaborating on the Build Hat. Allows you to connect four Powered UP motors or sensors to a Pi - https://www.raspberrypi.com/news/raspberry-pi-build-hat-lego-education/ Incidentally I did originally consider making this as a Pi hat, but I thought that a USB device would be more universal - not everyone has a Pi, but USB is pretty much universal. But, I still like the idea eventually! You could even put multiple Interface A connectors on it, ie. control 4 Interface A’s from the Hat at the same time.
  11. Yes - the serial protocol has separate commands for driving Power Functions and Interface A. Here's a via with me using BrickLogo with a Powered UP bluetooth remote to control a Power Functions motor and an Interface A motor: Well I'm still testing, but it seems just removing the resistor (a 30 second job for me) fully fixes the board with one caveat, you can't use the button to put it into bootloader mode, you have to use a pair of tweezers (or a wire) to jump where the resistor was. Of course this isn't something a normal user would do unless they want to replace the firmware, so it probably doesn't matter for most people. When I'm happy with the firmware I'd be happy to send some of these on at cost (with full assembly + shipping to me these cost around $8 each when ordered 20 at a time) + shipping. Then I can work on revision 2 :D You could build a case out of Lego, and hold the BrickInterface secure inside it via the two connection points! In fact I might try that next week when I'm back with my Lego! Hah, well, with BrickLogo I'm trying to emulate the feel of the old Logo interpreters. Also, unlike my other projects which are libraries for use in programming languages, BrickLogo is an application, and I can imagine it being used within education settings. So single binary/no dependencies was essential. Let me know if you have issues - I must admit that Windows is its least tested platform. I've tested it a bit, but my daily machine is a MacBook, and I mostly test on Raspberry Pi's other than that. You're a little quick, I'm still finessing the integration! I'll let you know when I've pushed v0.12.0. I'm still tweaking the protocol on the board. But it'd be awesome if there was a unified protocol that could talk to the Interface A - whether that's BrickInterface or people's custom Arduino builds. Then Blockly, BrickLogo etc could work with them all with no changes.
  12. Of course I’ve seen your channel, I loved your video on the universal buggy especially, it fascinated me that Lego targeted that enthusiast market back then without their own interface in the mix! I’ll DM you.
  13. Yeah, in fact I've seen many Arduino takes on it (ie. Jorge Periera did a similar approach a few years ago), but I wanted a single self contained "product" (for lack of a better term) that didn't involve fiddling with wires, soldering, etc. It should just be similar to the original adapter boards - plug and play out of the box. Sure - if Blockly spoke the protocol that BrickInterface does, it would work seamlessly. I integrated it into BrickLogo a similar way, here's a video: That's actually a really good idea, indicator LED's on the board. I like it! I'll add that to the next revision. Unfortunately it takes a while, as I need to design the PCB, then get it manufactured + assembled, so there's a few weeks lead time. And of course there's a minimum order quantity lol (and like I said, annoyingly, this batch had that bootloader defect) Absolutely, I just wanted a self-contained out-of-the-box ready-to-run "product" with no fiddling. I'm doing nothing new here other than building it all into a productionised designed + manufactured PCB with a nice firmware. (Though, I think combining IR + Interface A is perhaps new!)
  14. So it's long bugged me that out of all the LEGO electronics they've ever released, the only one that truly cannot be used on modern computers is the Interface A. All the others (ie. Control Lab, RCX, etc) have hardware compatibility through USB<>serial adapters, just requiring bespoke software to use, but the Interface A has no such option. I've had to mess with Arduinos or hack a cable. So, I thought I'd design a modern "interface board". I designed a compact board that uses an extremely cheap CH552T micro controller that exposes a USB-C port, a 20-pin IDC connector for the Interface A (so original ribbon cables can be used, or even a replacement ribbon cable), and for the fun of it, two high-powered Infra Red LED's for Power Functions (since that also has no interface, despite a published protocol!) It exposes a serial interface over USB-C and has a simple protocol to drive the outputs and read inputs, as well as hardware input counting. It also has two holes spaced and sized for attaching to Technic beams and bricks with pins, so it can be affixed to a MOC. I plan to release the schematics and firmware when it's finished, though annoyingly this first batch of assembled PCB's I ordered have a hardware bug with I need to resolve first. I had to desolver one of the resistors as it was stuck in bootloader mode. >.< Here's a video of it running with a Python script on my mac that drives the motors on the Interface A and Power Functions IR receiver.
  15. Well, code is source of truth of course, so I recommend reading the library first and foremost. But LEGO Dimensions uses tag pages 0x24-0x27. Block 0x26 stores a flag to detect if the tag is a vehicle or a character. If it's a character, then the id stored in a uint32 (first four bytes) of block 0x24 is encrypted with the TEA cipher using a key derived from the UID of the tag (so you'll need to read this first). Once you have the character id, you can look it up in the map: https://github.com/nathankellenicki/node-toypad/blob/master/data/minifigs.json If it's a vehicle, then the id is not encrypted and can be looked up in the map https://github.com/nathankellenicki/node-toypad/blob/master/data/vehicles.json There is additional data on the tag for vehicles (written by the game) which stores which in game vehicle upgrades the user has chosen. Character tags have those blocks write-locked out of the factory. Vehicle tags can be rewritten. Note that only those blocks are write-locked (or not). A lot of the other blocks are not locked, and not used by the game, meaning you can store arbitrary data in them without affecting their use in game. :D (I my have had some personal creative uses for this lol) Note: The TEA key being derived from the UID means it's pointless distributing dumps of the tags. They can't be cloned byte for byte onto another tag, as the UID will be different, and therefore decryption will fail ingame. It is however possible to write your own tags as they'll do the TEA encryption. There are Android and iOS apps for LEGO Dimensions that do this. As for Smart Play, I have some reverse engineering notes here, including some tag data https://github.com/nathankellenicki/node-smartplay/blob/main/research/notes/HARDWARE.md I haven't bothered to document all tags I have. Also as far as I know noone has managed to decrypt the data on the tags yet - it looks like AES, and the key appears baked into the ASIC on the Smart Brick. But, unlike LEGO Dimensions, the data isn't encrypted using a key derived from the UID, so you can successfully clone the Smart Tags/Minifigs onto blank tags, and they will work.
  16. Exactly as you said, the Wii/PS3/PS4 Toy Pads are identical, with a pretty basic wire protocol running over USB HID. The Xbox 360/One version is different - the cable has an authentication chip in it that means it will only talk to Xbox consoles. It's pretty useless for any other purpose. The Toy Pad acts as a basic NFC reader (well, 3 NFC readers actually), allowing arbitrary reads of blocks from an NTAG213/214/215 tag, not just LEGO Dimensions tags. In fact, I've tested it with the pairing cards that came with LEGO Education Science/Computer Science & AI. It can read them just fine. Sadly, it cannot read Smart Play minifigures, as LEGO moved to NFC-V/ISO15693, which the Toy Pad cannot read. The most annoying part of the protocol is the TEA encryption used for decrypting the data on the LEGO Dimensions tags. This is required to read/write any game specific data to the tags, such as reading which character or vehicle ID was placed onto the Toy Pad. Other than that, nothing else is encrypted, just raw message payloads (ie. changing color, fading effects, reading UID's, etc). Though, if @Bliss wanted to add it, I'm sure Claude or Codex would make short work of it by pointing it at my Node.js library. :) https://github.com/nathankellenicki/node-toypad
  17. Hello folks, Does anyone know if anyone has uploaded a scan of the teaching materials for the DACTA Intelligent House 9707? I believe the teaching materials were set 9708. I think it came with some software on a floppy as well. Thanks!
  18. Yep definitely, MQTT is a complex beast, and running into a browser means you're limited to websockets or HTTP fetch. That's the reason I chose websockets for BrickLogo's pipe between nodes, as browsers can join too. I haven't bothered with wss (yet) - I figure most people are gonna run locally rather than over the internet, and wss setup comes with headaches for end users (certificates, needing to launch HTML files from a server instead of from disk, etc). End user friendliness definitely the end goal. Though, its nice to have some more complex functionality for those who need it! Great project, I look forward to playing with it more. :)
  19. Yes, from a product perspective, the range is branded as Powered Up, but the devices are officially called LPF2 (and Powered UP as a product range name was introduced later!) You can see LEGO using the terminology in various places. I remember when Lego changed it, we were discussing it in the thread in the train forum on here back in 2017 and there was lots of confusion lol. https://assets.education.lego.com/v3/assets/blt293eea581807678a/blt23df304b05e587b2/5f8801ba721f8178f2e5e626/techspecs_technicforcesensor.pdf?locale=en-us https://education.lego.com/en-us/product-resources/wedo-2/troubleshooting/faqs/ But I digress! @Bliss Thanks for the kind words. I wanted to try to make docs as clear as possible, as not many people remember Logo I'm sure. :D I intentionally kept networking simple - replicated global variables. So you can set a variable based on sensor readings on one machine, and waituntil it becomes a certain value on another machine. I'm trying to keep it as OG Logo-like as possible. But it also means you can build other clients, ie. browser applications with websockets, and read/write those variables, to build UI's etc - it is quite a simple JSON based protocol. It would be awesome if Blockly could interact with the outside world too! MQTT publishes or something? Or allow websocket client connections to a server? You could even have Blockly and BrickLogo talking to each other.
  20. * Powered UP, Control+, and SPIKE are LEGO product ranges * Powered UP, Control+, and SPIKE are also the names of apps of those respective product ranges * The hardware family for all this is most commonly known by the community as Powered UP, however LEGO calls it LEGO Power Functions 2.0 * The hubs all speak LEGO Wireless Protocol 3.0 (except the WeDo 2.0 hub, which speaks it's own dialect LEGO made it confusing for sure. You may be over thinking it though. It's just all one big homogeneous blob of devices. :D Yes, this is very true, Pybricks muddied the water by giving all those previous interfaces a "brain". But, as LEGO intended them, they are dumb interface devices, using a computer (a phone or tablet with an app) to interface with motors or sensors. But really, any microcontroller with a bit of storage is a brain with the right firmware! Well, if that's so and you don't mind, I've been working on BrickLogo - https://github.com/openbrickproject/BrickLogo/ It's an attempt to bring LEGO/Logo (LEGO TC Logo/LEGO DACTA Control Lab Logo) kicking and screaming onto modern computers, and supporting LEGO hardware both new and old, but with all the fun of Logo! And hopefully it's familiar to those who've played with Logo for those devices in the past. You can either type directly into the REPL and execute line by line (similarly to the original), or write .logo files in your IDE of choice (ie. VS Code) and execute them through the bricklogo CLI. It's compatible with Control Lab, RCX, WeDo 1.0, WeDo 2.0, Powered UP/Control+/SPIKE, Education Science, and the Raspberry Pi Build HAT. It's built in Rust and intended to be a single compiled binary/exe that you can run in the command line or terminal without any dependencies needing installed. Windows, macOS, or Linux (Raspberry Pi). https://github.com/openbrickproject/BrickLogo/releases There's some docs here - a small tutorial, a language reference guide, and a start at some info on some of the more advanced parts - networking, using multiple devices/hubs/interfaces, executing scripts, etc. https://github.com/openbrickproject/BrickLogo/tree/main/docs Maybe we can take inspiration from each other for Blockly and BrickLogo!
  21. Ah, I was expecting it to be longer than that! Well RCX has two way communication (IR sensor readings, command replies, etc), but I assume latency via RF is a lot better than IR latency... or at least, I'd hope so...
  22. This is such a cool thread to find, a really cool project you're working on @Bliss! Kind of an alternative to the https://code.legoeducation.com/ canvas but for supporting as many devices as possible. I've been working on my own project in a similar vein, but based around reviving Logo, not doing visual/block programming (but I won't talk about it in this thread, this is about your project!). It's great to see a revival of old hardware - I think there's been a great effort lately with regards to bringing back obsolete devices. Also, I just learned about Cybermaster. :) I mean, I knew about it previously, about 20 years ago, but it skipped my mind, and I completely forgot about it. Such a cool device, and a big improvement over the IR communication of the tower<>RCX. But, a different usecase I suppose. @Toastie Yes, exactly this. :) The WeDo 1.0, WeDo 2.0, Powered UP, Control+, SPIKE Essential, and even SPIKE Prime (after the firmware update that enabled LWP3) can also be considered Interface's, since they have no brain, and use computer control. Though, I consider the Raspberry Pi BuildHAT to be the true official Interface C. :D https://www.raspberrypi.com/news/raspberry-pi-build-hat-lego-education/
  23. Just to point out, in this context share of the market is in terms of revenue, not in terms of number of participants. It could be that only 1% of the audience is kidults and 99% are children, but the kidults are spending a lot more. This is to say that there's an argument to be made that by just focusing on where the money is, we risk forgetting our core (and arguably most morally important) demographic. Thankfully I haven't noticed this too mucg yet with regards to Lego's products. For every $700 6,000 piece set there's an excellent looking $20 set for kids. See the latest Lego City wave. But it's a slippery slope.
  24. The Pikachu looks a lot like the smart brick Mario. I dunno, I expected it to look different. Since I’ve heard they’re using the brick inside an X-Wing I thought it’d be shaped less like a character and more like a large normal brick. But, as has already been mentioned, that is clearly not the 18+ Pikachu. That’s a different set, a play set.
  25. Lego has been experimenting with 3D printed elements for a few years now, specifically for elements that have motion built into them. I have a few of them. This particular 3D printed train has moving wheels, wheel linkages, and the smoke goes up and down when the train is pushed along and the wheels turn. This isn't multiple pieces that were put together, it was _printed_ together. I do agreed it's an odd choice to include in this set though - it seems like something a more hardcore Lego fan would appreciate than the mass market Lego Christmas set purchaser. I can't help but think how many of these they've printed, they must have dozens of printers going 24/7!
×
×
  • Create New...